Commit Graph
12 Commits
Author SHA1 Message Date
erikandClaude Fable 5.1 b97f066b49 Seitenleiste statt Werkzeugleiste
Erik, 08.09.2026: "ich will keine Toolbar, sondern so eine Seitenleiste auf der
rechten Seite."

- vln_karten/panel.py (neu): andockbares QDockWidget, rechts angedockt, mit den
  Abschnitten Anmeldung, Verfahren, OGC API und Klassisch (GeoJSON) sowie einer
  Statuszeile. Reine Oberflaeche; Klicks gehen als Rueckrufe ans Plugin.
- Verfahrensliste bekommt ein Suchfeld (Hausregel: Auswahllisten immer mit
  Filter). Die Auswahl bleibt beim Filtern erhalten, "kein Treffer" liefert
  kein VKZ.
- Der Stil-Knopf hat jetzt ein Haekchen "als Vorlage fuer alle Verfahren"; die
  Umschalttaste wirkt weiterhin.
- Abmelden ist ein eigener Knopf (verwirft den gespeicherten API-Key).
- Menue Web -> VLN Karten -> "Seitenleiste anzeigen" blendet sie wieder ein.
- tools/headless_panel_test.py: prueft Zustaende, Filter, Rueckrufe und rendert
  das Layout als PNG (QGIS 4.2 offscreen). Lauf am 08.09.2026: 17 Pruefungen,
  0 Fehler, 285 Verfahren in der Liste.
- README und metadata.txt (0.3.0) nachgezogen.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-08 08:28:11 +02:00
ErikandClaude Opus 4.8 4504f9a34c Stile: beim Laden vom Server anwenden, Knopf zum Zurueckspeichern (Gruppe MODUL_KARTENSTIL)
- ogc_layers.stil_anwenden(): GET …/style.qml, in eine Temp-Datei, loadNamedStyle; scheitert
  der Abruf, bleibt die QGIS-Zufallsfarbe (kein Abbruch des Ladens).
- ogc_layers.stil_speichern(): saveNamedStyle -> PUT; 403 meldet die fehlende Gruppe im Klartext.
- plugin.run_save_style(): Knopf 'Stil des aktiven Layers speichern'; mit Umschalttaste als
  Vorlage der Art (gilt fuer alle Verfahren, z. B. Karte alter Stand).
- README: Abschnitt Stile samt Routen und Berechtigung.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-07 21:07:54 +02:00
ErikandClaude Opus 4.8 dc960ddca4 Login beim Start, API-Key wird gespeichert; README: PAC-Proxy als Bremse
Erik (07.09.2026): "zuerst soll ein Loginfenster kommen und nach dem Login soll der Apikey
gespeichert werden."

- plugin.py: ohne gespeicherten Key zeigt initGui 1,5 s nach dem QGIS-Start den
  Anmeldedialog (singleShot, damit der Dialog den Start nicht blockiert); mit Key wie
  bisher direkt die Verfahrensliste.
- Nach erfolgreichem Login werden api_key (userauth) UND mail in QSettings gemerkt, die
  Meldung nennt den angemeldeten Nutzer und die Dauerhaftigkeit. Das Passwort wird nie
  gespeichert.
- README: Login-Verhalten; Abschnitt zum PAC-Proxy, der jede QGIS-Anfrage ~10 s kostet
  (gemessen 07.09.2026: Server antwortet in 0,35 s, alle Antworten 200/204).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-07 19:37:32 +02:00
ErikandClaude Opus 4.8 637a3762ad OGC-Layer: ohne Authentifizierungs-DB Rueckfall auf Benutzer 'apikey' + API-Key als Passwort in der Datenquelle
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-07 18:32:35 +02:00
ErikandClaude Opus 4.8 09609ec456 Toolbar: 'Alle Layer (OGC API) laden' direkt hinter der Verfahrensauswahl (war bei 1440 px abgeschnitten)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-07 18:28:57 +02:00
ErikandClaude Opus 4.8 2454f99422 tools/headless_ogc_test.py: PyQGIS-Headless-Test gegen die OGC API (Laden, Anlegen, Aendern, Loeschen)
Mit QGIS 4.2.0 am 07.09.2026 gemessen: 0 Fehler. README nennt die Server-Anforderungen
(service-desc/OpenAPI, Part-5-Schema, OPTIONS Allow, Merge Patch).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-07 18:27:31 +02:00
ErikandClaude Opus 4.8 0ce4c0ed37 README: Sammlungen je Geometriefamilie (-punkt/-linie/-flaeche), Beispiel angepasst
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-07 17:59:51 +02:00
ErikandClaude Opus 4.8 4c52c464dd OGC API Features: alle Layer (Vorerhebung bis Massnahmenblatt) als editierbare OAPIF-Layer
Seit dem 07.09.2026 bietet die API OGC API Features (Part 1/2/3/4) unter /v2/ogc. Neu:
- vln_karten/ogc_layers.py: Auth-Konfiguration "APIHeader" (X-API-Key aus dem Login,
  kein Passwort in QGIS), GET /ogc/collections?vkz=, je Sammlung ein QgsVectorLayer(...,
  "OAPIF") in Gruppen (Vorerhebung / Massnahmenblaetter / Verfahren); Speicher-CRS je
  Sammlung (EPSG:25833 bzw. CRS84).
- plugin.py: Toolbar-Aktion "Alle Layer (OGC API) laden" (run_load_ogc).
- README: Weg ohne Plugin (Datenquellenverwaltung, Basic oder API-Header), Sammlungs-IDs,
  Schreibregeln (in place, Vorerhebung nur "bearbeitung", Massnahmenblatt blatt_*),
  Routenuebersicht; klassischer GeoJSON-Weg bleibt als zweiter Abschnitt.
- metadata: 0.2.0.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-07 09:47:55 +02:00
erikandClaude Fable 5 2eff228217 README: API-Kommunikation statt API-Vertrag, DB-Interna entfernt
Tabellennamen der Server-Datenbank gehen API-Nutzer nichts an —
beschrieben wird nur noch die Schnittstelle selbst.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 13:39:28 +02:00
erikandClaude Fable 5 2a4e970859 README auf Demo-Charakter ausgerichtet
Das Repo ist als Beispiel für die Ansteuerung der Karten-API aus QGIS
gedacht: README beginnt jetzt mit einem PyQGIS-Minimalbeispiel
(Login -> GET -> PUT), benennt die drei Stolpersteine (EPSG:25833,
gemischte Geometrietypen, PUT ersetzt alles) und führt das Plugin als
Referenz-Implementierung ein. metadata.txt-Beschreibung entsprechend.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 13:37:15 +02:00
erikandClaude Fable 5 091ef281b0 QGIS-Plugin VLN Karten: Verfahrens-Layer der Karten-API laden und hochladen
Lädt Verfahrensgebiet, Plan 41, Karte alter Stand (KAS) und Wertermittlung
(WE) je VKZ vollständig aus KARTE_OBJEKT (Listen-Endpunkt mit Paging) und
schreibt sie per PUT zurück. Einmaliger Login (mail/password -> userauth),
API-Key persistiert in QSettings; Verfahrens-Auswahl in der Toolbar wird
je QGIS-Projekt gemerkt. Gemischte Geometrietypen werden beim Laden in
Punkte-/Linien-/Flächen-Layer gesplittet und beim Hochladen wieder
vereint. Qt5/Qt6-kompatibel (QGIS 3.22+ und QGIS 4).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 13:31:44 +02:00
Erik b222b33de7 Initial commit 2026-06-12 13:23:45 +02:00