feat(orion): extend report layout settings to version 1.1

This commit is contained in:
Schubert Ferenc 2026-07-12 14:56:15 +02:00
parent 12e1761a5b
commit 613ffdc8b7
591 changed files with 3601 additions and 999 deletions

View file

@ -0,0 +1,66 @@
"""orion report settings
Revision ID: 202607120001
Revises: 202607110007
Create Date: 2026-07-12 12:00:00.000000
"""
from __future__ import annotations
from alembic import op
import sqlalchemy as sa
revision = "202607120001"
down_revision = "202607110007"
branch_labels = None
depends_on = None
def upgrade() -> None:
op.create_table(
"orion_report_settings",
sa.Column("scope", sa.String(length=40), nullable=False),
sa.Column("layout_profile", sa.String(length=40), nullable=False),
sa.Column("show_cover_result_text", sa.Boolean(), nullable=False),
sa.Column("signature_mode", sa.String(length=60), nullable=False),
sa.Column("image_size", sa.String(length=40), nullable=False),
sa.Column("page_break_before_main_chapters", sa.Boolean(), nullable=False),
sa.Column("updated_by_user_id", sa.String(), nullable=True),
sa.Column("id", sa.String(), nullable=False),
sa.Column("created_at", sa.DateTime(timezone=True), server_default=sa.func.now(), nullable=False),
sa.Column("updated_at", sa.DateTime(timezone=True), server_default=sa.func.now(), nullable=False),
sa.ForeignKeyConstraint(["updated_by_user_id"], ["users.id"], name=op.f("fk_orion_report_settings_updated_by_user_id_users")),
sa.PrimaryKeyConstraint("id", name=op.f("pk_orion_report_settings")),
sa.UniqueConstraint("scope", name=op.f("uq_orion_report_settings_scope")),
)
op.create_index(op.f("ix_orion_report_settings_scope"), "orion_report_settings", ["scope"], unique=True)
op.create_index(op.f("ix_orion_report_settings_updated_by_user_id"), "orion_report_settings", ["updated_by_user_id"], unique=False)
op.execute(
"""
INSERT INTO orion_report_settings (
id,
scope,
layout_profile,
show_cover_result_text,
signature_mode,
image_size,
page_break_before_main_chapters
)
VALUES (
'00000000-0000-4000-8000-000000000001',
'GLOBAL',
'STANDARD',
true,
'TECHNICAL_ONLY',
'MEDIUM',
true
)
"""
)
def downgrade() -> None:
op.drop_index(op.f("ix_orion_report_settings_updated_by_user_id"), table_name="orion_report_settings")
op.drop_index(op.f("ix_orion_report_settings_scope"), table_name="orion_report_settings")
op.drop_table("orion_report_settings")

View file

@ -0,0 +1,59 @@
"""orion report settings v1.1
Revision ID: 202607120002
Revises: 202607120001
Create Date: 2026-07-12 13:00:00.000000
"""
from __future__ import annotations
from alembic import op
import sqlalchemy as sa
revision = "202607120002"
down_revision = "202607120001"
branch_labels = None
depends_on = None
def upgrade() -> None:
op.add_column("orion_report_settings", sa.Column("page_margin", sa.String(length=40), nullable=False, server_default="STANDARD"))
op.add_column("orion_report_settings", sa.Column("section_spacing", sa.String(length=40), nullable=False, server_default="STANDARD"))
op.add_column("orion_report_settings", sa.Column("table_layout", sa.String(length=40), nullable=False, server_default="STANDARD"))
op.add_column("orion_report_settings", sa.Column("table_font_size", sa.String(length=40), nullable=False, server_default="STANDARD"))
op.add_column("orion_report_settings", sa.Column("image_position", sa.String(length=40), nullable=False, server_default="SIDE_BY_SIDE"))
op.add_column("orion_report_settings", sa.Column("max_images_per_page", sa.Integer(), nullable=False, server_default="2"))
op.add_column("orion_report_settings", sa.Column("show_image_captions", sa.Boolean(), nullable=False, server_default=sa.true()))
op.add_column("orion_report_settings", sa.Column("show_header", sa.Boolean(), nullable=False, server_default=sa.true()))
op.add_column("orion_report_settings", sa.Column("show_footer", sa.Boolean(), nullable=False, server_default=sa.true()))
op.add_column("orion_report_settings", sa.Column("logo_size", sa.String(length=40), nullable=False, server_default="MEDIUM"))
op.add_column("orion_report_settings", sa.Column("compact_cover", sa.Boolean(), nullable=False, server_default=sa.false()))
for column in [
"page_margin",
"section_spacing",
"table_layout",
"table_font_size",
"image_position",
"max_images_per_page",
"show_image_captions",
"show_header",
"show_footer",
"logo_size",
"compact_cover",
]:
op.alter_column("orion_report_settings", column, server_default=None)
def downgrade() -> None:
op.drop_column("orion_report_settings", "compact_cover")
op.drop_column("orion_report_settings", "logo_size")
op.drop_column("orion_report_settings", "show_footer")
op.drop_column("orion_report_settings", "show_header")
op.drop_column("orion_report_settings", "show_image_captions")
op.drop_column("orion_report_settings", "max_images_per_page")
op.drop_column("orion_report_settings", "image_position")
op.drop_column("orion_report_settings", "table_font_size")
op.drop_column("orion_report_settings", "table_layout")
op.drop_column("orion_report_settings", "section_spacing")
op.drop_column("orion_report_settings", "page_margin")