Revision 1b52192e snf-astakos-app/astakos/im/functions.py

b/snf-astakos-app/astakos/im/functions.py
44 44

  
45 45
from synnefo.lib import join_urls
46 46
from astakos.im.models import AstakosUser, Invitation, ProjectMembership, \
47
    ProjectApplication, Project, new_chain, Resource
47
    ProjectApplication, Project, new_chain, Resource, ProjectLock
48 48
from astakos.im.quotas import qh_sync_user, get_pending_app_quota, \
49 49
    register_pending_apps, qh_sync_project, qh_sync_locked_users, \
50 50
    get_users_for_update, members_to_sync
......
299 299
    return get_project_for_update(app.chain_id)
300 300

  
301 301

  
302
def get_project_lock():
303
    ProjectLock.objects.get_for_update(pk=1)
304

  
305

  
302 306
def get_application(application_id):
303 307
    try:
304 308
        return ProjectApplication.objects.get(id=application_id)
......
822 826

  
823 827

  
824 828
def approve_application(app_id, request_user=None, reason=""):
829
    get_project_lock()
825 830
    project = get_project_of_application_for_update(app_id)
826 831
    application = get_application(app_id)
827 832

  
......
848 853
    project.name = application.name
849 854
    project.save()
850 855
    if project.is_deactivated():
851
        project.resume()
856
        project.resume(actor=request_user, reason="APPROVE")
852 857
    qh_sync_locked_users(members)
853 858
    logger.info("%s has been approved." % (application.log_display))
854 859
    application_approve_notify(application)

Also available in: Unified diff