""" Author: Michel Peltriaux Organization: Struktur- und Genehmigungsdirektion Nord, Rhineland-Palatinate, Germany Contact: ksp-servicestelle@sgdnord.rlp.de Created on: 18.08.22 """ from codelist.settings import CODELIST_CONSERVATION_OFFICE_ID, CODELIST_REGISTRATION_OFFICE_ID from codelist.autocomplete.base import KonovaCodeAutocomplete class RegistrationOfficeCodeAutocomplete(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_REGISTRATION_OFFICE_ID super().__init__(*args, **kwargs) def order_by(self, qs): return qs.order_by( "parent__long_name" ) class ConservationOfficeCodeAutocomplete(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_CONSERVATION_OFFICE_ID super().__init__(*args, **kwargs) def get_result_label(self, result): return f"{result.long_name} ({result.short_name})"