class Meta: model = ZaakInformatieObject fields = ( 'url', 'informatieobject', 'zaak', 'aard_relatie_weergave', 'titel', 'beschrijving', 'registratiedatum', ) extra_kwargs = { 'url': { 'lookup_field': 'uuid', }, 'informatieobject': { # 'lookup_field': 'uuid', 'validators': [URLValidator(get_auth=get_auth), IsImmutableValidator()], }, 'zaak': { 'lookup_field': 'uuid', 'validators': [IsImmutableValidator()], }, }
class Meta: model = ObjectInformatieObject fields = ( 'url', 'informatieobject', 'object', 'object_type', ) extra_kwargs = { 'url': { 'lookup_field': 'uuid', }, 'informatieobject': { 'validators': [IsImmutableValidator()], }, 'object': { 'validators': [ URLValidator(get_auth=get_zrc_auth, headers={'Accept-Crs': 'EPSG:4326'}), IsImmutableValidator(), ], }, 'object_type': { 'validators': [IsImmutableValidator()] } } validators = [ObjectInformatieObjectValidator(), InformatieObjectUniqueValidator('object', 'informatieobject')]
class Meta: model = VerzoekInformatieObject fields = ("url", "informatieobject", "verzoek") validators = [ UniqueTogetherValidator( queryset=VerzoekInformatieObject.objects.all(), fields=["verzoek", "informatieobject"], ), ] extra_kwargs = { "url": { "lookup_field": "uuid" }, "informatieobject": { "validators": [ ResourceValidator( "EnkelvoudigInformatieObject", settings.DRC_API_SPEC, get_auth=get_auth, ), IsImmutableValidator(), ] }, "verzoek": { "lookup_field": "uuid", "validators": [IsImmutableValidator()] }, }
class Meta: model = Besluit fields = ( "url", "identificatie", "verantwoordelijke_organisatie", "besluittype", "zaak", "datum", "toelichting", "bestuursorgaan", "ingangsdatum", "vervaldatum", "vervalreden", "vervalreden_weergave", "publicatiedatum", "verzenddatum", "uiterlijke_reactiedatum", ) extra_kwargs = { "url": { "lookup_field": "uuid" }, "identificatie": { "validators": [IsImmutableValidator()] }, "verantwoordelijke_organisatie": { "validators": [IsImmutableValidator(), validate_rsin] }, } validators = [ UniekeIdentificatieValidator(), BesluittypeZaaktypeValidator() ]
class Meta: model = ObjectInformatieObject fields = ("url", "informatieobject", "object", "object_type") extra_kwargs = { "url": { "lookup_field": "uuid" }, "informatieobject": { "validators": [IsImmutableValidator()] }, "object": { "validators": [ URLValidator(get_auth=get_zrc_auth, headers={"Accept-Crs": "EPSG:4326"}), IsImmutableValidator(), ] }, "object_type": { "validators": [IsImmutableValidator()] }, } validators = [ ObjectInformatieObjectValidator(), InformatieObjectUniqueValidator("object", "informatieobject"), ]
class Meta: model = Besluit fields = ( "url", "identificatie", "verantwoordelijke_organisatie", "besluittype", "zaak", "datum", "toelichting", "bestuursorgaan", "ingangsdatum", "vervaldatum", "vervalreden", "vervalreden_weergave", "publicatiedatum", "verzenddatum", "uiterlijke_reactiedatum", ) extra_kwargs = { "url": { "lookup_field": "uuid" }, # per BRC API spec! "besluittype": { "lookup_field": "uuid", "max_length": 200, "min_length": 1, "validators": [ LooseFkResourceValidator("BesluitType", settings.ZTC_API_SPEC), LooseFkIsImmutableValidator(), PublishValidator(), ], }, # per BRC API spec! "zaak": { "lookup_field": "uuid", "max_length": 200 }, "identificatie": { "validators": [IsImmutableValidator()] }, "verantwoordelijke_organisatie": { "validators": [IsImmutableValidator(), validate_rsin] }, } validators = [ UniekeIdentificatieValidator(), BesluittypeZaaktypeValidator() ]
class Meta: model = ObjectContactMoment fields = ("url", "contactmoment", "object", "object_type") extra_kwargs = { "url": {"lookup_field": "uuid"}, "contactmoment": { "lookup_field": "uuid", "validators": [IsImmutableValidator()], }, "object": {"validators": [IsImmutableValidator()],}, "object_type": {"validators": [IsImmutableValidator()]}, } validators = [ObjectContactMomentCreateValidator()]
class Meta: model = Verzoek fields = ( "url", "identificatie", "bronorganisatie", "externe_identificatie", "klant", "interactiedatum", "voorkeurskanaal", "tekst", "status", ) extra_kwargs = { "url": { "lookup_field": "uuid" }, "klant": { "lookup_field": "uuid" }, "identificatie": { "validators": [IsImmutableValidator()] }, } # Replace a default "unique together" constraint. validators = [ UniekeIdentificatieValidator("bronorganisatie", "identificatie") ]
class ResultaatSerializer(serializers.HyperlinkedModelSerializer): resultaattype = LengthHyperlinkedRelatedField( view_name="resultaattype-detail", lookup_field="uuid", queryset=ResultaatType.objects.all(), max_length=1000, min_length=1, validators=[IsImmutableValidator()], help_text=get_help_text("zaken.Resultaat", "resultaattype"), ) class Meta: model = Resultaat fields = ("url", "uuid", "zaak", "resultaattype", "toelichting") validators = [CorrectZaaktypeValidator("resultaattype")] extra_kwargs = { "url": { "lookup_field": "uuid" }, "uuid": { "read_only": True }, "zaak": { "lookup_field": "uuid" }, }
class Meta: model = Klant fields = ( "url", "bronorganisatie", "klantnummer", "bedrijfsnaam", "functie", "website_url", "voornaam", "voorvoegsel_achternaam", "achternaam", "telefoonnummer", "emailadres", "adres", "subject", "subject_type", ) extra_kwargs = { "url": { "lookup_field": "uuid" }, "subject": { "required": False, "validators": [URLValidator()] }, "subject_type": { "validators": [IsImmutableValidator()] }, }
class BesluitInformatieObjectSerializer(serializers.HyperlinkedModelSerializer ): informatieobject = EnkelvoudigInformatieObjectHyperlinkedRelatedField( view_name="enkelvoudiginformatieobject-detail", lookup_field="uuid", queryset=EnkelvoudigInformatieObject.objects, help_text="URL-referentie naar het INFORMATIEOBJECT (in de Documenten " "API) waarin (een deel van) het besluit beschreven is.", max_length=1000, min_length=1, validators=[IsImmutableValidator()], ) class Meta: model = BesluitInformatieObject fields = ("url", "informatieobject", "besluit") validators = [ UniqueTogetherValidator( queryset=BesluitInformatieObject.objects.all(), fields=["besluit", "informatieobject"], ), ZaaktypeInformatieobjecttypeRelationValidator(), ] extra_kwargs = { "url": { "lookup_field": "uuid" }, "besluit": { "lookup_field": "uuid", "validators": [IsImmutableValidator()] }, }
class Meta: model = ZaakInformatieObject fields = ( "url", "uuid", "informatieobject", "zaak", "aard_relatie_weergave", "titel", "beschrijving", "registratiedatum", ) validators = [ UniqueTogetherValidator( queryset=ZaakInformatieObject.objects.all(), fields=["zaak", "informatieobject"], ), ObjecttypeInformatieobjecttypeRelationValidator(), ] extra_kwargs = { "url": { "lookup_field": "uuid" }, "uuid": { "read_only": True }, "zaak": { "lookup_field": "uuid", "validators": [IsImmutableValidator()] }, }
class Meta: model = ObjectVerzoek fields = ("url", "verzoek", "object", "object_type") extra_kwargs = { "url": { "lookup_field": "uuid" }, "verzoek": { "lookup_field": "uuid", "validators": [IsImmutableValidator()], }, "object": { "validators": [IsImmutableValidator()], }, "object_type": { "validators": [IsImmutableValidator()] }, } validators = [ObjectVerzoekCreateValidator()]
class Meta: model = VerzoekProduct fields = ("url", "verzoek", "product", "product_identificatie") extra_kwargs = { "url": { "lookup_field": "uuid" }, "verzoek": { "lookup_field": "uuid", "validators": [ IsImmutableValidator(), ], }, "product": { "validators": [ IsImmutableValidator(), ], }, }
class Meta: model = ZaakObject fields = ( "url", "uuid", "zaak", "object", "object_type", "object_type_overige", "object_type_overige_definitie", "relatieomschrijving", ) extra_kwargs = { "url": { "lookup_field": "uuid" }, "uuid": { "read_only": True }, "zaak": { "lookup_field": "uuid", "validators": [IsImmutableValidator()] }, "object": { "required": False, "validators": [URLValidator(get_auth=get_auth), IsImmutableValidator()], }, "object_type": { "validators": [IsImmutableValidator()], }, } validators = [ EitherFieldRequiredValidator( fields=("object", "object_identificatie"), message=_("object or objectIdentificatie must be provided"), code="invalid-zaakobject", skip_for_updates=True, ), ObjectTypeOverigeDefinitieValidator(), ]
class ZaakEigenschapSerializer(NestedHyperlinkedModelSerializer): zaak = serializers.HyperlinkedRelatedField( queryset=Zaak.objects.all(), view_name="zaak-detail", lookup_field="uuid", validators=[IsImmutableValidator()], ) parent_lookup_kwargs = {"zaak_uuid": "zaak__uuid"} class Meta: model = ZaakEigenschap fields = ("url", "uuid", "zaak", "eigenschap", "naam", "waarde") extra_kwargs = { "url": { "lookup_field": "uuid" }, "uuid": { "read_only": True }, "eigenschap": { "validators": [ ResourceValidator("Eigenschap", settings.ZTC_API_SPEC, get_auth=get_auth), IsImmutableValidator(), ] }, "naam": { "source": "_naam", "read_only": True }, } validators = [CorrectZaaktypeValidator("eigenschap")] def _get_eigenschap(self, eigenschap_url): if not hasattr(self, "_eigenschap"): self._eigenschap = None if eigenschap_url: Client = import_string(settings.ZDS_CLIENT_CLASS) client = Client.from_url(eigenschap_url) client.auth = APICredential.get_auth( eigenschap_url, scopes=["zds.scopes.zaaktypes.lezen"]) self._eigenschap = client.request(eigenschap_url, "eigenschap") return self._eigenschap def validate(self, attrs): super().validate(attrs) # assign _naam only when creating zaak eigenschap if not self.instance: eigenschap = self._get_eigenschap(attrs["eigenschap"]) attrs["_naam"] = eigenschap["naam"] return attrs
class Meta: model = ZaakInformatieObject fields = ( "url", "uuid", "informatieobject", "zaak", "aard_relatie_weergave", "titel", "beschrijving", "registratiedatum", ) validators = [ UniqueTogetherValidator( queryset=ZaakInformatieObject.objects.all(), fields=["zaak", "informatieobject"], ), ZaaktypeInformatieobjecttypeRelationValidator("informatieobject"), ] extra_kwargs = { "url": { "lookup_field": "uuid" }, "uuid": { "read_only": True }, "informatieobject": { "validators": [ ResourceValidator( "EnkelvoudigInformatieObject", settings.DRC_API_SPEC, get_auth=get_auth, ), IsImmutableValidator(), ] }, "zaak": { "lookup_field": "uuid", "validators": [IsImmutableValidator()] }, }
class Meta: model = VerzoekContactMoment fields = ("url", "contactmoment", "verzoek") validators = [ UniqueTogetherValidator( queryset=VerzoekContactMoment.objects.all(), fields=["verzoek", "contactmoment"], ), ] extra_kwargs = { "url": { "lookup_field": "uuid" }, "verzoek": { "lookup_field": "uuid", "validators": [IsImmutableValidator()] }, "contactmoment": { "validators": [IsImmutableValidator()] }, }
class Meta: model = KlantVerzoek fields = ("url", "klant", "verzoek", "rol", "indicatie_machtiging") validators = [ UniqueTogetherValidator( queryset=KlantVerzoek.objects.all(), fields=["verzoek", "klant"], ), ] extra_kwargs = { "url": { "lookup_field": "uuid" }, "verzoek": { "lookup_field": "uuid", "validators": [IsImmutableValidator()] }, "klant": { "validators": [IsImmutableValidator()] }, }
class Meta: model = BesluitInformatieObject fields = ("url", "informatieobject", "besluit") validators = [ UniqueTogetherValidator( queryset=BesluitInformatieObject.objects.all(), fields=["besluit", "informatieobject"], ), ObjecttypeInformatieobjecttypeRelationValidator("besluit", "besluittype"), ] extra_kwargs = { "url": {"lookup_field": "uuid"}, "besluit": {"lookup_field": "uuid", "validators": [IsImmutableValidator()]}, }
class ZaakInformatieObjectSerializer(serializers.HyperlinkedModelSerializer): aard_relatie_weergave = serializers.ChoiceField( source="get_aard_relatie_display", read_only=True, choices=[(force_text(value), key) for key, value in RelatieAarden.choices], ) informatieobject = EnkelvoudigInformatieObjectHyperlinkedRelatedField( view_name="enkelvoudiginformatieobject-detail", lookup_field="uuid", queryset=EnkelvoudigInformatieObject.objects.all(), min_length=1, max_length=1000, help_text=get_help_text("documenten.Gebruiksrechten", "informatieobject"), validators=[IsImmutableValidator()], ) class Meta: model = ZaakInformatieObject fields = ( "url", "uuid", "informatieobject", "zaak", "aard_relatie_weergave", "titel", "beschrijving", "registratiedatum", ) validators = [ UniqueTogetherValidator( queryset=ZaakInformatieObject.objects.all(), fields=["zaak", "informatieobject"], ), ZaaktypeInformatieobjecttypeRelationValidator(), ] extra_kwargs = { "url": { "lookup_field": "uuid" }, "uuid": { "read_only": True }, "zaak": { "lookup_field": "uuid", "validators": [IsImmutableValidator()] }, }
class Meta: model = Gebruiksrechten fields = ( "url", "informatieobject", "startdatum", "einddatum", "omschrijving_voorwaarden", ) extra_kwargs = { "url": { "lookup_field": "uuid" }, "informatieobject": { "validators": [IsImmutableValidator()] }, }
class Meta: model = Gebruiksrechten fields = ( 'url', 'informatieobject', 'startdatum', 'einddatum', 'omschrijving_voorwaarden' ) extra_kwargs = { 'url': { 'lookup_field': 'uuid', }, 'informatieobject': { 'validators': [IsImmutableValidator()], }, }
class Meta: model = EnkelvoudigInformatieObject fields = ( "url", "identificatie", "bronorganisatie", "creatiedatum", "titel", "vertrouwelijkheidaanduiding", "auteur", "status", "formaat", "taal", "versie", "begin_registratie", "bestandsnaam", "inhoud", "bestandsomvang", "link", "beschrijving", "ontvangstdatum", "verzenddatum", "indicatie_gebruiksrecht", "ondertekening", "integriteit", "informatieobjecttype", # van-relatie, "locked", "bestandsdelen", ) extra_kwargs = { "informatieobjecttype": { "validators": [ IsImmutableValidator(), PublishValidator( "InformatieObjectType", settings.ZTC_API_SPEC, get_auth=get_ztc_auth, ), ] }, "taal": { "min_length": 3 }, } read_only_fields = ["versie", "begin_registratie"] validators = [StatusValidator()]
class Meta: model = Rol fields = ( "url", "uuid", "zaak", "betrokkene", "betrokkene_type", "roltype", "omschrijving", "omschrijving_generiek", "roltoelichting", "registratiedatum", "indicatie_machtiging", ) validators = [ RolOccurenceValidator(RolOmschrijving.initiator, max_amount=1), RolOccurenceValidator(RolOmschrijving.zaakcoordinator, max_amount=1), CorrectZaaktypeValidator("roltype"), ] extra_kwargs = { "url": { "lookup_field": "uuid" }, "uuid": { "read_only": True }, "zaak": { "lookup_field": "uuid" }, "betrokkene": { "required": False }, "roltype": { "validators": [ IsImmutableValidator(), ResourceValidator("RolType", settings.ZTC_API_SPEC, get_auth=get_auth), ] }, }
class Meta: model = Verzoek fields = ( "url", "identificatie", "bronorganisatie", "externe_identificatie", "registratiedatum", "voorkeurskanaal", "tekst", "status", "in_te_trekken_verzoek", "intrekkende_verzoek", "aangevulde_verzoek", "aanvullende_verzoek", ) extra_kwargs = { "url": { "lookup_field": "uuid" }, "identificatie": { "validators": [IsImmutableValidator()] }, "in_te_trekken_verzoek": { "lookup_field": "uuid" }, "intrekkende_verzoek": { "lookup_field": "uuid", "read_only": True, }, "aangevulde_verzoek": { "lookup_field": "uuid" }, "aanvullende_verzoek": { "lookup_field": "uuid", "read_only": True, }, } # Replace a default "unique together" constraint. validators = [ UniekeIdentificatieValidator("bronorganisatie", "identificatie") ]
class Meta: model = Resultaat fields = ("url", "uuid", "zaak", "resultaattype", "toelichting") validators = [CorrectZaaktypeValidator("resultaattype")] extra_kwargs = { "url": { "lookup_field": "uuid" }, "uuid": { "read_only": True }, "zaak": { "lookup_field": "uuid" }, "resultaattype": { "validators": [ IsImmutableValidator(), ResourceValidator("ResultaatType", settings.ZTC_API_SPEC, get_auth=get_auth), ] }, }
class Meta: model = ZaakEigenschap fields = ("url", "uuid", "zaak", "eigenschap", "naam", "waarde") extra_kwargs = { "url": { "lookup_field": "uuid" }, "uuid": { "read_only": True }, "eigenschap": { "validators": [ ResourceValidator("Eigenschap", settings.ZTC_API_SPEC, get_auth=get_auth), IsImmutableValidator(), ] }, "naam": { "source": "_naam", "read_only": True }, } validators = [CorrectZaaktypeValidator("eigenschap")]
class Meta: model = Klant fields = ( "url", "voornaam", "achternaam", "adres", "telefoonnummer", "emailadres", "functie", "subject", "subject_type", ) extra_kwargs = { "url": { "lookup_field": "uuid" }, "subject": { "required": False }, "subject_type": { "validators": [IsImmutableValidator()] }, }
class Meta: model = Zaak fields = ( "url", "uuid", "identificatie", "bronorganisatie", "omschrijving", "toelichting", "zaaktype", "registratiedatum", "verantwoordelijke_organisatie", "startdatum", "einddatum", "einddatum_gepland", "uiterlijke_einddatum_afdoening", "publicatiedatum", "communicatiekanaal", # TODO: add shape validator once we know the shape "producten_of_diensten", "vertrouwelijkheidaanduiding", "betalingsindicatie", "betalingsindicatie_weergave", "laatste_betaaldatum", "zaakgeometrie", "verlenging", "opschorting", "selectielijstklasse", "hoofdzaak", "deelzaken", "relevante_andere_zaken", "eigenschappen", # read-only veld, on-the-fly opgevraagd "rollen", "status", "zaakinformatieobjecten", "zaakobjecten", # Writable inline resource, as opposed to eigenschappen for demo # purposes. Eventually, we need to choose one form. "kenmerken", # Archiving "archiefnominatie", "archiefstatus", "archiefactiedatum", "resultaat", "opdrachtgevende_organisatie", ) extra_kwargs = { "url": { "lookup_field": "uuid" }, "uuid": { "read_only": True }, "zaakgeometrie": { "help_text": "Punt, lijn of (multi-)vlak geometrie-informatie, in GeoJSON." }, "identificatie": { "validators": [IsImmutableValidator()] }, "zaaktype": { # TODO: does order matter here with the default validators? "validators": [ IsImmutableValidator(), PublishValidator("ZaakType", settings.ZTC_API_SPEC, get_auth=get_auth), ] }, "einddatum": { "read_only": True, "allow_null": True }, "communicatiekanaal": { "validators": [ ResourceValidator("CommunicatieKanaal", settings.REFERENTIELIJSTEN_API_SPEC) ] }, "vertrouwelijkheidaanduiding": { "required": False, "help_text": _("Aanduiding van de mate waarin het zaakdossier van de " "ZAAK voor de openbaarheid bestemd is. Optioneel - indien " "geen waarde gekozen wordt, dan wordt de waarde van het " "ZAAKTYPE overgenomen. Dit betekent dat de API _altijd_ een " "waarde teruggeeft."), }, "selectielijstklasse": { "validators": [ ResourceValidator( "Resultaat", settings.REFERENTIELIJSTEN_API_SPEC, get_auth=get_auth, ) ] }, "hoofdzaak": { "lookup_field": "uuid", "queryset": Zaak.objects.all(), "validators": [NotSelfValidator(), HoofdzaakValidator()], }, "laatste_betaaldatum": { "validators": [UntilNowValidator()] }, } # Replace a default "unique together" constraint. validators = [ UniekeIdentificatieValidator(), HoofdZaaktypeRelationValidator() ] expandable_fields = [ "status", "resultaat", "eigenschappen", "rollen", "zaakobjecten", "zaakinformatieobjecten", ]