48 lines
2.3 KiB
Python
48 lines
2.3 KiB
Python
from dataclasses import dataclass
|
|
|
|
from project.main.views.complex_form.state_models import CheckboxState, SelectState
|
|
|
|
|
|
@dataclass
|
|
class ReportsState:
|
|
enabled: CheckboxState
|
|
cash_conformity: CheckboxState
|
|
days_between_cc: SelectState
|
|
scan_2nd_bardcode: CheckboxState
|
|
allow_empty_cashbag: CheckboxState
|
|
reports_builder: CheckboxState
|
|
tax_reports: CheckboxState
|
|
transaction_list: CheckboxState
|
|
reports_generator: CheckboxState
|
|
technical_center_reports: CheckboxState
|
|
dispense_list: CheckboxState
|
|
|
|
@staticmethod
|
|
def from_form(values: dict[str, str]) -> "ReportsState":
|
|
print(values)
|
|
return ReportsState(
|
|
enabled=CheckboxState(checked=values.get("reports") == "on"),
|
|
cash_conformity=CheckboxState(checked=values.get("cash_conformity") == "on"),
|
|
days_between_cc=SelectState(value=values.get("days_between_cc")),
|
|
scan_2nd_bardcode=CheckboxState(checked=values.get("scan_2nd_bardcode") == "on"),
|
|
allow_empty_cashbag=CheckboxState(checked=values.get("allow_empty_cashbag") == "on"),
|
|
reports_builder=CheckboxState(checked=values.get("reports_builder") == "on"),
|
|
tax_reports=CheckboxState(checked=values.get("tax_reports") == "on"),
|
|
transaction_list=CheckboxState(checked=values.get("transaction_list") == "on"),
|
|
reports_generator=CheckboxState(checked=values.get("reports_generator") == "on"),
|
|
technical_center_reports=CheckboxState(checked=values.get("technical_center_reports") == "on"),
|
|
dispense_list=CheckboxState(checked=values.get("dispense_list") == "on"),
|
|
)
|
|
|
|
def control_state(self) -> None:
|
|
self.cash_conformity.enabled = self.enabled.checked
|
|
self.days_between_cc.enabled = self.cash_conformity.enabled and self.cash_conformity.checked
|
|
self.scan_2nd_bardcode.enabled = self.cash_conformity.enabled and self.cash_conformity.checked
|
|
self.allow_empty_cashbag.enabled = self.enabled.checked
|
|
self.reports_builder.enabled = self.enabled.checked
|
|
self.tax_reports.enabled = self.enabled.checked
|
|
self.transaction_list.enabled = self.enabled.checked
|
|
self.reports_generator.enabled = self.enabled.checked
|
|
self.technical_center_reports.enabled = self.enabled.checked
|
|
self.dispense_list.enabled = self.enabled.checked
|