Пример #1
0
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
Пример #2
0
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
Пример #3
0
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
Пример #4
0
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