diff options
| -rw-r--r-- | archaeological_operations/tests.py | 12 | ||||
| -rw-r--r-- | ishtar_common/models.py | 9 | 
2 files changed, 15 insertions, 6 deletions
| diff --git a/archaeological_operations/tests.py b/archaeological_operations/tests.py index d8399eedb..86eb2dfe7 100644 --- a/archaeological_operations/tests.py +++ b/archaeological_operations/tests.py @@ -578,8 +578,7 @@ class OperationTest(TestCase, OperationInitTest):                           {'operator': self.orgas[0].pk})          self.assertTrue(json.loads(response.content)['total'] == 2) -    def testRelatedSearch(self): -        c = Client() +    def create_relations(self):          rel1 = models.RelationType.objects.create(              symmetrical=True, label='Include', txt_idx='include')          rel2 = models.RelationType.objects.create( @@ -589,6 +588,11 @@ class OperationTest(TestCase, OperationInitTest):              left_record=self.operations[0],              right_record=self.operations[1],              relation_type=rel1) +        return rel1, rel2 + +    def testRelatedSearch(self): +        c = Client() +        rel1, rel2 = self.create_relations()          self.operations[1].year = 2011          self.operations[1].save()          search = {'year': '2010', 'relation_types_0': rel2.pk} @@ -599,6 +603,10 @@ class OperationTest(TestCase, OperationInitTest):          response = c.get(reverse('get-operation'), search)          self.assertTrue(json.loads(response.content)['total'] == 2) +    def testRelations(self): +        self.create_relations() +        self.operations[0].delete() +      def testOwnSearch(self):          c = Client()          response = c.get(reverse('get-operation'), {'year': '2010'}) diff --git a/ishtar_common/models.py b/ishtar_common/models.py index d58d549c8..0bc0a607d 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -959,11 +959,12 @@ def post_delete_record_relation(sender, instance, **kwargs):      # no symetric/inverse is defined      if not sym_rel_type:          return - -    dct = {'right_record': instance.left_record, -           'left_record': instance.right_record, +    dct = {'right_record_id': instance.left_record_id, +           'left_record_id': instance.right_record_id,             'relation_type': sym_rel_type} -    instance.__class__.objects.filter(**dct).delete() +    q = instance.__class__.objects.filter(**dct) +    if q.count(): +        q.delete()  class ShortMenuItem(object): | 
