Anzeige für den Eigentümer und Korrekturen im Tab „Eigentümer“ (#56)
„Daten anzeigen“ in der Trefferliste zeigt Name, Anschrift und E-Mail der gewählten Einträge in einem eigenen Fenster: auf einem zweiten Bildschirm im Vollbild, auf dem QGIS-Bildschirm als normales Fenster. Die Sitzung wird von Hand begonnen und beendet; „Anzeige leeren“ entfernt die Daten, ohne das Fenster zu schließen. Konten, IDs und Kennzeichen erscheinen dort nicht, alle Werte werden maskiert. „Korrigieren …“ ändert angezeigte Daten. Die Eigentümerdatei bleibt unverändert; jede Änderung wird mit Zeitpunkt, Konto, Personen-ID, altem und neuem Wert an <Eigentümerdatei>_korrekturen.csv angehängt und sofort angezeigt. Ohne beschreibbaren Ordner wird nach dem Speicherort gefragt. In test_eigentuemer_tab.py sind die beim letzten Mal zusammengezogenen with-Zeilen wieder umbrochen; die Trefferliste bekommt jetzt den Anzeige-Rückruf, der Test dazu ist angepasst. Dritter und letzter Schritt von #56. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -2,12 +2,13 @@
|
||||
|
||||
Nicht modales Fenster für den Bearbeiter. Es zeigt die zusammengefassten
|
||||
Treffer mit dem Wert von ``PER_RECHTSPERSON`` (noch nicht entschlüsselt) und dem
|
||||
Kennzeichen „verstorben“ und erlaubt die Mehrfachauswahl. Die Tabelle kommt aus
|
||||
Kennzeichen „verstorben“ und erlaubt die Mehrfachauswahl. „Daten anzeigen“
|
||||
übergibt die Auswahl an das Anzeigefenster für den Eigentümer. Die Tabelle kommt aus
|
||||
:func:`~sn_verfahrensgebiet.functions.verfahrensgebiet_dialoge.baue_auswahltabelle`,
|
||||
dieselbe wie bei „Verfahrensgebiete aus Landkreis laden“.
|
||||
"""
|
||||
|
||||
from typing import List, Sequence, Tuple
|
||||
from typing import Callable, List, Optional, Sequence, Tuple
|
||||
|
||||
from sn_basis.functions.qt_wrapper import QDialog, QVBoxLayout, QHBoxLayout, QLabel, QPushButton
|
||||
|
||||
@@ -34,9 +35,15 @@ def trefferzeile(eigentuemer: Eigentuemer) -> Tuple[str, str, str, str, str]:
|
||||
class EigentuemerTrefferFenster(QDialog):
|
||||
"""Trefferliste der Eigentümersuche; bleibt offen, während weitergesucht wird."""
|
||||
|
||||
def __init__(self, treffer: Sequence[Eigentuemer], parent=None):
|
||||
def __init__(
|
||||
self,
|
||||
treffer: Sequence[Eigentuemer],
|
||||
parent=None,
|
||||
beim_anzeigen: Optional[Callable[[List[Eigentuemer]], None]] = None,
|
||||
):
|
||||
super().__init__(parent)
|
||||
self.treffer: List[Eigentuemer] = list(treffer)
|
||||
self.beim_anzeigen = beim_anzeigen
|
||||
self.setWindowTitle("Eigentümersuche – Treffer")
|
||||
self.setModal(False)
|
||||
|
||||
@@ -55,6 +62,10 @@ class EigentuemerTrefferFenster(QDialog):
|
||||
self.tabelle.selectRow(0)
|
||||
|
||||
knoepfe = QHBoxLayout()
|
||||
self.btn_anzeigen = QPushButton("Daten anzeigen")
|
||||
self.btn_anzeigen.setToolTip("Zeigt die ausgewählten Einträge im Fenster für den Eigentümer.")
|
||||
self.btn_anzeigen.clicked.connect(self._on_anzeigen)
|
||||
knoepfe.addWidget(self.btn_anzeigen)
|
||||
knoepfe.addStretch()
|
||||
self.btn_schliessen = QPushButton("Schließen")
|
||||
self.btn_schliessen.clicked.connect(self.close)
|
||||
@@ -66,3 +77,7 @@ class EigentuemerTrefferFenster(QDialog):
|
||||
def ausgewaehlte_eigentuemer(self) -> List[Eigentuemer]:
|
||||
"""Die in der Tabelle ausgewählten Treffer, in der Reihenfolge der Trefferliste."""
|
||||
return [self.treffer[i] for i in ausgewaehlte_indizes(self.tabelle)]
|
||||
|
||||
def _on_anzeigen(self) -> None:
|
||||
if self.beim_anzeigen is not None:
|
||||
self.beim_anzeigen(self.ausgewaehlte_eigentuemer())
|
||||
|
||||
Reference in New Issue
Block a user