def create_update_profle_item(request, profile_uuid, edit_uuid): """ handles POST requests to make or update an item with a given profile """ try: inp_prof = InputProfile.objects.get(uuid=profile_uuid) project_uuid = inp_prof.project_uuid except InputProfile.DoesNotExist: inp_prof = False project_uuid = False raise Http404 proj_inp = ProjectInputs(project_uuid, request) if proj_inp.manifest is not False: if request.method == 'POST': field_data = False if 'field_data' in request.POST: field_data_json = request.POST['field_data'] try: field_data = json.loads(field_data_json) except: field_data = False if field_data is False: json_output = json.dumps( { 'error': 'Need to POST "field_data" with JSON encoded text.' }, indent=4, ensure_ascii=False) return HttpResponse( json_output, content_type='application/json; charset=utf8', status=400) if proj_inp.edit_permitted or request.user.is_superuser: ipt = InputProfileTemplating() profile_obj = ipt.make_json(profile_uuid) ipu = InputProfileUse() ipu.edit_uuid = edit_uuid ipu.item_type = profile_obj['item_type'] ipu.profile_uuid = profile_uuid ipu.profile_obj = profile_obj ipu.project_uuid = project_uuid result = ipu.create_update(field_data) # result = ipu.test(field_data) result['errors'] = ipu.errors json_output = json.dumps(result, indent=4, ensure_ascii=False) return HttpResponse( json_output, content_type='application/json; charset=utf8') else: json_output = json.dumps({'error': 'edit permission required'}, indent=4, ensure_ascii=False) return HttpResponse( json_output, content_type='application/json; charset=utf8', status=401) else: return HttpResponseForbidden else: raise Http404
def create_update_profle_item(request, profile_uuid, edit_uuid): """ handles POST requests to make or update an item with a given profile """ try: inp_prof = InputProfile.objects.get(uuid=profile_uuid) project_uuid = inp_prof.project_uuid except InputProfile.DoesNotExist: inp_prof = False project_uuid = False raise Http404 proj_inp = ProjectInputs(project_uuid, request) if proj_inp.manifest is not False: if request.method == 'POST': field_data = False if 'field_data' in request.POST: field_data_json = request.POST['field_data'] try: field_data = json.loads(field_data_json) except: field_data = False if field_data is False: json_output = json.dumps({'error': 'Need to POST "field_data" with JSON encoded text.'}, indent=4, ensure_ascii=False) return HttpResponse(json_output, content_type='application/json; charset=utf8', status=400) if proj_inp.edit_permitted or request.user.is_superuser: ipt = InputProfileTemplating() profile_obj = ipt.make_json(profile_uuid) ipu = InputProfileUse() ipu.edit_uuid = edit_uuid ipu.item_type = profile_obj['item_type'] ipu.profile_uuid = profile_uuid ipu.profile_obj = profile_obj ipu.project_uuid = project_uuid result = ipu.create_update(field_data) # result = ipu.test(field_data) result['errors'] = ipu.errors json_output = json.dumps(result, indent=4, ensure_ascii=False) return HttpResponse(json_output, content_type='application/json; charset=utf8') else: json_output = json.dumps({'error': 'edit permission required'}, indent=4, ensure_ascii=False) return HttpResponse(json_output, content_type='application/json; charset=utf8', status=401) else: return HttpResponseForbidden else: raise Http404
def json_view(request, profile_uuid): """ Handles JSON requests for a profile """ ipt = InputProfileTemplating() exists = ipt.check_exists(profile_uuid) if exists: # now check to see if the we have edit permissions proj_inp = ProjectInputs(ipt.project_uuid, request) if proj_inp.edit_permitted or request.user.is_superuser: result = ipt.make_json(profile_uuid) json_output = json.dumps(result, indent=4, ensure_ascii=False) return HttpResponse(json_output, content_type='application/json; charset=utf8') else: json_output = json.dumps({'error': 'edit permission required'}, indent=4, ensure_ascii=False) return HttpResponse(json_output, content_type='application/json; charset=utf8', status=401) else: raise Http404