"""
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 ema.models import Ema
from konova.decorators import shared_access_required, conservation_office_group_required, login_required_modal
from konova.views.resubmission import AbstractResubmissionView


class EmaResubmissionView(AbstractResubmissionView):
    model = Ema
    redirect_url_base = "ema:detail"
    form_action_url_base = "ema:resubmission-create"

    @method_decorator(login_required_modal)
    @method_decorator(login_required)
    @method_decorator(conservation_office_group_required)
    @method_decorator(shared_access_required(Ema, "id"))
    def dispatch(self, request, *args, **kwargs):
        return super().dispatch(request, *args, **kwargs)