api: include load url in tracking code lookup API response (#21859)

This commit is contained in:
Frédéric Péters 2018-02-14 23:48:26 +01:00
parent 31e374494f
commit 5d5b4a781e
3 changed files with 9 additions and 2 deletions

View File

@ -477,7 +477,9 @@ Une API existe pour déterminer l'existence d'un code de suivi et, le cas
<screen>
<output style="prompt">$ </output><input>curl -H "Accept: application/json" \
https://www.example.net/api/code/QRFPTSLR</input>
<output>{"url": "http://www.example.net/demarche/23", "err": 0}</output>
<output>{"url": "http://www.example.net/demarche/23",
"load_url": "http://www.example.net/code/QRFPTSLR/load",
"err": 0}</output>
</screen>
<p>

View File

@ -1988,6 +1988,7 @@ def test_tracking_code(pub):
resp = get_app(pub).get(sign_url('/api/code/%s?orig=coucou' % code.id, '1234'), status=200)
assert resp.json['err'] == 0
assert resp.json['url'] == 'http://example.net/test/%s' % formdata.id
assert resp.json['load_url'] == 'http://example.net/code/%s/load' % code.id
formdef.enable_tracking_codes = False
formdef.store()

View File

@ -657,7 +657,11 @@ class ApiTrackingCodeDirectory(Directory):
raise TraversalError()
if formdata.formdef.enable_tracking_codes is False:
raise TraversalError()
data = {'err': 0, 'url': formdata.get_url().rstrip('/')}
data = {
'err': 0,
'url': formdata.get_url().rstrip('/'),
'load_url': get_publisher().get_frontoffice_url() + '/code/%s/load' % component,
}
return json.dumps(data)