""" Author: Michel Peltriaux Organization: Struktur- und Genehmigungsdirektion Nord, Rhineland-Palatinate, Germany Contact: ksp-servicestelle@sgdnord.rlp.de Created on: 19.08.22 """ from django.contrib.auth.decorators import login_required from django.utils.decorators import method_decorator from intervention.forms.modals.document import NewInterventionDocumentModalForm from intervention.models import Intervention, InterventionDocument from konova.decorators import default_group_required, shared_access_required from konova.forms.modals import EditDocumentModalForm from konova.views.document import AbstractNewDocumentView, AbstractGetDocumentView, AbstractRemoveDocumentView, \ AbstractEditDocumentView class NewInterventionDocumentView(AbstractNewDocumentView): model = Intervention form = NewInterventionDocumentModalForm redirect_url = "intervention:detail" @method_decorator(login_required) @method_decorator(default_group_required) @method_decorator(shared_access_required(Intervention, "id")) def dispatch(self, request, *args, **kwargs): return super().dispatch(request, *args, **kwargs) class GetInterventionDocumentView(AbstractGetDocumentView): model = Intervention document_model = InterventionDocument @method_decorator(login_required) @method_decorator(default_group_required) @method_decorator(shared_access_required(Intervention, "id")) def dispatch(self, request, *args, **kwargs): return super().dispatch(request, *args, **kwargs) class RemoveInterventionDocumentView(AbstractRemoveDocumentView): model = Intervention document_model = InterventionDocument @method_decorator(login_required) @method_decorator(default_group_required) @method_decorator(shared_access_required(Intervention, "id")) def dispatch(self, request, *args, **kwargs): return super().dispatch(request, *args, **kwargs) class EditInterventionDocumentView(AbstractEditDocumentView): model = Intervention document_model = InterventionDocument form = EditDocumentModalForm redirect_url = "intervention:detail" @method_decorator(login_required) @method_decorator(default_group_required) @method_decorator(shared_access_required(Intervention, "id")) def dispatch(self, request, *args, **kwargs): return super().dispatch(request, *args, **kwargs)