Projet

Général

Profil

Development #77762

supprimer l'utilisation de field.type

Ajouté par Frédéric Péters il y a 11 mois. Mis à jour il y a 11 mois.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
21 mai 2023
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

Description

On a pour les champs un attribut "key" posé au niveau de la classe,

class StringField(WidgetField):
    key = 'string'

Mais à l'ajout d'un champ on duplique cet attribut dans un nouvel attribut, "type",

            field = fields.get_field_class_by_type(field_type)(
                label=label, type=field_type, id=self.objectdef.get_new_field_id()
            )

(field_type venant ici du <select> proposant la liste des types de champs).

Ensuite dans le code à quantité d'endroits on se base sur cet attribut.

Ça oblige dans les tests à faire pareil, à répéter le type, alors que la classe devrait être suffisante, ex:

    fields.StringField(id='123', required=True, label='Test', type='string'),

L'attribut "type" est historique, d'un temps où il y avait une classe unique, c'est passé depuis mars 2006, qui ajoutait cette migration :

+class FormField:
+    ### only used to unpickle form fields from older (<200603) versions
+    def __setstate__(self, dict):
+        type = dict['type']
+        self.real_field = fields.get_field_class_by_type(type)(**dict)

Beaucoup de ce code passé a disparu mais l'utilisation de field.type persiste à quantité d'endroits, ce ticket pour nettoyer.

Révisions associées

Révision f6f14131 (diff)
Ajouté par Frédéric Péters il y a 11 mois

refactoring: remove usage of field.type attribute (#77762)

Historique

#1

Mis à jour par Robot Gitea il y a 11 mois

  • Statut changé de Nouveau à En cours

Frédéric Péters (fpeters) a ouvert une pull request sur Gitea concernant cette demande :

#2

Mis à jour par Robot Gitea il y a 11 mois

  • Statut changé de En cours à Solution proposée
#3

Mis à jour par Robot Gitea il y a 11 mois

  • Statut changé de Solution proposée à Solution validée

Lauréline Guérin (lguerin) a approuvé une pull request sur Gitea concernant cette demande :

#4

Mis à jour par Robot Gitea il y a 11 mois

  • Statut changé de Solution validée à Résolu (à déployer)

Frédéric Péters (fpeters) a mergé une pull request sur Gitea concernant cette demande :

#5

Mis à jour par Transition automatique il y a 11 mois

  • Statut changé de Résolu (à déployer) à Solution déployée
#6

Mis à jour par Transition automatique il y a 9 mois

Automatic expiration

Formats disponibles : Atom PDF