Reviewers: ,
Please review this at http://codereview.tryton.org/601002/
Affected files:
M tryton/gui/window/preference.py
M tryton/gui/window/view_form/model/group.py
M tryton/gui/window/view_form/screen/screen.py
M tryton/gui/window/wizard.py
Index: tryton/gui/window/preference.py
===================================================================
--- a/tryton/gui/window/preference.py
+++ b/tryton/gui/window/preference.py
@@ -65,7 +65,6 @@
return
self.screen.current_record.set(preferences)
self.screen.current_record.validate(softvalidation=True)
- self.screen.screen_container.set(self.screen.current_view.widget)
self.screen.display(set_cursor=True)
self.screen.widget.show()
Index: tryton/gui/window/view_form/model/group.py
===================================================================
--- a/tryton/gui/window/view_form/model/group.py
+++ b/tryton/gui/window/view_form/model/group.py
@@ -375,10 +375,7 @@
return None
return self[self.current_idx]
- def add_fields(self, fields, context=None, signal=True):
- if context is None:
- context = {}
-
+ def add_fields(self, fields, signal=True):
to_add = {}
for name, attr in fields.iteritems():
if name not in self.fields:
@@ -394,13 +391,11 @@
for record in self:
if record.id < 0:
new.append(record)
- ctx = context.copy()
if len(new) and len(to_add):
- ctx.update(self.context)
try:
values = RPCExecute('model',
self.model_name, 'default_get',
- to_add.keys(), context=ctx)
+ to_add.keys(), context=self.context)
except RPCException:
return False
for name in to_add:
Index: tryton/gui/window/view_form/screen/screen.py
===================================================================
--- a/tryton/gui/window/view_form/screen/screen.py
+++ b/tryton/gui/window/view_form/screen/screen.py
@@ -83,14 +83,8 @@
lambda: collections.defaultdict(lambda: None))
self.domain_parser = None
self.pre_validate = False
-
- if mode:
- self.view_to_load = mode[1:]
- view_id = False
- if self.view_ids:
- view_id = self.view_ids.pop(0)
- view = self.add_view_id(view_id, mode[0])
- self.screen_container.set(view.widget)
+ self.view_to_load = mode[:]
+ self.load_view_to_load()
self.display()
def __repr__(self):
@@ -356,13 +350,12 @@
if len(self.view_to_load):
if self.view_ids:
view_id = self.view_ids.pop(0)
- view_type = self.view_to_load.pop(0)
else:
view_id = False
- view_type = self.view_to_load.pop(0)
+ view_type = self.view_to_load.pop(0)
self.add_view_id(view_id, view_type)
- def add_view_id(self, view_id, view_type, display=False, context=None):
+ def add_view_id(self, view_id, view_type):
if view_type in self.views_preload:
view = self.views_preload[view_type]
else:
@@ -371,9 +364,9 @@
view_id, view_type, context=self.context)
except RPCException:
return
- return self.add_view(view, display, context=context)
+ return self.add_view(view)
- def add_view(self, view, display=False, context=None):
+ def add_view(self, view):
arch = view['arch']
fields = view['fields']
@@ -399,7 +392,7 @@
children_field = view.get('field_childs')
from tryton.gui.window.view_form.view.widget_parse import
WidgetParse
- self.group.add_fields(fields, context=context)
+ self.group.add_fields(fields)
parser = WidgetParse(parent=self.parent)
view = parser.parse(self, xml_dom, self.group.fields,
@@ -407,16 +400,8 @@
self.views.append(view)
- if display:
- self.__current_view = len(self.views) - 1
- self.screen_container.set(self.current_view.widget)
- fields = self.current_view.get_fields()
- if (not self.current_record
- and self.current_view.view_type == 'form'):
- self.new()
- self.set_cursor()
- self.current_view.cancel()
- self.display()
+ self.__current_view = len(self.views) - 1
+ self.screen_container.set(self.current_view.widget)
return view
def editable_get(self):
Index: tryton/gui/window/wizard.py
===================================================================
--- a/tryton/gui/window/wizard.py
+++ b/tryton/gui/window/wizard.py
@@ -166,7 +166,7 @@
self._get_button(button)
self.screen = Screen(view['model'], mode=[], context=self.context)
- self.screen.add_view(view, display=True)
+ self.screen.add_view(view)
self.screen.widget.show()
self.screen.signal_connect(self, 'record-modified',
self._record_modified)
--
--
[email protected] mailing list