backoffice: add message after form/card is overwritten (#35642)
This commit is contained in:
parent
26f5321cad
commit
dae1829c8c
|
@ -1911,6 +1911,8 @@ def test_form_overwrite(pub):
|
|||
resp.forms[0]['file'] = Upload('formdef.wcs', formdef_xml)
|
||||
resp = resp.forms[0].submit()
|
||||
assert FormDef.get(formdef_id).fields[0].label == '1st modified field'
|
||||
resp = resp.follow()
|
||||
assert 'The form has been successfully overwritten.' in resp.body
|
||||
|
||||
# check with added/removed field
|
||||
formdef = FormDef()
|
||||
|
|
|
@ -363,6 +363,9 @@ class FormDefPage(Directory):
|
|||
overwrite_message = N_(
|
||||
'You can replace this form by uploading a file '
|
||||
'or by pointing to a form URL.')
|
||||
overwrite_success_message = N_(
|
||||
'The form has been successfully overwritten. '
|
||||
'Do note it kept its existing address and role and workflow parameters.')
|
||||
|
||||
def __init__(self, component):
|
||||
try:
|
||||
|
@ -1006,8 +1009,7 @@ class FormDefPage(Directory):
|
|||
# it's been through the summary page.
|
||||
if form.get_widget('force').parse():
|
||||
# doing it!
|
||||
self.overwrite_by_formdef(new_formdef)
|
||||
return redirect('.')
|
||||
return self.overwrite_by_formdef(new_formdef)
|
||||
|
||||
# 1. map field id and types
|
||||
current_fields = {}
|
||||
|
@ -1030,8 +1032,7 @@ class FormDefPage(Directory):
|
|||
return self.overwrite_warning_summary(new_formdef,
|
||||
removed_fields, different_type_fields)
|
||||
|
||||
self.overwrite_by_formdef(new_formdef)
|
||||
return redirect('.')
|
||||
return self.overwrite_by_formdef(new_formdef)
|
||||
|
||||
def overwrite_by_formdef(self, new_formdef):
|
||||
# keep current formdef id, url_name, internal identifier and sql table name
|
||||
|
@ -1042,12 +1043,15 @@ class FormDefPage(Directory):
|
|||
# keep currently assigned category and workflow
|
||||
new_formdef.category_id = self.formdef.category_id
|
||||
new_formdef.workflow_id = self.formdef.workflow_id
|
||||
new_formdef.workflow_options = self.formdef.workflow_options
|
||||
# keep currently assigned roles
|
||||
new_formdef.workflow_roles = self.formdef.workflow_roles
|
||||
new_formdef.backoffice_submission_roles = self.formdef.backoffice_submission_roles
|
||||
new_formdef.roles = self.formdef.roles
|
||||
self.formdef = new_formdef
|
||||
self.formdef.store()
|
||||
get_session().message = ('info', _(self.overwrite_success_message))
|
||||
return redirect('.')
|
||||
|
||||
def overwrite_warning_summary(self, new_formdef, removed_fields, different_type_fields):
|
||||
self.html_top(title = _('Overwrite'))
|
||||
|
|
|
@ -48,6 +48,9 @@ class CardDefPage(FormDefPage):
|
|||
overwrite_message = N_(
|
||||
'You can replace this card by uploading a file '
|
||||
'or by pointing to a form URL.')
|
||||
overwrite_success_message = N_(
|
||||
'The card has been successfully overwritten. '
|
||||
'Do note it kept its existing address and role and workflow parameters.')
|
||||
|
||||
def html_top(self, title):
|
||||
return html_top('cards', title)
|
||||
|
|
Loading…
Reference in New Issue