""" Author: Michel Peltriaux Organization: Struktur- und Genehmigungsdirektion Nord, Rhineland-Palatinate, Germany Contact: ksp-servicestelle@sgdnord.rlp.de Created on: 22.08.22 """ from django.contrib.auth.mixins import LoginRequiredMixin from compensation.forms.modals.compensation_action import NewCompensationActionModalForm, \ EditCompensationActionModalForm, RemoveCompensationActionModalForm from konova.utils.message_templates import COMPENSATION_STATE_ADDED, COMPENSATION_STATE_EDITED, \ COMPENSATION_STATE_REMOVED from konova.views.base import BaseModalFormView class AbstractCompensationActionView(LoginRequiredMixin, BaseModalFormView): _MODEL_CLS = None _REDIRECT_URL = None class Meta: abstract = True def _user_has_permission(self, user, **kwargs): return user.is_default_user() def _get_redirect_url(self, *args, **kwargs): return super()._get_redirect_url(*args, **kwargs) + "#related_data" class AbstractNewCompensationActionView(AbstractCompensationActionView): _FORM_CLS = NewCompensationActionModalForm _MSG_SUCCESS = COMPENSATION_STATE_ADDED class Meta: abstract = True class AbstractEditCompensationActionView(AbstractCompensationActionView): _FORM_CLS = EditCompensationActionModalForm _MSG_SUCCESS = COMPENSATION_STATE_EDITED class Meta: abstract = True class AbstractRemoveCompensationActionView(AbstractCompensationActionView): _FORM_CLS = RemoveCompensationActionModalForm _MSG_SUCCESS = COMPENSATION_STATE_REMOVED class Meta: abstract = True