Skip to content

Commit

Permalink
App Datenmanagement: Erweiterung Datenthema Meldedienst (punkthaft)
Browse files Browse the repository at this point in the history
  • Loading branch information
gdmhrogut committed Oct 20, 2023
1 parent df44d22 commit 8c265b8
Show file tree
Hide file tree
Showing 3 changed files with 102 additions and 10 deletions.
28 changes: 28 additions & 0 deletions datenmanagement/models/models_codelist.py
Original file line number Diff line number Diff line change
Expand Up @@ -890,6 +890,34 @@ def __str__(self):
return self.typ


class Gebaeudearten_Meldedienst_punkthaft(Codelist):
"""
Gebäudearten für den Meldedienst (punkthaft)
"""

bezeichnung = CharField(
'Bezeichnung',
max_length=255,
unique=True,
validators=standard_validators
)

class Meta(Codelist.Meta):
db_table = 'codelisten\".\"gebaeudearten_meldedienst_punkthaft'
ordering = ['bezeichnung']
verbose_name = 'Gebäudeart für den Meldedienst (punkthaft)'
verbose_name_plural = 'Gebäudearten für den Meldedienst (punkthaft)'

class BasemodelMeta(Codelist.BasemodelMeta):
description = 'Gebäudearten für den Meldedienst (punkthaft)'
list_fields = {
'bezeichnung': 'Bezeichnung'
}

def __str__(self):
return self.bezeichnung


class Gebaeudebauweisen(Codelist):
"""
Gebäudebauweisen
Expand Down
50 changes: 42 additions & 8 deletions datenmanagement/models/models_simple.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,16 @@
from .functions import delete_pdf, delete_photo, delete_photo_after_emptied, \
set_pre_save_instance, photo_post_processing
from .models_codelist import Adressen, Gemeindeteile, Strassen, Altersklassen_Kadaverfunde, \
Arten_Erdwaermesonden, Arten_Fahrradabstellanlagen, Arten_FairTrade, Arten_Feldsportanlagen, \
Arten_Feuerwachen, Arten_Fliessgewaesser, Arten_Hundetoiletten, \
Anbieter_Carsharing, Arten_Erdwaermesonden, Arten_Fahrradabstellanlagen, Arten_FairTrade, \
Arten_Feldsportanlagen, Arten_Feuerwachen, Arten_Fliessgewaesser, Arten_Hundetoiletten, \
Arten_Fallwildsuchen_Kontrollen, Arten_Meldedienst_flaechenhaft, Arten_Meldedienst_punkthaft, \
Arten_Parkmoeglichkeiten, Arten_Pflegeeinrichtungen, Arten_Poller, Arten_Toiletten, \
Betriebsarten, Betriebszeiten, Bewirtschafter_Betreiber_Traeger_Eigentuemer, \
Anbieter_Carsharing, Gebaeudebauweisen, Gebaeudefunktionen, Geschlechter_Kadaverfunde, Haefen, \
Hersteller_Poller, Materialien_Denksteine, Ordnungen_Fliessgewaesser, Personentitel, Quartiere, \
Sportarten, Status_Baudenkmale_Denkmalbereiche, Status_Poller, Tierseuchen, \
Typen_Abfallbehaelter, Typen_Erdwaermesonden, Typen_Kleinklaeranlagen, Typen_Poller, \
Gebaeudearten_Meldedienst_punkthaft, Gebaeudebauweisen, Gebaeudefunktionen, \
Geschlechter_Kadaverfunde, Haefen, Hersteller_Poller, Materialien_Denksteine, \
Ordnungen_Fliessgewaesser, Personentitel, Quartiere, Sportarten, \
Status_Baudenkmale_Denkmalbereiche, Status_Poller, Tierseuchen, Typen_Abfallbehaelter, \
Typen_Erdwaermesonden, Typen_Kleinklaeranlagen, Typen_Poller, \
Verbuende_Ladestationen_Elektrofahrzeuge, Zustaende_Kadaverfunde, \
Zustaende_Schutzzaeune_Tierseuchen
from .storage import OverwriteStorage
Expand Down Expand Up @@ -3616,6 +3617,33 @@ class Meldedienst_punkthaft(SimpleModel):
max_length=255,
validators=standard_validators
)
gebaeudeart = ForeignKey(
Gebaeudearten_Meldedienst_punkthaft,
verbose_name='Gebäudeart',
on_delete=RESTRICT,
db_column='gebaeudeart',
to_field='uuid',
related_name='%(app_label)s_%(class)s_gebaeudearten',
blank=True,
null=True
)
flaeche = DecimalField(
'Fläche (in m²)',
max_digits=6,
decimal_places=2,
validators=[
MinValueValidator(
Decimal('0.01'),
'Die <strong><em>Fläche</em></strong> muss mindestens 0,01 m² betragen.'
),
MaxValueValidator(
Decimal('9999.99'),
'Die <strong><em>Fläche</em></strong> darf höchstens 9.999,99 m² betragen.'
)
],
blank=True,
null=True
)
bemerkungen = CharField(
'Bemerkungen',
max_length=255,
Expand Down Expand Up @@ -3647,23 +3675,29 @@ class BasemodelMeta(SimpleModel.BasemodelMeta):
'adresse': 'Adresse',
'art': 'Art',
'bearbeiter': 'Bearbeiter:in',
'gebaeudeart': 'Gebäudeart',
'flaeche': 'Fläche (in m²)',
'bemerkungen': 'Bemerkungen',
'datum': 'Datum'
}
list_fields_with_date = ['deaktiviert', 'datum']
list_fields_with_number = ['flaeche']
list_fields_with_foreign_key = {
'adresse': 'adresse',
'art': 'art'
'art': 'art',
'gebaeudeart': 'bezeichnung'
}
heavy_load_limit = 600
map_feature_tooltip_field = 'art'
map_filter_fields = {
'aktiv': 'aktiv?',
'art': 'Art',
'bearbeiter': 'Bearbeiter:in',
'gebaeudeart': 'Gebäudeart',
'bemerkungen': 'Bemerkungen',
'datum': 'Datum'
}
map_filter_fields_as_list = ['art']
map_filter_fields_as_list = ['art', 'gebaeudeart']

def __str__(self):
return str(self.art) + \
Expand Down
34 changes: 32 additions & 2 deletions datenmanagement/sql/schema.sql
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ CREATE FUNCTION fachdaten.foto() RETURNS trigger
AS $$
BEGIN
IF NEW.foto = '' THEN
NEW.foto := NULL;
NEW.foto := NULL;
END IF;
RETURN NEW;
END;
Expand Down Expand Up @@ -791,6 +791,18 @@ CREATE TABLE codelisten.fundamenttypen_rsag (
);


--
-- Name: gebaeudearten_meldedienst_punkthaft; Type: TABLE; Schema: codelisten; Owner: -
--

CREATE TABLE codelisten.gebaeudearten_meldedienst_punkthaft (
uuid uuid DEFAULT public.uuid_generate_v4() NOT NULL,
aktualisiert date DEFAULT (now())::date NOT NULL,
erstellt date DEFAULT (now())::date NOT NULL,
bezeichnung character varying(255) NOT NULL
);


--
-- Name: gebaeudebauweisen; Type: TABLE; Schema: codelisten; Owner: -
--
Expand Down Expand Up @@ -3071,7 +3083,9 @@ CREATE TABLE fachdaten_adressbezug.meldedienst_punkthaft_hro (
bearbeiter character varying(255) NOT NULL,
bemerkungen character varying(255),
datum date NOT NULL,
geometrie public.geometry(Point,25833) NOT NULL
geometrie public.geometry(Point,25833) NOT NULL,
gebaeudeart uuid,
flaeche numeric(6,2)
);


Expand Down Expand Up @@ -4111,6 +4125,14 @@ ALTER TABLE ONLY codelisten.fundamenttypen_rsag
ADD CONSTRAINT fundamenttypen_rsag_typ_unique UNIQUE (typ);


--
-- Name: gebaeudearten_meldedienst_punkthaft gebaeudearten_meldedienst_punkthaft_pk; Type: CONSTRAINT; Schema: codelisten; Owner: -
--

ALTER TABLE ONLY codelisten.gebaeudearten_meldedienst_punkthaft
ADD CONSTRAINT gebaeudearten_meldedienst_punkthaft_pk PRIMARY KEY (uuid);


--
-- Name: gebaeudebauweisen gebaeudebauweisen_code_unique; Type: CONSTRAINT; Schema: codelisten; Owner: -
--
Expand Down Expand Up @@ -6915,6 +6937,14 @@ ALTER TABLE ONLY fachdaten_adressbezug.meldedienst_punkthaft_hro
ADD CONSTRAINT meldedienst_punkthaft_hro_arten_fk FOREIGN KEY (art) REFERENCES codelisten.arten_meldedienst_punkthaft(uuid) MATCH FULL ON UPDATE CASCADE ON DELETE RESTRICT;


--
-- Name: meldedienst_punkthaft_hro meldedienst_punkthaft_hro_gebaeudearten_fk; Type: FK CONSTRAINT; Schema: fachdaten_adressbezug; Owner: -
--

ALTER TABLE ONLY fachdaten_adressbezug.meldedienst_punkthaft_hro
ADD CONSTRAINT meldedienst_punkthaft_hro_gebaeudearten_fk FOREIGN KEY (gebaeudeart) REFERENCES codelisten.gebaeudearten_meldedienst_punkthaft(uuid) MATCH FULL ON UPDATE CASCADE ON DELETE SET NULL;


--
-- Name: parkmoeglichkeiten_hro parkmoeglichkeiten_hro_arten_fk; Type: FK CONSTRAINT; Schema: fachdaten_adressbezug; Owner: -
--
Expand Down

0 comments on commit 8c265b8

Please sign in to comment.