changeset 3f73760b4901 in trytond:4.2
details: https://hg.tryton.org/trytond?cmd=changeset;node=3f73760b4901
description:
        Set the requested view_id in result of fields_view_get

        The client uses the id of the view received by fields_view_get to 
construct
        the URL so it must be the one requested to ensure to have the same view.

        issue7988
        review275081002
        (grafted from fac8fda20028c3e0d40f807ac52f01d69f1b9270)
diffstat:

 trytond/model/modelview.py |  14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)

diffs (44 lines):

diff -r 16a93ff1ed0b -r 3f73760b4901 trytond/model/modelview.py
--- a/trytond/model/modelview.py        Thu Mar 21 17:50:39 2019 +0100
+++ b/trytond/model/modelview.py        Fri Mar 22 18:18:36 2019 +0100
@@ -257,7 +257,6 @@
             if view.inherit:
                 inherit_view_id = view.id
                 view = view.inherit
-            view_id = view.id
 
         # if a view was found
         if view:
@@ -269,17 +268,18 @@
             # Check if view is not from an inherited model
             if view.model != cls.__name__:
                 Inherit = pool.get(view.model)
-                result['arch'] = Inherit.fields_view_get(
-                        result['view_id'])['arch']
-                view_id = inherit_view_id
+                result['arch'] = Inherit.fields_view_get(view.id)['arch']
+                real_view_id = inherit_view_id
+            else:
+                real_view_id = view.id
 
             # get all views which inherit from (ie modify) this view
             views = View.search([
                     'OR', [
-                        ('inherit', '=', view_id),
+                        ('inherit', '=', real_view_id),
                         ('model', '=', cls.__name__),
                         ], [
-                        ('id', '=', view_id),
+                        ('id', '=', real_view_id),
                         ('inherit', '!=', None),
                         ],
                     ])
@@ -339,7 +339,7 @@
             result['type'] = view_type
             result['arch'] = xml
             result['field_childs'] = None
-            result['view_id'] = 0
+            result['view_id'] = view_id
 
         # Update arch and compute fields from arch
         parser = etree.XMLParser(remove_blank_text=True)

Reply via email to