From 405ce3a264d355b8c8e94ee9f9cd053e4a412c9b Mon Sep 17 00:00:00 2001
From: Thomas NOEL <tnoel@entrouvert.com>
Date: Mon, 23 Sep 2019 23:34:44 +0200
Subject: [PATCH] apa: allow columns selection in apa-droits table (#36297)

To enable this feature, add a "columns" parameter in
JSON_CELL_TYPES['apa-droits'] configuration, like this:

    "apa-droits" : {
       ...
       "form": [
         {
           "varname": "solis",
           "label": "Slug du connecteur Solis",
           "required": false
         },
         {
           "varname": "columns",
           "label": "Colonnes (ex: periode prestation quantite montant participation mode versement destinataire)",
           "required": false
         }
       ],
       ...
---
 templates/combo/json/apa-droits.html | 52 ++++++++++++++++++----------
 1 file changed, 34 insertions(+), 18 deletions(-)

diff --git a/templates/combo/json/apa-droits.html b/templates/combo/json/apa-droits.html
index 00830ba9..4dd35248 100644
--- a/templates/combo/json/apa-droits.html
+++ b/templates/combo/json/apa-droits.html
@@ -80,29 +80,45 @@
       <table class="pk-data-table pk-table-headers pk-table-zebra">
         <thead>
           <tr>
-            <th>Période</th>
-            <th>Prestation</th>
-            <th>Quantité</th>
-            <th>Montant accordé</th>
-            <th>Participation du bénéficiaire</th>
-            <th>Versement</th>
-            <th>Destinataire du paiement</th>
+            {% for column in columns|default:"periode prestation quantite montant participation versement destinataire"|split %}
+              {% if column == "periode" %}<th>Période</th>
+              {% elif column == "prestation" %}<th>Prestation</th>
+              {% elif column == "quantite" %}<th>Quantité</th>
+              {% elif column == "montant" %}<th>Montant accordé</th>
+              {% elif column == "participation" %}<th>Participation du bénéficiaire</th>
+              {% elif column == "versement" %}<th>Versement</th>
+              {% elif column == "mode" %}<th>Mode de règlement</th>
+              {% elif column == "destinataire" %}<th>Destinataire du paiement</th>
+              {% endif %}
+            {% endfor %}
           </tr>
         </thead>
         <tbody>
           {% for presta in dossier.prestationAccordeeAsg %}
           <tr>
-            <td>
-              {% if presta.periode.dateEffet %}{% if presta.periode.dateFin %}du {%endif %}{{ presta.periode.dateEffet|parse_date|date:"j/n/Y" }}{% endif %}
-              {% if presta.periode.dateFin %}{% if not presta.periode.dateEffet %}jusqu'{% endif %}au {{ presta.periode.dateFin|parse_date|date:"j/n/Y" }}{% endif %}
-            </td>
-            <td nowrap>{{ presta.prestation }}</td>
-            <td>{{ presta.quantite|default:"non renseigné" }}</td>
-            <td>{{ presta.montant.accorde|default:"0"|floatformat:2 }} €</td>
-            <td>{{ presta.montant.participation|default:"0"|floatformat:2 }} €</td>
-            <td>{{ presta.montant.verse|default:"0"|floatformat:2 }} €</td>
-            <td>{{ presta.attributaire.identite|default:"non renseigné" }}
-                {% if presta.attributaire.type %}({{ presta.attributaire.type }}){% endif %}</td>
+            {% for column in columns|default:"periode prestation quantite montant participation versement destinataire"|split %}
+              {% if column == "periode" %}
+                <td>
+                  {% if presta.periode.dateEffet %}{% if presta.periode.dateFin %}du {%endif %}{{ presta.periode.dateEffet|parse_date|date:"j/n/Y" }}{% endif %}
+                  {% if presta.periode.dateFin %}{% if not presta.periode.dateEffet %}jusqu'{% endif %}au {{ presta.periode.dateFin|parse_date|date:"j/n/Y" }}{% endif %}
+                </td>
+              {% elif column == "prestation" %}
+                <td nowrap>{{ presta.prestation }}{% if presta.tiers.type %}<br/>({{ presta.tiers.type }}){% endif %}</td>
+              {% elif column == "quantite" %}
+                <td>{{ presta.quantite|default:"non renseigné" }}</td>
+              {% elif column == "montant" %}
+                <td>{{ presta.montant.accorde|default:"0"|floatformat:2 }} €</td>
+              {% elif column == "participation" %}
+                <td>{{ presta.montant.participation|default:"0"|floatformat:2 }} €</td>
+              {% elif column == "versement" %}
+                <td>{{ presta.montant.verse|default:"0"|floatformat:2 }} €</td>
+              {% elif column == "mode" %}
+                <td>{{ presta.attributaire.tiersComptable.modeReglement|default:"non renseigné" }}</td>
+              {% elif column == "destinataire" %}
+                <td>{{ presta.attributaire.identite|default:"non renseigné" }}
+                    {% if presta.attributaire.type %}({{ presta.attributaire.type }}){% endif %}</td>
+              {% endif %}
+            {% endfor %}
           </tr>
           {% endfor %}
         </tbody>
-- 
2.23.0

