Revision 01bdbd17 snf-astakos-app/astakos/im/functions.py

b/snf-astakos-app/astakos/im/functions.py
693 693
    application = get_application_for_update(application_id)
694 694
    checkAllowed(application, request_user)
695 695

  
696
    if application.state != ProjectApplication.PENDING:
697
        raise PermissionDenied()
696
    if not application.can_cancel():
697
        m = _(astakos_messages.APPLICATION_CANNOT_CANCEL % (
698
                application.id, application.state_display()))
699
        raise PermissionDenied(m)
698 700

  
699 701
    application.cancel()
700 702

  
......
702 704
    application = get_application_for_update(application_id)
703 705
    checkAllowed(application, request_user)
704 706

  
705
    if application.state != ProjectApplication.DENIED:
706
        raise PermissionDenied()
707
    if not application.can_dismiss():
708
        m = _(astakos_messages.APPLICATION_CANNOT_DISMISS % (
709
                application.id, application.state_display()))
710
        raise PermissionDenied(m)
707 711

  
708 712
    application.dismiss()
709 713

  
710 714
def deny_application(application_id):
711 715
    application = get_application_for_update(application_id)
712
    if application.state != ProjectApplication.PENDING:
713
        raise PermissionDenied()
716

  
717
    if not application.can_deny():
718
        m = _(astakos_messages.APPLICATION_CANNOT_DENY % (
719
                application.id, application.state_display()))
720
        raise PermissionDenied(m)
714 721

  
715 722
    application.deny()
716 723
    application_deny_notify(application)
......
725 732
    except ProjectApplication.DoesNotExist:
726 733
        raise PermissionDenied()
727 734

  
735
    if not application.can_approve():
736
        m = _(astakos_messages.APPLICATION_CANNOT_APPROVE % (
737
                application.id, application.state_display()))
738
        raise PermissionDenied(m)
739

  
728 740
    application.approve()
729 741
    sync_projects()
730 742

  

Also available in: Unified diff