class WoonplaatsDetail(BagMixin, rest.HALSerializer): _display = rest.DisplayField() openbare_ruimtes = rest.RelatedSummaryField() gemeente = Gemeente() woonplaatsidentificatie = serializers.CharField(source='landelijk_id') sleutelverzendend = serializers.CharField(source='id') naam_17_posities = serializers.CharField(source='naam_ptt') class Meta: model = models.Woonplaats fields = ( '_links', '_display', 'sleutelverzendend', # 'id', 'woonplaatsidentificatie', # 'landelijk_id', 'date_modified', 'document_mutatie', 'document_nummer', 'begin_geldigheid', 'einde_geldigheid', 'mutatie_gebruiker', 'naam', # 'naam_ptt', 'naam_17_posities', 'gemeente', 'openbare_ruimtes' )
class KadastraalObjectNummeraanduiding(BrkMixin, rest.HALSerializer): """ Serializer used in custom nummeraanduiding endpoint """ _display = rest.DisplayField() aanduiding = serializers.CharField(source='get_aanduiding_spaties') rechten = rest.RelatedSummaryField() beperkingen = rest.RelatedSummaryField() aantekeningen = rest.RelatedSummaryField() a_percelen = KadastraalObject(many=True) g_percelen = KadastraalObject(many=True) class Meta: model = models.KadastraalObject fields = ( '_links', '_display', 'id', 'aanduiding', 'rechten', 'beperkingen', 'aantekeningen', 'a_percelen', 'g_percelen', )
class BeperkingDetail(rest.HALSerializer): _display = rest.DisplayField() beperkingtype = Beperkingcode() kadastrale_objecten = rest.RelatedSummaryField() documenten = rest.RelatedSummaryField() class Meta: model = models.Beperking fields = ( '_links', '_display', 'id', 'inschrijfnummer', 'beperkingtype', 'datum_in_werking', 'datum_einde', 'kadastrale_objecten', 'documenten' ) # TODO handle this smarter def to_representation(self, instance): data = super(BeperkingDetail, self).to_representation(instance) data['beperkingcode'] = data['beperkingtype'] del data['beperkingtype'] return data def get_beperkingcode(self, obj): return Beperkingcode(source='*')
class ZakelijkRecht(BrkMixin, rest.HALSerializer, ZakelijkRechtContextMixin): _display = rest.DisplayField() class Meta: model = models.ZakelijkRecht fields = ( '_links', '_display', 'id', ) def to_representation(self, instance): data = super().to_representation(instance) request = self.context['request'] data['subject_href'] = \ self.get_contextual_subject_href(instance, request) if 'kadastraal_subject' in request.query_params: data['_display'] = instance.directional_name(direction='object') else: data['_display'] = instance.directional_name(direction='subject') data['object_href'] = reverse( 'kadastraalobject-detail', kwargs={'pk': instance.kadastraal_object_id}, request=self.context['request'] ) return data
class BuurtcombinatieDetail(GebiedenMixin, BboxMixin, rest.HALSerializer): _display = rest.DisplayField() stadsdeel = Stadsdeel() buurten = rest.RelatedSummaryField() bbox = serializers.SerializerMethodField() _gemeente = Gemeente() buurtcombinatie_identificatie = serializers.CharField(source='id') volledige_code = serializers.CharField(source='vollcode') class Meta: model = models.Buurtcombinatie fields = ( '_links', '_display', 'buurtcombinatie_identificatie', 'naam', 'code', 'volledige_code', 'brondocument_naam', 'brondocument_datum', 'geometrie', 'begin_geldigheid', 'einde_geldigheid', 'stadsdeel', 'buurten', 'bbox', '_gemeente', )
class ZakelijkRechtDetailPublic( BrkMixin, rest.HALSerializer, ZakelijkRechtContextMixin): _display = rest.DisplayField() aard_zakelijk_recht = AardZakelijkRecht() # ontstaan_uit = KadastraalSubject() # betrokken_bij = KadastraalSubject() kadastraal_object = KadastraalObject() # kadastraal_subject = KadastraalSubject() app_rechtsplitstype = AppartementsrechtsSplitsType() class Meta: model = models.ZakelijkRecht fields = ( '_links', '_display', 'id', 'aard_zakelijk_recht', 'aard_zakelijk_recht_akr', # 'ontstaan_uit', # 'betrokken_bij', 'teller', 'noemer', 'kadastraal_object', # 'kadastraal_subject', 'kadastraal_object_status', 'app_rechtsplitstype', )
class KadastraalObjectDetailPublic(BrkMixin, rest.HALSerializer): """ Public version kadastraal object Forbidden fields: koopsom, koopjaar, cultuur (on)bebouwd, rechten en aantekeningen https://dokuwiki.datapunt.amsterdam.nl/doku.php?id=start:aa:datarestricties&s[]=restricties # noqa """ _display = rest.DisplayField() aanduiding = serializers.CharField(source='get_aanduiding_spaties') objectnummer = serializers.CharField(source='perceelnummer') kadastrale_gemeente = KadastraleGemeente() sectie = KadastraleSectie() soort_grootte = SoortGrootte() verblijfsobjecten = rest.RelatedSummaryField() _adressen = rest.AdresFilterField() # a_percelen = rest.RelatedSummaryField(source='a_percelen') betrokken_bij = rest.RelatedSummaryField(source='a_percelen') # g_percelen = rest.RelatedSummaryField(source='g_percelen') ontstaan_uit = rest.RelatedSummaryField(source='g_percelen') beperkingen = rest.RelatedSummaryField() geometrie = rest.MultipleGeometryField() class Meta: model = models.KadastraalObject fields = ( '_links', '_display', 'id', 'aanduiding', 'kadastrale_gemeente', 'sectie', 'objectnummer', 'indexletter', 'indexnummer', 'soort_grootte', 'grootte', 'meer_objecten', 'register9_tekst', 'status_code', 'toestandsdatum', 'voorlopige_kadastrale_grens', 'in_onderzoek', 'geometrie', 'ontstaan_uit', 'betrokken_bij', 'verblijfsobjecten', '_adressen', 'beperkingen', )
class VerblijfsobjectNummeraanduiding( VerblijfsobjectDetailMixin, BagMixin, rest.HALSerializer): """ Serializer used in custom nummeraanduiding endpoint """ _display = rest.DisplayField() status = Status() eigendomsverhouding = Eigendomsverhouding() financieringswijze = Financieringswijze() gebruik = Gebruik() ligging = Ligging() locatie_ingang = LocatieIngang() toegang = Toegang() status_coordinaat = serializers.SerializerMethodField() type_woonobject = serializers.SerializerMethodField() reden_afvoer = RedenAfvoer() reden_opvoer = RedenOpvoer() panden = rest.RelatedSummaryField() adressen = rest.RelatedSummaryField() kadastrale_objecten = \ brk_serializers.KadastraalObjectNummeraanduiding(many=True) class Meta: model = models.Verblijfsobject fields = ( '_links', '_display', 'id', 'landelijk_id', 'date_modified', 'document_mutatie', 'document_nummer', 'begin_geldigheid', 'einde_geldigheid', 'mutatie_gebruiker', 'status', 'bron', 'geometrie', 'oppervlakte', 'bouwlaag_toegang', 'status_coordinaat', 'verhuurbare_eenheden', 'bouwlagen', 'type_woonobject', 'woningvoorraad', 'aantal_kamers', 'reden_afvoer', 'reden_opvoer', 'eigendomsverhouding', 'financieringswijze', 'gebruik', 'ligging', 'locatie_ingang', 'toegang', 'panden', 'adressen', 'kadastrale_objecten', )
class StadsdeelDetail(GebiedenMixin, BboxMixin, rest.HALSerializer): _display = rest.DisplayField() buurten = rest.RelatedSummaryField() gebiedsgerichtwerken = rest.RelatedSummaryField() buurtcombinaties = rest.RelatedSummaryField() gemeente = Gemeente() bbox = serializers.SerializerMethodField() stadsdeelidentificatie = serializers.CharField(source='id') class Meta: model = models.Stadsdeel fields = ( '_links', '_display', 'stadsdeelidentificatie', 'code', 'date_modified', 'begin_geldigheid', 'einde_geldigheid', 'naam', 'gemeente', 'brondocument_naam', 'brondocument_datum', 'bbox', 'geometrie', 'buurten', 'buurtcombinaties', 'gebiedsgerichtwerken', )
class PandDetail(BagMixin, BboxMixin, rest.HALSerializer): _display = rest.DisplayField() status = Status() verblijfsobjecten = rest.RelatedSummaryField() bouwblok = Bouwblok() _adressen = rest.AdresFilterField() _monumenten = rest.ExternalRelationField('monumenten/monumenten/', 'betreft_pand') _buurt = Buurt() _buurtcombinatie = Buurtcombinatie() _stadsdeel = Stadsdeel() _gemeente = Gemeente() pandidentificatie = serializers.CharField(source='landelijk_id') sleutelverzendend = serializers.CharField(source='id') oorspronkelijk_bouwjaar = serializers.CharField(source='bouwjaar') bbox = serializers.SerializerMethodField() class Meta: model = models.Pand fields = ( '_links', '_display', 'sleutelverzendend', 'pandidentificatie', 'date_modified', 'document_mutatie', 'document_nummer', 'status', 'bbox', 'geometrie', 'oorspronkelijk_bouwjaar', 'hoogste_bouwlaag', 'laagste_bouwlaag', 'pandnummer', 'pandnaam', 'verblijfsobjecten', '_adressen', '_monumenten', 'bouwblok', 'begin_geldigheid', 'einde_geldigheid', 'mutatie_gebruiker', '_buurt', '_buurtcombinatie', '_stadsdeel', '_gemeente', )
class NummeraanduidingExpanded(BagMixin, rest.HALSerializer): """ Serializer used in custom nummeraanduiding endpoint """ _display = rest.DisplayField() status = Status() type = serializers.CharField(source='get_type_display') bouwblok = Bouwblok() buurt = Buurt() buurtcombinatie = Buurtcombinatie() stadsdeel = Stadsdeel() openbare_ruimte = OpenbareRuimte() gebiedsgerichtwerken = Gebiedsgerichtwerken() woonplaats = Woonplaats() gemeente = Gemeente() ligplaats = Ligplaats() standplaats = Standplaats() verblijfsobject = VerblijfsobjectNummeraanduidingExp() class Meta: model = models.Nummeraanduiding fields = ( '_links', '_display', 'id', 'landelijk_id', 'date_modified', 'document_mutatie', 'document_nummer', 'begin_geldigheid', 'einde_geldigheid', 'mutatie_gebruiker', 'status', 'bron', 'adres', 'postcode', 'huisnummer', 'huisletter', 'huisnummer_toevoeging', 'type', 'adres_nummer', 'openbare_ruimte', 'hoofdadres', 'bouwblok', 'buurt', 'buurtcombinatie', 'stadsdeel', 'gebiedsgerichtwerken', 'woonplaats', 'gemeente', 'ligplaats', 'standplaats', 'verblijfsobject', )
class StandplaatsDetail(BagMixin, BboxMixin, rest.HALSerializer): _display = rest.DisplayField() status = Status() adressen = rest.RelatedSummaryField() hoofdadres = Nummeraanduiding() buurt = Buurt() _buurtcombinatie = Buurtcombinatie() _stadsdeel = Stadsdeel() _gemeente = Gemeente() _woonplaats = Woonplaats() _gebiedsgerichtwerken = Gebiedsgerichtwerken() _grootstedelijkgebied = Grootstedelijkgebied() standplaatsidentificatie = serializers.CharField(source='landelijk_id') sleutelverzendend = serializers.CharField(source='id') aanduiding_in_onderzoek = serializers.BooleanField( source='indicatie_in_onderzoek') bbox = serializers.SerializerMethodField() class Meta: model = models.Standplaats fields = ( '_links', '_display', 'standplaatsidentificatie', 'sleutelverzendend', 'landelijk_id', 'date_modified', 'document_mutatie', 'document_nummer', 'begin_geldigheid', 'einde_geldigheid', 'mutatie_gebruiker', 'status', 'bron', 'indicatie_geconstateerd', 'aanduiding_in_onderzoek', 'bbox', 'geometrie', 'hoofdadres', 'adressen', 'buurt', '_buurtcombinatie', '_stadsdeel', '_gebiedsgerichtwerken', '_grootstedelijkgebied', '_gemeente', '_woonplaats', )
class Beperking(rest.HALSerializer): _display = rest.DisplayField() class Meta: model = models.Beperking fields = ( '_links', '_display', 'inschrijfnummer', )
class Unesco(GebiedenMixin, rest.HALSerializer): _display = rest.DisplayField() class Meta: model = models.Unesco fields = ( '_links', '_display', 'naam', )
class Bouwblok(GebiedenMixin, rest.HALSerializer): _display = rest.DisplayField() class Meta: model = models.Bouwblok fields = ( '_links', '_display', 'id', )
class Pand(BagMixin, rest.HALSerializer): _display = rest.DisplayField() class Meta: model = models.Pand fields = ( '_links', '_display', 'landelijk_id', )
class OpenbareRuimte(BagMixin, rest.HALSerializer): _display = rest.DisplayField() class Meta: model = models.OpenbareRuimte fields = ( '_links', '_display', 'landelijk_id', )
class KadastraalSubject(BrkMixin, rest.HALSerializer): _display = rest.DisplayField() class Meta: model = models.KadastraalSubject fields = ( '_links', '_display', 'naam', )
class BrondocumentDetail(rest.HALSerializer): _display = rest.DisplayField() beperking = Beperking() bron = Broncode() class Meta: model = models.Brondocument fields = ('_links', '_display', 'inschrijfnummer', 'bron', 'inschrijfnummer', 'persoonsgegevens_afschermen', 'soort_besluit', 'url', 'beperking')
class Gemeente(BrkMixin, rest.HALSerializer): _display = rest.DisplayField() class Meta: model = models.Gemeente fields = ( '_links', '_display', 'gemeente', )
class KadastraleSectie(BrkMixin, rest.HALSerializer): _display = rest.DisplayField() class Meta: model = models.KadastraleSectie fields = ( '_links', '_display', 'sectie', )
class Broncode(rest.HALSerializer): _display = rest.DisplayField() class Meta: model = models.Broncode fields = ( '_links', '_display', 'code', 'omschrijving', )
class Buurt(GebiedenMixin, rest.HALSerializer): _display = rest.DisplayField() class Meta: model = models.Buurt fields = ( '_links', '_display', 'code', 'naam', )
class GebiedsgerichtwerkenPraktijkgebieden(GebiedenMixin, rest.HALSerializer): _display = rest.DisplayField() class Meta: model = models.GebiedsgerichtwerkenPraktijkgebieden fields = ( '_links', '_display', 'naam', )
class KadastraalSubjectDetailWithPersonalData(BrkMixin, rest.HALSerializer): _display = rest.DisplayField() woonadres = Adres() postadres = Adres() beschikkingsbevoegdheid = Beschikkingsbevoegdheid() geslacht = Geslacht() aanduiding_naam = AanduidingNaam() geboorteland = Land() land_waarnaar_vertrokken = Land() rechtsvorm = Rechtsvorm() aantekeningen = rest.RelatedSummaryField() class Meta: model = models.KadastraalSubject fields = ( '_links', '_display', 'id', 'type', 'beschikkingsbevoegdheid', 'volledige_naam', 'is_natuurlijk_persoon', 'voornamen', 'voorvoegsels', 'naam', 'geslacht', 'aanduiding_naam', 'geboortedatum', 'geboorteplaats', 'geboorteland', 'overlijdensdatum', 'partner_voornamen', 'partner_voorvoegsels', 'partner_naam', 'land_waarnaar_vertrokken', 'rsin', 'kvknummer', 'rechtsvorm', 'statutaire_naam', 'statutaire_zetel', 'bron', 'woonadres', 'postadres', 'aantekeningen', )
class Grootstedelijkgebied(GebiedenMixin, rest.HALSerializer): _display = rest.DisplayField() class Meta: model = models.Grootstedelijkgebied fields = ( '_links', '_display', 'naam', 'gsg_type', )
class KadastraleGemeente(BrkMixin, rest.HALSerializer): _display = rest.DisplayField() gemeente = Gemeente() class Meta: model = models.KadastraleGemeente fields = ( '_links', '_display', 'naam', 'gemeente', )
class GemeenteDetail(BrkMixin, rest.HALSerializer): _display = rest.DisplayField() gemeente = serializers.CharField() class Meta: model = models.Gemeente fields = ( '_links', '_display', 'gemeente', 'geometrie', )
class KadastraalObject(BrkMixin, rest.HALSerializer): _display = rest.DisplayField() aanduiding = serializers.CharField(source='get_aanduiding_spaties') class Meta: model = models.KadastraalObject fields = ( '_links', '_display', 'id', 'aanduiding' )
class Aantekening(BrkMixin, rest.HALSerializer): _display = rest.DisplayField() opgelegd_door = KadastraalSubject() class Meta: model = models.Aantekening fields = ( '_links', '_display', 'id', 'aantekening_id', 'opgelegd_door', )