Return is_primary to True if removing a "conflates" relation.

This commit is contained in:
Schuyler Erle 2011-09-01 03:43:06 -07:00
parent 171caadf0d
commit b4909e161c

View File

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