misc: display draft digests in list of drafts to recall (#88860) #1333

Merged
fpeters merged 1 commits from wip/88860-draft-recall-display-digest into main 2024-03-29 14:04:38 +01:00
2 changed files with 38 additions and 1 deletions

View File

@ -376,6 +376,42 @@ def test_form_recall_draft(pub):
assert 'href="%s/"' % draft2.id in resp.text
def test_form_recall_draft_digests(pub):
user = create_user(pub)
formdef = create_formdef()
formdef.fields = [fields.StringField(id='0', label='string', varname='name')]
formdef.digest_templates = {'default': 'digest{{form_var_name}}digest'}
formdef.store()
formdef.data_class().wipe()
draft = formdef.data_class()()
draft.user_id = user.id
draft.status = 'draft'
draft.data = {'0': 'DIGEST'}
draft.store()
app = login(get_app(pub), username='foo', password='foo')
resp = app.get('/test/')
# single draft, digest is not displayed
assert 'digestDIGESTdigest' not in resp.pyquery(f'[href="{draft.id}/"]').text()
draft2 = formdef.data_class()()
draft2.user_id = user.id
draft2.status = 'draft'
draft2.data = {}
draft2.store()
resp = app.get('/test/')
# two drafts, the first one has its digest displayed
assert 'digestDIGESTdigest' in resp.pyquery(f'[href="{draft.id}/"]').text()
# the second doesn't have it as it contains "None"
assert (
resp.pyquery(f'[href="{draft2.id}/"]').text()
and draft2.default_digest not in resp.pyquery(f'[href="{draft2.id}/"]').text()
)
def test_form_max_drafts(pub):
user = create_user(pub)

View File

@ -14,7 +14,8 @@
<ul>
{% for draft in view.initial_drafts %}
<li><a href="{{draft.internal_id}}/">{% trans "continue with draft from " %} {{draft.receipt_date}}
{{draft.receipt_time}}</a>, {% blocktrans with page_no=draft.page_no|add:1 %}on page {{page_no}}{% endblocktrans %}</li>
{{draft.receipt_time}}{% if draft.digest and "None" not in draft.digest %} ({{ draft.digest }}){% endif %}</a>,
{% blocktrans with page_no=draft.page_no|add:1 %}on page {{page_no}}{% endblocktrans %}</li>
{% endfor %}
</ul>
{% endif %}