Remove review53361003/issue7665 that is commited in proteus

This commit is contained in:
Raimon Esteve 2018-09-06 15:03:01 +02:00
parent e2715453a8
commit f7e1a48a18
2 changed files with 0 additions and 148 deletions

View File

@ -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)

1
series
View File

@ -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