Revision a5aa11ee

b/snf-astakos-app/astakos/im/functions.py
513 513
        if not membership.check_action("enroll"):
514 514
            m = _(astakos_messages.MEMBERSHIP_ACCEPTED)
515 515
            raise ProjectConflict(m)
516
        membership.perform_action("join", actor=request_user, reason=reason)
516
        membership.perform_action("enroll", actor=request_user, reason=reason)
517 517
    except ProjectNotFound:
518
        membership = new_membership(project, user, actor=request_user)
518
        membership = new_membership(project, user, actor=request_user,
519
                                    enroll=True)
519 520

  
520
    membership.perform_action("accept", actor=request_user, reason=reason)
521 521
    qh_sync_user(user)
522 522
    logger.info("User %s has been enrolled in %s." %
523 523
                (membership.person.log_display, project))
......
599 599
    return m.check_action("join")
600 600

  
601 601

  
602
def new_membership(project, user, actor=None, reason=None):
603
    m = ProjectMembership.objects.create(project=project, person=user)
604
    m._log_create(None, ProjectMembership.REQUESTED, actor=actor,
605
                  reason=reason)
602
def new_membership(project, user, actor=None, reason=None, enroll=False):
603
    state = (ProjectMembership.ACCEPTED if enroll
604
             else ProjectMembership.REQUESTED)
605
    m = ProjectMembership.objects.create(
606
        project=project, person=user, state=state)
607
    m._log_create(None, state, actor=actor, reason=reason)
606 608
    return m
607 609

  
608 610

  
b/snf-astakos-app/astakos/im/models.py
1939 1939
    ACTION_STATES = {
1940 1940
        "join":          REQUESTED,
1941 1941
        "accept":        ACCEPTED,
1942
        "enroll":        ACCEPTED,
1942 1943
        "leave_request": LEAVE_REQUESTED,
1943 1944
        "deny_leave":    ACCEPTED,
1944 1945
        "cancel_leave":  ACCEPTED,

Also available in: Unified diff