snapshots: do not fail on workflow form fields (#50832)
This commit is contained in:
parent
cae9f3954f
commit
09b7161ae9
|
@ -13,6 +13,7 @@ from wcs.data_sources import NamedDataSource
|
|||
from wcs.formdef import FormDef
|
||||
from wcs.qommon.form import UploadedFile
|
||||
from wcs.qommon.misc import localstrftime
|
||||
from wcs.wf.form import FormWorkflowStatusItem, WorkflowFormFieldsFormDef
|
||||
from wcs.workflows import Workflow
|
||||
from wcs.workflows import ExportToModel
|
||||
from wcs.wscalls import NamedWsCall
|
||||
|
@ -439,6 +440,30 @@ def test_workflow_with_model_snapshot_browse(pub):
|
|||
assert len(os.listdir(os.path.join(pub.app_dir, 'models'))) == 3 + i
|
||||
|
||||
|
||||
def test_workflow_with_form_snapshot_browse(pub):
|
||||
create_superuser(pub)
|
||||
create_role()
|
||||
|
||||
Workflow.wipe()
|
||||
wf = Workflow(name='status')
|
||||
st1 = wf.add_status('Status1', 'st1')
|
||||
|
||||
display_form = FormWorkflowStatusItem()
|
||||
display_form.id = '_x'
|
||||
display_form.varname = 'xxx'
|
||||
display_form.formdef = WorkflowFormFieldsFormDef(item=display_form)
|
||||
st1.items.append(display_form)
|
||||
display_form.parent = st1
|
||||
wf.store()
|
||||
snapshot = pub.snapshot_class.select_object_history(wf)[0]
|
||||
|
||||
app = login(get_app(pub))
|
||||
resp = app.get(
|
||||
'/backoffice/workflows/%s/history/%s/view/status/st1/items/_x/fields/' % (wf.id, snapshot.id)
|
||||
)
|
||||
assert 'The fields are readonly' in resp.text # ok, no error
|
||||
|
||||
|
||||
def test_wscall_snapshot_browse(pub):
|
||||
create_superuser(pub)
|
||||
create_role()
|
||||
|
|
|
@ -354,9 +354,10 @@ class FieldsDirectory(Directory):
|
|||
get_response().filter['sidebar'] = htmltext('<div class="infonotice"><p>%s</p></div>') % _(
|
||||
self.readonly_message
|
||||
)
|
||||
get_response().filter['sidebar'] += utils.snapshot_info_block(
|
||||
snapshot=self.objectdef.snapshot_object
|
||||
)
|
||||
if hasattr(self.objectdef, 'snapshot_object'):
|
||||
get_response().filter['sidebar'] += utils.snapshot_info_block(
|
||||
snapshot=self.objectdef.snapshot_object
|
||||
)
|
||||
else:
|
||||
get_response().filter['sidebar'] = str(self.get_new_field_form(self.page_id))
|
||||
r += self.index_bottom()
|
||||
|
|
Loading…
Reference in New Issue