Beispiel #1
0
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',
        )
Beispiel #2
0
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='*')
Beispiel #3
0
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',
        )
Beispiel #4
0
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',
        )
Beispiel #5
0
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',
        )
Beispiel #6
0
class KadastraalObjectDetailWkpb(brk_serializers.BrkMixin, rest.HALSerializer):
    """
    Serializer used in custom wkpb endpoint
    """
    _display = rest.DisplayField()
    aanduiding = serializers.CharField(source='get_aanduiding_spaties')
    kadastrale_gemeente = brk_serializers.KadastraleGemeente()
    sectie = brk_serializers.KadastraleSectie()
    soort_grootte = brk_serializers.SoortGrootte()
    cultuurcode_onbebouwd = brk_serializers.CultuurCodeOnbebouwd()
    cultuurcode_bebouwd = brk_serializers.CultuurCodeBebouwd()

    rechten = brk_serializers.ZakelijkRecht(many=True)
    verblijfsobjecten = Verblijfsobject(many=True)
    beperkingen = BeperkingDetail(many=True)
    aantekeningen = rest.RelatedSummaryField()
    a_percelen = rest.RelatedSummaryField()
    g_percelen = rest.RelatedSummaryField()

    class Meta:
        model = models.KadastraalObject
        fields = (
            '_links',
            '_display',
            'id',
            'aanduiding',
            'kadastrale_gemeente',
            'sectie',
            'perceelnummer',
            'indexletter',
            'indexnummer',
            'soort_grootte',
            'grootte',
            'koopsom',
            'koopsom_valuta_code',
            'koopjaar',
            'meer_objecten',
            'cultuurcode_onbebouwd',
            'cultuurcode_bebouwd',
            'register9_tekst',
            'status_code',
            'toestandsdatum',
            'voorlopige_kadastrale_grens',
            'in_onderzoek',
            'g_percelen',
            'a_percelen',
            'verblijfsobjecten',
            'rechten',
            'aantekeningen',
            'beperkingen',
        )
Beispiel #7
0
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'
        )
Beispiel #8
0
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',
        )
Beispiel #9
0
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',

        )
Beispiel #10
0
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',
        )
Beispiel #11
0
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',
        )
Beispiel #12
0
class BroncodeDetail(rest.HALSerializer):
    _display = rest.DisplayField()
    documenten = rest.RelatedSummaryField()

    class Meta:
        model = models.Broncode
        fields = (
            '_links',
            '_display',
            'code',
            'omschrijving',
            'documenten',
        )
Beispiel #13
0
class KadastraleGemeenteDetail(BrkMixin, rest.HALSerializer):
    _display = rest.DisplayField()
    gemeente = Gemeente()
    secties = rest.RelatedSummaryField()

    class Meta:
        model = models.KadastraleGemeente
        fields = (
            '_links',
            '_display',
            'id',
            'gemeente',
            'geometrie',
            'secties',
        )
Beispiel #14
0
class OpenbareRuimteDetail(BagMixin, BboxMixin, rest.HALSerializer):
    _display = rest.DisplayField()
    status = Status()
    type = serializers.CharField(source='get_type_display')
    adressen = rest.RelatedSummaryField()
    woonplaats = Woonplaats()

    sleutelverzendend = serializers.CharField(source='id')
    openbare_ruimte_identificatie = serializers.CharField(
        source='landelijk_id')
    openbare_ruimte_code = serializers.CharField(source='code')
    naam_17_posities = serializers.CharField(source='naam_ptt')
    naam_24_posities = serializers.CharField(source='naam_nen')

    bbox = serializers.SerializerMethodField()

    class Meta:
        model = models.OpenbareRuimte
        fields = (
            '_links',
            '_display',
            'sleutelverzendend',
            'openbare_ruimte_identificatie',
            'openbare_ruimte_code',
            'date_modified',
            'document_mutatie',
            'document_nummer',
            'begin_geldigheid',
            'einde_geldigheid',
            'mutatie_gebruiker',
            'status',
            'bron',
            'geometrie',

            'type',
            'naam',
            'omschrijving',
            'naam_17_posities',
            'naam_24_posities',
            'straat_nummer',
            'woonplaats',
            'adressen',

            'bbox',
            'geometrie',
        )
Beispiel #15
0
class GemeenteDetail(BagMixin, rest.HALSerializer):
    _display = rest.DisplayField()
    woonplaatsen = rest.RelatedSummaryField()

    class Meta:
        model = models.Gemeente
        fields = (
            '_links',
            '_display',
            'id',
            'code',
            'date_modified',
            'begin_geldigheid',
            'einde_geldigheid',

            'naam',
            'verzorgingsgebied',
            'woonplaatsen',
        )
Beispiel #16
0
class BouwblokDetail(GebiedenMixin, BboxMixin, rest.HALSerializer):
    _display = rest.DisplayField()
    panden = rest.RelatedSummaryField()
    buurt = Buurt()
    meetbouten = serializers.SerializerMethodField()

    _buurtcombinatie = Buurtcombinatie()
    _stadsdeel = Stadsdeel()
    _gemeente = Gemeente()

    bouwblokidentificatie = serializers.CharField(source='id')

    bbox = serializers.SerializerMethodField()

    class Meta:
        model = models.Bouwblok
        fields = (
            '_links',
            '_display',
            'bouwblokidentificatie',
            'code',
            'buurt',
            'begin_geldigheid',
            'einde_geldigheid',
            'bbox',
            'geometrie',
            'panden',
            'meetbouten',

            '_buurtcombinatie',
            '_stadsdeel',
            '_gemeente',
        )

    def get_meetbouten(self, obj):
        link = "/meetbouten/meetbout/?bouwbloknummer={}".format(obj.code)
        req = self.context.get('request')
        if req:
            return req.build_absolute_uri(link)

        return link
Beispiel #17
0
class GebiedsgerichtwerkenDetail(GebiedenMixin, BboxMixin, rest.HALSerializer):
    _display = rest.DisplayField()

    stadsdeel = Stadsdeel()

    buurten = rest.RelatedSummaryField()

    bbox = serializers.SerializerMethodField()

    class Meta:
        model = models.Gebiedsgerichtwerken
        fields = (
            '_links',
            '_display',
            'naam',
            'code',
            'stadsdeel',
            'buurten',
            'bbox',
            'geometrie',
        )
Beispiel #18
0
class VerblijfsobjectDetail(
        VerblijfsobjectDetailMixin, BagMixin,
        BboxMixin, rest.HALSerializer):
    _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()
    hoofdadres = Nummeraanduiding()
    buurt = Buurt()
    reden_afvoer = RedenAfvoer()
    reden_opvoer = RedenOpvoer()

    kadastrale_objecten = rest.RelatedSummaryField()

    panden = rest.RelatedSummaryField()
    adressen = rest.RelatedSummaryField()
    rechten = rest.RelatedSummaryField()
    beperkingen = rest.RelatedSummaryField()

    bouwblok = Bouwblok()

    _buurtcombinatie = Buurtcombinatie()
    _stadsdeel = Stadsdeel()
    _gebiedsgerichtwerken = Gebiedsgerichtwerken()
    _grootstedelijkgebied = Grootstedelijkgebied()
    _gemeente = Gemeente()
    _woonplaats = Woonplaats()

    verblijfsobjectidentificatie = serializers.CharField(
        source='landelijk_id')
    sleutelverzendend = serializers.CharField(source='id')
    aanduiding_in_onderzoek = serializers.BooleanField(
        source='indicatie_in_onderzoek')

    gebruiksdoelen = serializers.SerializerMethodField()

    bbox = serializers.SerializerMethodField()

    class Meta:
        model = models.Verblijfsobject
        fields = (
            '_links',
            '_display',
            'sleutelverzendend',
            'verblijfsobjectidentificatie',
            'date_modified',
            'document_mutatie',
            'document_nummer',
            'begin_geldigheid',
            'einde_geldigheid',
            'mutatie_gebruiker',
            'status',
            'bron',

            'bbox',
            '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',
            'hoofdadres',
            'adressen',
            'buurt',
            'panden',
            'kadastrale_objecten',
            'rechten',
            'beperkingen',
            'bouwblok',

            'indicatie_geconstateerd',
            'aanduiding_in_onderzoek',

            '_buurtcombinatie',
            '_stadsdeel',
            '_gebiedsgerichtwerken',
            '_grootstedelijkgebied',
            '_gemeente',
            '_woonplaats',

            'gebruiksdoelen',
        )
Beispiel #19
0
class KadastraalObjectDetail(BrkMixin, rest.HALSerializer):
    _display = rest.DisplayField()
    aanduiding = serializers.CharField(source='get_aanduiding_spaties')
    objectnummer = serializers.CharField(source='perceelnummer')
    kadastrale_gemeente = KadastraleGemeente()
    sectie = KadastraleSectie()
    soort_grootte = SoortGrootte()
    cultuurcode_onbebouwd = CultuurCodeOnbebouwd()
    cultuurcode_bebouwd = CultuurCodeBebouwd()

    rechten = rest.RelatedSummaryField()
    verblijfsobjecten = rest.RelatedSummaryField()
    _adressen = rest.AdresFilterField()
    aantekeningen = rest.RelatedSummaryField()

    # 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',
            'koopsom',
            'koopsom_valuta_code',
            'koopjaar',
            'meer_objecten',
            'cultuurcode_onbebouwd',
            'cultuurcode_bebouwd',

            'register9_tekst',
            'status_code',
            'toestandsdatum',
            'voorlopige_kadastrale_grens',
            'in_onderzoek',

            'geometrie',

            'ontstaan_uit',
            'betrokken_bij',

            'verblijfsobjecten',
            '_adressen',
            'rechten',
            'aantekeningen',
            'beperkingen',
        )
Beispiel #20
0
class KadastraalSubjectDetail(KadastraalSubjectDetailWithPersonalData):
    rechten = rest.RelatedSummaryField()

    class Meta:
        model = models.KadastraalSubject
        fields = (
            '_links',
            '_display',

            'id',
            'type',
            'beschikkingsbevoegdheid',

            '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',
            'rechten',        # employee NOT OK for natuurlijk
        )

    def to_representation(self, subject):
        """
        Remove 'rechten' if not plus user
        """
        data = super().to_representation(subject)

        if subject.type == subject.SUBJECT_TYPE_NIET_NATUURLIJK:
            return data

        # check if we are authorized voor natuurlijke personen
        request = self.context['request']
        if request.is_authorized_for(authorization_levels.SCOPE_BRK_RSN):
            return data

        # We are employee and should not see 'rechten' / eigendommen
        data.pop('rechten')

        return data