diff --git a/src/cvinterface/templates/cvinterface/requests/main_requests_list.html b/src/cvinterface/templates/cvinterface/requests/main_requests_list.html index 56220a0..8592c8e 100644 --- a/src/cvinterface/templates/cvinterface/requests/main_requests_list.html +++ b/src/cvinterface/templates/cvinterface/requests/main_requests_list.html @@ -52,10 +52,10 @@

Pending Requests

All Requests

- {% for request_type in requests %} + {% for request in requests %}
-

{{ request_type.vocabulary }}

-

All requests for the {{ request_type.vocabulary }} vocabulary.

+

{{ request.vocabulary_verbose_name }}

+

All requests for the {{ request.vocabulary_verbose_name }} vocabulary.

{% endfor %}
diff --git a/src/cvinterface/views/request_views.py b/src/cvinterface/views/request_views.py index fdf4222..84d8874 100644 --- a/src/cvinterface/views/request_views.py +++ b/src/cvinterface/views/request_views.py @@ -1,6 +1,7 @@ from operator import itemgetter from django.contrib.auth.decorators import login_required +from django.contrib.auth.mixins import LoginRequiredMixin from django.urls import reverse, reverse_lazy from django.utils.decorators import method_decorator @@ -44,24 +45,21 @@ ) -class RequestsView(ListView): +class RequestsView(ListView, LoginRequiredMixin): queryset = [] + login_url = reverse_lazy('login') template_name = 'cvinterface/requests/main_requests_list.html' - - @method_decorator(login_required(login_url=reverse_lazy('login'))) - def dispatch(self, *args, **kwargs): - return super(RequestsView, self).dispatch(*args, **kwargs) def get_context_data(self, **kwargs): context = super(RequestsView, self).get_context_data(**kwargs) requests_list = [{'name': vocabulary.get('request').get('name'), - 'url': reverse(f'{vocabulary_name}request'), - 'vocabulary': vocabulary.get('name')} - for vocabulary_name, vocabulary in vocabularies.items()] + 'url': reverse(vocabulary.get('request').get('list_url_name')), + 'vocabulary_verbose_name': vocabulary.get('name')} + for vocabulary_code, vocabulary in vocabularies.items()] - pending_requests = [(pending_object, pending_object._meta.verbose_name, f'{vocabulary_name}request_update_form') + pending_requests = [(pending_request, vocabulary.get('request').get('name'), vocabulary.get('request').get('update_url_name')) for vocabulary_name, vocabulary in vocabularies.items() - for pending_object in vocabulary.get('request').get('model').objects.filter(status='Pending') + for pending_request in vocabulary.get('request').get('model').objects.filter(status='Pending') if vocabulary.get('request').get('model').objects.filter(status='Pending').count() > 0] context['requests'] = sorted(requests_list, key=itemgetter('name'))