0001-api-return-formdata-URLs-in-ApiFormdefDirectory.subm.patch
tests/test_api.py | ||
---|---|---|
535 | 535 |
return signed_url[len('http://example.net'):] |
536 | 536 |
resp = get_app(pub).post_json(url(), {'data': {}}) |
537 | 537 |
assert resp.json['err'] == 0 |
538 |
assert resp.json['data']['url'] == ('http://example.net/test/%s/' % resp.json['data']['id']) |
|
539 |
assert resp.json['data']['backoffice_url'] == ('http://example.net/backoffice/management/test/%s/' % resp.json['data']['id']) |
|
540 |
assert resp.json['data']['api_url'] == ('http://example.net/api/forms/test/%s/' % resp.json['data']['id']) |
|
538 | 541 |
assert data_class.get(resp.json['data']['id']).status == 'wf-new' |
539 | 542 |
assert data_class.get(resp.json['data']['id']).user_id == str(local_user.id) |
540 | 543 |
assert data_class.get(resp.json['data']['id']).tracking_code is None |
wcs/api.py | ||
---|---|---|
334 | 334 |
formdata.store() |
335 | 335 |
formdata.perform_workflow() |
336 | 336 |
formdata.store() |
337 |
return json.dumps({'err': 0, 'data': {'id': formdata.id}}) |
|
337 |
return json.dumps({ |
|
338 |
'err': 0, |
|
339 |
'data': { |
|
340 |
'id': formdata.id, |
|
341 |
'url': formdata.get_url(), |
|
342 |
'backoffice_url': formdata.get_url(backoffice=True), |
|
343 |
'api_url': formdata.get_api_url(), |
|
344 |
} |
|
345 |
}) |
|
338 | 346 | |
339 | 347 | |
340 | 348 |
class ApiFormdefsDirectory(Directory): |
wcs/formdata.py | ||
---|---|---|
580 | 580 |
def get_url(self, backoffice = False): |
581 | 581 |
return '%s%s/' % (self.formdef.get_url(backoffice=backoffice), self.id) |
582 | 582 | |
583 |
def get_api_url(self): |
|
584 |
return '%s%s/' % (self.formdef.get_api_url(), self.id) |
|
585 | ||
583 | 586 |
def get_display_id(self): |
584 | 587 |
return str(self.id_display or self.id) |
585 | 588 |
wcs/formdef.py | ||
---|---|---|
520 | 520 |
base_url = get_publisher().get_frontoffice_url() |
521 | 521 |
return '%s/%s/' % (base_url, self.url_name) |
522 | 522 | |
523 |
def get_api_url(self): |
|
524 |
base_url = get_publisher().get_frontoffice_url() |
|
525 |
return '%s/api/forms/%s/' % (base_url, self.url_name) |
|
526 | ||
523 | 527 |
def get_display_id_format(self): |
524 | 528 |
return '[formdef_id]-[form_number_raw]' |
525 | 529 | |
526 |
- |