Model changes based on jobs API discussion, code and test fixes to work with those changes.

This commit is contained in:
Chris Church
2013-05-08 17:41:10 -04:00
parent 6238f0ab9a
commit f7cd605415
11 changed files with 638 additions and 110 deletions

View File

@@ -293,20 +293,25 @@ class VariableBaseDetail(BaseDetail):
this_object = None
if hasattr(request.DATA, 'dict'):
data = request.DATA.dict()
else:
data = request.DATA
try:
this_object = getattr(through_obj, self.__class__.reverse_relationship, None)
except:
pass
if this_object is None:
this_object = self.__class__.model.objects.create(data=python_json.dumps(request.DATA))
this_object = self.__class__.model.objects.create(data=data)
else:
this_object.data = python_json.dumps(request.DATA)
this_object.data = data
this_object.save()
setattr(through_obj, self.__class__.reverse_relationship, this_object)
through_obj.save()
return Response(status=status.HTTP_200_OK, data=python_json.loads(this_object.data))
return Response(status=status.HTTP_200_OK, data=this_object.data)
def get(self, request, *args, **kwargs):
@@ -322,7 +327,7 @@ class VariableBaseDetail(BaseDetail):
if this_object is None:
new_args = {}
new_args['data'] = python_json.dumps(dict())
new_args['data'] = {}
this_object = self.__class__.model.objects.create(**new_args)
setattr(through_obj, self.__class__.reverse_relationship, this_object)
through_obj.save()
@@ -333,5 +338,5 @@ class VariableBaseDetail(BaseDetail):
if not check_user_access(request.user, Inventory, 'read', through_obj.inventory):
raise PermissionDenied
return Response(status=status.HTTP_200_OK, data=python_json.loads(this_object.data))
return Response(status=status.HTTP_200_OK, data=this_object.data)