* refactors deduction views on interventions and eco accounts from function to class based * introduces basic checks on shared access and permission on BaseView on dispatching --> checks shall be overwritten on inheriting classes
		
			
				
	
	
		
			33 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
"""
 | 
						|
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.mixins import LoginRequiredMixin
 | 
						|
from django.http import Http404
 | 
						|
 | 
						|
from compensation.models import EcoAccount
 | 
						|
from konova.views.deduction import AbstractNewDeductionView, AbstractEditDeductionView, AbstractRemoveDeductionView
 | 
						|
 | 
						|
 | 
						|
class NewEcoAccountDeductionView(LoginRequiredMixin, AbstractNewDeductionView):
 | 
						|
    _MODEL = EcoAccount
 | 
						|
    _REDIRECT_URL = "compensation:acc:detail"
 | 
						|
 | 
						|
    def _custom_check(self, obj):
 | 
						|
        # New deductions can only be created if the eco account has been recorded
 | 
						|
        if not obj.recorded:
 | 
						|
            raise Http404()
 | 
						|
 | 
						|
 | 
						|
class EditEcoAccountDeductionView(LoginRequiredMixin, AbstractEditDeductionView):
 | 
						|
    _MODEL = EcoAccount
 | 
						|
    _REDIRECT_URL = "compensation:acc:detail"
 | 
						|
 | 
						|
 | 
						|
class RemoveEcoAccountDeductionView(LoginRequiredMixin, AbstractRemoveDeductionView):
 | 
						|
    _MODEL = EcoAccount
 | 
						|
    _REDIRECT_URL = "compensation:acc:detail"
 |