feat(validation): add editing versioning revalidation and aligned reports

This commit is contained in:
Schubert Ferenc 2026-07-11 10:26:18 +02:00
parent f73a24df13
commit 302e542fda
28 changed files with 2691 additions and 406 deletions

View file

@ -0,0 +1,42 @@
from __future__ import annotations
from alembic import op
revision = "202607110001"
down_revision = "202607100002"
branch_labels = None
depends_on = None
def upgrade() -> None:
op.execute("ALTER TABLE validations ALTER COLUMN status TYPE varchar(40) USING status::text")
op.execute(
"""
UPDATE validations
SET status = CASE status
WHEN 'draft' THEN 'ENTWURF'
WHEN 'ready_for_report' THEN 'BEREIT_ZUR_PRUEFUNG'
WHEN 'in_progress' THEN 'IN_PRUEFUNG'
WHEN 'completed' THEN 'ABGESCHLOSSEN'
ELSE status
END
"""
)
op.execute("ALTER TABLE validations ALTER COLUMN status SET DEFAULT 'ENTWURF'")
def downgrade() -> None:
op.execute(
"""
UPDATE validations
SET status = CASE status
WHEN 'ENTWURF' THEN 'draft'
WHEN 'BEREIT_ZUR_PRUEFUNG' THEN 'ready_for_report'
WHEN 'IN_PRUEFUNG' THEN 'in_progress'
WHEN 'FREIGEGEBEN' THEN 'ready_for_report'
WHEN 'ABGESCHLOSSEN' THEN 'completed'
WHEN 'STORNIERT' THEN 'completed'
ELSE status
END
"""
)

View file

@ -0,0 +1,25 @@
from __future__ import annotations
from alembic import op
import sqlalchemy as sa
revision = "202607110002"
down_revision = "202607110001"
branch_labels = None
depends_on = None
def upgrade() -> None:
op.add_column("validations", sa.Column("revalidation_interval_months", sa.Integer(), nullable=False, server_default="24"))
op.add_column("validations", sa.Column("next_validation_manually_overridden", sa.Boolean(), nullable=False, server_default=sa.false()))
op.add_column("validations", sa.Column("version", sa.Integer(), nullable=False, server_default="1"))
op.add_column("validations", sa.Column("previous_validation_id", sa.String(), nullable=True))
op.create_foreign_key("fk_validations_previous_validation_id_validations", "validations", "validations", ["previous_validation_id"], ["id"])
def downgrade() -> None:
op.drop_constraint("fk_validations_previous_validation_id_validations", "validations", type_="foreignkey")
op.drop_column("validations", "previous_validation_id")
op.drop_column("validations", "version")
op.drop_column("validations", "next_validation_manually_overridden")
op.drop_column("validations", "revalidation_interval_months")