From 61e3767b2d9b285485e46eb2c621e235639bb0c7 Mon Sep 17 00:00:00 2001 From: Akim Juillerat Date: Fri, 16 Aug 2019 11:14:55 +0200 Subject: [PATCH] Add tr_sequence on res.lang to allow sorting languages in the translation dialog --- web_translate_dialog/__manifest__.py | 3 ++- web_translate_dialog/models/__init__.py | 2 ++ web_translate_dialog/{models.py => models/base.py} | 0 web_translate_dialog/models/res_lang.py | 14 ++++++++++++++ .../static/src/js/web_translate_dialog.js | 11 ++++++----- web_translate_dialog/views/res_lang.xml | 13 +++++++++++++ .../{view => views}/web_translate.xml | 0 7 files changed, 37 insertions(+), 6 deletions(-) create mode 100644 web_translate_dialog/models/__init__.py rename web_translate_dialog/{models.py => models/base.py} (100%) create mode 100644 web_translate_dialog/models/res_lang.py create mode 100644 web_translate_dialog/views/res_lang.xml rename web_translate_dialog/{view => views}/web_translate.xml (100%) diff --git a/web_translate_dialog/__manifest__.py b/web_translate_dialog/__manifest__.py index c3808701e..deb383873 100644 --- a/web_translate_dialog/__manifest__.py +++ b/web_translate_dialog/__manifest__.py @@ -18,7 +18,8 @@ "web", ], "data": [ - "view/web_translate.xml", + "views/res_lang.xml", + "views/web_translate.xml", ], "qweb": [ "static/src/xml/base.xml", diff --git a/web_translate_dialog/models/__init__.py b/web_translate_dialog/models/__init__.py new file mode 100644 index 000000000..399e4aa35 --- /dev/null +++ b/web_translate_dialog/models/__init__.py @@ -0,0 +1,2 @@ +from . import base +from . import res_lang diff --git a/web_translate_dialog/models.py b/web_translate_dialog/models/base.py similarity index 100% rename from web_translate_dialog/models.py rename to web_translate_dialog/models/base.py diff --git a/web_translate_dialog/models/res_lang.py b/web_translate_dialog/models/res_lang.py new file mode 100644 index 000000000..37e63d251 --- /dev/null +++ b/web_translate_dialog/models/res_lang.py @@ -0,0 +1,14 @@ +# Copyright 2019 Camptocamp SA +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl) +from odoo import models, fields + + +class ResLang(models.Model): + + _inherit = 'res.lang' + + tr_sequence = fields.Integer( + string='Translation sequence', + help='Defines the order of language to appear in translation dialog', + default=10, + ) diff --git a/web_translate_dialog/static/src/js/web_translate_dialog.js b/web_translate_dialog/static/src/js/web_translate_dialog.js index d06ad70d6..eaa534c97 100644 --- a/web_translate_dialog/static/src/js/web_translate_dialog.js +++ b/web_translate_dialog/static/src/js/web_translate_dialog.js @@ -29,15 +29,16 @@ var translateDialog = Dialog.extend({ this.view_language = session.user_context.lang; this.view = parent; this.view_type = parent.viewType || ''; - this.$view_form = null; - this.$sidebar_form = null; this.translatable_field = options.field.fieldName; this.res_id = options.res_id; this.languages = null; this.languages_loaded = $.Deferred(); - (new data.DataSetSearch(this, 'res.lang', parent.searchView.dataset.get_context(), - [['translatable', '=', '1']])).read_slice(['code', 'name'], - { sort: 'id' }).then(this.on_languages_loaded); + this.lang_data = new data.DataSetSearch( + this, 'res.lang', parent.searchView.dataset.get_context(), + [['translatable', '=', '1']] + ); + this.lang_data.set_sort(['tr_sequence asc','id asc']); + this.lang_data.read_slice(['code', 'name']).then(this.on_languages_loaded); }, willStart: function () { var self = this; diff --git a/web_translate_dialog/views/res_lang.xml b/web_translate_dialog/views/res_lang.xml new file mode 100644 index 000000000..54bbfb649 --- /dev/null +++ b/web_translate_dialog/views/res_lang.xml @@ -0,0 +1,13 @@ + + + + res.lang.form.inherit + + res.lang + + + + + + + diff --git a/web_translate_dialog/view/web_translate.xml b/web_translate_dialog/views/web_translate.xml similarity index 100% rename from web_translate_dialog/view/web_translate.xml rename to web_translate_dialog/views/web_translate.xml