Revision a5aa11ee snf-astakos-app/astakos/im/functions.py

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

  

Also available in: Unified diff