From 41c8a04ea3f3bd23b23a190a38e030ee1772a893 Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Thu, 19 Dec 2013 11:31:03 +0100 Subject: [PATCH] fix instrument replace --- telemeta/views/instrument.py | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/telemeta/views/instrument.py b/telemeta/views/instrument.py index abc2d781..957927a6 100644 --- a/telemeta/views/instrument.py +++ b/telemeta/views/instrument.py @@ -83,7 +83,6 @@ class InstrumentView(object): return self.edit_instrument(request) - @method_decorator(permission_required('telemeta.change_instrument')) def replace_instrument_value(self, request, value_id): if request.method == 'POST': @@ -92,11 +91,7 @@ class InstrumentView(object): if 'delete' in request.POST.keys(): delete = True - if from_record == None: - raise Http404 - obj_type = Instrument - field_type = ForeignKey from_record = Instrument.objects.get(id__exact=value_id) to_record = Instrument.objects.get(id__exact=to_value_id) links = [rel.get_accessor_name() for rel in from_record._meta.get_all_related_objects()] @@ -107,14 +102,13 @@ class InstrumentView(object): for name in obj._meta.get_all_field_names(): try: field = obj._meta.get_field(name) - if type(field) == field_type: - if field.rel.to == obj_type: - setattr(obj, name, to_record) - obj.save() + if field.rel.to == obj_type: + setattr(obj, name, to_record) + obj.save() except: continue + if delete: from_record.delete() return self.edit_instrument(request) - -- 2.39.5