[tryton-debian-vcs] tryton-proteus branch upstream-2.8 updated. upstream/2.8.0-1-gd58cf5d

Mathias Behrle tryton-debian-vcs at alioth.debian.org
Thu Jul 3 16:03:45 UTC 2014


The following commit has been merged in the upstream-2.8 branch:
https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi/?p=tryton/tryton-proteus.git;a=commitdiff;h=upstream/2.8.0-1-gd58cf5d

commit d58cf5d3cafe7e17ac391721be62c1dfa05cc537
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Wed Jul 2 14:26:21 2014 +0200

    Adding upstream version 2.8.1.

diff --git a/CHANGELOG b/CHANGELOG
index 628c5ee..7870a33 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,6 @@
+Version 2.8.1 - 2014-07-02
+* Bug fixes (see mercurial logs for details)
+
 Version 2.8.0 - 2013-04-22
 * Bug fixes (see mercurial logs for details)
 * Add support of fields.Dict
diff --git a/COPYRIGHT b/COPYRIGHT
index 7e8c156..c655746 100644
--- a/COPYRIGHT
+++ b/COPYRIGHT
@@ -1,5 +1,5 @@
-Copyright (C) 2010-2013 Cédric Krier.
-Copyright (C) 2010-2013 B2CK SPRL.
+Copyright (C) 2010-2014 Cédric Krier.
+Copyright (C) 2010-2014 B2CK SPRL.
 
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
diff --git a/PKG-INFO b/PKG-INFO
index 528d96a..c6c3212 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: proteus
-Version: 2.8.0
+Version: 2.8.1
 Summary: Library to access Tryton server as a client
 Home-page: http://www.tryton.org/
 Author: Tryton
diff --git a/proteus.egg-info/PKG-INFO b/proteus.egg-info/PKG-INFO
index 528d96a..c6c3212 100644
--- a/proteus.egg-info/PKG-INFO
+++ b/proteus.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: proteus
-Version: 2.8.0
+Version: 2.8.1
 Summary: Library to access Tryton server as a client
 Home-page: http://www.tryton.org/
 Author: Tryton
diff --git a/proteus/__init__.py b/proteus/__init__.py
index 257d1c9..4b9c627 100644
--- a/proteus/__init__.py
+++ b/proteus/__init__.py
@@ -3,7 +3,7 @@
 '''
 A library to access Tryton's models like a client.
 '''
-__version__ = "2.8.0"
+__version__ = "2.8.1"
 __all__ = ['Model', 'Wizard']
 import sys
 try:
@@ -31,7 +31,7 @@ class _EvalEnvironment(dict):
         self.parent = parent
 
     def __getitem__(self, item):
-        if item == '_parent_' + self.parent._parent_field_name \
+        if item == '_parent_' + self.parent._parent_name \
                 and self.parent.parent:
             return _EvalEnvironment(self.parent.parent)
         return self.parent._get_eval()[item]
@@ -274,15 +274,19 @@ class One2ManyValueDescriptor(ValueDescriptor):
     def __get__(self, instance, owner):
         value = [('add', [])]
         value_list = getattr(instance, self.name)
+        parent_name = self.definition.get('relation_field', '')
         to_create = []
         for record in value_list:
-            if record.id > 0:
-                if record._changed:
-                    value.append(('write', [record.id], record._get_values(
-                        fields=record._changed)))
+            if record.id >= 0:
+                values = record._get_values(fields=record._changed)
+                values.pop(parent_name, None)
+                if record._changed and values:
+                    value.append(('write', [record.id], values))
                 value[0][1].append(record.id)
             else:
-                to_create.append(record._get_values())
+                values = record._get_values()
+                values.pop(parent_name, None)
+                to_create.append(values)
         if to_create:
             value.append(('create', to_create))
         if value_list.record_removed:
@@ -504,8 +508,8 @@ class ModelList(list):
     def pop(self, index=-1):
         self.record_removed.add(self[index])
         self[index]._parent = None
-        self[index]._parent_field_name = None
-        self[index]._parent_name = None
+        self[index]._parent_field_name = ''
+        self[index]._parent_name = ''
         res = super(ModelList, self).pop(index)
         self._changed()
         return res
@@ -514,8 +518,8 @@ class ModelList(list):
     def remove(self, record):
         self.record_deleted.add(record)
         record._parent = None
-        record._parent_field_name = None
-        record._parent_name = None
+        record._parent_field_name = ''
+        record._parent_name = ''
         res = super(ModelList, self).remove(record)
         self._changed()
         return res
-- 
tryton-proteus



More information about the tryton-debian-vcs mailing list