Ejemplo n.º 1
0
    def obj_create(self, bundle, **kwargs):
        self.is_valid(bundle)

        if bundle.errors:
            raise ImmediateHttpResponse(response=self.error_response(
                bundle.request, bundle.errors[self._meta.resource_name]))

        return ModelResource.obj_create(self, bundle, **kwargs)
Ejemplo n.º 2
0
 def obj_create(self, bundle, **kwargs):
     try:
         return ModelResource.obj_create(self, bundle, **kwargs)
     except IntegrityError:
         # This has the negative side-effect of always making the server
         # respond with (201) regardless of whether or not the object was
         # just created.  It would be better if it could return (200) if the
         # object already existed.
         allocation_id = simplejson.loads(bundle.request.body)['allocation_id']
         fileset = models.Fileset.objects.get(allocation_id=allocation_id)
         bundle.obj = fileset
         return bundle
Ejemplo n.º 3
0
 def obj_create(self, bundle, **kwargs):
     try:
         return ModelResource.obj_create(self, bundle, **kwargs)
     except IntegrityError:
         # This has the negative side-effect of always making the server
         # respond with (201) regardless of whether or not the object was
         # just created.  It would be better if it could return (200) if the
         # object already existed.
         data = simplejson.loads(bundle.request.body)
         result = models.Result.objects.get(
                 pk=resolve_primary_key_from_url(data['result']))
         process = models.Process.objects.get(
                 pk=resolve_primary_key_from_url(data['process']))
         process_step = models.ProcessStep.objects.get(process=process,
                 result=result, label=data['label'])
         bundle.obj = process_step
         return bundle
Ejemplo n.º 4
0
 def obj_create(self, bundle, **kwargs):
     try:
         return ModelResource.obj_create(self, bundle, **kwargs)
     except IntegrityError:
         # This has the negative side-effect of always making the server
         # respond with (201) regardless of whether or not the object was
         # just created.  It would be better if it could return (200) if the
         # object already existed.
         data = simplejson.loads(bundle.request.body)
         tool = models.Tool.objects.get(
                 source_path=data['tool']['source_path'],
                 version=data['tool']['version'])
         result = models.Result.objects.get(tool=tool,
                 test_name=data['test_name'],
                 lookup_hash=models.Result.calculate_lookup_hash(
                     data['inputs']))
         bundle.obj = result
         return bundle