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