Refactor "edit printer settings" view for Label Profile
for sake of Buefy, but it was definitely using some old form patterns...
This commit is contained in:
parent
a37b0229a0
commit
5907973d42
3 changed files with 86 additions and 73 deletions
|
@ -37,6 +37,7 @@ from sqlalchemy.ext.associationproxy import AssociationProxy, ASSOCIATION_PROXY
|
|||
|
||||
from rattail.time import localtime
|
||||
from rattail.util import prettify, pretty_boolean, pretty_hours, pretty_quantity
|
||||
from rattail.core import UNSPECIFIED
|
||||
|
||||
import colander
|
||||
import deform
|
||||
|
@ -338,7 +339,7 @@ class Form(object):
|
|||
auto_disable_cancel = True
|
||||
|
||||
def __init__(self, fields=None, schema=None, request=None, mobile=False, readonly=False, readonly_fields=[],
|
||||
model_instance=None, model_class=None, nodes={}, enums={}, labels={}, renderers=None,
|
||||
model_instance=None, model_class=None, appstruct=UNSPECIFIED, nodes={}, enums={}, labels={}, renderers=None,
|
||||
hidden={}, widgets={}, defaults={}, validators={}, required={}, helptext={}, focus_spec=None,
|
||||
action_url=None, cancel_url=None, use_buefy=None):
|
||||
|
||||
|
@ -358,6 +359,7 @@ class Form(object):
|
|||
self.model_class = type(self.model_instance)
|
||||
if self.model_class and self.fields is None:
|
||||
self.set_fields(self.make_fields())
|
||||
self.appstruct = appstruct
|
||||
self.nodes = nodes or {}
|
||||
self.enums = enums or {}
|
||||
self.labels = labels or {}
|
||||
|
@ -706,7 +708,12 @@ class Form(object):
|
|||
|
||||
# get initial form values from model instance
|
||||
kwargs = {}
|
||||
if self.model_instance:
|
||||
# TODO: ugh, this is necessary to avoid some logic
|
||||
# which assumes a ColanderAlchemy schema i think?
|
||||
if self.appstruct is not UNSPECIFIED:
|
||||
if self.appstruct:
|
||||
kwargs['appstruct'] = self.appstruct
|
||||
elif self.model_instance:
|
||||
if self.model_class:
|
||||
kwargs['appstruct'] = schema.dictify(self.model_instance)
|
||||
else:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue