Development #26057
cellule TIPI: améliorations de présentation
0%
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
Demandes liées
Révisions associées
Historique
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é
Mis à jour par Serghei Mihai il y a plus de 5 ans
- Fichier 0002-lingo-add-default-values-for-TIPI-reference-fields-2.patch 0002-lingo-add-default-values-for-TIPI-reference-fields-2.patch ajouté
- Fichier 0001-lingo-refactor-TIPI-payment-form-rendering-26057.patch 0001-lingo-refactor-TIPI-payment-form-rendering-26057.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
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.
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.
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.
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 ?
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.
Mis à jour par Serghei Mihai il y a plus de 5 ans
- Fichier 0001-lingo-add-default-values-for-TIPI-reference-fields-2.patch 0001-lingo-add-default-values-for-TIPI-reference-fields-2.patch ajouté
Une bete fonction JS ajoutée à la fin du formulaire de config de la cellule.
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).
Mis à jour par Serghei Mihai il y a plus de 5 ans
- Fichier 0001-lingo-add-default-values-for-TIPI-reference-fields-2.patch 0001-lingo-add-default-values-for-TIPI-reference-fields-2.patch ajouté
Rajouté dans forms.py
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).
Mis à jour par Serghei Mihai il y a plus de 5 ans
- Fichier 0002-lingo-add-default-values-for-TIPI-reference-fields-2.patch 0002-lingo-add-default-values-for-TIPI-reference-fields-2.patch ajouté
- Fichier 0001-manager-allow-cells-form-block-overriding-26057.patch 0001-manager-allow-cells-form-block-overriding-26057.patch ajouté
Ok.
Template dédié à la cellule avec ajout de l'appel à la fonction JS qui affiche les attributs spécifiques au protocole.
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)
Mis à jour par Serghei Mihai il y a plus de 5 ans
- Fichier 0002-lingo-add-default-values-for-TIPI-reference-fields-2.patch 0002-lingo-add-default-values-for-TIPI-reference-fields-2.patch ajouté
Oui.
Mis à jour par Frédéric Péters il y a plus de 5 ans
- Fichier Screenshot_2018-12-19 Services en ligne.png Screenshot_2018-12-19 Services en ligne.png ajouté
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).
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.
Mis à jour par Serghei Mihai il y a plus de 5 ans
- Fichier 0001-lingo-add-default-values-for-TIPI-reference-fields-2.patch 0001-lingo-add-default-values-for-TIPI-reference-fields-2.patch ajouté
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.
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é.
Mis à jour par Serghei Mihai il y a plus de 5 ans
- Fichier 0001-lingo-add-default-values-for-TIPI-reference-fields-2.patch 0001-lingo-add-default-values-for-TIPI-reference-fields-2.patch ajouté
En effet, faute d'attention.
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.
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é
Mis à jour par Serghei Mihai il y a plus de 5 ans
- Fichier 0001-lingo-add-default-values-for-TIPI-reference-fields-2.patch 0001-lingo-add-default-values-for-TIPI-reference-fields-2.patch ajouté
Avec l'appel à la fonction pour rafraichir la hauteur de la cellule.
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 ?
Mis à jour par Serghei Mihai il y a plus de 5 ans
- Fichier 0001-lingo-add-default-values-for-TIPI-reference-fields-2.patch 0001-lingo-add-default-values-for-TIPI-reference-fields-2.patch ajouté
Patch après rebase.
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 ?
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".
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.
Mis à jour par Serghei Mihai il y a plus de 5 ans
- Fichier 0001-lingo-add-default-values-for-TIPI-reference-fields-2.patch 0001-lingo-add-default-values-for-TIPI-reference-fields-2.patch ajouté
Ok
Mis à jour par Frédéric Péters il y a plus de 5 ans
- Fichier 0001-lingo-add-default-values-for-TIPI-reference-fields-2.patch 0001-lingo-add-default-values-for-TIPI-reference-fields-2.patch ajouté
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.
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.
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
lingo: add default values for TIPI reference fields (#26057)
Make fields readonly if default value defined.