def save(self, commit=True, **kwargs): reuse = super(ReuseCreateForm, self).save(commit=False, **kwargs) if not reuse.organization: reuse.owner = current_user._get_current_object() if commit: reuse.save() return reuse
def save(self, commit=True, **kwargs): dataset = super(DatasetCreateForm, self).save(commit=False, **kwargs) if not dataset.organization: dataset.owner = current_user._get_current_object() if commit: dataset.save() return dataset
def reject_source(ident, comment): '''Reject a source for automatic harvesting''' source = get_source(ident) source.validation.on = datetime.now() source.validation.comment = comment source.validation.state = VALIDATION_REFUSED if current_user.is_authenticated(): source.validation.by = current_user._get_current_object() source.save() return source
def refuse_transfer(transfer, comment=None): '''Refuse an incoming a transfer request''' TransferResponsePermission(transfer).test() transfer.responded = datetime.now() transfer.responder = current_user._get_current_object() transfer.status = 'refused' transfer.response_comment = comment transfer.save() return transfer
def save_grant(client_id, code, request, *args, **kwargs): # decide the expires time yourself expires = datetime.utcnow() + timedelta(seconds=GRANT_EXPIRATION) return OAuth2Grant.objects.create( client=ObjectId(client_id), code=code['code'], redirect_uri=request.redirect_uri, scopes=request.scopes, user=current_user._get_current_object(), expires=expires )
def validate_source(ident, comment=None): '''Validate a source for automatic harvesting''' source = get_source(ident) source.validation.on = datetime.now() source.validation.comment = comment source.validation.state = VALIDATION_ACCEPTED if current_user.is_authenticated(): source.validation.by = current_user._get_current_object() source.save() launch(ident) return source
def validate_source(ident, comment=None): '''Validate a source for automatic harvesting''' source = get_source(ident) source.validation.on = datetime.now() source.validation.comment = comment source.validation.state = VALIDATION_ACCEPTED if current_user.is_authenticated: source.validation.by = current_user._get_current_object() source.save() schedule(ident, cron=current_app.config['HARVEST_DEFAULT_SCHEDULE']) launch(ident) return source
def save(self, commit=True, **kwargs): '''Register the current user as admin on creation''' org = super(OrganizationForm, self).save(commit=False, **kwargs) if not org.id: user = current_user._get_current_object() member = Member(user=user, role='admin') org.members.append(member) if commit: org.save() return org
def post(self, org, id): '''Refuse user membership to a given organization.''' membership_request = self.get_or_404(org, id) form = api.validate(MembershipRefuseForm) membership_request.status = 'refused' membership_request.handled_by = current_user._get_current_object() membership_request.handled_on = datetime.now() membership_request.refusal_comment = form.comment.data org.save() return {}, 200
def post(self, org, id): '''Accept user membership to a given organization.''' membership_request = self.get_or_404(org, id) membership_request.status = 'accepted' membership_request.handled_by = current_user._get_current_object() membership_request.handled_on = datetime.now() member = Member(user=membership_request.user, role='editor') org.members.append(member) org.save() return member
def post(self, org): '''Apply for membership to a given organization.''' membership_request = org.pending_request(current_user._get_current_object()) code = 200 if membership_request else 201 form = api.validate(MembershipRequestForm, membership_request) if not membership_request: membership_request = MembershipRequest() org.requests.append(membership_request) form.populate_obj(membership_request) org.save() return membership_request, code
def post(self, org, id): """Refuse user membership to a given organization.""" EditOrganizationPermission(org).test() membership_request = self.get_or_404(org, id) form = api.validate(MembershipRefuseForm) membership_request.status = "refused" membership_request.handled_by = current_user._get_current_object() membership_request.handled_on = datetime.now() membership_request.refusal_comment = form.comment.data org.save() notify_membership_response.delay(org, membership_request) return {}, 200
def post(self, org, id): """Accept user membership to a given organization.""" EditOrganizationPermission(org).test() membership_request = self.get_or_404(org, id) membership_request.status = "accepted" membership_request.handled_by = current_user._get_current_object() membership_request.handled_on = datetime.now() member = Member(user=membership_request.user, role="editor") org.members.append(member) org.save() notify_membership_response.delay(org, membership_request) return member
def post(self, org, id): '''Accept user membership to a given organization.''' EditOrganizationPermission(org).test() membership_request = self.get_or_404(org, id) if org.is_member(membership_request.user): return org.member(membership_request.user), 409 membership_request.status = 'accepted' membership_request.handled_by = current_user._get_current_object() membership_request.handled_on = datetime.now() member = Member(user=membership_request.user, role='editor') org.members.append(member) org.save() notify_membership_response.delay(org, membership_request) return member
def accept_transfer(transfer, comment=None): '''Accept an incoming a transfer request''' TransferResponsePermission(transfer).test() transfer.responded = datetime.now() transfer.responder = current_user._get_current_object() transfer.status = 'accepted' transfer.response_comment = comment transfer.save() subject = transfer.subject recipient = transfer.recipient if isinstance(recipient, Organization): subject.organization = recipient elif isinstance(recipient, User): subject.owner = recipient subject.save() return transfer
def inject_organization_needs(sender, identity): if current_user.is_authenticated: for org in Organization.objects(members__user=current_user.id): membership = get_by(org.members, 'user', current_user._get_current_object()) identity.provides.add(OrganizationNeed(membership.role, org.id))
def default_owner(): '''Default to current_user if authenticated''' if current_user.is_authenticated(): return current_user._get_current_object()
def is_following(obj): if not current_user.is_authenticated: return False return Follow.objects.is_following(current_user._get_current_object(), obj)
def get(self): '''List all current user pending notifications''' user = current_user._get_current_object() return get_notifications(user)
def on_user_deleted_dataset(dataset): if (not dataset.private and current_user and current_user.is_authenticated()): user = current_user._get_current_object() organization = dataset.organization write_activity.delay(UserDeletedDataset, user, dataset, organization)
def is_following(obj): return (current_user.is_authenticated() and Follow.objects.is_following(current_user._get_current_object(), obj))
def inject_organization_needs(sender, identity): if current_user.is_authenticated(): for org in Organization.objects(members__user=current_user.id): membership = get_by(org.members, 'user', current_user._get_current_object()) identity.provides.add(OrganizationNeed(membership.role, org.id))
def default_owner(): '''Default to current_user if authenticated''' if current_user.is_authenticated: return current_user._get_current_object()
def is_following(obj): return current_user.is_authenticated() and Follow.objects.is_following(current_user._get_current_object(), obj)
def on_user_deleted_dataset(dataset): if (not dataset.private and current_user and current_user.is_authenticated): user = current_user._get_current_object() organization = dataset.organization write_activity.delay(UserDeletedDataset, user, dataset, organization)
def emit(cls, related_to, organization=None, **kwargs): return cls.objects.create( actor=current_user._get_current_object(), related_to=related_to, organization=organization )
def emit(cls, related_to, organization=None, **kwargs): new_activity.send(cls, related_to=related_to, actor=current_user._get_current_object(), organization=organization)