Development #60380
formdata.store ne change pas nécessairement le chemin absolu d'une pièce jointe en chemin relatif
0%
Description
C'est ce qui est annoncé dans #21731#note-4 et je tente ça sur un formdata qui contient un AttachmentEvolutionPart avec un chemin absolu, et plouf pas de changement.
A coup de pdb, dans AttachmentEvolutionPart.__get_state__, ça passe dans le chemin :
if not odict.get('fp'): if 'filename' not in odict: # we need a filename as an identifier: create one from nothing # instead of file_digest(self.fp) (see below) odict['filename'] = 'uuid-%s' % uuid.uuid4() self.filename = odict['filename'] return odict ..... la mise à jour du chemin en chemin relatif c'est après
Fichiers
Demandes liées
Révisions associées
Historique
Mis à jour par Emmanuel Cazenave il y a plus de 2 ans
- Statut changé de Nouveau à En cours
- Assigné à mis à Emmanuel Cazenave
Mis à jour par Emmanuel Cazenave il y a plus de 2 ans
- Lié à Support #57729: Migration d'instances de Publik : changement de nom de domaine ajouté
Mis à jour par Emmanuel Cazenave il y a plus de 2 ans
Note pour moi même, les tests qui empruntent ce chemin de code :
tests/test_upload_storage.py::test_remoteopaque_in_attachmentevolutionpart tests/api/test_formdata.py::test_formdata_with_evolution_part_attachment_to tests/backoffice_pages/test_all.py::test_backoffice_wscall_attachment tests/backoffice_pages/test_all.py::test_backoffice_wfedit tests/form_pages/test_formdata.py::test_formdata_attachment_download tests/form_pages/test_formdata.py::test_formdata_attachment_download_with_substitution_variable tests/form_pages/test_formdata.py::test_formdata_attachment_download_with_invalid_character tests/form_pages/test_formdata.py::test_formdata_generated_document_download tests/form_pages/test_formdata.py::test_formdata_generated_document_odt_download tests/form_pages/test_formdata.py::test_formdata_generated_document_odt_download_with_substitution_variable tests/form_pages/test_formdata.py::test_formdata_generated_document_odt_to_pdf_download tests/form_pages/test_formdata.py::test_formdata_generated_document_odt_to_pdf_download_push_to_portfolio tests/form_pages/test_formdata.py::test_formdata_generated_document_non_interactive tests/form_pages/test_formdata.py::test_formdata_generated_document_to_backoffice_field tests/form_pages/test_formdata.py::test_formdata_generated_document_in_private_history tests/form_pages/test_formdata.py::test_formdata_evolution_registercommenter_to_with_attachment tests/workflow/test_all.py::test_set_backoffice_field_file
Mis à jour par Emmanuel Cazenave il y a plus de 2 ans
Si quelqu'un a une vague idée de comment appréhender ce problème je suis preneur, pour commencer je ne comprends pas bien ce chemin de code, brouillard total.
Mis à jour par Emmanuel Cazenave il y a plus de 2 ans
Et d'avoir écrit une question donne du recul, ça me semble être un bout de code destiné à gérer le cas "avoir une instance de AttachmentEvolutionPart sans fichier associé" et que je devrais pas tomber là dedans s'il y a bien un fichier associé et que c'est donc ça qu'il faut creuser, pourquoi on tombe là dedans lorsqu'il y a bien un fichier.
Mis à jour par Emmanuel Cazenave il y a plus de 2 ans
- Fichier 0001-formdata-improve-migration-of-attachments-to-absolut.patch 0001-formdata-improve-migration-of-attachments-to-absolut.patch ajouté
- Statut changé de En cours à Solution proposée
- Patch proposed changé de Non à Oui
Le descripteur de fichier est viré lors de la sérialisation, du coup les objets désérialisés n'ont jamais de descripteur de fichier.
La migration de chemin s'effectuant lors de la sérialisation uniquement sur les objets disposant d'un descripteur de fichier, le scénario prendre un "vieux" formdata et le sérialiser pour obtenir la migration ne marche pas.
Testé unitairement et en vrai.
Mis à jour par Frédéric Péters il y a environ 2 ans
- Statut changé de Solution proposée à Solution validée
# get a frech instance not monkeypatched
fresh.
Mis à jour par Emmanuel Cazenave il y a environ 2 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit fe39efa304941725cb6abcafd5bc28b196284d72 Author: Emmanuel Cazenave <ecazenave@entrouvert.com> Date: Tue Jan 11 11:30:20 2022 +0100 formdata: improve migration of attachments to absolute path (#60380)
Mis à jour par Transition automatique il y a environ 2 ans
- Statut changé de Résolu (à déployer) à Solution déployée
formdata: improve migration of attachments to absolute path (#60380)