[opendebitdeboisson-commits] r1861 - in branches/bugfix-badges_contact: . app/js obj tests tests/data/pgsql tests/resources/app

0 views
Skip to first unread message

ebr...@users.adullact.net

unread,
Jun 11, 2024, 3:41:30 AM (11 days ago) Jun 11
to openmairie-ope...@googlegroups.com
Author: ebrodin
Date: 2024-06-11 09:41:26 +0200 (Tue, 11 Jun 2024)
New Revision: 1861

Modified:
branches/bugfix-badges_contact/
branches/bugfix-badges_contact/HISTORY.txt
branches/bugfix-badges_contact/app/js/script.js
branches/bugfix-badges_contact/obj/courrier.class.php
branches/bugfix-badges_contact/obj/declaration.class.php
branches/bugfix-badges_contact/obj/opendebitdeboisson.class.php
branches/bugfix-badges_contact/tests/0110_etablissement.robot
branches/bugfix-badges_contact/tests/data/pgsql/init_params.sql
branches/bugfix-badges_contact/tests/resources/app/declaration.robot
Log:
chore: merge de trunk dans bugfix-badges_contact


Index: branches/bugfix-badges_contact
===================================================================
--- branches/bugfix-badges_contact 2024-06-07 07:10:23 UTC (rev 1860)
+++ branches/bugfix-badges_contact 2024-06-11 07:41:26 UTC (rev 1861)

Property changes on: branches/bugfix-badges_contact
___________________________________________________________________
Modified: svn:mergeinfo
## -86,4 +86,5 ##
/branches/3.0.0-rec4_fix_tests:1379-1390
/branches/3.0.0-rec4_suivi_dates_mdd:1313-1355
/branches/3.0.0-rg:1545-1798
-/branches/trunk-compat-php80:413-418
\ No newline at end of property
+/branches/trunk-compat-php80:413-418
+/trunk:1843-1860
\ No newline at end of property
Modified: branches/bugfix-badges_contact/HISTORY.txt
===================================================================
--- branches/bugfix-badges_contact/HISTORY.txt 2024-06-07 07:10:23 UTC (rev 1860)
+++ branches/bugfix-badges_contact/HISTORY.txt 2024-06-11 07:41:26 UTC (rev 1861)
@@ -4,9 +4,15 @@
3.0.0-rc2 (unreleased)
----------------------

-* Aucun changement.
+* 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.
+
+* Évolution : Les éditions 'recepisse' et 'cerfa_declaration' sont désormais optionnelles sur la déclaration.
+
+
3.0.0-rc1 (25/04/2024)
----------------------


Modified: branches/bugfix-badges_contact/app/js/script.js
===================================================================
--- branches/bugfix-badges_contact/app/js/script.js 2024-06-07 07:10:23 UTC (rev 1860)
+++ branches/bugfix-badges_contact/app/js/script.js 2024-06-11 07:41:26 UTC (rev 1861)
@@ -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: branches/bugfix-badges_contact/obj/courrier.class.php
===================================================================
--- branches/bugfix-badges_contact/obj/courrier.class.php 2024-06-07 07:10:23 UTC (rev 1860)
+++ branches/bugfix-badges_contact/obj/courrier.class.php 2024-06-11 07:41:26 UTC (rev 1861)
@@ -732,7 +732,9 @@
autorex
) as autorisation_types ON autorisation_types.autorex = autorisation_exceptionnelle.autorisation_exceptionnelle
WHERE
- autorisation_exceptionnelle.etablissement = <id_etab>',
+ autorisation_exceptionnelle.etablissement = <id_etab>
+ ORDER BY
+ autorisation_exceptionnelle.autorisation_exceptionnelle DESC NULLS LAST',
DB_PREFIXE
);
}

Modified: branches/bugfix-badges_contact/obj/declaration.class.php
===================================================================
--- branches/bugfix-badges_contact/obj/declaration.class.php 2024-06-07 07:10:23 UTC (rev 1860)
+++ branches/bugfix-badges_contact/obj/declaration.class.php 2024-06-11 07:41:26 UTC (rev 1861)
@@ -29,6 +29,9 @@
),
"view" => "view_cerfa_declaration",
"permission_suffix" => "consulter",
+ "condition" => array(
+ "is_edition_cerfa_declaration_set",
+ ),
);
//
$this->class_actions[12] = array(
@@ -41,6 +44,9 @@
),
"view" => "view_recepisse",
"permission_suffix" => "consulter",
+ "condition" => array(
+ "is_edition_recepisse_set",
+ ),
);
// ACTION - 601 - listing_advs
$this->class_actions[601] = array(
@@ -57,6 +63,42 @@
}

/**
+ * CONDITION - is_edition_recepisse_set.
+ *
+ * @return boolean
+ */
+ function is_edition_recepisse_set() {
+ $inst__om_edition = $this->f->get_inst__om_edition();
+ $edition = $inst__om_edition->get_edition_from_collectivite(
+ "om_etat",
+ "recepisse",
+ $_SESSION["collectivite"]
+ );
+ if (is_null($edition)) {
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * CONDITION - is_edition_cerfa_declaration_set.
+ *
+ * @return boolean
+ */
+ function is_edition_cerfa_declaration_set() {
+ $inst__om_edition = $this->f->get_inst__om_edition();
+ $edition = $inst__om_edition->get_edition_from_collectivite(
+ "om_etat",
+ "cerfa_declaration",
+ $_SESSION["collectivite"]
+ );
+ if (is_null($edition)) {
+ return false;
+ }
+ return true;
+ }
+
+ /**
* GETTER_FORMINC - champs.
*
* - Table de liens 'lien_declaration_contact'.
@@ -721,13 +763,18 @@
*/
function setOnchange(&$form, $maj) {
parent::setOnchange($form, $maj);
- //
+ // En ajout, la valeur de la date de fin de validité sera la valeur
+ // date de début de validité + 100 ans (si l'option est activée).
if ($maj == 0) {
- // La valeur de la date de fin de validité sera la valeur date de
- // début de validité + 100 ans
- $form->setOnchange('date_debut_validite','fdate(this);add_years_to_date(this, date_fin_validite, 100)');
+ if ($this->f->is_option_declaration_date_fin_validite_auto_enabled() === true) {
+ $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: branches/bugfix-badges_contact/obj/opendebitdeboisson.class.php
===================================================================
--- branches/bugfix-badges_contact/obj/opendebitdeboisson.class.php 2024-06-07 07:10:23 UTC (rev 1860)
+++ branches/bugfix-badges_contact/obj/opendebitdeboisson.class.php 2024-06-11 07:41:26 UTC (rev 1861)
@@ -1173,4 +1173,19 @@
return false;
}

+ /**
+ * Vérifie si l'option option_declaration_date_fin_validite_auto est activée ou non.
+ *
+ * Valeur de retour true si l'option "option_declaration_date_fin_validite_auto"
+ * est activée sinon false.
+ *
+ * @return boolean
+ */
+ public function is_option_declaration_date_fin_validite_auto_enabled() {
+ if (trim($this->getParameter("option_declaration_date_fin_validite_auto")) === "true") {
+ return true;
+ }
+ return false;
+ }
+
}

Modified: branches/bugfix-badges_contact/tests/0110_etablissement.robot
===================================================================
--- branches/bugfix-badges_contact/tests/0110_etablissement.robot 2024-06-07 07:10:23 UTC (rev 1860)
+++ branches/bugfix-badges_contact/tests/0110_etablissement.robot 2024-06-11 07:41:26 UTC (rev 1861)
@@ -38,6 +38,17 @@
... om_validite_fin=01/01/2030
${qualite_contact_id_proprietaire} = Ajouter la qualité de contact ${contact_qualite}

+ # Ajout d'une qualité de contact exploitant
+ &{contact_qualite_lambda} = Create Dictionary
+ ... code=CQ_${testid}_003
+ ... libelle=lambda
+ ... description=Vérifie la recherche avancée sur le formulaire établissement
+ ... exploitant=false
+ ... proprietaire=false
+ ... om_validite_debut=${DATE_FORMAT_DD/MM/YYYY}
+ ... om_validite_fin=01/01/2030
+ ${qualite_contact_id_lambda} = Ajouter la qualité de contact ${contact_qualite_lambda}
+
&{etablissement_ajout}= Create Dictionary
... raison_sociale=Établissement_${testid}
... enseigne=Les marchands verts
@@ -151,7 +162,7 @@
... nom_usage=Lambda
... prenom=Pierrot
... date_naissance=02/11/1989
- ... contact_qualite=ancien propriétaire
+ ... contact_qualite=lambda
... email=lam...@gmail.fr
... telephone=0608080808
... om_validite_debut=${DATE_FORMAT_DD/MM/YYYY}

Modified: branches/bugfix-badges_contact/tests/data/pgsql/init_params.sql
===================================================================
--- branches/bugfix-badges_contact/tests/data/pgsql/init_params.sql 2024-06-07 07:10:23 UTC (rev 1860)
+++ branches/bugfix-badges_contact/tests/data/pgsql/init_params.sql 2024-06-11 07:41:26 UTC (rev 1861)
@@ -9,6 +9,13 @@
'false',
(SELECT om_collectivite FROM om_collectivite WHERE libelle = 'LIBREVILLE')
);
+ --
+INSERT INTO om_parametre (om_parametre, libelle, valeur, om_collectivite) VALUES
+ (nextval('om_parametre_seq'),
+ 'option_declaration_date_fin_validite_auto',
+ 'true',
+ (SELECT om_collectivite FROM om_collectivite WHERE libelle = 'LIBREVILLE')
+);
--
INSERT INTO om_widget (om_widget, libelle, lien, texte, type, script, arguments) VALUES
(nextval('om_widget_seq'), 'Autorisations exceptionnelles par statut', '', '', 'file', 'autorisations_exceptionnelles_par_statut', '');

Modified: branches/bugfix-badges_contact/tests/resources/app/declaration.robot
===================================================================
--- branches/bugfix-badges_contact/tests/resources/app/declaration.robot 2024-06-07 07:10:23 UTC (rev 1860)
+++ branches/bugfix-badges_contact/tests/resources/app/declaration.robot 2024-06-11 07:41:26 UTC (rev 1861)
@@ -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