feat(tag): Workflow-Felder für Telefon-Akquise (is_erledigend, Wiedervorlage)
Tag-Modell um is_erledigend, loest_wiedervorlage_aus und wiedervorlage_abstand_tage erweitert. Migration V01_12 idempotent angelegt, Geschäftslogik mit Validierung, Client-Maske mit Controls und Workflow-Badges. Farb-Default Grau bei fehlender Farbe, parent_id im onchange direkt in currentTag übernehmen. Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
1 parent
1d8201f46a
commit
6f86bc9808
5 files changed
+206
-4
No files matched your search
@@ -243,6 +243,38 @@ def _db_V01_11():
|
||||
session.commit()
|
||||
|
||||
|
||||
def _db_V01_12():
|
||||
"""
|
||||
Fügt der Tabelle 'tags' die drei neuen Spalten für die
|
||||
Telefon-Akquise-Workflow-Logik hinzu:
|
||||
- is_erledigend (BOOLEAN NOT NULL DEFAULT 0)
|
||||
- loest_wiedervorlage_aus (BOOLEAN NOT NULL DEFAULT 0)
|
||||
- wiedervorlage_abstand_tage (INTEGER)
|
||||
|
||||
Idempotent: Bei Neuinstallation hat create_all die Spalten bereits
|
||||
angelegt — in diesem Fall wird das jeweilige ALTER TABLE übersprungen.
|
||||
"""
|
||||
from sqlalchemy import text
|
||||
|
||||
result = session.execute(text("PRAGMA table_info(tags)"))
|
||||
spalten = {row[1] for row in result}
|
||||
|
||||
if 'is_erledigend' not in spalten:
|
||||
session.execute(text(
|
||||
"ALTER TABLE tags ADD COLUMN is_erledigend BOOLEAN NOT NULL DEFAULT 0"
|
||||
))
|
||||
if 'loest_wiedervorlage_aus' not in spalten:
|
||||
session.execute(text(
|
||||
"ALTER TABLE tags ADD COLUMN loest_wiedervorlage_aus BOOLEAN NOT NULL DEFAULT 0"
|
||||
))
|
||||
if 'wiedervorlage_abstand_tage' not in spalten:
|
||||
session.execute(text(
|
||||
"ALTER TABLE tags ADD COLUMN wiedervorlage_abstand_tage INTEGER"
|
||||
))
|
||||
_updatesysteminfo('01.12')
|
||||
session.commit()
|
||||
|
||||
|
||||
def checkupdates():
|
||||
"""
|
||||
Ermittelt die aktuelle DB-Version aus der Systeminfo-Tabelle und führt alle
|
||||
|
||||
Reference in new issue
Block a user