[REVERT] 2 previous commits (f3333f9 and 6e5b09a)
[FIX] web_tip: use env.user to compare to a res.users recordset
[FIX] ir_attachment: ignore if model uninstalled

if the model of an attachement no longer exists (the according module have been uninstalled, for instance), ignore the security check
[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
[IMP] account: better redirection warning messages.
[IMP] web: better display of redirection warnings ('Go to Config' or Cancel, like other
wizards in odoo)
[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
[MERGE] Forward-port of 8.0 up to d32d120
[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