Reviewers: ,

Description:
trytond: Manage extra model from model data for ir.action.*

Please review this at http://codereview.tryton.org/768002/

Affected files:
  M trytond/ir/translation.py


Index: trytond/ir/translation.py
===================================================================
--- a/trytond/ir/translation.py
+++ b/trytond/ir/translation.py
@@ -510,6 +510,17 @@
         return super(Translation, cls).write(translations, vals)

     @classmethod
+    def extra_model_data(cls, model_data):
+        "Yield extra model linked to the model data"
+        if model_data.model in (
+                'ir.action.report',
+                'ir.action.act_window',
+                'ir.action.wizard',
+                'ir.action.url',
+                ):
+            yield 'ir.action'
+
+    @classmethod
     def translation_import(cls, lang, module, po_path):
         pool = Pool()
         ModelData = pool.get('ir.model.data')
@@ -520,6 +531,9 @@
         for model_data in models_data:
             fs_id2model_data.setdefault(model_data.model, {})
fs_id2model_data[model_data.model][model_data.fs_id] = model_data
+            for extra_model in cls.extra_model_data(model_data):
+                fs_id2model_data.setdefault(extra_model, {})
+ fs_id2model_data[extra_model][model_data.fs_id] = model_data

         translations = set()
         to_create = []
@@ -629,6 +643,9 @@
         for model_data in models_data:
             db_id2fs_id.setdefault(model_data.model, {})
db_id2fs_id[model_data.model][model_data.db_id] = model_data.fs_id
+            for extra_model in cls.extra_model_data(model_data):
+                db_id2fs_id.setdefault(extra_model, {})
+ db_id2fs_id[extra_model][model_data.db_id] = model_data.fs_id

         pofile = TrytonPOFile(wrapwidth=78)
         pofile.metadata = {


Reply via email to