[FIX] web: not possible to show a notification via client action

Before this commit, it was not possible to show a message using a client
action. (e.g. show a success message only with core in Python)

Now, it's possible using a client action. This client action call
displayNotification and so we can use the same options also.

A test is added to be sure that this action do not change the current action

Note: in the future a custom registry may be created in a refactoring
to specific function action registry.

X-original-commit: 8775fd670b6b3ec19a77fc0eab72d2223baa36c8
This commit is contained in:
Romeo Fragomeli
2019-10-14 12:11:23 +00:00
committed by fw-bot
parent 3e5cc15d16
commit 547d2d87fc
3 changed files with 89 additions and 0 deletions
+19
View File
@@ -1213,6 +1213,10 @@ The notification system in Odoo is designed with the following components:
destroy notifications whenever a request is done (with a custom_event). Note
that the web client is a service provider.
- a client action *display_notification*: this allows to trigger the display
of a notification from python (e.g. in the method called when the user
clicked on a button of type object).
- two helper functions in *ServiceMixin*: *do_notify* and *do_warn*
@@ -1260,6 +1264,21 @@ Here are two examples on how to use these methods:
this.do_warn(_t("Error"), _t("Filter name is required."));
Here an example in python:
.. code-block:: python
# note that we call _(string) on the text to make sure it is properly translated.
def show_notification(self):
return {
'type': 'ir.actions.client',
'tag': 'display_notification',
'params': {
'title': _('Success'),
'message': _('Your signature request has been sent.'),
'sticky': False,
}
}
Systray
=======