コード例 #1
0
def update_draft(request, draft_pk):

    get_schema_or_fail = lambda query: get_or_http_error(MetaSchema, query)

    data = json.load(request)

    draft = get_draft_obj(draft_pk)

    schema_data = data['schema_data']

    schema_name = data['schema_name']
    schema_version = data['schema_version']

    if schema_name:
        meta_schema = get_schema_or_fail(
            Q('name', 'eq', schema_name)
            & Q('schema_version', 'eq', schema_version))

        existing_schema = draft[0].registration_schema
        if (existing_schema.name, existing_schema.schema_version) != (
                meta_schema.name, meta_schema.schema_version):
            draft[0].registration_schema = meta_schema

    try:
        draft[0].update_metadata(schema_data)
    except (NodeStateError):
        raise HTTPError(http.BAD_REQUEST)
    response = serialize_draft_registration(draft[0], draft[1])
    return HttpResponse(json.dumps(response), content_type='application/json')
コード例 #2
0
ファイル: views.py プロジェクト: Ghalko/COS-Admin-Interface
def update_draft(request, draft_pk):

	get_schema_or_fail = lambda query: get_or_http_error(MetaSchema, query)

	data = json.load(request)

	draft = get_draft_obj(draft_pk)

	schema_data = data['schema_data']

	schema_name = data['schema_name']
	schema_version = data['schema_version']

	if schema_name:
	    meta_schema = get_schema_or_fail(
	        Q('name', 'eq', schema_name) &
	        Q('schema_version', 'eq', schema_version)
	    )

	    existing_schema = draft[0].registration_schema
	    if (existing_schema.name, existing_schema.schema_version) != (meta_schema.name, meta_schema.schema_version):
	        draft[0].registration_schema = meta_schema

	try:
		draft[0].update_metadata(schema_data)
	except (NodeStateError):
	    raise HTTPError(http.BAD_REQUEST)
	response = serialize_draft_registration(draft[0], draft[1])
	return HttpResponse(json.dumps(response), content_type='application/json')
コード例 #3
0
ファイル: views.py プロジェクト: Ghalko/COS-Admin-Interface
def reject_draft(request, draft_pk):
	draft = get_draft_obj(draft_pk)

	# TODO[lauren]: add proper authorizers to DraftRegistrationApproval
	# need to pass self, user, and token
	# user should be the admin
	user = osf_user.load('dsmpw')
	draftRegistrationApproval = draft[0].approval

	draftRegistrationApproval.add_authorizer(user)
	token = draftRegistrationApproval.approval_state[user._id]['rejection_token']

	draftRegistrationApproval.reject(user, token)
	draftRegistrationApproval.save()

	response = serialize_draft_registration_approval(draftRegistrationApproval)
	return HttpResponse(json.dumps(response), content_type='application/json')
コード例 #4
0
def reject_draft(request, draft_pk):
    draft = get_draft_obj(draft_pk)

    # TODO[lauren]: add proper authorizers to DraftRegistrationApproval
    # need to pass self, user, and token
    # user should be the admin
    user = osf_user.load('dsmpw')
    draftRegistrationApproval = draft[0].approval

    draftRegistrationApproval.add_authorizer(user)
    token = draftRegistrationApproval.approval_state[
        user._id]['rejection_token']

    draftRegistrationApproval.reject(user, token)
    draftRegistrationApproval.save()

    response = serialize_draft_registration_approval(draftRegistrationApproval)
    return HttpResponse(json.dumps(response), content_type='application/json')