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)