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