workflows: include digest for created forms displayed in history (#74213) #93
|
@ -1772,6 +1772,7 @@ def test_create_formdata_show_link_in_history(pub):
|
|||
resp = app.get('/source-form/%s/' % formdata.id)
|
||||
assert 'The form has been recorded on' in resp.text
|
||||
assert 'New form "target-form" created' in resp.text
|
||||
assert resp.pyquery('.wf-links a')
|
||||
|
||||
# anonymous access via tracking code: no link
|
||||
app = get_app(pub)
|
||||
|
@ -1779,3 +1780,4 @@ def test_create_formdata_show_link_in_history(pub):
|
|||
resp = resp.follow()
|
||||
assert 'The form has been recorded on' in resp.text
|
||||
assert 'New form "target-form" created' not in resp.text
|
||||
assert not resp.pyquery('.wf-links a')
|
||||
|
|
|
@ -255,6 +255,16 @@ def test_create_formdata_attach_to_history(pub):
|
|||
formdata.evolution[-1].parts[0].view()
|
||||
)
|
||||
|
||||
# display digest if it exists
|
||||
formdata.refresh_from_storage()
|
||||
target_formdef.digest_templates = {'default': 'hello'}
|
||||
target_formdef.store()
|
||||
target_formdata = target_formdef.data_class().get(1)
|
||||
target_formdata.store() # update digests
|
||||
assert 'New form "target form" created: <a href="%s1/">1-1 (hello)</a>' % target_formdef.get_url() in str(
|
||||
formdata.evolution[-1].parts[0].view()
|
||||
)
|
||||
|
||||
# don't crash in case target formdata is removed
|
||||
formdata.refresh_from_storage()
|
||||
target_formdef.data_class().wipe()
|
||||
|
|
|
@ -1292,11 +1292,13 @@ class FormData(StorableObject):
|
|||
def default_digest(self):
|
||||
return (self.digests or {}).get('default')
|
||||
|
||||
def get_display_label(self, digest_key='default'):
|
||||
def get_display_label(self, digest_key='default', include_form_name=True):
|
||||
if include_form_name:
|
||||
base = self.get_display_name()
|
||||
else:
|
||||
base = self.get_display_id()
|
||||
digest = (self.digests or {}).get(digest_key)
|
||||
if digest:
|
||||
return '%s (%s)' % (self.get_display_name(), digest)
|
||||
return self.get_display_name()
|
||||
return '%s (%s)' % (base, digest) if digest else base
|
||||
|
||||
def get_auto_geoloc(self):
|
||||
# use proper geolocation if it exists
|
||||
|
|
|
@ -237,10 +237,9 @@ class LinkedFormdataEvolutionPart(EvolutionPart):
|
|||
)
|
||||
result = htmltext('<p class="wf-links">')
|
||||
result += htmltext(_('New form "%s" created:') % self.formdef.name)
|
||||
result += htmltext(' <a href="%s">%s-%s</a>') % (
|
||||
result += htmltext(' <a href="%s">%s</a>') % (
|
||||
formdata.get_url(backoffice=bool(get_request() and get_request().is_in_backoffice())),
|
||||
self.formdef_id,
|
||||
self.formdata_id,
|
||||
formdata.get_display_label(include_form_name=False),
|
||||
)
|
||||
result += htmltext('</p>')
|
||||
return result
|
||||
|
|
Loading…
Reference in New Issue