summaryrefslogtreecommitdiff
path: root/addons/web/static/src
diff options
context:
space:
mode:
authorDhawal Limbuwala <dli@odoo.com>2017-05-18 12:29:55 +0530
committerYannick Tivisse <yti@odoo.com>2017-10-19 10:10:06 +0200
commit3ad9ee70554ff0f334b39656ef2510531e0dbc8d (patch)
tree82ecc4896c3054953f0a4d90ae91a801b4bb9d8d /addons/web/static/src
parent39335d4569943278e410901ef53572f617cc9397 (diff)
[IMP] web: Improve alert banner to update translations
Purpose ======= Simplify / reduce the warning message when we update a record in multi-languages Specification ============= 1/ Make the translation banner little bit lighter in design 2/ Make it still visible when coming back from breadcrumb
Diffstat (limited to 'addons/web/static/src')
-rw-r--r--addons/web/static/src/js/views/basic/basic_controller.js12
-rw-r--r--addons/web/static/src/js/views/form/form_controller.js3
-rw-r--r--addons/web/static/src/js/views/form/form_renderer.js4
-rw-r--r--addons/web/static/src/xml/base.xml14
4 files changed, 22 insertions, 11 deletions
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 @@
</t>
<t t-name="notification-box">
- <div t-attf-class="o_notification_box alert alert-dismissible alert-{{type}}" role="alert">
+ <div t-attf-class="o_notification_box mb0 alert alert-dismissible alert-{{type}}" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true" class="fa fa-times"></span>
</button>
@@ -1257,12 +1257,12 @@
</t>
<t t-name="translation-alert">
- <t t-foreach="fields" t-as="field">
- <div>
- You have updated <strong><t t-esc="field.string"/></strong> (<t t-esc="lang"/>).
- <a class="oe_field_translate" t-att-name="field.name" href="#">Update translations</a>
- </div>
- </t>
+ <div>
+ Please update translations of :
+ <t t-foreach="fields" t-as="field">
+ <strong><a class="oe_field_translate" t-att-name="field.name" href="#"><t t-esc="field.string"/><t t-if="!field_last">, </t></a></strong>
+ </t>
+ </div>
</t>
<t t-name="UserMenu">