Revision 9770ba6c snf-astakos-app/astakos/im/views.py

b/snf-astakos-app/astakos/im/views.py
97 97
    invite as invite_func,
98 98
    send_activation as send_activation_func,
99 99
    SendNotificationError,
100
    reached_pending_application_limit,
100
    qh_add_pending_app,
101 101
    accept_membership, reject_membership, remove_membership, cancel_membership,
102 102
    leave_project, join_project, enroll_member, can_join_request, can_leave_request,
103 103
    get_related_project_id, get_by_chain_or_404,
......
1085 1085
@valid_astakos_user_required
1086 1086
def project_add(request):
1087 1087
    user = request.user
1088
    reached, limit = reached_pending_application_limit(user.id)
1089
    if not user.is_project_admin() and reached:
1090
        m = _(astakos_messages.PENDING_APPLICATION_LIMIT_ADD) % limit
1091
        messages.error(request, m)
1092
        next = reverse('astakos.im.views.project_list')
1093
        next = restrict_next(next, domain=COOKIE_DOMAIN)
1094
        return redirect(next)
1088
    if not user.is_project_admin():
1089
        ok, limit = qh_add_pending_app(user, dry_run=True)
1090
        if not ok:
1091
            m = _(astakos_messages.PENDING_APPLICATION_LIMIT_ADD) % limit
1092
            messages.error(request, m)
1093
            next = reverse('astakos.im.views.project_list')
1094
            next = restrict_next(next, domain=COOKIE_DOMAIN)
1095
            return redirect(next)
1095 1096

  
1096 1097
    details_fields = ["name", "homepage", "description", "start_date",
1097 1098
                      "end_date", "comments"]
......
1190 1191
        m = _(astakos_messages.NOT_ALLOWED)
1191 1192
        raise PermissionDenied(m)
1192 1193

  
1193
    owner_id = app.owner_id
1194
    reached, limit = reached_pending_application_limit(owner_id, app)
1195
    if not user.is_project_admin() and reached:
1196
        m = _(astakos_messages.PENDING_APPLICATION_LIMIT_MODIFY) % limit
1197
        messages.error(request, m)
1198
        next = reverse('astakos.im.views.project_list')
1199
        next = restrict_next(next, domain=COOKIE_DOMAIN)
1200
        return redirect(next)
1194
    if not user.is_project_admin():
1195
        owner = app.owner
1196
        ok, limit = qh_add_pending_app(owner, precursor=app, dry_run=True)
1197
        if not ok:
1198
            m = _(astakos_messages.PENDING_APPLICATION_LIMIT_MODIFY) % limit
1199
            messages.error(request, m)
1200
            next = reverse('astakos.im.views.project_list')
1201
            next = restrict_next(next, domain=COOKIE_DOMAIN)
1202
            return redirect(next)
1201 1203

  
1202 1204
    details_fields = ["name", "homepage", "description", "start_date",
1203 1205
                      "end_date", "comments"]

Also available in: Unified diff