[FIX] point_of_sale: field type on bank statement line no longer exists
[FIX] Restore /login redirection on SessionExpired

The feature was broken due to an incompatibility
when forward porting 624f256 and a78e27f
[IMP] distribute branding on @groups instead of disabling edition

Avoids 2 rendering passes, and allows editing e.g. events detail page, which
couldn't be done (due to groups=public in a mail component)

fixes #1994
[FIX] stock_account: Preserve action_done return value

stock_account module override the action_done method of stock.move but does not return the same value
This causes problems when calling this function from xmlrpc because the resulting value is now None and that is not allowed to be marshaled by default.
[FIX] web: webclient_bootstrap: render the menus when the user is really a user

The webclient rendering is done in two parts: the server renders the boilerplates
including the menus, and then the  javascript launch the webclient using the
server-side boilerplates. In some case, we want to render the boilerplates but not
the menus (auth_calendar). Added groups around the t-call to the menu in the web
template. Fixes issue #2044.
[FIX] Calendar: fix some display issues

* render the invitation widget inside oe_application
* override the margin of oe_right in order to display the two div on the same line
[IMP] ir.attachment: include traceback when logging low-level filesystem errors
[FIX] ir.attachment: less non-transactional side-effects during deletion

When deleting filesystem-backed attachements, the
deletion on the file-system is not transactional.
In the event of a transaction rollback, the file
deletion would not be rolled back, which is a
dangerous side-effect.

This can happen for example when several transactions
try to delete the same file(s) at the same time.
The duplicate deletions might be detected by the
database (being concurrent update errors), and rolled
back at the point of the DELETE query, to be retried.
If the files have already been deleted in the file
system it before the rollback, it leaves the system
in an inconsistent state, at least temporarily.

One case where we have seen it is when web bundles
are loaded by many web users at the same time, right
after being updated (and thus invalidated).
As they are currently cached as ir.attachment records,
this often causes a corruption of the cache.
[FIX] ir.qweb: consider empty cached bundle as a cache miss

Sometimes a cached bundled could be missing in the
ir.attachment filestore (for example after copying
a database for test purposes without duplicating
the filestore as well).
When this happens ir.attachment will return an empty
file contents ; treat this as a cache miss.

This means empty bundles would not be cached, which
is not a big issue - there is little benefit in
caching them, and they should not be common nor
useful.
[MERGE] Forward-port of saas-5 up to 9ce08b7
[IMP] doc/backend: add example for JSON-RPC interaction
[WIP] point_of_sale: refactor error popups in preparation of a multicompany-screwup prevention error popup
[WIP] point_of_sale: checking for consistency between the user and the session's company
[FIX] point_of_sale: the self_checkout related fields are obsolete and should be removed, but we are too late in the release schedule to do so. Marking them as FIXME, to be removed for next major version
[FIX] point_of_sale: prevent inexact payements when there is no cash payment method available as it will crash the backend
[FIX] point_of_sale: activate on screen keyboard for user search
[FIX] point_of_sale: flush orders before closing the pos. This will help prevent users from closing the session with unflushed orders
[FIX] web: failing onchanges should not prevent to save

This patch is related to 82adba4714d9b809aad835d0d77e6b6f9fde8ddc

With the above patch, it wasn't possible anymore to save if an onchange failed. This isn't the expected behavior.
Besides, $.when.apply($, defs) is rejected as soon as one def fails, without waiting other defs to be either resolved or rejected.

This new patch allows to save if onchange fails, and wait for onchanges sequentially.
[FIX] web: base.css: fixed width for input of file type under oe_avatar

Browsers add different width to input of file type, messing up the usability of the
product formview placing  a 'phantom' box in front of the options. Added a specific
css rule for this case.
[I18N] Update 8.0 translations with latest changes from Launchpad