Revision 8cf9b2dd snf-astakos-app/astakos/im/functions.py
b/snf-astakos-app/astakos/im/functions.py | ||
---|---|---|
67 | 67 |
from astakos.im.notifications import build_notification, NotificationError |
68 | 68 |
from astakos.im.models import ( |
69 | 69 |
AstakosUser, ProjectMembership, ProjectApplication, Project, |
70 |
sync_projects, PendingMembershipError, get_resource_names, new_chain)
|
|
70 |
PendingMembershipError, get_resource_names, new_chain) |
|
71 | 71 |
from astakos.im.project_notif import ( |
72 | 72 |
membership_change_notify, |
73 | 73 |
application_submit_notify, application_approve_notify, |
... | ... | |
515 | 515 |
raise PermissionDenied(m) |
516 | 516 |
|
517 | 517 |
membership.accept() |
518 |
sync_projects() |
|
519 | 518 |
|
520 | 519 |
membership_change_notify(project, membership.person, 'accepted') |
521 | 520 |
|
... | ... | |
569 | 568 |
raise PermissionDenied(m) |
570 | 569 |
|
571 | 570 |
membership.remove() |
572 |
sync_projects() |
|
573 | 571 |
|
574 | 572 |
membership_change_notify(project, membership.person, 'removed') |
575 | 573 |
|
... | ... | |
585 | 583 |
raise PermissionDenied(m) |
586 | 584 |
|
587 | 585 |
membership.accept() |
588 |
sync_projects() |
|
589 | 586 |
|
590 | 587 |
# TODO send proper notification |
591 | 588 |
return membership |
... | ... | |
608 | 605 |
leave_policy = project.application.member_leave_policy |
609 | 606 |
if leave_policy == AUTO_ACCEPT_POLICY: |
610 | 607 |
membership.remove() |
611 |
sync_projects() |
|
612 | 608 |
else: |
613 | 609 |
membership.leave_request_date = datetime.now() |
614 | 610 |
membership.save() |
... | ... | |
630 | 626 |
if (join_policy == AUTO_ACCEPT_POLICY and |
631 | 627 |
not project.violates_members_limit(adding=1)): |
632 | 628 |
membership.accept() |
633 |
sync_projects() |
|
634 | 629 |
return membership |
635 | 630 |
|
636 | 631 |
def submit_application(kw, request_user=None): |
... | ... | |
718 | 713 |
raise PermissionDenied(m) |
719 | 714 |
|
720 | 715 |
application.approve() |
721 |
sync_projects() |
|
722 |
|
|
723 | 716 |
application_approve_notify(application) |
724 | 717 |
|
725 | 718 |
def check_expiration(execute=False): |
... | ... | |
736 | 729 |
checkAlive(project) |
737 | 730 |
|
738 | 731 |
project.terminate() |
739 |
sync_projects() |
|
740 | 732 |
|
741 | 733 |
project_termination_notify(project) |
742 | 734 |
|
... | ... | |
745 | 737 |
checkAlive(project) |
746 | 738 |
|
747 | 739 |
project.suspend() |
748 |
sync_projects() |
|
749 | 740 |
|
750 | 741 |
project_suspension_notify(project) |
751 | 742 |
|
... | ... | |
757 | 748 |
raise PermissionDenied(m) |
758 | 749 |
|
759 | 750 |
project.resume() |
760 |
sync_projects() |
|
761 | 751 |
|
762 | 752 |
def get_by_chain_or_404(chain_id): |
763 | 753 |
try: |
Also available in: Unified diff