Revision dc946891 snf-astakos-app/astakos/im/views/projects.py
b/snf-astakos-app/astakos/im/views/projects.py | ||
---|---|---|
354 | 354 |
m = _(astakos_messages.NOT_ALLOWED) |
355 | 355 |
raise PermissionDenied(m) |
356 | 356 |
|
357 |
membership = user.get_membership(project) if project else None |
|
358 |
membership_id = membership.id if membership else None |
|
357 | 359 |
mem_display = user.membership_display(project) if project else None |
358 | 360 |
can_join_req = can_join_request(project, user) if project else False |
359 | 361 |
can_leave_req = can_leave_request(project, user) if project else False |
... | ... | |
374 | 376 |
'owner_mode': is_owner, |
375 | 377 |
'admin_mode': is_project_admin, |
376 | 378 |
'mem_display': mem_display, |
379 |
'membership_id': membership_id, |
|
377 | 380 |
'can_join_request': can_join_req, |
378 | 381 |
'can_leave_request': can_leave_req, |
379 | 382 |
'members_status_filter': members_status_filter, |
... | ... | |
462 | 465 |
@require_http_methods(["POST"]) |
463 | 466 |
@cookie_fix |
464 | 467 |
@valid_astakos_user_required |
465 |
def project_leave(request, chain_id):
|
|
468 |
def project_leave(request, memb_id):
|
|
466 | 469 |
next = request.GET.get('next') |
467 | 470 |
if not next: |
468 | 471 |
next = reverse('astakos.im.views.project_list') |
469 | 472 |
|
470 | 473 |
with ExceptionHandler(request): |
471 |
_project_leave(request, chain_id)
|
|
474 |
_project_leave(request, memb_id)
|
|
472 | 475 |
|
473 | 476 |
next = restrict_next(next, domain=settings.COOKIE_DOMAIN) |
474 | 477 |
return redirect(next) |
475 | 478 |
|
476 | 479 |
|
477 | 480 |
@commit_on_success_strict() |
478 |
def _project_leave(request, chain_id):
|
|
481 |
def _project_leave(request, memb_id):
|
|
479 | 482 |
try: |
480 |
chain_id = int(chain_id)
|
|
481 |
auto_accepted = leave_project(chain_id, request.user)
|
|
483 |
memb_id = int(memb_id)
|
|
484 |
auto_accepted = leave_project(memb_id, request.user)
|
|
482 | 485 |
if auto_accepted: |
483 | 486 |
m = _(astakos_messages.USER_LEFT_PROJECT) |
484 | 487 |
else: |
... | ... | |
491 | 494 |
@require_http_methods(["POST"]) |
492 | 495 |
@cookie_fix |
493 | 496 |
@valid_astakos_user_required |
494 |
def project_cancel(request, chain_id):
|
|
497 |
def project_cancel_member(request, memb_id):
|
|
495 | 498 |
next = request.GET.get('next') |
496 | 499 |
if not next: |
497 | 500 |
next = reverse('astakos.im.views.project_list') |
498 | 501 |
|
499 | 502 |
with ExceptionHandler(request): |
500 |
_project_cancel(request, chain_id)
|
|
503 |
_project_cancel_member(request, memb_id)
|
|
501 | 504 |
|
502 | 505 |
next = restrict_next(next, domain=settings.COOKIE_DOMAIN) |
503 | 506 |
return redirect(next) |
504 | 507 |
|
505 | 508 |
|
506 | 509 |
@commit_on_success_strict() |
507 |
def _project_cancel(request, chain_id):
|
|
510 |
def _project_cancel_member(request, memb_id):
|
|
508 | 511 |
try: |
509 |
chain_id = int(chain_id) |
|
510 |
cancel_membership(chain_id, request.user) |
|
512 |
cancel_membership(memb_id, request.user) |
|
511 | 513 |
m = _(astakos_messages.USER_REQUEST_CANCELLED) |
512 | 514 |
messages.success(request, m) |
513 | 515 |
except (IOError, PermissionDenied), e: |
... | ... | |
517 | 519 |
@require_http_methods(["POST"]) |
518 | 520 |
@cookie_fix |
519 | 521 |
@valid_astakos_user_required |
520 |
def project_accept_member(request, chain_id, memb_id):
|
|
522 |
def project_accept_member(request, memb_id): |
|
521 | 523 |
|
522 | 524 |
with ExceptionHandler(request): |
523 |
_project_accept_member(request, chain_id, memb_id)
|
|
525 |
_project_accept_member(request, memb_id) |
|
524 | 526 |
|
525 | 527 |
return redirect_back(request, 'project_list') |
526 | 528 |
|
527 | 529 |
|
528 | 530 |
@commit_on_success_strict() |
529 |
def _project_accept_member(request, chain_id, memb_id):
|
|
531 |
def _project_accept_member(request, memb_id): |
|
530 | 532 |
try: |
531 |
chain_id = int(chain_id) |
|
532 | 533 |
memb_id = int(memb_id) |
533 |
m = accept_membership(chain_id, memb_id, request.user)
|
|
534 |
m = accept_membership(memb_id, request.user) |
|
534 | 535 |
except (IOError, PermissionDenied), e: |
535 | 536 |
messages.error(request, e) |
536 | 537 |
|
... | ... | |
543 | 544 |
@require_http_methods(["POST"]) |
544 | 545 |
@cookie_fix |
545 | 546 |
@valid_astakos_user_required |
546 |
def project_remove_member(request, chain_id, memb_id):
|
|
547 |
def project_remove_member(request, memb_id): |
|
547 | 548 |
|
548 | 549 |
with ExceptionHandler(request): |
549 |
_project_remove_member(request, chain_id, memb_id)
|
|
550 |
_project_remove_member(request, memb_id) |
|
550 | 551 |
|
551 | 552 |
return redirect_back(request, 'project_list') |
552 | 553 |
|
553 | 554 |
|
554 | 555 |
@commit_on_success_strict() |
555 |
def _project_remove_member(request, chain_id, memb_id):
|
|
556 |
def _project_remove_member(request, memb_id): |
|
556 | 557 |
try: |
557 |
chain_id = int(chain_id) |
|
558 | 558 |
memb_id = int(memb_id) |
559 |
m = remove_membership(chain_id, memb_id, request.user)
|
|
559 |
m = remove_membership(memb_id, request.user) |
|
560 | 560 |
except (IOError, PermissionDenied), e: |
561 | 561 |
messages.error(request, e) |
562 | 562 |
else: |
... | ... | |
568 | 568 |
@require_http_methods(["POST"]) |
569 | 569 |
@cookie_fix |
570 | 570 |
@valid_astakos_user_required |
571 |
def project_reject_member(request, chain_id, memb_id):
|
|
571 |
def project_reject_member(request, memb_id): |
|
572 | 572 |
|
573 | 573 |
with ExceptionHandler(request): |
574 |
_project_reject_member(request, chain_id, memb_id)
|
|
574 |
_project_reject_member(request, memb_id) |
|
575 | 575 |
|
576 | 576 |
return redirect_back(request, 'project_list') |
577 | 577 |
|
578 | 578 |
|
579 | 579 |
@commit_on_success_strict() |
580 |
def _project_reject_member(request, chain_id, memb_id):
|
|
580 |
def _project_reject_member(request, memb_id): |
|
581 | 581 |
try: |
582 |
chain_id = int(chain_id) |
|
583 | 582 |
memb_id = int(memb_id) |
584 |
m = reject_membership(chain_id, memb_id, request.user)
|
|
583 |
m = reject_membership(memb_id, request.user) |
|
585 | 584 |
except (IOError, PermissionDenied), e: |
586 | 585 |
messages.error(request, e) |
587 | 586 |
else: |
... | ... | |
722 | 721 |
for member_id in member_ids: |
723 | 722 |
member_id = int(member_id) |
724 | 723 |
with ExceptionHandler(request): |
725 |
action_func(request, chain_id, member_id)
|
|
724 |
action_func(request, member_id) |
|
726 | 725 |
|
727 | 726 |
return redirect_back(request, 'project_list') |
Also available in: Unified diff