From 5ebf8f9530552caedb80bb4c235624b67209d4f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Thu, 9 Aug 2018 22:41:24 +0200 Subject: [PATCH] api: include backoffice submission url when asked (#25627) --- tests/test_api.py | 1 + wcs/api.py | 2 ++ wcs/formdef.py | 4 ++++ 3 files changed, 7 insertions(+) diff --git a/tests/test_api.py b/tests/test_api.py index 35c0dea3..c9fa4a68 100644 --- a/tests/test_api.py +++ b/tests/test_api.py @@ -469,6 +469,7 @@ def test_backoffice_submission_formdef_list(pub, admin_user, local_user): local_user.name_identifiers[0])) assert resp.json['err'] == 0 assert len(resp.json['data']) == 1 + assert 'backoffice_submission_url' in resp.json['data'][0] # but not advertised if it's a redirection formdef.disabled = True diff --git a/wcs/api.py b/wcs/api.py index b12cbeb0..4fc514db 100644 --- a/wcs/api.py +++ b/wcs/api.py @@ -409,6 +409,8 @@ class ApiFormdefsDirectory(Directory): 'authentication_required': authentication_required} if formdef.required_authentication_contexts: formdict['required_authentication_contexts'] = formdef.required_authentication_contexts + if backoffice_submission: + formdict['backoffice_submission_url'] = formdef.get_backoffice_submission_url() formdict['redirection'] = bool(formdef.is_disabled() and formdef.disabled_redirection) diff --git a/wcs/formdef.py b/wcs/formdef.py index 2e9cfc86..eee25230 100644 --- a/wcs/formdef.py +++ b/wcs/formdef.py @@ -505,6 +505,10 @@ class FormDef(StorableObject): base_url = get_publisher().get_frontoffice_url() return '%s/api/forms/%s/' % (base_url, self.url_name) + def get_backoffice_submission_url(self): + base_url = get_publisher().get_backoffice_url() + '/submission' + return '%s/%s/' % (base_url, self.url_name) + def get_display_id_format(self): return '[formdef_id]-[form_number_raw]' -- 2.18.0