Reports
This commit is contained in:
47
project/main/views/complex_form/reports_state.py
Normal file
47
project/main/views/complex_form/reports_state.py
Normal file
@ -0,0 +1,47 @@
|
||||
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
|
||||
Reference in New Issue
Block a user