misc: add property to get submission agent (#34708)

This commit is contained in:
Frédéric Péters 2020-03-28 17:54:04 +01:00
parent 531a1489b1
commit 4c98229ff9
2 changed files with 11 additions and 1 deletions

View File

@ -110,25 +110,28 @@ def test_manual_display_id(pub):
assert substvars.get('form_number_raw') == str(formdata.id)
def test_submission_context(pub):
def test_submission_context(pub, local_user):
formdef.data_class().wipe()
formdata = formdef.data_class()()
formdata.backoffice_submission = True
formdata.submission_channel = 'mail'
formdata.submission_context = {
'mail_url': 'http://www.example.com/test.pdf',
'agent_id': local_user.id,
}
substvars = formdata.get_substitution_variables()
assert substvars.get('form_submission_backoffice') is True
assert substvars.get('form_submission_channel') == 'mail'
assert substvars.get('form_submission_channel_label') == 'Mail'
assert substvars.get('form_submission_context_mail_url') == 'http://www.example.com/test.pdf'
assert substvars.get('form_submission_agent_email') == local_user.email
formdata = formdef.data_class()()
substvars = formdata.get_substitution_variables()
assert substvars.get('form_submission_backoffice') is False
assert substvars.get('form_submission_channel') is None
assert substvars.get('form_submission_channel_label') == 'Web'
assert substvars.get('form_submission_agent_email') is None
def test_just_created(pub):

View File

@ -313,6 +313,13 @@ class LazyFormData(LazyFormDef):
def submission_channel_label(self):
return self._formdata.get_submission_channel_label()
@property
def submission_agent(self):
try:
return LazyUser(get_publisher().user_class.get(self._formdata.submission_context['agent_id']))
except (TypeError, KeyError):
return None
@property
def submission_context(self):
return self._formdata.submission_context