226 |
226 |
list_forms = [(None, '---', '')]
|
227 |
227 |
list_forms += [(x.url_name, x.name, x.url_name) for x in self.formdef_class.select(order_by='name')
|
228 |
228 |
if not x.disabled or x.url_name == self.formdef_slug]
|
229 |
|
form.add(SingleSelectWidget, 'formdef_slug',
|
230 |
|
title=_(self.formdef_label),
|
|
229 |
form.add(SingleSelectWidget, '%sformdef_slug' % prefix,
|
|
230 |
title=_('Form'),
|
231 |
231 |
value=self.formdef_slug,
|
232 |
232 |
options=list_forms)
|
233 |
233 |
if 'draft' in parameters:
|
... | ... | |
250 |
250 |
value=self.keep_submission_context,
|
251 |
251 |
advanced=(
|
252 |
252 |
self.keep_submission_context == CreateFormdataWorkflowStatusItem.keep_submission_context))
|
253 |
|
formdef = self._resolve_formdef_slug(form.get('formdef_slug'))
|
|
253 |
formdef_slug = form.get('%sformdef_slug' % prefix)
|
|
254 |
formdef = self._resolve_formdef_slug(formdef_slug)
|
254 |
255 |
if 'mappings' in parameters and formdef:
|
255 |
256 |
form.add(MappingsWidget, '%smappings' % prefix,
|
256 |
257 |
title=_(self.mappings_label),
|
257 |
258 |
to_formdef=formdef,
|
258 |
259 |
value=self.mappings)
|
|
260 |
if form.is_submitted():
|
|
261 |
# do not validate form if formdef is changed and there is no mappings
|
|
262 |
if formdef_slug != self.formdef_slug and '%smappings$added_elements' % prefix not in get_request().form:
|
|
263 |
form.get_widget('%smappings' % prefix).set_error(_('Please define new mappings'))
|
259 |
264 |
if 'varname' in parameters:
|
260 |
265 |
form.add(VarnameWidget, '%svarname' % prefix,
|
261 |
266 |
title=_('Identifier'), value=self.varname,
|
... | ... | |
287 |
292 |
for field in formdef.get_widget_fields() if field.varname)
|
288 |
293 |
return sorted(varnames & set(field.varname for field in self.formdef.get_widget_fields() if field.varname))
|
289 |
294 |
|
290 |
|
def submit_admin_form(self, form):
|
291 |
|
self.mappings = []
|
292 |
|
super(CreateFormdataWorkflowStatusItem, self).submit_admin_form(form)
|
293 |
|
|
294 |
295 |
def get_parameters(self):
|
295 |
296 |
return ('draft', 'formdef_slug', 'map_fields_by_varname', 'mappings', 'backoffice_submission',
|
296 |
297 |
'keep_user', 'keep_submission_context', 'varname', 'attach_to_history', 'condition')
|
297 |
|
-
|