Projet

Général

Profil

Development #26057

cellule TIPI: améliorations de présentation

Ajouté par Serghei Mihai il y a plus de 5 ans. Mis à jour il y a plus de 5 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
03 septembre 2018
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

  • quand une seule régie de paiement ne pas l'exposer dans la liste déroulante
  • permettre de pré-remplir et positionner en lecture seule des champs de la référence de la dette

Fichiers

0002-lingo-add-default-values-for-TIPI-reference-fields-2.patch (5,22 ko) 0002-lingo-add-default-values-for-TIPI-reference-fields-2.patch Serghei Mihai, 26 novembre 2018 10:18
0001-lingo-refactor-TIPI-payment-form-rendering-26057.patch (3,48 ko) 0001-lingo-refactor-TIPI-payment-form-rendering-26057.patch Serghei Mihai, 26 novembre 2018 10:18
0001-lingo-add-default-values-for-TIPI-reference-fields-2.patch (12,3 ko) 0001-lingo-add-default-values-for-TIPI-reference-fields-2.patch Serghei Mihai, 04 décembre 2018 23:18
0001-lingo-add-default-values-for-TIPI-reference-fields-2.patch (13,1 ko) 0001-lingo-add-default-values-for-TIPI-reference-fields-2.patch Serghei Mihai, 05 décembre 2018 09:50
0002-lingo-add-default-values-for-TIPI-reference-fields-2.patch (11,9 ko) 0002-lingo-add-default-values-for-TIPI-reference-fields-2.patch Serghei Mihai, 17 décembre 2018 17:23
0001-manager-allow-cells-form-block-overriding-26057.patch (794 octets) 0001-manager-allow-cells-form-block-overriding-26057.patch Serghei Mihai, 17 décembre 2018 17:23
0002-lingo-add-default-values-for-TIPI-reference-fields-2.patch (11,4 ko) 0002-lingo-add-default-values-for-TIPI-reference-fields-2.patch Serghei Mihai, 18 décembre 2018 11:58
Screenshot_2018-12-19 Services en ligne.png (30,4 ko) Screenshot_2018-12-19 Services en ligne.png Frédéric Péters, 19 décembre 2018 10:20
0001-lingo-add-default-values-for-TIPI-reference-fields-2.patch (11,6 ko) 0001-lingo-add-default-values-for-TIPI-reference-fields-2.patch Serghei Mihai, 20 décembre 2018 00:33
0001-lingo-add-default-values-for-TIPI-reference-fields-2.patch (11,5 ko) 0001-lingo-add-default-values-for-TIPI-reference-fields-2.patch Serghei Mihai, 20 décembre 2018 10:01
0001-lingo-add-default-values-for-TIPI-reference-fields-2.patch (11,6 ko) 0001-lingo-add-default-values-for-TIPI-reference-fields-2.patch Serghei Mihai, 20 décembre 2018 11:13
0001-lingo-add-default-values-for-TIPI-reference-fields-2.patch (11,6 ko) 0001-lingo-add-default-values-for-TIPI-reference-fields-2.patch Serghei Mihai, 20 décembre 2018 11:55
0001-lingo-add-default-values-for-TIPI-reference-fields-2.patch (11,5 ko) 0001-lingo-add-default-values-for-TIPI-reference-fields-2.patch Serghei Mihai, 20 décembre 2018 12:11
0001-lingo-add-default-values-for-TIPI-reference-fields-2.patch (11,2 ko) 0001-lingo-add-default-values-for-TIPI-reference-fields-2.patch Frédéric Péters, 20 décembre 2018 13:31

Demandes liées

Lié à Combo - Development #15461: tipi : ne pas afficher le champ de sélection de commune quand il y en a une seule (?)Fermé17 mars 2017

Actions
Lié à Combo - Development #29244: manager : recalcul de la hauteur des blocs d'édition de celluleFermé20 décembre 2018

Actions

Révisions associées

Révision e8a0b4ce (diff)
Ajouté par Serghei Mihai il y a plus de 5 ans

lingo: add default values for TIPI reference fields (#26057)

Make fields readonly if default value defined.

Historique

#1

Mis à jour par Frédéric Péters il y a plus de 5 ans

  • Projet changé de Publik à Lingo
#2

Mis à jour par Frédéric Péters il y a plus de 5 ans

  • Lié à Development #15461: tipi : ne pas afficher le champ de sélection de commune quand il y en a une seule (?) ajouté
#4

Mis à jour par Serghei Mihai il y a plus de 5 ans

D'abord le refactoring du rendu des champs de la référence de la dette, ensuite possibilité de définir les valeurs par défaut qui vont rendre le champ readonly.

#5

Mis à jour par Frédéric Péters il y a plus de 5 ans

On ne peut pas demander aux gens d'écrire du JSON.

#6

Mis à jour par Serghei Mihai il y a plus de 5 ans

Alors une zone texte ou ils saisiront:

nom_champ1:valeur1
nom_champ2:valeur2

guidés par le help_text.

#7

Mis à jour par Frédéric Péters il y a plus de 5 ans

Il y a quoi de compliqué à l'idée de proposer de remplir des vrais champs ? Trouver des libellés ?

#8

Mis à jour par Serghei Mihai il y a plus de 5 ans

Les champ différent en fonction du protocole "PESv2" ou "ROLMRE".

Je trouve inutile d'exposer ceux de "ROLMRE" quand on a choisi "PESv2" et vice-versa.

#9

Mis à jour par Frédéric Péters il y a plus de 5 ans

Tu es libre d'ajouter du js.

#10

Mis à jour par Serghei Mihai il y a plus de 5 ans

Une bete fonction JS ajoutée à la fin du formulaire de config de la cellule.

#11

Mis à jour par Frédéric Péters il y a plus de 5 ans

Entête licence à ajouter en haut des fichiers. (pas allé plus loin que la première ligne du patch).

#13

Mis à jour par Frédéric Péters il y a plus de 5 ans

Pas fan de l'avoir là parce que je compte bien qu'on se dégage les as_p, un jour.

Alors 1), j'allais suggérer de simplement taper ça dans le combo.manager.js général, mais 2) je vois que le nécessaire existe déjà pour que tu puisses simplement préciser un gabarit particulier à ta cellule, via l'attribut manager_form_template sur la classe.

Ça demande quand même sans doute une modification type,

--- a/combo/manager/templates/combo/cell_form.html
+++ b/combo/manager/templates/combo/cell_form.html
@@ -4,7 +4,9 @@
 {% csrf_token %}
 {% if form %}
   <div class="cell-form">
+  {% block cell-edit-form %}
   {{ form.as_p }}
+  {% endblock %}
   </div>
 {% else %}
   <p>{% trans "There are no options for this cell." %}</p>

Pour ne pas devoir dupliquer plein de trucs.

(ou modifier le combo.manager.js, ça reste une option, surtout qu'à continuer dans le patch je vois qu'il est déjà modifié, qu'il y manque juste l'appel à la fonction).

#14

Mis à jour par Serghei Mihai il y a plus de 5 ans

Ok.

Template dédié à la cellule avec ajout de l'appel à la fonction JS qui affiche les attributs spécifiques au protocole.

#15

Mis à jour par Frédéric Péters il y a plus de 5 ans

Tant qu'à faire, le code handle_tipi_protocol_fields_display, il pourrait se trouver directement dans le tipi_cell_form.html, et faire directement

var $control_element = $("[name=c{{ cell.get_reference }}-control_protocol]");

(si je lis bien)

#17

Mis à jour par Frédéric Péters il y a plus de 5 ans

Quand je fais enregistrer ça remplace le formulaire sans exécution js et ça change la hauteur et le bouton "enregistrer" n'est plus atteignable.

(pas de commentaire sur les libellés des champs, de toute façon le tout est incompréhensible pour qui ne connait pas TIPI).

#18

Mis à jour par Frédéric Péters il y a plus de 5 ans

Quand je fais enregistrer ça remplace le formulaire sans exécution js et ça change la hauteur et le bouton "enregistrer" n'est plus atteignable.

Parce qu'ensuite c'est alors combo/ajax_cell_form.html qui est appelé, qui fait juste {{form.as_p}}; de là soit on prend la route d'arranger les choses dans combo, mais beaucoup de questions se posent (par exemple, ajouter une possibilité de template parallèle à manager_form_template, qui concernerait que le formulaire ?), soit retour en arrière et taper tout le js dans combo.manager.js, avec dedans la détection automatique des cellules TIPI, qu'il n'y ait pas d'appel explicite à faire.

Façon $('.cell-list').delegate('.cell.tipipaymentcell select', 'click', function() ...

À noter que j'invente ici la présence d'une classe tipipaymentcell, qui n'existe actuellement pas, mais serait un ajout utile. J'ai créé #29201 pour mener ça, je te le prépare tout de suite.

#19

Mis à jour par Serghei Mihai il y a plus de 5 ans

Retour en arrière pour gérer l'affichage dans combo.manager.js, sans recours à un template dédiée à l'édition de la cellule.

#20

Mis à jour par Frédéric Péters il y a plus de 5 ans

  $('.cell.tipipaymentformcell select').on('change', function() {
        handle_tipi_form($(this));
  });
  $('.cell.tipipaymentformcell select').trigger('change');
  $('.cell.tipipaymentformcell').on('combo:cellform-reloaded', function() {
        $(this).on('change', function() {
            handle_tipi_form($(this).find('select'));
        });
        $(this).find('select').trigger('change');
  });

Je trouve curieux le $(this).on('change', alors qu'ailleurs c'est le select qui est référencé.

#22

Mis à jour par Frédéric Péters il y a plus de 5 ans

Ça marche mais passer de Indigo à ROLMRE déplace le bouton "enregistrer" vers une zone inaccessible.

Je viens de créer #29244 + patch, ça te donnera une fonction compute_max_height à appeler.

#23

Mis à jour par Serghei Mihai il y a plus de 5 ans

  • Lié à Development #29244: manager : recalcul de la hauteur des blocs d'édition de cellule ajouté
#24

Mis à jour par Serghei Mihai il y a plus de 5 ans

Avec l'appel à la fonction pour rafraichir la hauteur de la cellule.

#25

Mis à jour par Frédéric Péters il y a plus de 5 ans

Tu peux rebaser maintenant que le compute_... est dans le dépôt ?

#27

Mis à jour par Frédéric Péters il y a plus de 5 ans

Ok, sans doute dernier truc :

+    exer = models.CharField(_('Exer'), max_length=4, blank=True, help_text=_('Default value to be used in form'))
+    idpce = models.CharField(_('IDPCE'), max_length=8, blank=True, help_text=_('Default value to be used in form'))
+    idligne = models.CharField(_('IDLIGNE'), max_length=6, blank=True, help_text=_('Default value to be used in form'))
+    rolrec = models.CharField(_('ROLREC'), max_length=2, blank=True, help_text=_('Default value to be used in form'))
+    roldeb = models.CharField(_('ROLDEB'), max_length=2, blank=True, help_text=_('Default value to be used in form'))
+    roldet = models.CharField(_('ROLDET'), max_length=13, blank=True, help_text=_('Default value to be used in form'))

Un conseil à donner aux traducteurs ?

#28

Mis à jour par Serghei Mihai il y a plus de 5 ans

On ne traduit pas les noms des paramètres. Les connaisseurs TIPI comprendront (ou pas).

Pour le help_text: "Valeur par défaut à utiliser dans le formulaire".

#29

Mis à jour par Frédéric Péters il y a plus de 5 ans

On ne traduit pas les noms des paramètres. Les connaisseurs TIPI comprendront (ou pas).

Alors il ne faut pas marquer pour traduction.

#31

Mis à jour par Frédéric Péters il y a plus de 5 ans

     assert resp.text.count('lingo_tipipaymentformcell') == 2
+    assert resp.text.count('lingo_tipipaymentformcell') == 2

.

  $('.cell.tipipaymentformcell').on('combo:cellform-reloaded', function() {
      compute_max_height($(this));
      ...
      $select.trigger('change');

mais le callback sur change fait aussi un compute_max_height, celui-ci est du coup redondant.

Patch modifié sur ces deux points, en pièce jointe, si c'est ok pour toi tu peux envoyer ainsi.

#32

Mis à jour par Serghei Mihai il y a plus de 5 ans

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

Ok, merci.

commit e8a0b4cedfc8aa4086ab3f5e356faffbdcfa87f9 (origin/master)
Author: Serghei Mihai <smihai@entrouvert.com>
Date:   Sun Nov 25 20:09:25 2018 +0100

    lingo: add default values for TIPI reference fields (#26057)

    Make fields readonly if default value defined.
#33

Mis à jour par Frédéric Péters il y a plus de 5 ans

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

Formats disponibles : Atom PDF