Introduce support for "children first" truck dump receiving

still needs more testing to see what's left...
This commit is contained in:
Lance Edgar 2019-02-06 16:50:40 -06:00
parent 4af971b83c
commit a45ce2ced2
7 changed files with 201 additions and 34 deletions

View file

@ -565,7 +565,7 @@ class Form(object):
node = colander.SchemaNode(nodeinfo, **kwargs)
self.nodes[key] = node
def set_type(self, key, type_):
def set_type(self, key, type_, **kwargs):
if type_ == 'datetime':
self.set_renderer(key, self.render_datetime)
elif type_ == 'datetime_local':
@ -599,9 +599,11 @@ class Form(object):
self.set_widget(key, dfwidget.TextAreaWidget(cols=80, rows=8))
elif type_ == 'file':
tmpstore = SessionFileUploadTempStore(self.request)
self.set_node(key, colander.SchemaNode(deform.FileData(),
widget=dfwidget.FileUploadWidget(tmpstore),
title=self.get_label(key)))
kw = {'widget': dfwidget.FileUploadWidget(tmpstore),
'title': self.get_label(key)}
if 'required' in kwargs and not kwargs['required']:
kw['missing'] = colander.null
self.set_node(key, colander.SchemaNode(deform.FileData(), **kw))
else:
raise ValueError("unknown type for '{}' field: {}".format(key, type_))
@ -619,6 +621,12 @@ class Form(object):
def get_enum(self, key):
return self.enums.get(key)
# TODO: i don't think this is actually being used anywhere..?
def set_enum_value(self, key, enum_key, enum_value):
enum = self.enums.get(key)
if enum:
enum[enum_key] = enum_value
def set_renderer(self, key, renderer):
if renderer is None:
if key in self.renderers: