Skip to content

Commit

Permalink
Merge pull request #766 from krebslw/fix_lukpunkt
Browse files Browse the repository at this point in the history
Fix fejl ved lukning af fikspunktregisterobjekter
  • Loading branch information
krebslw authored Aug 13, 2024
2 parents 7f4adc1 + 432677e commit 1b40ed7
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 36 deletions.
4 changes: 2 additions & 2 deletions fire/api/firedb/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ def fejlmeld_koordinat(self, koordinat: Koordinat, sagsevent: Sagsevent, commit
ny_koordinat = None

if len(punkt.koordinater) == 1:
self._luk_fikspunkregisterobjekt(koordinat, sagsevent, commit=False)
self._luk_fikspunktregisterobjekt(koordinat, sagsevent, commit=False)

# byg relevant tidsserie
tidsserie = []
Expand Down Expand Up @@ -251,7 +251,7 @@ def fejlmeld_observation(self, observation: Observation, sagsevent: Sagsevent, c
"""
Fejlmeld en allerede eksisterende observation.
"""
self._luk_fikspunkregisterobjekt(observation, sagsevent, commit=False)
self._luk_fikspunktregisterobjekt(observation, sagsevent, commit=False)

observation.fejlmeldt = True
observation._registreringtil = func.current_timestamp()
Expand Down
4 changes: 2 additions & 2 deletions fire/api/firedb/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -93,11 +93,11 @@ def _create_engine(self):
execution_options=self._exe_opt,
)

def _luk_fikspunkregisterobjekt(
def _luk_fikspunktregisterobjekt(
self, objekt: FikspunktregisterObjekt, sagsevent: Sagsevent, commit: bool = True
):
objekt._registreringtil = func.current_timestamp()
objekt.sagseventtilid = sagsevent.id
objekt.slettet = sagsevent

self.session.add(objekt)
if commit:
Expand Down
12 changes: 6 additions & 6 deletions fire/api/firedb/indset.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def indset_sag(self, sag: Sag, commit: bool = True):
raise Exception("Mindst et SagsInfo objekt skal tilføjes Sagen")
if sag.sagsinfos[-1].aktiv != "true":
raise Exception("Sidst SagsInfo på sagen skal have aktiv = 'true'")

if self._is_new_object(sag):
self.session.add(sag)

Expand Down Expand Up @@ -75,7 +75,7 @@ def indset_sagsevent(self, sagsevent: Sagsevent, commit: bool = True):
if sagsevent.eventtype == EventType.KOORDINAT_NEDLAGT:
self._check_and_prepare_sagsevent(sagsevent, EventType.KOORDINAT_NEDLAGT)
for koordinat in sagsevent.koordinater_slettede:
self._luk_fikspunkregisterobjekt(koordinat, sagsevent, commit=commit)
self._luk_fikspunktregisterobjekt(koordinat, sagsevent, commit=commit)

if sagsevent.eventtype == EventType.OBSERVATION_INDSAT:
self._check_and_prepare_sagsevent(sagsevent, EventType.OBSERVATION_INDSAT)
Expand All @@ -88,7 +88,7 @@ def indset_sagsevent(self, sagsevent: Sagsevent, commit: bool = True):
self._check_and_prepare_sagsevent(sagsevent, EventType.OBSERVATION_NEDLAGT)

for obs in sagsevent.observationer_slettede:
self._luk_fikspunkregisterobjekt(obs, sagsevent, commit=commit)
self._luk_fikspunktregisterobjekt(obs, sagsevent, commit=commit)

if sagsevent.eventtype == EventType.PUNKTINFO_TILFOEJET:
self._check_and_prepare_sagsevent(sagsevent, EventType.PUNKTINFO_TILFOEJET)
Expand All @@ -103,7 +103,7 @@ def indset_sagsevent(self, sagsevent: Sagsevent, commit: bool = True):
self._check_and_prepare_sagsevent(sagsevent, EventType.PUNKTINFO_FJERNET)

for punktinformation in sagsevent.punktinformationer_slettede:
self._luk_fikspunkregisterobjekt(
self._luk_fikspunktregisterobjekt(
punktinformation, sagsevent, commit=commit
)

Expand All @@ -118,8 +118,8 @@ def indset_sagsevent(self, sagsevent: Sagsevent, commit: bool = True):
if sagsevent.eventtype == EventType.GRAFIK_NEDLAGT:
self._check_and_prepare_sagsevent(sagsevent, EventType.GRAFIK_NEDLAGT)

for grafik in sagsevent.grafikker:
self._luk_fikspunktsregisterobjekt(grafik, sagsevent, commit=commit)
for grafik in sagsevent.grafikker_slettede:
self._luk_fikspunktregisterobjekt(grafik, sagsevent, commit=commit)

self.session.add(sagsevent)
if commit:
Expand Down
50 changes: 24 additions & 26 deletions fire/api/firedb/luk.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,25 +52,23 @@ def luk_punkt(self, punkt: Punkt, sagsevent: Sagsevent, commit: bool = True):
raise TypeError("'punkt' er ikke en instans af Punkt")

sagsevent.eventtype = EventType.PUNKT_NEDLAGT
self._luk_fikspunkregisterobjekt(punkt, sagsevent, commit=False)

for geometriobjekt in punkt.geometriobjekter:
self._luk_fikspunkregisterobjekt(geometriobjekt, sagsevent, commit=False)

for koordinat in punkt.koordinater:
self._luk_fikspunkregisterobjekt(koordinat, sagsevent, commit=False)

for punktinfo in punkt.punktinformationer:
self._luk_fikspunkregisterobjekt(punktinfo, sagsevent, commit=False)

for observation in punkt.observationer_fra:
self._luk_fikspunkregisterobjekt(observation, sagsevent, commit=False)

for observation in punkt.observationer_til:
self._luk_fikspunkregisterobjekt(observation, sagsevent, commit=False)
self._luk_fikspunktregisterobjekt(punkt, sagsevent, commit=False)

objekter_til_lukning = (
punkt.geometriobjekter
+ punkt.koordinater
+ punkt.punktinformationer
+ punkt.observationer_fra
+ punkt.observationer_til
+ punkt.grafikker
)

for grafik in punkt.grafikker:
self._luk_fikspunkregisterobjekt(grafik, sagsevent, commit=False)
for objekt in objekter_til_lukning:
# Vi lukker kun objekter som ikke er lukkede i forvejen. Ellers vil vi komme
# til at overskrive ændringshistorikken (registrering- og sagseventtil).
if objekt.registreringtil is not None:
continue
self._luk_fikspunktregisterobjekt(objekt, sagsevent, commit=False)

if commit:
self.session.commit()
Expand All @@ -87,7 +85,7 @@ def luk_punktsamling(
raise TypeError("'punktsamling' er ikke en instans af PunktSamling")

sagsevent.eventtype = EventType.PUNKTGRUPPE_NEDLAGT
self._luk_fikspunkregisterobjekt(punktsamling, sagsevent, commit=commit)
self._luk_fikspunktregisterobjekt(punktsamling, sagsevent, commit=commit)

def luk_koordinat(
self, koordinat: Koordinat, sagsevent: Sagsevent, commit: bool = True
Expand All @@ -101,7 +99,7 @@ def luk_koordinat(
raise TypeError("'koordinat' er ikke en instans af Koordinat")

sagsevent.eventtype = EventType.KOORDINAT_NEDLAGT
self._luk_fikspunkregisterobjekt(koordinat, sagsevent, commit=commit)
self._luk_fikspunktregisterobjekt(koordinat, sagsevent, commit=commit)

def luk_tidsserie(
self, tidsserie: Tidsserie, sagsevent: Sagsevent, commit: bool = True
Expand All @@ -115,7 +113,7 @@ def luk_tidsserie(
raise TypeError("'tidsserie' er ikke en instans af Tidsserie")

sagsevent.eventtype = EventType.TIDSSERIE_NEDLAGT
self._luk_fikspunkregisterobjekt(tidsserie, sagsevent, commit=commit)
self._luk_fikspunktregisterobjekt(tidsserie, sagsevent, commit=commit)

def luk_observation(
self, observation: Observation, sagsevent: Sagsevent, commit: bool = True
Expand All @@ -129,7 +127,7 @@ def luk_observation(
raise TypeError("'observation' er ikk en instans af Observation")

sagsevent.eventtype = EventType.OBSERVATION_NEDLAGT
self._luk_fikspunkregisterobjekt(observation, sagsevent, commit=commit)
self._luk_fikspunktregisterobjekt(observation, sagsevent, commit=commit)

def luk_punktinfo(
self, punktinfo: PunktInformation, sagsevent: Sagsevent, commit: bool = True
Expand All @@ -143,7 +141,7 @@ def luk_punktinfo(
raise TypeError("'punktinfo' er ikke en instans af PunktInformation")

sagsevent.eventtype = EventType.PUNKTINFO_FJERNET
self._luk_fikspunkregisterobjekt(punktinfo, sagsevent, commit=commit)
self._luk_fikspunktregisterobjekt(punktinfo, sagsevent, commit=commit)

def luk_beregning(
self, beregning: Beregning, sagsevent: Sagsevent, commit: bool = True
Expand All @@ -159,13 +157,13 @@ def luk_beregning(

sagsevent.eventtype = EventType.KOORDINAT_NEDLAGT
for koordinat in beregning.koordinater:
self._luk_fikspunkregisterobjekt(koordinat, sagsevent, commit=False)
self._luk_fikspunkregisterobjekt(beregning, sagsevent, commit=commit)
self._luk_fikspunktregisterobjekt(koordinat, sagsevent, commit=False)
self._luk_fikspunktregisterobjekt(beregning, sagsevent, commit=commit)

def luk_grafik(self, grafik: Grafik, sagsevent: Sagsevent, commit: bool = True):
"""Luk et Grafik objekt."""
if not isinstance(grafik, Grafik):
raise TypeError("'grafik' er ikke en instans af Grafik")

sagsevent.eventtype = EventType.GRAFIK_NEDLAGT
self._luk_fikspunkregisterobjekt(grafik, sagsevent, commit=commit)
self._luk_fikspunktregisterobjekt(grafik, sagsevent, commit=commit)

0 comments on commit 1b40ed7

Please sign in to comment.