441 |
441 |
self.formdef.store()
|
442 |
442 |
return redirect('.')
|
443 |
443 |
|
444 |
|
def roles(self):
|
|
444 |
def _roles_selection(self, title, attribute, description=None):
|
445 |
445 |
form = Form(enctype='multipart/form-data')
|
446 |
|
form.add(WidgetList, 'roles', title=_('User Roles'), element_type=SingleSelectWidget,
|
447 |
|
value=self.formdef.roles,
|
|
446 |
form.add(WidgetList, 'roles', element_type=SingleSelectWidget,
|
|
447 |
value=getattr(self.formdef, attribute),
|
448 |
448 |
add_element_label = _('Add Role'),
|
449 |
449 |
element_kwargs = {str('render_br'): False,
|
450 |
450 |
str('options'): [(None, str('---')),
|
... | ... | |
458 |
458 |
get_response().breadcrumb.append( ('roles', _('User Roles')) )
|
459 |
459 |
self.html_top(title=self.formdef.name)
|
460 |
460 |
r = TemplateIO(html=True)
|
461 |
|
r += htmltext('<h2>%s</h2>') % _('Roles')
|
462 |
|
r += htmltext('<p>%s</p>') % _('Select the roles that can access this form.')
|
|
461 |
r += htmltext('<h2>%s</h2>') % title
|
|
462 |
if description:
|
|
463 |
r += htmltext('<p>%s</p>') % description
|
463 |
464 |
r += form.render()
|
464 |
465 |
return r.getvalue()
|
465 |
466 |
else:
|
466 |
|
roles = form.get_widget('roles').parse()
|
467 |
|
if roles:
|
468 |
|
self.formdef.roles = [x for x in roles if x]
|
469 |
|
else:
|
470 |
|
self.formdef.roles = []
|
|
467 |
roles = form.get_widget('roles').parse() or []
|
|
468 |
setattr(self.formdef, attribute, [x for x in roles if x])
|
471 |
469 |
self.formdef.store()
|
472 |
470 |
return redirect('.')
|
473 |
471 |
|
|
472 |
def roles(self):
|
|
473 |
return self._roles_selection(
|
|
474 |
title=_('User Roles'),
|
|
475 |
attribute='roles',
|
|
476 |
description=_('Select the roles that can access this form.'))
|
|
477 |
|
474 |
478 |
def title(self):
|
475 |
479 |
form = Form(enctype='multipart/form-data')
|
476 |
480 |
form.add(StringWidget, 'name', title=_('Form Title'), required=True,
|
477 |
|
-
|