From b4909e161c7e1853b2a85729ea40d35623898600 Mon Sep 17 00:00:00 2001 From: Schuyler Erle Date: Thu, 1 Sep 2011 03:43:06 -0700 Subject: [PATCH] Return is_primary to True if removing a "conflates" relation. --- gazetteer/places/views.py | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/gazetteer/places/views.py b/gazetteer/places/views.py index 84932f9..cd6222a 100644 --- a/gazetteer/places/views.py +++ b/gazetteer/places/views.py @@ -65,11 +65,11 @@ def search_related_json(request, id): d = [] for s in similar_features: - time_frame = relates_to = related_by = "" + time_frame = relates_to = related_by = "" if s.time_frame is not None: time_frame = s.time_frame.description if s.relationship_type is not None: - if s.feature2_id == s.id: + if s.feature2_id == s.id: relates_to = s.relationship_type elif s.feature1_id == s.id: related_by = s.relationship_type @@ -82,7 +82,7 @@ def search_related_json(request, id): 'time_frame': time_frame, 'is_primary': s.is_primary, 'relates_to': relates_to, - 'related_by': related_by + 'related_by': related_by }) return render_to_json_response(d) @@ -120,19 +120,22 @@ def add_relation(request): feature2 = get_object_or_404_json(Feature, pk=feature2) rel_obj = None try: - rel_obj = Relationship.objects.get(feature1=feature1, feature2=feature2, relationship_type=relation) + rel_obj = Relationship.objects.get(feature1=feature1, feature2=feature2, relationship_type=relation) except ObjectDoesNotExist: - rel_obj = Relationship(feature1=feature1, feature2=feature2, relationship_type=relation) + rel_obj = Relationship(feature1=feature1, feature2=feature2, relationship_type=relation) verb = "created" if relation == "": - if rel_obj.id: - verb = "deleted" - rel_obj.delete() - else: + if rel_obj.id: + verb = "deleted" + rel_obj.delete() + if relation == "conflates": + feature2.is_primary = True + feature2.save() + else: return render_to_json_response({'error': 'relation is already deleted'}) else: rel_obj.save() - if relation == "subsumes": - feature2.is_primary = False - feature2.save() + if relation == "conflates": + feature2.is_primary = False + feature2.save() return render_to_json_response({'success': 'relation %s successfully.' % verb})