|
1 | 1 | from ietf.idtracker.models import IETFWG, InternetDraft, IESGLogin |
2 | 2 | from django.shortcuts import get_object_or_404, render_to_response |
3 | 3 | from django.template import RequestContext |
4 | | -from django.http import HttpResponseForbidden |
| 4 | +from django.http import HttpResponseForbidden, Http404 |
5 | 5 |
|
6 | 6 | from ietf.idrfc.views_search import SearchForm, search_query |
7 | 7 | from ietf.wgchairs.forms import (RemoveDelegateForm, add_form_factory, |
8 | 8 | workflow_form_factory, TransitionFormSet) |
9 | 9 | from ietf.wgchairs.accounts import (can_manage_delegates_in_group, get_person_for_user, |
10 | 10 | can_manage_shepherds_in_group, |
11 | | - can_manage_workflow_in_group) |
| 11 | + can_manage_workflow_in_group, |
| 12 | + can_manage_shepherd_of_a_document) |
12 | 13 | from ietf.ietfworkflows.utils import (get_workflow_for_wg, |
13 | 14 | get_default_workflow_for_wg) |
14 | 15 |
|
@@ -87,6 +88,8 @@ def managing_shepherd(request, acronym, name): |
87 | 88 | if not can_manage_shepherds_in_group(user, wg): |
88 | 89 | return HttpResponseForbidden('You have no permission to access this view') |
89 | 90 | doc = get_object_or_404(InternetDraft, filename=name) |
| 91 | + if not can_manage_shepherd_of_a_document(user, doc): |
| 92 | + raise Http404 |
90 | 93 | add_form = add_form_factory(request, wg, user, shepherd=doc) |
91 | 94 | if request.method == 'POST': |
92 | 95 | if request.POST.get('remove_shepherd'): |
|
0 commit comments