]> git.parisson.com Git - telemeta.git/commitdiff
fix instrument replace
authorGuillaume Pellerin <yomguy@parisson.com>
Thu, 19 Dec 2013 10:31:03 +0000 (11:31 +0100)
committerGuillaume Pellerin <yomguy@parisson.com>
Thu, 19 Dec 2013 10:31:18 +0000 (11:31 +0100)
telemeta/views/instrument.py

index ae88c225355252d89e7b5fe930550a0e2267cd2e..61ffced475417ba6c829abb98c525d604499d3de 100644 (file)
@@ -84,7 +84,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':
@@ -93,11 +92,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()]
@@ -108,14 +103,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)
-