Bug #75525
Fichiers attachés venant d'un bloc de champ dans un formulaire de workflow: seul les fichiers de la dernière soumission sont accessibles
Start date:
16 March 2023
Due date:
% Done:
0%
Estimated time:
Patch proposed:
No
Planning:
No
Description
Ça se passe dans FormData.get_all_file_data:
def get_all_file_data(self, with_history=False): from wcs.wf.form import WorkflowFormEvolutionPart from wcs.workflows import ContentSnapshotPart def check_field_data(field_data): if misc.is_upload(field_data): yield field_data elif isinstance(field_data, dict) and isinstance(field_data.get('data'), list): for subfield_rowdata in field_data.get('data'): if isinstance(subfield_rowdata, dict): for block_field_data in subfield_rowdata.values(): if misc.is_upload(block_field_data): yield block_field_data for field_data in itertools.chain((self.data or {}).values(), (self.workflow_data or {}).values()): yield from check_field_data(field_data) for part in self.iter_evolution_parts(): if misc.is_attachment(part): yield part elif isinstance(part, WorkflowFormEvolutionPart): for field_data in (part.data or {}).values(): if misc.is_upload(field_data): yield field_data elif isinstance(part, ContentSnapshotPart): # look into old and new values (belt and suspenders) for field_data in list((part.old_data or {}).values()) + list((part.new_data or {}).values()): yield from check_field_data(field_data)
On devrait appliquer le même traitement aux données dans part.data que pour formdata.data, utiliser check_field_data(), ça prendrait en compte le cas des blocs.
History
Updated by Gitea (Bot) Gitea 4 days ago
- Status changed from Nouveau to En cours
Benjamin Dauvergne (bdauvergne) a ouvert une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/wcs/pulls/172
- Titre : WIP: misc: handle workflow's form file attachments like those of forms (#75525)
- Modifications : https://git.entrouvert.org/entrouvert/wcs/pulls/172/files