]> 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:03 +0000 (11:31 +0100)
telemeta/views/instrument.py

index abc2d7812a5af23c0fa5d55bea3d09cf7827dd3d..957927a6a475c2cd708315ad4ed34a715ec14c2c 100644 (file)
@@ -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)
-