コード例 #1
0
ファイル: core.py プロジェクト: maykinmedia/zaken-api
 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",
     ]
コード例 #2
0
    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()]