Projet

Général

Profil

Development #86335

api: forms/cards, dans un bloc de champs, les fichiers identiques de chaque item de bloc donnent la même URL

Ajouté par Lauréline Guérin il y a 3 mois. Mis à jour il y a 3 mois.

Statut:
Nouveau
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
30 janvier 2024
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

Description

cf #86320

https://demarches-publik-famille.test.entrouvert.org/api/cards/document-sante-enfant/210/

dans document_raw, on a 2 éléments, content, url, thumbnail_url et field_id sont identiques alors filename diffère.
alors que ici https://demarches-publik-famille.test.entrouvert.org/backoffice/data/document-sante-enfant/210/ les deux fichiers sont bien différents au download.

note: c'est un bloc de champs, https://demarches-publik-famille.test.entrouvert.org/backoffice/cards/72/fields/17a1d5dc-6529-4a90-9fca-22291b281de7/

Historique

#1

Mis à jour par Lauréline Guérin il y a 3 mois

  • Description mis à jour (diff)
#2

Mis à jour par Frédéric Péters il y a 3 mois

Oui l'URL se base juste sur le hash du fichier, et comme ici c'est deux fois le même fichier qui a été posé, c'est deux fois la même URL qui se trouve reprise; depuis le backoffice le lien se fait par contre sur une référence au champ (parce qu'on a les infos pour faire ça à ce moment-là, j'imagine).

Je dirais que ça n'est pas vraiment un problème mais on peut regarder et archiver ici la raison pour laquelle on passe par le hash.

#3

Mis à jour par Frédéric Péters il y a 3 mois

  • Sujet changé de api: forms/cards, dans un bloc de champs, les fichiers de chaque item sont identiques à api: forms/cards, dans un bloc de champs, les fichiers identiques de chaque item de bloc donnent la même URL
    def get_download_query_string(self, **kwargs):
        if kwargs.get('file_value'):
            return 'hash=%s' % kwargs.get('file_value').file_digest()
        if kwargs.get('parent_field'):
            return 'f=%s$%s$%s' % (kwargs['parent_field'].id, kwargs['parent_field_index'], self.id)
        return 'f=%s' % self.id

Formats disponibles : Atom PDF