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')
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')
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')
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')