Add support for batch execution options in Buefy themes

i.e. from "view batch" page
This commit is contained in:
Lance Edgar 2020-08-23 13:46:32 -05:00
parent 7a0f975b31
commit d2d632092b
2 changed files with 79 additions and 59 deletions

View file

@ -49,6 +49,7 @@ from rattail.progress import SocketProgress
import colander
import deform
from deform import widget as dfwidget
from pyramid.renderers import render_to_response
from pyramid.response import FileResponse
from webhelpers2.html import HTML, tags
@ -800,6 +801,7 @@ class BatchMasterView(MasterView):
"""
defaults = {}
route_prefix = self.get_route_prefix()
use_buefy = self.get_use_buefy()
if self.has_execution_options(batch):
if batch is None:
@ -818,10 +820,14 @@ class BatchMasterView(MasterView):
labels = kwargs.setdefault('labels', {})
labels[field.name] = field.title
# auto-convert select widgets for buefy theme
if use_buefy and isinstance(field.widget, forms.widgets.PlainSelectWidget):
field.widget = dfwidget.SelectWidget(values=field.widget.values)
else:
schema = colander.Schema()
kwargs['use_buefy'] = self.get_use_buefy()
kwargs['use_buefy'] = use_buefy
kwargs['component'] = 'execute-form'
return forms.Form(schema=schema, request=self.request, defaults=defaults, **kwargs)