class ObjectInformatieObjectFilter(FilterSet): informatieobject = URLModelChoiceFilter( queryset=EnkelvoudigInformatieObjectCanonical.objects.all(), instance_path="canonical", help_text=get_help_text( "documenten.ObjectInformatieObject", "informatieobject" ), ) object = ObjectFilter( queryset=ObjectInformatieObject.objects.all(), help_text=_( "URL-referentie naar het gerelateerde OBJECT (in deze of een andere API)." ), ) class Meta: model = ObjectInformatieObject fields = ("object", "informatieobject") def filter_queryset(self, queryset): if settings.CMIS_ENABLED and self.data.get("informatieobject") is not None: # The cleaned value for informatieobject needs to be reset since a url_to_pk function # makes its value None when CMIS is enabled (as the eio object has no PK). self.form.cleaned_data["informatieobject"] = self.data["informatieobject"] qs = super().filter_queryset(queryset) # Refresh queryset qs._result_cache = None return qs return super().filter_queryset(queryset)
def filter_for_field(cls, f, name, lookup_expr): # Needed because `volgend_contactmoment` is a reverse OneToOne rel if f.name == "volgend_contactmoment": filter = URLModelChoiceFilter() filter.field_name = "volgend_contactmoment" filter.extra["help_text"] = _( "URL-referentie naar het volgende CONTACTMOMENT.") filter.queryset = ContactMoment.objects.all() else: filter = super().filter_for_field(f, name, lookup_expr) return filter
class ObjectInformatieObjectFilter(FilterSet): informatieobject = URLModelChoiceFilter( queryset=EnkelvoudigInformatieObjectCanonical.objects.all(), instance_path="canonical", help_text=get_help_text("datamodel.ObjectInformatieObject", "informatieobject"), ) class Meta: model = ObjectInformatieObject fields = ("object", "informatieobject")
class GebruiksrechtenFilter(FilterSet): informatieobject = URLModelChoiceFilter( queryset=EnkelvoudigInformatieObjectCanonical.objects.all(), instance_path="canonical", help_text=get_help_text("documenten.Gebruiksrechten", "informatieobject"), ) class Meta: model = Gebruiksrechten fields = { "informatieobject": ["exact"], "startdatum": ["lt", "lte", "gt", "gte"], "einddatum": ["lt", "lte", "gt", "gte"], }
class GebruiksrechtenFilter(FilterSet): informatieobject = URLModelChoiceFilter( queryset=EnkelvoudigInformatieObjectCanonical.objects.all(), instance_path='canonical', help_text=get_help_text('datamodel.Gebruiksrechten', 'informatieobject'), ) class Meta: model = Gebruiksrechten fields = { 'informatieobject': ['exact'], 'startdatum': ['lt', 'lte', 'gt', 'gte'], 'einddatum': ['lt', 'lte', 'gt', 'gte'], }
def filter_for_field(cls, f, name, lookup_expr): # Needed because `intrekkende_verzoek` and `aanvullende_verzoek` # are reverse OneToOne relations if f.name == "intrekkende_verzoek": filter = URLModelChoiceFilter() filter.field_name = "intrekkende_verzoek" filter.extra["help_text"] = _( "URL-referentie naar het (latere) VERZOEK waarin verzocht wordt " "dit VERZOEK in te trekken. Dit veld is alleen leesbaar en wordt " "automatisch gezet wanneer er een ander VERZOEK wordt aangemaakt " "dat dit VERZOEK intrekt.") filter.queryset = Verzoek.objects.all() elif f.name == "aanvullende_verzoek": filter = URLModelChoiceFilter() filter.field_name = "aanvullende_verzoek" filter.extra["help_text"] = _( "URL-referentie naar het (latere) VERZOEK waarin dit VERZOEK " "wordt aangevuld. Dit veld is alleen leesbaar en wordt automatisch " "gezet indien een ander VERZOEK wordt aangemaakt dat dit VERZOEK aanvult." ) filter.queryset = Verzoek.objects.all() else: filter = super().filter_for_field(f, name, lookup_expr) return filter
class ObjectInformatieObjectFilter(FilterSet): informatieobject = URLModelChoiceFilter( queryset=EnkelvoudigInformatieObjectCanonical.objects.all(), instance_path="canonical", help_text=get_help_text("documenten.ObjectInformatieObject", "informatieobject"), ) object = ObjectFilter( queryset=object_queryset, help_text= _("URL-referentie naar het gerelateerde OBJECT (in deze of een andere API)." ), ) class Meta: model = ObjectInformatieObject fields = ("object", "informatieobject")