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
- {% for request_type in requests %}
+ {% for request in requests %}
-
-
All requests for the {{ request_type.vocabulary }} vocabulary.
+
+
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'))