foederis: return absolute uri of pdf announce (#68641)

This commit is contained in:
Nicolas Roche 2022-09-01 17:35:16 +02:00
parent d88db8b3e5
commit 959ce6c197
2 changed files with 13 additions and 10 deletions

View File

@ -324,21 +324,23 @@ class Resource(BaseResource, HTTPResource):
qs = qs.filter(data__collectivite=collectivite)
data_sources = {document.external_id: document.data for document in self.referentiels_documents}
def pdf_url(document):
def pdf_url(request, document):
doc_id = document.external_id.split('-')[-1]
return reverse(
'generic-endpoint',
kwargs={
'connector': self.get_connector_slug(),
'slug': self.slug,
'endpoint': 'announce',
'rest': f'{doc_id}/pdf/',
},
return request.build_absolute_uri(
reverse(
'generic-endpoint',
kwargs={
'connector': self.get_connector_slug(),
'slug': self.slug,
'endpoint': 'announce',
'rest': f'{doc_id}/pdf/',
},
)
)
return {
'err': 0,
'data': [dict(document.data, pdf_url=pdf_url(document)) for document in qs],
'data': [dict(document.data, pdf_url=pdf_url(request, document)) for document in qs],
'data_sources': data_sources,
}

View File

@ -339,6 +339,7 @@ class TestEndpoints:
def test_announce_pdf(self, resource, app):
response = app.get('/toulouse-foederis/foederis/announce/')
url = response.json['data'][0]['pdf_url']
assert url == 'http://testserver/toulouse-foederis/foederis/announce/4229013/pdf/'
# verify access is public
AccessRight.objects.all().delete()
response = app.get(url)