From 9e19c1fa6c1b8dd618ecdb3233f6aaae6e2f03b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sat, 18 Oct 2014 09:18:33 +0200 Subject: [PATCH] Avoid permuation of relation type when writing on reverse relation The relation type must also be permutated. issue4262 review12641003 --- party.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/party.py b/party.py index 5f9d98954b..61515e1d04 100644 --- a/party.py +++ b/party.py @@ -122,6 +122,7 @@ class PartyRelationAll(PartyRelation, ModelView): def write(cls, *args): pool = Pool() Relation = pool.get('party.relation') + RelationType = pool.get('party.relation.type') all_records = sum(args[0:None:2], []) @@ -154,6 +155,10 @@ class PartyRelationAll(PartyRelation, ModelView): reverse_values['to'] = reverse_values.pop('from_') elif 'to' in values: reverse_values['from_'] = reverse_values.pop('to') + if values.get('type'): + type_ = RelationType(values['type']) + reverse_values['type'] = (type_.reverse.id + if type_.reverse else None) straight_relations = [r for r in relations if not r.id % 2] reverse_relations = [r for r in relations if r.id % 2] if straight_relations: