diff --git a/ema/urls.py b/ema/urls.py index bff7c41d..3901c704 100644 --- a/ema/urls.py +++ b/ema/urls.py @@ -10,7 +10,7 @@ from django.urls import path from ema.views.action import NewEmaActionView, EditEmaActionView, RemoveEmaActionView from ema.views.deadline import NewEmaDeadlineView, EditEmaDeadlineView, RemoveEmaDeadlineView from ema.views.document import NewEmaDocumentView, EditEmaDocumentView, RemoveEmaDocumentView, GetEmaDocumentView -from ema.views.ema import index_view, new_view, new_id_view, detail_view, edit_view, remove_view +from ema.views.ema import new_view, new_id_view, detail_view, edit_view, remove_view, EmaIndexView from ema.views.log import EmaLogView from ema.views.record import EmaRecordView from ema.views.report import report_view @@ -20,7 +20,7 @@ from ema.views.state import NewEmaStateView, EditEmaStateView, RemoveEmaStateVie app_name = "ema" urlpatterns = [ - path("", index_view, name="index"), + path("", EmaIndexView.as_view(), name="index"), path("new/", new_view, name="new"), path("new/id", new_id_view, name="new-id"), path("", detail_view, name="detail"), diff --git a/ema/views/ema.py b/ema/views/ema.py index 5322b5ef..41684cea 100644 --- a/ema/views/ema.py +++ b/ema/views/ema.py @@ -7,7 +7,7 @@ Created on: 19.08.22 """ from django.contrib import messages from django.contrib.auth.decorators import login_required -from django.db.models import Sum +from django.contrib.auth.mixins import LoginRequiredMixin from django.http import HttpRequest, JsonResponse from django.shortcuts import get_object_or_404, redirect, render from django.urls import reverse @@ -25,35 +25,20 @@ from konova.settings import DEFAULT_GROUP, ZB_GROUP, ETS_GROUP from konova.sub_settings.context_settings import TAB_TITLE_IDENTIFIER from konova.utils.message_templates import RECORDED_BLOCKS_EDIT, IDENTIFIER_REPLACED, FORM_INVALID, \ DO_NOT_FORGET_TO_SHARE, GEOMETRY_SIMPLIFIED, GEOMETRIES_IGNORED_TEMPLATE +from konova.views.base import BaseIndexView -@login_required -def index_view(request: HttpRequest): - """ Renders the index view for EMAs +class EmaIndexView(LoginRequiredMixin, BaseIndexView): + _TAB_TITLE = _("EMAs - Overview") + _INDEX_TABLE_CLS = EmaTable - Args: - request (HttpRequest): The incoming request - - Returns: - - """ - template = "generic_index.html" - emas = Ema.objects.filter( - deleted=None, - ).order_by( - "-modified__timestamp" - ) - - table = EmaTable( - request, - queryset=emas - ) - context = { - "table": table, - TAB_TITLE_IDENTIFIER: _("EMAs - Overview"), - } - context = BaseContext(request, context).context - return render(request, template, context) + def _get_queryset(self): + qs = Ema.objects.filter( + deleted=None, + ).order_by( + "-modified__timestamp" + ) + return qs @login_required