# 132 Compensation handler codelist
* extends codelist settings by compensation handler codelist (differs from regular handler codelist)
This commit is contained in:
		
							parent
							
								
									ac704bc930
								
							
						
					
					
						commit
						87e88fea54
					
				@ -20,6 +20,7 @@ CODELIST_LAW_ID = 1048  # CLVerfahrensrecht
 | 
			
		||||
CODELIST_PROCESS_TYPE_ID = 44382  # CLVerfahrenstyp
 | 
			
		||||
 | 
			
		||||
CODELIST_HANDLER_ID = 1052  # CLEingreifer
 | 
			
		||||
CODELIST_COMPENSATION_HANDLER_ID = 903  # CLMassnahmeträger
 | 
			
		||||
CODELIST_COMPENSATION_ACTION_ID = 1026  # CLMassnahmedetail
 | 
			
		||||
CODELIST_COMPENSATION_ACTION_DETAIL_ID = 1035  # CLZusatzmerkmal
 | 
			
		||||
CODELIST_COMPENSATION_ACTION_CLASS_ID = 1034  # CLMassnahmeklasse
 | 
			
		||||
 | 
			
		||||
@ -13,7 +13,7 @@ from django.utils.translation import gettext_lazy as _
 | 
			
		||||
from django import forms
 | 
			
		||||
 | 
			
		||||
from codelist.models import KonovaCode
 | 
			
		||||
from codelist.settings import CODELIST_CONSERVATION_OFFICE_ID, CODELIST_HANDLER_ID
 | 
			
		||||
from codelist.settings import CODELIST_CONSERVATION_OFFICE_ID, CODELIST_HANDLER_ID, CODELIST_COMPENSATION_HANDLER_ID
 | 
			
		||||
from compensation.models import Compensation, EcoAccount
 | 
			
		||||
from intervention.inputs import GenerateInput
 | 
			
		||||
from intervention.models import Intervention, Responsibility, Legal, Handler
 | 
			
		||||
@ -110,10 +110,10 @@ class CompensationResponsibleFormMixin(forms.Form):
 | 
			
		||||
        queryset=KonovaCode.objects.filter(
 | 
			
		||||
            is_archived=False,
 | 
			
		||||
            is_leaf=True,
 | 
			
		||||
            code_lists__in=[CODELIST_HANDLER_ID],
 | 
			
		||||
            code_lists__in=[CODELIST_COMPENSATION_HANDLER_ID],
 | 
			
		||||
        ),
 | 
			
		||||
        widget=autocomplete.ModelSelect2(
 | 
			
		||||
            url="codes-handler-autocomplete",
 | 
			
		||||
            url="codes-compensation-handler-autocomplete",
 | 
			
		||||
            attrs={
 | 
			
		||||
                "data-placeholder": _("Click for selection"),
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
@ -17,7 +17,8 @@ from django.db.models import Q
 | 
			
		||||
from codelist.models import KonovaCode
 | 
			
		||||
from codelist.settings import CODELIST_COMPENSATION_ACTION_ID, CODELIST_BIOTOPES_ID, CODELIST_LAW_ID, \
 | 
			
		||||
    CODELIST_REGISTRATION_OFFICE_ID, CODELIST_CONSERVATION_OFFICE_ID, CODELIST_PROCESS_TYPE_ID, \
 | 
			
		||||
    CODELIST_BIOTOPES_EXTRA_CODES_ID, CODELIST_COMPENSATION_ACTION_DETAIL_ID, CODELIST_HANDLER_ID
 | 
			
		||||
    CODELIST_BIOTOPES_EXTRA_CODES_ID, CODELIST_COMPENSATION_ACTION_DETAIL_ID, CODELIST_HANDLER_ID, \
 | 
			
		||||
    CODELIST_COMPENSATION_HANDLER_ID
 | 
			
		||||
from compensation.models import EcoAccount
 | 
			
		||||
from intervention.models import Intervention
 | 
			
		||||
 | 
			
		||||
@ -143,7 +144,7 @@ class KonovaCodeAutocomplete(Select2GroupQuerySetView):
 | 
			
		||||
        qs = self.order_by(qs)
 | 
			
		||||
        if self.c:
 | 
			
		||||
            qs = qs.filter(
 | 
			
		||||
                code_lists__in=[self.c]
 | 
			
		||||
                code_lists__in=[self.c],
 | 
			
		||||
            )
 | 
			
		||||
        if self.q:
 | 
			
		||||
            # Remove whitespaces from self.q and split input in all keywords (if multiple given)
 | 
			
		||||
@ -372,3 +373,19 @@ class HandlerCodeAutocomplete(KonovaCodeAutocomplete):
 | 
			
		||||
 | 
			
		||||
    def get_result_label(self, result):
 | 
			
		||||
        return result.long_name
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class CompensationHandlerCodeAutocomplete(KonovaCodeAutocomplete):
 | 
			
		||||
    """
 | 
			
		||||
    Due to limitations of the django dal package, we need to subclass for each code list
 | 
			
		||||
    """
 | 
			
		||||
    group_by_related = "parent"
 | 
			
		||||
    related_field_name = "long_name"
 | 
			
		||||
 | 
			
		||||
    def __init__(self, *args, **kwargs):
 | 
			
		||||
        self.c = CODELIST_COMPENSATION_HANDLER_ID
 | 
			
		||||
        super().__init__(*args, **kwargs)
 | 
			
		||||
 | 
			
		||||
    def get_result_label(self, result):
 | 
			
		||||
        return result.long_name
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -21,7 +21,7 @@ from konova.autocompletes import EcoAccountAutocomplete, \
 | 
			
		||||
    InterventionAutocomplete, CompensationActionCodeAutocomplete, BiotopeCodeAutocomplete, LawCodeAutocomplete, \
 | 
			
		||||
    RegistrationOfficeCodeAutocomplete, ConservationOfficeCodeAutocomplete, ProcessTypeCodeAutocomplete, \
 | 
			
		||||
    ShareUserAutocomplete, BiotopeExtraCodeAutocomplete, CompensationActionDetailCodeAutocomplete, \
 | 
			
		||||
    ShareTeamAutocomplete, HandlerCodeAutocomplete
 | 
			
		||||
    ShareTeamAutocomplete, HandlerCodeAutocomplete, CompensationHandlerCodeAutocomplete
 | 
			
		||||
from konova.settings import SSO_SERVER, SSO_PUBLIC_KEY, SSO_PRIVATE_KEY, DEBUG
 | 
			
		||||
from konova.sso.sso import KonovaSSOClient
 | 
			
		||||
from konova.views import logout_view, home_view, get_geom_parcels
 | 
			
		||||
@ -54,6 +54,7 @@ urlpatterns = [
 | 
			
		||||
    path("atcmplt/codes/reg-off", RegistrationOfficeCodeAutocomplete.as_view(), name="codes-registration-office-autocomplete"),
 | 
			
		||||
    path("atcmplt/codes/cons-off", ConservationOfficeCodeAutocomplete.as_view(), name="codes-conservation-office-autocomplete"),
 | 
			
		||||
    path("atcmplt/codes/handler", HandlerCodeAutocomplete.as_view(), name="codes-handler-autocomplete"),
 | 
			
		||||
    path("atcmplt/codes/comp/handler", CompensationHandlerCodeAutocomplete.as_view(), name="codes-compensation-handler-autocomplete"),
 | 
			
		||||
    path("atcmplt/share/u", ShareUserAutocomplete.as_view(), name="share-user-autocomplete"),
 | 
			
		||||
    path("atcmplt/share/t", ShareTeamAutocomplete.as_view(), name="share-team-autocomplete"),
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user