Esempio n. 1
0
def enroll_member(project_id, user, request_user=None, reason=None):
    try:
        project = get_project_for_update(project_id)
    except ProjectNotFound as e:
        raise ProjectConflict(e.message)
    accept_membership_project_checks(project, request_user)

    try:
        membership = get_membership(project_id, user.id)
        if not membership.check_action("enroll"):
            m = _(astakos_messages.MEMBERSHIP_ACCEPTED)
            raise ProjectConflict(m)
        membership.perform_action("enroll", actor=request_user, reason=reason)
    except ProjectNotFound:
        membership = new_membership(project,
                                    user,
                                    actor=request_user,
                                    enroll=True)

    qh_sync_user(user)
    logger.info("User %s has been enrolled in %s." %
                (membership.person.log_display, project))

    membership_enroll_notify(project, membership.person)
    return membership
Esempio n. 2
0
def enroll_member(project_id, user, request_user=None):
    get_chain_for_update(project_id)
    project = get_project_by_id(project_id)
    accept_membership_checks(project, request_user)

    membership, created = ProjectMembership.objects.get_or_create(
        project=project, person=user)

    if not membership.can_accept():
        m = _(astakos_messages.NOT_MEMBERSHIP_REQUEST)
        raise PermissionDenied(m)

    membership.accept()
    qh_sync_user(user)
    logger.info("User %s has been enrolled in %s." %
                (membership.person.log_display, project))

    membership_enroll_notify(project, membership.person)
    return membership
Esempio n. 3
0
def enroll_member(project_id, user, request_user=None):
    get_chain_for_update(project_id)
    project = get_project_by_id(project_id)
    accept_membership_checks(project, request_user)

    membership, created = ProjectMembership.objects.get_or_create(
        project=project,
        person=user)

    if not membership.can_accept():
        m = _(astakos_messages.NOT_MEMBERSHIP_REQUEST)
        raise PermissionDenied(m)

    membership.accept()
    qh_sync_user(user)
    logger.info("User %s has been enrolled in %s." %
                (membership.person.log_display, project))

    membership_enroll_notify(project, membership.person)
    return membership
Esempio n. 4
0
def enroll_member(project_id, user, request_user=None, reason=None):
    try:
        project = get_project_for_update(project_id)
    except ProjectNotFound as e:
        raise ProjectConflict(e.message)
    accept_membership_project_checks(project, request_user)

    try:
        membership = get_membership(project_id, user.id)
        if not membership.check_action("enroll"):
            m = _(astakos_messages.MEMBERSHIP_ACCEPTED)
            raise ProjectConflict(m)
        membership.perform_action("enroll", actor=request_user, reason=reason)
    except ProjectNotFound:
        membership = new_membership(project, user, actor=request_user,
                                    enroll=True)

    qh_sync_user(user)
    logger.info("User %s has been enrolled in %s." %
                (membership.person.log_display, project))

    membership_enroll_notify(project, membership.person)
    return membership