fixes and refactor
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
Lookup table models based on legacy system analysis
|
||||
"""
|
||||
from sqlalchemy import Column, Integer, String, Text, Boolean, Float
|
||||
from sqlalchemy import Column, Integer, String, Text, Boolean, Float, ForeignKey
|
||||
from app.models.base import BaseModel
|
||||
|
||||
|
||||
@@ -53,6 +53,9 @@ class FileStatus(BaseModel):
|
||||
description = Column(String(200), nullable=False) # Description
|
||||
active = Column(Boolean, default=True) # Is status active
|
||||
sort_order = Column(Integer, default=0) # Display order
|
||||
# Legacy fields for typed import support
|
||||
send = Column(Boolean, default=True) # Should statements print by default
|
||||
footer_code = Column(String(45), ForeignKey("footers.footer_code")) # Default footer
|
||||
|
||||
def __repr__(self):
|
||||
return f"<FileStatus(code='{self.status_code}', description='{self.description}')>"
|
||||
@@ -169,9 +172,10 @@ class FormIndex(BaseModel):
|
||||
"""
|
||||
__tablename__ = "form_index"
|
||||
|
||||
form_id = Column(String(45), primary_key=True, index=True) # Form identifier
|
||||
form_id = Column(String(45), primary_key=True, index=True) # Form identifier (maps to Name)
|
||||
form_name = Column(String(200), nullable=False) # Form name
|
||||
category = Column(String(45)) # Form category
|
||||
keyword = Column(String(200)) # Legacy FORM_INX Name/Keyword pair
|
||||
active = Column(Boolean, default=True) # Is form active
|
||||
|
||||
def __repr__(self):
|
||||
@@ -189,6 +193,7 @@ class FormList(BaseModel):
|
||||
form_id = Column(String(45), nullable=False) # Form identifier
|
||||
line_number = Column(Integer, nullable=False) # Line number in form
|
||||
content = Column(Text) # Line content
|
||||
status = Column(String(45)) # Legacy FORM_LST Status
|
||||
|
||||
def __repr__(self):
|
||||
return f"<FormList(form_id='{self.form_id}', line={self.line_number})>"
|
||||
@@ -201,12 +206,34 @@ class PrinterSetup(BaseModel):
|
||||
"""
|
||||
__tablename__ = "printers"
|
||||
|
||||
# Core identity and basic configuration
|
||||
printer_name = Column(String(100), primary_key=True, index=True) # Printer name
|
||||
description = Column(String(200)) # Description
|
||||
driver = Column(String(100)) # Print driver
|
||||
port = Column(String(20)) # Port/connection
|
||||
default_printer = Column(Boolean, default=False) # Is default printer
|
||||
active = Column(Boolean, default=True) # Is printer active
|
||||
|
||||
# Legacy numeric printer number (from PRINTERS.csv "Number")
|
||||
number = Column(Integer)
|
||||
|
||||
# Legacy control sequences and formatting (from PRINTERS.csv)
|
||||
page_break = Column(String(50))
|
||||
setup_st = Column(String(200))
|
||||
reset_st = Column(String(200))
|
||||
b_underline = Column(String(100))
|
||||
e_underline = Column(String(100))
|
||||
b_bold = Column(String(100))
|
||||
e_bold = Column(String(100))
|
||||
|
||||
# Optional report configuration toggles (legacy flags)
|
||||
phone_book = Column(Boolean, default=False)
|
||||
rolodex_info = Column(Boolean, default=False)
|
||||
envelope = Column(Boolean, default=False)
|
||||
file_cabinet = Column(Boolean, default=False)
|
||||
accounts = Column(Boolean, default=False)
|
||||
statements = Column(Boolean, default=False)
|
||||
calendar = Column(Boolean, default=False)
|
||||
|
||||
def __repr__(self):
|
||||
return f"<Printer(name='{self.printer_name}', description='{self.description}')>"
|
||||
@@ -225,4 +252,19 @@ class SystemSetup(BaseModel):
|
||||
setting_type = Column(String(20), default="STRING") # DATA type (STRING, INTEGER, FLOAT, BOOLEAN)
|
||||
|
||||
def __repr__(self):
|
||||
return f"<SystemSetup(key='{self.setting_key}', value='{self.setting_value}')>"
|
||||
return f"<SystemSetup(key='{self.setting_key}', value='{self.setting_value}')>"
|
||||
|
||||
|
||||
class FormKeyword(BaseModel):
|
||||
"""
|
||||
Form keyword lookup
|
||||
Corresponds to INX_LKUP table in legacy system
|
||||
"""
|
||||
__tablename__ = "form_keywords"
|
||||
|
||||
keyword = Column(String(200), primary_key=True, index=True)
|
||||
description = Column(String(200))
|
||||
active = Column(Boolean, default=True)
|
||||
|
||||
def __repr__(self):
|
||||
return f"<FormKeyword(keyword='{self.keyword}')>"
|
||||
Reference in New Issue
Block a user