Projet

Général

Profil

0001-api-return-formdata-URLs-in-ApiFormdefDirectory.subm.patch

Benjamin Dauvergne, 24 mai 2018 11:37

Télécharger (2,1 ko)

Voir les différences:

Subject: [PATCH] api: return formdata URLs in ApiFormdefDirectory.submit()
 (#23939)

So that we do not need another roundtrip to have those informations.
 wcs/api.py      | 10 +++++++++-
 wcs/formdata.py |  3 +++
 wcs/formdef.py  |  4 ++++
 3 files changed, 16 insertions(+), 1 deletion(-)
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
-