From f7e1a48a187707c1fc8bf17d06d6b27900fa3559 Mon Sep 17 00:00:00 2001 From: Raimon Esteve Date: Thu, 6 Sep 2018 15:03:01 +0200 Subject: [PATCH] Remove review53361003/issue7665 that is commited in proteus --- issue53361003_1.diff | 147 ------------------------------------------- series | 1 - 2 files changed, 148 deletions(-) delete mode 100644 issue53361003_1.diff diff --git a/issue53361003_1.diff b/issue53361003_1.diff deleted file mode 100644 index b9700ce..0000000 --- a/issue53361003_1.diff +++ /dev/null @@ -1,147 +0,0 @@ ---- a/proteus/proteus/__init__.py -+++ b/proteus/proteus/__init__.py -@@ -520,11 +520,9 @@ - - def __check(self, records, on_change=True): - config = None -- context = self._get_context() - for record in records: - assert isinstance(record, Model) - assert record.__class__.__name__ == self.model_name -- assert record._context == context, (record._context, context) - if self.parent: - assert record._config == self.parent._config - elif self: -@@ -533,14 +531,10 @@ - assert record._config == config - else: - config = record._config -+ if record._group is not self: -+ assert record._group is None -+ record._group = self - for record in records: -- assert record._parent is None -- assert not record._parent_field_name -- assert not record._parent_name -- record._parent = self.parent -- record._parent_field_name = self.parent_field_name -- record._parent_name = self.parent_name -- - # Set parent field to trigger on_change - if (on_change - and self.parent -@@ -572,9 +566,7 @@ - - def pop(self, index=-1): - self.record_removed.add(self[index]) -- self[index]._parent = None -- self[index]._parent_field_name = '' -- self[index]._parent_name = '' -+ self[index]._group = None - res = super(ModelList, self).pop(index) - self._changed() - return res -@@ -583,9 +575,7 @@ - def remove(self, record, _changed=True): - if record.id >= 0: - self.record_deleted.add(record) -- record._parent = None -- record._parent_field_name = '' -- record._parent_name = '' -+ record._group = None - res = super(ModelList, self).remove(record) - if _changed: - self._changed() -@@ -606,15 +596,7 @@ - config = Relation._config - with config.reset_context(), config.set_context(self._get_context()): - # Set parent for on_change calls from default_get -- new_record = Relation( -- _parent=self.parent, -- _parent_field_name=self.parent_field_name, -- _parent_name=self.parent_name, -- **kwargs) -- # Remove parent to pass __check test -- new_record._parent = None -- new_record._parent_field_name = '' -- new_record._parent_name = '' -+ new_record = Relation(_group=self, **kwargs) - self.append(new_record) - return new_record - -@@ -675,9 +657,7 @@ - _config = None - _fields = None - -- def __init__(self, id=None, _default=True, -- _parent=None, _parent_field_name='', _parent_name='', -- **kwargs): -+ def __init__(self, id=None, _default=True, _group=None, **kwargs): - super(Model, self).__init__() - if id: - assert not kwargs -@@ -686,12 +666,8 @@ - Model.__counter -= 1 - self._values = {} # store the values of fields - self._changed = set() # store the changed fields -- self._parent = _parent # store the parent record -- # store the field name in parent record -- self._parent_field_name = _parent_field_name -- # store the field name to parent record -- self._parent_name = _parent_name -- self._context = self._config.context # store the context -+ self._group = _group # store the parent group -+ self.__context = self._config.context # store the context - if self.id < 0 and _default: - self._default_get() - -@@ -718,6 +694,31 @@ - setattr(self, field_name, value) - __init__.__doc__ = object.__init__.__doc__ - -+ @property -+ def _parent(self): -+ if self._group is not None: -+ return self._group.parent -+ -+ @property -+ def _parent_field_name(self): -+ if self._group is not None: -+ return self._group.parent_field_name -+ return '' -+ -+ @property -+ def _parent_name(self): -+ if self._group is not None: -+ return self._group.parent_name -+ return '' -+ -+ @property -+ def _context(self): -+ if self._group: -+ context = self._group._get_context() -+ else: -+ context = self.__context -+ return context -+ - @classmethod - def get(cls, name, config=None): - 'Get a class for the named Model' -@@ -944,13 +945,10 @@ - Relation = Model.get(definition['relation'], self._config) - self._values[field] = records = ModelList( - definition, [], self, field) -- config = Relation._config -- with config.reset_context(), \ -- config.set_context(records._get_context()): -- for vals in (value or []): -- record = Relation() -- record._default_set(vals) -- records.append(record) -+ for vals in (value or []): -+ record = Relation() -+ record._default_set(vals) -+ records.append(record) - else: - self._values[field] = value - fieldnames.append(field) diff --git a/series b/series index 755ba62..8d5c2ed 100644 --- a/series +++ b/series @@ -1,2 +1 @@ issue6253.diff # add invoice type criteria -issue53361003_1.diff # Proteus: Use the context of the group when record is inside a ModelList