changeset 5c2eabd69c1b in trytond:default
details: https://hg.tryton.org/trytond?cmd=changeset;node=5c2eabd69c1b
description:
        Use menu name for window opened from menu

        issue9937
        review315011002
diffstat:

 CHANGELOG               |   1 +
 trytond/ir/action.py    |  15 ++++++++++++++-
 trytond/ir/cron.xml     |   2 +-
 trytond/ir/sequence.xml |   2 +-
 4 files changed, 17 insertions(+), 3 deletions(-)

diffs (64 lines):

diff -r caadf76bf505 -r 5c2eabd69c1b CHANGELOG
--- a/CHANGELOG Sat Feb 06 10:47:06 2021 +0000
+++ b/CHANGELOG Tue Feb 09 00:32:18 2021 +0100
@@ -1,3 +1,4 @@
+* Use menu name for window opened from menu
 * Add trigonometric functions to sqlite backend
 * Allow skipping user warnings globally
 * Add validate option to trytond-admin
diff -r caadf76bf505 -r 5c2eabd69c1b trytond/ir/action.py
--- a/trytond/ir/action.py      Sat Feb 06 10:47:06 2021 +0000
+++ b/trytond/ir/action.py      Tue Feb 09 00:32:18 2021 +0100
@@ -219,7 +219,9 @@
 
     @classmethod
     def get_keyword(cls, keyword, value):
-        Action = Pool().get('ir.action')
+        pool = Pool()
+        Action = pool.get('ir.action')
+        Menu = pool.get('ir.ui.menu')
         key = (keyword, tuple(value))
         keywords = cls._get_keyword_cache.get(key)
         if keywords is not None:
@@ -252,6 +254,17 @@
             for value in Action.get_action_values(type_, action_ids):
                 value['keyword'] = keyword
                 keywords.append(value)
+        if keyword == 'tree_open' and model == Menu.__name__:
+            menu = Menu(model_id)
+            if menu.parent:
+                for value in keywords:
+                    if value['type'] == 'ir.action.act_window':
+                        parent = menu.parent
+                        if parent.name == value['name']:
+                            parent = parent.parent
+                        if parent:
+                            value['name'] = (
+                                parent.rec_name + ' / ' + value['name'])
         keywords.sort(key=itemgetter('name'))
         cls._get_keyword_cache.set(key, keywords)
         return keywords
diff -r caadf76bf505 -r 5c2eabd69c1b trytond/ir/cron.xml
--- a/trytond/ir/cron.xml       Sat Feb 06 10:47:06 2021 +0000
+++ b/trytond/ir/cron.xml       Tue Feb 09 00:32:18 2021 +0100
@@ -17,7 +17,7 @@
             <field name="name">cron_form</field>
         </record>
         <record model="ir.action.act_window" id="act_cron_form">
-            <field name="name">Scheduled Actions</field>
+            <field name="name">Actions</field>
             <field name="res_model">ir.cron</field>
             <field name="context"></field>
         </record>
diff -r caadf76bf505 -r 5c2eabd69c1b trytond/ir/sequence.xml
--- a/trytond/ir/sequence.xml   Sat Feb 06 10:47:06 2021 +0000
+++ b/trytond/ir/sequence.xml   Tue Feb 09 00:32:18 2021 +0100
@@ -83,7 +83,7 @@
         </record>
         <record model="ir.action.act_window"
             id="act_sequence_type_form">
-            <field name="name">Sequence Types</field>
+            <field name="name">Types</field>
             <field name="type">ir.action.act_window</field>
             <field name="res_model">ir.sequence.type</field>
         </record>

Reply via email to