diff --git a/addons/web/static/src/js/views/basic/basic_controller.js b/addons/web/static/src/js/views/basic/basic_controller.js index c899530de07..44275de7a43 100644 --- a/addons/web/static/src/js/views/basic/basic_controller.js +++ b/addons/web/static/src/js/views/basic/basic_controller.js @@ -581,6 +581,7 @@ var BasicController = AbstractController.extend(FieldManagerMixin, { */ _onTranslate: function (event) { event.stopPropagation(); + var self = this; var record = this.model.get(event.data.id, {raw: true}); this._rpc({ route: '/web/dataset/call_button', @@ -589,7 +590,16 @@ var BasicController = AbstractController.extend(FieldManagerMixin, { method: 'translate_fields', args: [record.model, record.res_id, event.data.fieldName, record.getContext()], } - }).then(this.do_action.bind(this)); + }).then(function (result) { + self.do_action(result, { + on_reverse_breadcrumb: function () { + if (self.renderer.alertFields.length) { + self.renderer.displayTranslationAlert(); + } + return false + }, + }) + }); }, }); diff --git a/addons/web/static/src/js/views/form/form_controller.js b/addons/web/static/src/js/views/form/form_controller.js index a6248c827a2..af220733802 100644 --- a/addons/web/static/src/js/views/form/form_controller.js +++ b/addons/web/static/src/js/views/form/form_controller.js @@ -205,7 +205,8 @@ var FormController = BasicController.extend({ } } if (alertFields.length) { - self.renderer.displayTranslationAlert(alertFields); + self.renderer.alertFields = alertFields; + self.renderer.displayTranslationAlert(); } } return changedFields; diff --git a/addons/web/static/src/js/views/form/form_renderer.js b/addons/web/static/src/js/views/form/form_renderer.js index ab5e4beb6b5..b9711d1d392 100644 --- a/addons/web/static/src/js/views/form/form_renderer.js +++ b/addons/web/static/src/js/views/form/form_renderer.js @@ -82,11 +82,11 @@ var FormRenderer = BasicRenderer.extend({ * * @param {Object[]} alertFields field list */ - displayTranslationAlert: function (alertFields) { + displayTranslationAlert: function () { this.$('.o_notification_box').remove(); var $notification = $(qweb.render('notification-box', {type: 'info'})) .append(qweb.render('translation-alert', { - fields: alertFields, + fields: this.alertFields, lang: _t.database.parameters.name })); if (this.$('.o_form_statusbar').length) { diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index 7283472008b..e1f955370d3 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -1249,7 +1249,7 @@ -
+
@@ -1257,12 +1257,12 @@ - -
- You have updated (). - Update translations -
-
+
+ Please update translations of : + + , + +