yeswiki icon indicating copy to clipboard operation
yeswiki copied to clipboard

Changer la méthode de nettoyage des champs quand canEdit = false

Open J9rem opened this issue 2 years ago • 1 comments

Type of issue (keep only one) / Type de demande (ne garder qu'une ligne) New feature / Nouvelle fonctionnalité

Description Actuellement quand un champ ne peut être édité, seules les données associées au champ sont nettoyées par EntryManager->assignRestrictedFields:

  • https://github.com/YesWiki/yeswiki/blob/5c7fe740fc2ed0dbccfdd98c154172a7d37687e2/tools/bazar/services/EntryManager.php#L641

Si le champ utilise d'autres données dans le formulaire qui ont un nom différent de $field->getPropertyName(), celles-ci ne sont pas nettoyées. Actuellement, le seul moyen est de détecter dans $field->formatValuesBeforeSave() que le champ ne pouvait pas être édité et alors de ne pas tenir compte de ces données supplémentaires et les nettoyer.

La proposition est de ne plus faire ce test dans $field->formatValuesBeforeSave() mais de créer une nouvelle méthode pour BazarField exemple : cleanNotEditableValues($entry): array qui pour chaque champ ferait le nettoyage des champs concernés.

Un temps de concertation orale ou en présence entre développeurs est souhaité.

La présente issue permet de recueillir les écrits en attendant cette concertation. Elle fait suite à des échanges situés dans https://github.com/YesWiki/yeswiki/pull/953

Additionnal informations / Informations complémentaires

  • version of YesWiki / version de YesWiki future doryphore 4.4 ou plus tard

J9rem avatar Jul 20 '22 11:07 J9rem

ok super.

VeveQNV avatar Jul 20 '22 19:07 VeveQNV