Projet

Général

Profil

Bug #3404

Exporter name, id, status et category_id, category_name, category_url dans /myspace/json/forms

Ajouté par Benjamin Dauvergne il y a presque 11 ans. Mis à jour il y a plus de 9 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
01 août 2013
Echéance:
% réalisé:

100%

Temps estimé:
Patch proposed:
Planning:

Description

Il y a deux buts:
  • permettre à l’appelant de formater le nom du formulaire comme il le souhaite via name, id et status par exemple dans le plugin de listing des formulaires du portail citoyen,
  • permettre à l'appelant de ranger/sauter par rapport à la catégorie du formulaire sans faire d'autres appels, toujours pour le portail citoyen.

Fichiers

Révisions associées

Révision 39d8bc09 (diff)
Ajouté par Thomas Noël il y a environ 10 ans

add "minimal" flag in formdata.getsubstitions (#3404)

(currently needed in myspace/json/forms in "auquotidien" extra)

Révision 8c9a8c4e (diff)
Ajouté par Thomas Noël il y a environ 10 ans

add informations in myspace/json/forms (fix #3404)

Historique

#1

Mis à jour par Thomas Noël il y a environ 10 ans

Voici un patch qui fait cela (note : nécessaire à Orléans pour résoudre une confusion dans l'affichage, signalée dans #4306).

#2

Mis à jour par Thomas Noël il y a environ 10 ans

  • Statut changé de Nouveau à En cours
  • Assigné à mis à Frédéric Péters
  • Priorité changé de Bas à Normal

(attribué à Fred pour relecture/avis/etc.)

#3

Mis à jour par Frédéric Péters il y a environ 10 ans

  • Assigné à changé de Frédéric Péters à Thomas Noël

Réassigné à Thomas après discussion, l'idée est de réutiliser les substitutions de variable, en en proposant une version allégée (formdata.get_substitution_variables(self, light=False)).

#5

Mis à jour par Thomas Noël il y a environ 10 ans

  • Statut changé de En cours à Information nécessaire
  • Assigné à changé de Thomas Noël à Frédéric Péters
#6

Mis à jour par Frédéric Péters il y a environ 10 ans

  • Statut changé de Information nécessaire à En cours
  • Assigné à changé de Frédéric Péters à Thomas Noël

J'aurais tendance à préférer le bloc :

                d.update({
                    'form_status_url': '%sstatus' % self.get_url(),
                    'form_details': self.formdef.get_detailed_email_form(self, self.get_url()),
                })

déplacé sous le "if minimal: ... return", ça dupliquerait certes la condition "if self.id", mais ça me parait plus clair.

#7

Mis à jour par Thomas Noël il y a environ 10 ans

Une autre version, plus lisible (sauf que le patch, pour le coup, est moins lisible, mais bon).

#8

Mis à jour par Frédéric Péters il y a environ 10 ans

Le "if minimal" qui suivant le "d.update(self.formdef.get_substitution_variables())", et qui quittait la fonction plus tôt, il m'allait bien; ça évite de devoir indenter le tout. Mais du coup parce que j'ai l'impression que mon commentaire passé n'a pas du être clair, le flow que j'imaginais, c'était :

        [...]
        # formdef and category variables
        d.update(self.formdef.get_substitution_variables())

        if minimal:  # là on a tout ce qu'on veut, on quitte l'affaire dès maintenant
            d = copy.deepcopy(d)
            flatten_dict(d)
            return d

        if self.id: # on remet un if self.id, mais c'est pas bien grave.
            d.update({
                'form_status_url': '%sstatus' % self.get_url(),
                'form_details': self.formdef.get_detailed_email_form(self, self.get_url()),
            })

        user = self.get_user()
        if user:
            d.update(user.get_substitution_variables(prefix='form_'))

        [...]
#10

Mis à jour par Frédéric Péters il y a environ 10 ans

Yep, nickel.

#11

Mis à jour par Thomas Noël il y a environ 10 ans

  • Statut changé de En cours à Résolu (à déployer)
  • % réalisé changé de 0 à 100
#12

Mis à jour par Thomas Noël il y a presque 10 ans

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

Mis à jour par Thomas Noël il y a plus de 9 ans

  • Statut changé de Solution déployée à Fermé

Formats disponibles : Atom PDF