[opendebitdeboisson-commits] r1856 - in trunk: . app/js obj tests/resources/app

0 views
Skip to first unread message

fmi...@users.adullact.net

unread,
Jun 5, 2024, 5:08:47 PMJun 5
to openmairie-ope...@googlegroups.com
Author: fmichon
Date: 2024-06-05 23:08:44 +0200 (Wed, 05 Jun 2024)
New Revision: 1856

Modified:
trunk/HISTORY.txt
trunk/app/js/script.js
trunk/obj/declaration.class.php
trunk/tests/resources/app/declaration.robot
Log:
* Correction : Le calcul automatique de la date de debut de validite a partir de la date de declaration + 15 jours n'etait plus fonctionnel.


Modified: trunk/HISTORY.txt
===================================================================
--- trunk/HISTORY.txt 2024-06-05 14:50:38 UTC (rev 1855)
+++ trunk/HISTORY.txt 2024-06-05 21:08:44 UTC (rev 1856)
@@ -4,6 +4,8 @@
3.0.0-rc2 (unreleased)
----------------------

+* Correction : Le calcul automatique de la date de début de validité à partir de la date de déclaration + 15 jours n'était plus fonctionnel.
+
* Évolution : Ajout d'une option pour gérer la mise à jour automatique de la date de fin de validité d'une déclaration à partir de sa date de début de validité + 100 ans.

* Correction : Mise en cohérence de l'ordre de tri du select des autorisations exceptionnelles du formulaire 'courrier' avec l'ordre de tri du listing des autorisations exceptionnelles.

Modified: trunk/app/js/script.js
===================================================================
--- trunk/app/js/script.js 2024-06-05 14:50:38 UTC (rev 1855)
+++ trunk/app/js/script.js 2024-06-05 21:08:44 UTC (rev 1856)
@@ -601,20 +601,56 @@
}

/**
+ * Cette fonction permet de gérer la mise à jour automatique du champ
+ * *date_debut_validite* du formulaire déclaration à partir des informations
+ * renseignées dans le champ field passé en paramètre (le champ
+ * *date_declaration* du formulaire déclaration).
+ *
+ * L'objectif principal est le suivant : dès que l'utilisateur renseigne une
+ * date de déclaration. La date de début de validité se positionne
+ * automatiquement à J+15.
+ *
+ * @return void
+ */
+function handle_date_debut_validite(field) {
+ function pad(s) { return (s < 10) ? '0' + s : s; }
+ // On récupère la valeur du champ field passé en paramètre et
+ // on vérifie que c'est une date valide sinon on ne fait rien.
+ var result = new Date($(field).val().split('/').reverse().join('-'));
+ if (result.toString() === "Invalid Date") {
+ return;
+ }
+ // On ajoute les 15 jours à notre date valide récupérée et on compose la
+ // nouvelle date au bon format.
+ result.setDate(result.getDate() + 15);
+ new_date = [pad(result.getDate()), pad(result.getMonth()+1), result.getFullYear()].join('/');
+ // Dans le cas ou le champ date de début de validité n'est pas vide alors
+ // on alerte l'utilisateur que sa valeur va être remplacée.
+ if ($("#date_debut_validite").val() != "") {
+ alert("Une date de début de validité va être modifiée par la date de déclaration + 15 jours.");
+ }
+ // On met à jour la date et on déclenche l'événement change sur celui ci.
+ $("#date_debut_validite").val(new_date).trigger("change");
+}
+
+/**
* Permet d'ajouter des années à une date récupérée d'un champ de formulaire et
* de mettre à jour un champ de formulaire avec la nouvelle date.
*
* @return void
- *
*/
function add_years_to_date(date_field_src, date_field_dest, years) {
+ function pad(s) { return (s < 10) ? '0' + s : s; }
// Change le format de la date dd/mm/yyyy en yyyy-mm-dd
var date = new Date(date_field_src.value.split('/').reverse().join('-'));
// Ajoute un nombre d'année à la date
var date_result = new Date(date.setFullYear(date.getFullYear() + years));
+ if (date_result.toString() === "Invalid Date") {
+ $(date_field_dest).val("").trigger("change");
+ return;
+ }
// Met la valeur dans le champ de destiantion et change le format de la date
// vers dd/mm/yyyy
- function pad(s) { return (s < 10) ? '0' + s : s; }
$(date_field_dest).val([pad(date_result.getDate()), pad(date_result.getMonth()+1), date_result.getFullYear()].join('/'));
fdate(date_field_dest);
}

Modified: trunk/obj/declaration.class.php
===================================================================
--- trunk/obj/declaration.class.php 2024-06-05 14:50:38 UTC (rev 1855)
+++ trunk/obj/declaration.class.php 2024-06-05 21:08:44 UTC (rev 1856)
@@ -770,6 +770,11 @@
$form->setOnchange('date_debut_validite','fdate(this);add_years_to_date(this, date_fin_validite, 100)');
}
}
+ // En ajout et modification, la date de début de validité sera la
+ // valeur date de déclaration + 15 jours.
+ if ($maj == 0 || $maj == 1) {
+ $form->setOnchange('date_declaration', 'fdate(this);handle_date_debut_validite(this)');
+ }
// Gestion du type de contact "personne morale" ou "personne physique".
$form->setOnchange("declaration_type", "form_helper__declaration_type_ouv_licence_select(".$this->get_declaration_type__ouv().");");
}

Modified: trunk/tests/resources/app/declaration.robot
===================================================================
--- trunk/tests/resources/app/declaration.robot 2024-06-05 14:50:38 UTC (rev 1855)
+++ trunk/tests/resources/app/declaration.robot 2024-06-05 21:08:44 UTC (rev 1856)
@@ -87,11 +87,23 @@
Saisir les informations dans le formulaire de déclaration ${values}
Click On Submit Button In Subform

+
+Confirmer le message d'information du remplacement de la date de début de validité
+ Wait Until Element Is Visible css=div.ui-dialog
+ Element Should Contain css=div.ui-dialog Une date de début de validité va être modifiée par la date de déclaration + 15 jours.
+ Click Element id=ui-button-valid
+ Wait Until Element Is Not Visible css=div.ui-dialog
+
Saisir les informations dans le formulaire de déclaration
[Documentation] Saisie les données dans le formulaire d'ajout d'une déclaration depuis l'établissement courant
[Tags] licence déclaration établissement
[Arguments] ${values}
+
Si "date_declaration" existe dans "${values}" on execute "Input Text" dans le formulaire
+ Sleep 1
+ ${present} = Run Keyword And Return Status Element Should Be Visible css=div.ui-dialog
+ Run Keyword If ${present} Confirmer le message d'information du remplacement de la date de début de validité
+
Si "date_ancienne_declaration" existe dans "${values}" on execute "Input Text" dans le formulaire
Si "declaration_type" existe dans "${values}" on execute "Select From List By Label" dans le formulaire
Si "type_licence" existe dans "${values}" on execute "Select From List By Label" dans le formulaire

Reply all
Reply to author
Forward
0 new messages