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", ]
class Meta: model = Zaak fields = ( 'url', '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', # read-only veld, on-the-fly opgevraagd 'status', # Writable inline resource, as opposed to eigenschappen for demo # purposes. Eventually, we need to choose one form. 'kenmerken', # Archiving 'archiefnominatie', 'archiefstatus', 'archiefactiedatum', 'resultaat', ) extra_kwargs = { 'url': { 'lookup_field': 'uuid', }, 'zaakgeometrie': { 'help_text': 'Punt, lijn of (multi-)vlak geometrie-informatie, in GeoJSON.' }, 'zaaktype': { # TODO: does order matter here with the default validators? 'validators': [URLValidator(get_auth=get_auth)], }, 'einddatum': { 'read_only': 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.") }, 'hoofdzaak': { 'lookup_field': 'uuid', 'queryset': Zaak.objects.all(), 'validators': [NotSelfValidator(), HoofdzaakValidator()], }, 'relevante_andere_zaken': { 'child': serializers.URLField(label=_("URL naar andere zaak"), max_length=255, validators=[ URLValidator(get_auth=get_auth, headers={ 'Content-Crs': 'EPSG:4326', 'Accept-Crs': 'EPSG:4326' }) ]) }, 'laatste_betaaldatum': { 'validators': [UntilNowValidator()] } } # Replace a default "unique together" constraint. validators = [UniekeIdentificatieValidator()]