Add possibility to return an action in a notification

This commit is contained in:
Guewen Baconnier
2018-06-27 15:52:14 +02:00
committed by Yannick Vaucher
parent 8d3f2749e4
commit b333cdc7b1
5 changed files with 50 additions and 12 deletions

View File

@@ -1,5 +1,5 @@
.o_notification {
.o_notification_reload {
.o_notification_action {
padding: 10px;
}
}

View File

@@ -12,10 +12,14 @@ odoo.define('web_notify.notification', function (require) {
events: _.extend(
{},
Notification.prototype.events,
{'click .o_view_reload': function(e){
{'click .o_notification_reload_view': function(e){
e.preventDefault();
this.reload_active_view();
}
},
'click .o_notification_do_action': function(e){
e.preventDefault();
this.button_do_action();
}
}
),
init: function(parent, title, text, sticky, options) {
@@ -25,6 +29,10 @@ odoo.define('web_notify.notification', function (require) {
reload_active_view: function() {
this.trigger_up('reload_active_view');
},
button_do_action: function() {
console.log(this.options.action);
this.getParent().do_action(this.options.action);
}
});
base_notification.NotificationManager.include({

View File

@@ -2,22 +2,32 @@
<templates id="template" xml:space="preserve">
<t t-name="Notification.reload">
<div class="o_notification_reload" t-if="widget.options.show_reload">
<a href="#" class="o_view_reload">
<div class="o_notification_action" t-if="widget.options.show_reload">
<a href="#" class="o_notification_reload_view">
<span class="fa fa-refresh"/> Reload current view
</a>
</div>
</t>
<t t-name="Notification.do_action">
<div class="o_notification_action" t-if="widget.options.action">
<a href="#" class="o_notification_do_action">
<span class="fa fa-arrow-circle-left"/> Open
</a>
</div>
</t>
<t t-extend="Notification">
<t t-jquery=".o_notification_content" t-operation="after">
<t t-call="Notification.reload"/>
<t t-call="Notification.do_action"/>
</t>
</t>
<t t-extend="Warning">
<t t-jquery=".o_notification_content" t-operation="after">
<t t-call="Notification.reload"/>
<t t-call="Notification.do_action"/>
</t>
</t>