diff --git a/CHANGELOG b/CHANGELOG
index 7b55a92f58..050135ff10 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,5 @@
+* Add relate from report to translations
+
Version 4.2.0 - 2016-11-28
* Bug fixes (see mercurial logs for details)
* Add toolbar attribute for richtext widget
diff --git a/trytond/ir/__init__.py b/trytond/ir/__init__.py
index 4d6cedb63f..b4a8ff47e6 100644
--- a/trytond/ir/__init__.py
+++ b/trytond/ir/__init__.py
@@ -93,6 +93,7 @@ def register():
TranslationClean,
TranslationUpdate,
TranslationExport,
+ TranslationReport,
ShowView,
PrintModelGraph,
ModuleConfigWizard,
diff --git a/trytond/ir/translation.py b/trytond/ir/translation.py
index fdda7f790f..6570d196fe 100644
--- a/trytond/ir/translation.py
+++ b/trytond/ir/translation.py
@@ -36,6 +36,7 @@ __all__ = ['Translation',
'TranslationCleanStart', 'TranslationCleanSucceed', 'TranslationClean',
'TranslationUpdateStart', 'TranslationUpdate',
'TranslationExportStart', 'TranslationExportResult', 'TranslationExport',
+ 'TranslationReport',
]
TRANSLATION_TYPE = [
@@ -1698,3 +1699,28 @@ class TranslationExport(Wizard):
return {
'file': cast(file_) if file_ else None,
}
+
+
+class TranslationReport(Wizard):
+ "Open translations of report"
+ __name__ = 'ir.translation.report'
+ start_state = 'open_'
+ open_ = StateAction('ir.act_translation_report')
+
+ def do_open_(self, action):
+ pool = Pool()
+ Report = pool.get('ir.action.report')
+ context = Transaction().context
+ assert context['active_model'] == Report.__name__
+ reports = Report.browse(context['active_ids'])
+ action['pyson_domain'] = PYSONEncoder().encode([
+ ('type', '=', 'report'),
+ ('name', 'in', [r.report_name for r in reports]),
+ ])
+ # Behaves like a relate to have name suffix
+ action['keyword'] = 'form_relate'
+ return action, {
+ 'model': context['active_model'],
+ 'ids': context['active_ids'],
+ 'id': context['active_id'],
+ }
diff --git a/trytond/ir/translation.xml b/trytond/ir/translation.xml
index 2d285f7084..10bb5d0baa 100644
--- a/trytond/ir/translation.xml
+++ b/trytond/ir/translation.xml
@@ -33,6 +33,21 @@ this repository contains the full copyright notices and license terms. -->
+
+ Translations
+ ir.translation.report
+ ir.action.report
+
+
+ form_relate
+ ir.action.report,-1
+
+
+
+ Translations
+ ir.translation
+
+
delete_xml_record
en