diff --git a/submissions/forms.py b/submissions/forms.py index 7cf9c9c1db4f4a87ce0b24e5db9dcba0d5688386..37f07e08e92e0e2fcd99b559e8313a86055bf6aa 100644 --- a/submissions/forms.py +++ b/submissions/forms.py @@ -45,11 +45,16 @@ class SubmissionSearchForm(forms.Form): class SubmissionPoolFilterForm(forms.Form): status = forms.ChoiceField(choices=((None, 'All statuses'),) + SUBMISSION_STATUS, required=False) + editor_in_charge = forms.BooleanField(label='Show only Submissions for which I am editor in charge.', required=False) - def search(self, queryset): + def search(self, queryset, current_contributor=None): if self.cleaned_data.get('status'): # Do extra check on non-required field to never show errors on template - return queryset.filter(status=self.cleaned_data['status']) + queryset = queryset.filter(status=self.cleaned_data['status']) + + if self.cleaned_data.get('editor_in_charge') and current_contributor: + queryset = queryset.filter(editor_in_charge=current_contributor) + return queryset diff --git a/submissions/templates/submissions/pool/pool.html b/submissions/templates/submissions/pool/pool.html index 3ecb76148befa3f2fc9192169cf0ac02ccd58e1a..2d852931edfdf76c54a6a23a0b87a2ed4787a0fb 100644 --- a/submissions/templates/submissions/pool/pool.html +++ b/submissions/templates/submissions/pool/pool.html @@ -56,7 +56,7 @@ {% if search_form %} <h3>Filter by status</h3> <form method="get" class="auto-submit mb-3"> - {{ search_form|bootstrap_inline }} + {{ search_form|bootstrap:'12,12' }} </form> {% endif %} diff --git a/submissions/views.py b/submissions/views.py index efc47b44b9ee5e4517db72fc93f8609f44f60bd1..9d9fafc7284e9a05ba05d05eb480d7cd3c1f7e83 100644 --- a/submissions/views.py +++ b/submissions/views.py @@ -369,7 +369,8 @@ def pool(request, arxiv_identifier_w_vn_nr=None): # Search search_form = SubmissionPoolFilterForm(request.GET or None) if search_form.is_valid(): - context['submissions_in_pool'] = search_form.search(context['submissions_in_pool']) + context['submissions_in_pool'] = search_form.search(context['submissions_in_pool'], + request.user.contributor) context['search_form'] = search_form # Show specific submission in the pool