From f88a7554c058ffea57af2da97dcd8e8abd9d5829 Mon Sep 17 00:00:00 2001 From: Marty Fabien <fabien_marty@yahoo.fr> Date: Fri, 24 Jan 2020 14:25:46 +0000 Subject: [PATCH] tooltip last update --- ...immo_saisie_suivi_prod_immo_operation.json | 16 ++- ..._prod_immo_operation_operation_acteur.json | 30 +++-- ...d_immo_operation_operation_avancement.json | 18 ++- ...od_immo_operation_operation_financier.json | 66 ++++++++--- ...o_operation_operation_mode_operatoire.json | 4 +- ...mmo_operation_operation_programmation.json | 58 ++++++--- ...immo_saisie_suivi_prod_immo_programme.json | 20 +++- ..._prod_immo_programme_programme_acteur.json | 32 +++-- ...vi_prod_immo_programme_programme_cout.json | 16 ++- ...rod_immo_programme_programme_synthese.json | 16 ++- .../module/javascript/script_module.js | 72 +++++++++++- .../web_service/ws/Commune.class.inc | 2 +- .../web_service/ws/Mode_financement.class.inc | 2 +- .../ws/OperationLastUpdate.class.inc | 110 ++++++++++++++++++ .../ws/ProgrammeLastUpdate.class.inc | 110 ++++++++++++++++++ .../web_service/ws/Suivi_prod_immo.class.inc | 4 + .../ws/Suivi_prod_immo.class.sql.inc | 4 + .../class/vmlib/files/Files_manager.class.inc | 2 - 18 files changed, 505 insertions(+), 77 deletions(-) create mode 100644 src/module_suivi_prod_immo/web_service/ws/OperationLastUpdate.class.inc create mode 100644 src/module_suivi_prod_immo/web_service/ws/ProgrammeLastUpdate.class.inc diff --git a/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_operation.json b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_operation.json index 790fb14d..22a8de54 100644 --- a/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_operation.json +++ b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_operation.json @@ -483,7 +483,7 @@ "rows":[ ], - "initEvent": "initAncTraitementForm()", + "initEvent": "", "event":"sendSimpleForm()", "afterEvent":"editSectionForm()", "tabs":{ @@ -514,7 +514,9 @@ "required":false, "pattern":"", "nb_cols":8, - "id":"nom_operation" + "id":"nom_operation", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('nom_operation')" }, { "type":"label", @@ -534,7 +536,9 @@ "required":false, "pattern":"", "nb_cols":1, - "id":"surface" + "id":"surface", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('surface')" } ] }, @@ -630,7 +634,9 @@ "required":false, "pattern":"", "nb_cols":12, - "id":"commentaire_operation" + "id":"commentaire_operation", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('commentaire_operation')" } ] }, @@ -661,7 +667,7 @@ ] } ], - "initEvent": "initAncTraitementForm()", + "initEvent": "", "event":"sendSimpleForm()", "tabs":{ "position":"top", diff --git a/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_operation_operation_acteur.json b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_operation_operation_acteur.json index 8f489a2b..066115a2 100644 --- a/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_operation_operation_acteur.json +++ b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_operation_operation_acteur.json @@ -150,7 +150,7 @@ "rows":[ ], - "initEvent": "initAncTraitementForm()", + "initEvent": "", "event":"sendSimpleForm()", "afterEvent":"editSectionForm()", "tabs":{ @@ -181,7 +181,9 @@ "required":false, "pattern":"", "nb_cols":6, - "id":"nom_mo" + "id":"nom_mo", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('nom_mo')" } ] }, @@ -194,7 +196,9 @@ "required":false, "pattern":"", "nb_cols":6, - "id":"cdp_mo" + "id":"cdp_mo", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('cdp_mo')" }, { "type":"text", @@ -203,7 +207,9 @@ "required":false, "pattern":"", "nb_cols":6, - "id":"direction_mo" + "id":"direction_mo", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('direction_mo')" } ] }, @@ -216,7 +222,9 @@ "required":false, "pattern":"", "nb_cols":6, - "id":"nom_amenageur" + "id":"nom_amenageur", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('nom_amenageur')" } ] }, @@ -229,7 +237,9 @@ "required":false, "pattern":"", "nb_cols":6, - "id":"cdp_amenageur" + "id":"cdp_amenageur", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('cdp_amenageur')" } ] }, @@ -242,7 +252,9 @@ "required":false, "pattern":"", "nb_cols":6, - "id":"nom_moe" + "id":"nom_moe", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('nom_moe')" } ] }, @@ -255,7 +267,9 @@ "required":false, "pattern":"", "nb_cols":6, - "id":"architecte_moe" + "id":"architecte_moe", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('architecte_moe')" } ] }, diff --git a/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_operation_operation_avancement.json b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_operation_operation_avancement.json index 169c1288..ef8acaca 100644 --- a/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_operation_operation_avancement.json +++ b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_operation_operation_avancement.json @@ -134,7 +134,7 @@ "rows":[ ], - "initEvent": "initAncTraitementForm()", + "initEvent": "", "event":"sendSimpleForm()", "afterEvent":"editSectionForm()", "tabs":{ @@ -198,7 +198,9 @@ "required":false, "pattern":"", "nb_cols":1, - "id":"annee_init" + "id":"annee_init", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('annee_init')" }, { "type":"number", @@ -207,7 +209,9 @@ "required":false, "pattern":"", "nb_cols":1, - "id":"annee_achevement" + "id":"annee_achevement", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('annee_achevement')" } ] }, @@ -220,7 +224,9 @@ "required":false, "pattern":"", "nb_cols":1, - "id":"nb_phase" + "id":"nb_phase", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('nb_phase')" }, { "type":"text", @@ -229,7 +235,9 @@ "required":false, "pattern":"", "nb_cols":10, - "id":"commentaire_phase" + "id":"commentaire_phase", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('commentaire_phase')" } ] }, diff --git a/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_operation_operation_financier.json b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_operation_operation_financier.json index 0c8ba463..d2b3bb91 100644 --- a/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_operation_operation_financier.json +++ b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_operation_operation_financier.json @@ -460,7 +460,9 @@ "required":false, "pattern":"", "nb_cols":1, - "id":"depense_globale" + "id":"depense_globale", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('depense_globale')" }, { "type":"label", @@ -494,7 +496,9 @@ "required":false, "pattern":"", "nb_cols":2, - "id":"pourc_depense_cout_foncier" + "id":"pourc_depense_cout_foncier", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('pourc_depense_cout_foncier')" }, { "type":"text", @@ -503,7 +507,9 @@ "required":false, "pattern":"", "nb_cols":2, - "id":"depense_cout_foncier" + "id":"depense_cout_foncier", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('depense_cout_foncier')" } ] }, @@ -530,7 +536,9 @@ "required":false, "pattern":"", "nb_cols":2, - "id":"depense_mise_etat_sol" + "id":"depense_mise_etat_sol", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('depense_mise_etat_sol')" } ] }, @@ -543,7 +551,9 @@ "required":false, "pattern":"", "nb_cols":1, - "id":"recette_globale" + "id":"recette_globale", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('recette_globale')" }, { "type":"label", @@ -577,7 +587,9 @@ "required":false, "pattern":"", "nb_cols":2, - "id":"pourc_recette_cession" + "id":"pourc_recette_cession", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('pourc_recette_cession')" }, { "type":"text", @@ -586,7 +598,9 @@ "required":false, "pattern":"", "nb_cols":2, - "id":"recette_cession" + "id":"recette_cession", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('recette_cession')" } ] }, @@ -613,7 +627,9 @@ "required":false, "pattern":"", "nb_cols":2, - "id":"pourc_recette_part_privee" + "id":"pourc_recette_part_privee", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('pourc_recette_part_privee')" }, { "type":"text", @@ -622,7 +638,9 @@ "required":false, "pattern":"", "nb_cols":2, - "id":"recette_part_privee" + "id":"recette_part_privee", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('recette_part_privee')" } ] }, @@ -649,7 +667,9 @@ "required":false, "pattern":"", "nb_cols":2, - "id":"pourc_recette_part_publique" + "id":"pourc_recette_part_publique", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('pourc_recette_part_publique')" }, { "type":"text", @@ -658,7 +678,9 @@ "required":false, "pattern":"", "nb_cols":2, - "id":"recette_part_publique" + "id":"recette_part_publique", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('recette_part_publique')" }, { "type":"radio", @@ -705,7 +727,9 @@ "required":false, "pattern":"", "nb_cols":2, - "id":"recette_part_publique_mdl" + "id":"recette_part_publique_mdl", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('recette_part_publique_mdl')" } ] }, @@ -732,7 +756,9 @@ "required":false, "pattern":"", "nb_cols":2, - "id":"recette_part_publique_ville" + "id":"recette_part_publique_ville", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('recette_part_publique_ville')" } ] }, @@ -759,7 +785,9 @@ "required":false, "pattern":"", "nb_cols":2, - "id":"recette_part_publique_anru" + "id":"recette_part_publique_anru", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('recette_part_publique_anru')" } ] }, @@ -786,7 +814,9 @@ "required":false, "pattern":"", "nb_cols":2, - "id":"recette_part_publique_autre" + "id":"recette_part_publique_autre", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('recette_part_publique_autre')" }, { "type":"text", @@ -795,7 +825,11 @@ "required":false, "pattern":"", "nb_cols":4, - "id":"recette_part_publique_autre_commentaire" + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('recette_part_publique_autre_commentaire')", + "id":"recette_part_publique_autre_commentaire", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('recette_part_publique_autre_commentaire')" } ] }, diff --git a/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_operation_operation_mode_operatoire.json b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_operation_operation_mode_operatoire.json index db38c869..a660fc74 100644 --- a/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_operation_operation_mode_operatoire.json +++ b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_operation_operation_mode_operatoire.json @@ -196,7 +196,9 @@ "required":false, "pattern":"", "nb_cols":6, - "id":"commentaire_operation_mixte" + "id":"commentaire_operation_mixte", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('commentaire_operation_mixte')" } ] }, diff --git a/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_operation_operation_programmation.json b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_operation_operation_programmation.json index ff73b9dd..f35a5ca0 100644 --- a/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_operation_operation_programmation.json +++ b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_operation_operation_programmation.json @@ -381,7 +381,7 @@ "rows":[ ], - "initEvent": "initAncTraitementForm()", + "initEvent": "", "event":"sendSimpleForm()", "afterEvent":"editSectionForm()", "tabs":{ @@ -441,7 +441,9 @@ "required":false, "pattern":"", "nb_cols":2, - "id":"sdp" + "id":"sdp", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('sdp')" }, { "type":"label", @@ -468,7 +470,9 @@ "required":false, "pattern":"", "nb_cols":2, - "id":"sdp_bureau" + "id":"sdp_bureau", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('sdp_bureau')" }, { "type":"label", @@ -491,7 +495,9 @@ "required":false, "pattern":"", "nb_cols":2, - "id":"sdp_equipement" + "id":"sdp_equipement", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('sdp_bureau')" } ] }, @@ -511,7 +517,9 @@ "required":false, "pattern":"", "nb_cols":2, - "id":"sdp_commerce_service" + "id":"sdp_commerce_service", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('sdp_commerce_service')" }, { "type":"label", @@ -527,7 +535,9 @@ "required":false, "pattern":"", "nb_cols":3, - "id":"commentaire_sdp_equipement" + "id":"commentaire_sdp_equipement", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('commentaire_sdp_equipement')" } ] }, @@ -547,7 +557,9 @@ "required":false, "pattern":"", "nb_cols":2, - "id":"sdp_loisir" + "id":"sdp_loisir", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('sdp_loisir')" }, { "type":"label", @@ -570,7 +582,9 @@ "required":false, "pattern":"", "nb_cols":2, - "id":"emprise_espace_public_vert" + "id":"emprise_espace_public_vert", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('emprise_espace_public_vert')" } ] }, @@ -590,7 +604,9 @@ "required":false, "pattern":"", "nb_cols":2, - "id":"sdp_hotel" + "id":"sdp_hotel", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('sdp_hotel')" }, { "type":"label", @@ -606,7 +622,9 @@ "required":false, "pattern":"", "nb_cols":3, - "id":"commentaire_espace_public_vert" + "id":"commentaire_espace_public_vert", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('commentaire_espace_public_vert')" } ] }, @@ -626,7 +644,9 @@ "required":false, "pattern":"", "nb_cols":2, - "id":"sdp_locaux" + "id":"sdp_locaux", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('sdp_locaux')" } ] }, @@ -646,7 +666,9 @@ "required":false, "pattern":"", "nb_cols":2, - "id":"sdp_logement" + "id":"sdp_logement", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('sdp_logement')" } ] }, @@ -666,7 +688,9 @@ "required":false, "pattern":"", "nb_cols":2, - "id":"nb_logement" + "id":"nb_logement", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('nb_logement')" }, { "type":"label", @@ -682,7 +706,9 @@ "required":false, "pattern":"", "nb_cols":2, - "id":"nb_lgt_fam" + "id":"nb_lgt_fam", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('nb_lgt_fam')" }, { "type":"text", @@ -691,7 +717,9 @@ "required":false, "pattern":"", "nb_cols":2, - "id":"nb_lgt_spe" + "id":"nb_lgt_spe", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('nb_lgt_spe')" } ] }, diff --git a/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_programme.json b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_programme.json index e6cbde31..3ce206b5 100644 --- a/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_programme.json +++ b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_programme.json @@ -378,7 +378,9 @@ "required":false, "pattern":"", "nb_cols":8, - "id":"nom_programme" + "id":"nom_programme", + "dynamic_event_type": "focus", + "dynamic_event_function": "getProgrammeTooltipLastUpdate('nom_programme')" }, { "type":"label", @@ -416,7 +418,9 @@ "required":false, "pattern":"", "nb_cols":8, - "id":"adresse_programme" + "id":"adresse_programme", + "dynamic_event_type": "focus", + "dynamic_event_function": "getProgrammeTooltipLastUpdate('adresse_programme')" }, { "type":"select", @@ -447,7 +451,9 @@ "required":false, "pattern":"", "nb_cols":2, - "id":"numero_pc" + "id":"numero_pc", + "dynamic_event_type": "focus", + "dynamic_event_function": "getProgrammeTooltipLastUpdate('numero_pc')" } ] }, @@ -460,7 +466,9 @@ "required":false, "pattern":"", "nb_cols":1, - "id":"surface" + "id":"surface", + "dynamic_event_type": "focus", + "dynamic_event_function": "getProgrammeTooltipLastUpdate('surface')" } ] }, @@ -495,7 +503,9 @@ "required":false, "pattern":"", "nb_cols":12, - "id":"commentaire_programme" + "id":"commentaire_programme", + "dynamic_event_type": "focus", + "dynamic_event_function": "getProgrammeTooltipLastUpdate('commentaire_programme')" } ] }, diff --git a/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_programme_programme_acteur.json b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_programme_programme_acteur.json index fd2d6233..b19a898f 100644 --- a/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_programme_programme_acteur.json +++ b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_programme_programme_acteur.json @@ -231,7 +231,9 @@ "required":false, "pattern":"", "nb_cols":5, - "id":"nom_demandeur" + "id":"nom_demandeur", + "dynamic_event_type": "focus", + "dynamic_event_function": "getProgrammeTooltipLastUpdate('nom_demandeur')" } ] }, @@ -244,7 +246,9 @@ "required":false, "pattern":"", "nb_cols":5, - "id":"nom_moe" + "id":"nom_moe", + "dynamic_event_type": "focus", + "dynamic_event_function": "getProgrammeTooltipLastUpdate('nom_moe')" } ] }, @@ -257,7 +261,9 @@ "required":false, "pattern":"", "nb_cols":2, - "id":"annee_debut" + "id":"annee_debut", + "dynamic_event_type": "focus", + "dynamic_event_function": "getProgrammeTooltipLastUpdate('annee_debut')" } ] }, @@ -270,7 +276,9 @@ "required":false, "pattern":"", "nb_cols":2, - "id":"annee_fin" + "id":"annee_fin", + "dynamic_event_type": "focus", + "dynamic_event_function": "getProgrammeTooltipLastUpdate('annee_fin')" } ] }, @@ -283,7 +291,9 @@ "required":false, "pattern":"", "nb_cols":2, - "id":"annee_achat_terrain_operateur" + "id":"annee_achat_terrain_operateur", + "dynamic_event_type": "focus", + "dynamic_event_function": "getProgrammeTooltipLastUpdate('annee_achat_terrain_operateur')" } ] }, @@ -296,7 +306,9 @@ "required":false, "pattern":"", "nb_cols":2, - "id":"date_debut_commercialisation" + "id":"date_debut_commercialisation", + "dynamic_event_type": "focus", + "dynamic_event_function": "getProgrammeTooltipLastUpdate('date_debut_commercialisation')" } ] }, @@ -309,7 +321,9 @@ "required":false, "pattern":"", "nb_cols":2, - "id":"date_fin_commercialisation" + "id":"date_fin_commercialisation", + "dynamic_event_type": "focus", + "dynamic_event_function": "getProgrammeTooltipLastUpdate('date_fin_commercialisation')" } ] }, @@ -322,7 +336,9 @@ "required":false, "pattern":"", "nb_cols":2, - "id":"tx_ecoulement_commercialisation" + "id":"tx_ecoulement_commercialisation", + "dynamic_event_type": "focus", + "dynamic_event_function": "getProgrammeTooltipLastUpdate('tx_ecoulement_commercialisation')" } ] }, diff --git a/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_programme_programme_cout.json b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_programme_programme_cout.json index 615b2034..77bf1bd7 100644 --- a/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_programme_programme_cout.json +++ b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_programme_programme_cout.json @@ -183,7 +183,9 @@ "required":false, "pattern":"", "nb_cols":2, - "id":"cout_total_programme" + "id":"cout_total_programme", + "dynamic_event_type": "focus", + "dynamic_event_function": "getProgrammeTooltipLastUpdate('cout_total_programme')" } ] }, @@ -207,7 +209,9 @@ "required":false, "pattern":"", "nb_cols":2, - "id":"charge_fonciere_nette" + "id":"charge_fonciere_nette", + "dynamic_event_type": "focus", + "dynamic_event_function": "getProgrammeTooltipLastUpdate('charge_fonciere_nette')" } ] }, @@ -234,7 +238,9 @@ "required":false, "pattern":"", "nb_cols":3, - "id":"cout_foncier_brut" + "id":"cout_foncier_brut", + "dynamic_event_type": "focus", + "dynamic_event_function": "getProgrammeTooltipLastUpdate('cout_foncier_brut')" } ] }, @@ -254,7 +260,9 @@ "required":false, "pattern":"", "nb_cols":3, - "id":"cout_depol_demol" + "id":"cout_depol_demol", + "dynamic_event_type": "focus", + "dynamic_event_function": "getProgrammeTooltipLastUpdate('cout_depol_demol')" } ] }, diff --git a/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_programme_programme_synthese.json b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_programme_programme_synthese.json index 0b8bc8f2..371392a6 100644 --- a/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_programme_programme_synthese.json +++ b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_programme_programme_synthese.json @@ -147,7 +147,9 @@ "required":false, "pattern":"", "nb_cols":2, - "id":"surface_moy_logement" + "id":"surface_moy_logement", + "dynamic_event_type": "focus", + "dynamic_event_function": "getProgrammeTooltipLastUpdate('surface_moy_logement')" } ] }, @@ -160,7 +162,9 @@ "required":false, "pattern":"", "nb_cols":2, - "id":"cout_construction_moyen" + "id":"cout_construction_moyen", + "dynamic_event_type": "focus", + "dynamic_event_function": "getProgrammeTooltipLastUpdate('cout_construction_moyen')" } ] }, @@ -173,7 +177,9 @@ "required":false, "pattern":"", "nb_cols":2, - "id":"charge_fonciere_moy" + "id":"charge_fonciere_moy", + "dynamic_event_type": "focus", + "dynamic_event_function": "getProgrammeTooltipLastUpdate('charge_fonciere_moy')" } ] }, @@ -186,7 +192,9 @@ "required":false, "pattern":"", "nb_cols":2, - "id":"prix_commercial_moyen" + "id":"prix_commercial_moyen", + "dynamic_event_type": "focus", + "dynamic_event_function": "getProgrammeTooltipLastUpdate('prix_commercial_moyen')" } ] }, diff --git a/src/module_suivi_prod_immo/module/javascript/script_module.js b/src/module_suivi_prod_immo/module/javascript/script_module.js index 2e67c539..dbabe56d 100644 --- a/src/module_suivi_prod_immo/module/javascript/script_module.js +++ b/src/module_suivi_prod_immo/module/javascript/script_module.js @@ -11,7 +11,7 @@ vitisApp.on('appMainDrtvLoaded', function () { */ angular.element(vitisApp.appMainDrtv).scope()["loadSuiviProdImmoRepartitionLogControl"] = function () { // Injection des services. - var $log = angular.element(vitisApp.appMainDrtv).injector().get(["$log"]); + /*var $log = angular.element(vitisApp.appMainDrtv).injector().get(["$log"]); var $rootScope = angular.element(vitisApp.appMainDrtv).injector().get(["$rootScope"]); var $translate = angular.element(vitisApp.appMainDrtv).injector().get(["$translate"]); var envSrvc = angular.element(vitisApp.appMainDrtv).injector().get(["envSrvc"]); @@ -58,7 +58,75 @@ vitisApp.on('appMainDrtvLoaded', function () { else if (oGridOptions["appActions"][i]["name"].indexOf("_delete") != -1) oGridOptions["appActions"][i]["event"] = "DeleteSelection({'sIdField':'id_traitement'})"; } - }); + });*/ }; + + /** + * getOperationTooltipLastUpdate + * + * add a tooltip for operation table field with the last update (user, date, old value) + */ + angular.element(vitisApp.appMainDrtv).scope()["getOperationTooltipLastUpdate"] = function(sFieldName){ + var $rootScope = angular.element(vitisApp.appMainDrtv).injector().get(["$rootScope"]); + var envSrvc = angular.element(vitisApp.appMainDrtv).injector().get(["envSrvc"]); + var formSrvc = angular.element(vitisApp.appMainDrtv).injector().get(["formSrvc"]); + var propertiesSrvc = angular.element(vitisApp.appMainDrtv).injector().get(["propertiesSrvc"]); + var formScope = angular.element("form[name='" + envSrvc["oFormDefinition"][envSrvc["sFormDefinitionName"]]["name"]).scope(); + var oAttribute = formSrvc["getFormElementDefinition"](sFieldName, envSrvc["sFormDefinitionName"], envSrvc["oFormDefinition"]); + var oFormValues = envSrvc["oFormValues"][envSrvc["sFormDefinitionName"]]; + + // récupération du contenu sur le serveur + ajaxRequest({ + "method": "GET", + "url": propertiesSrvc["web_server_name"] + "/" + propertiesSrvc["services_alias"] + "/suivi_prod_immo/operationlastupdate/"+ oFormValues['id_operation'] +"/" + sFieldName, + "scope": $rootScope, + "success": function (response) { + // si il y a une valeur pour l'attribut, alors on ajout le tooltip + if (goog.isDefAndNotNull(response.data)){ + oAttribute.tooltip={ + "title": "Dernière mise à jour :", + "content": "Le " + moment(response.data.date_update).format('L') + " par l'utilisateur " + response.data.user_update + " (ancienne valeur : " + response.data.old_value + ")", + "container": "body", + "trigger": "hover" + }; + formScope.ctrl.refreshForm(); + } + } + }); + }; + + /** + * getProgrammeTooltipLastUpdate + * + * add a tooltip for programme table field with the last update (user, date, old value) + */ + angular.element(vitisApp.appMainDrtv).scope()["getProgrammeTooltipLastUpdate"] = function(sFieldName){ + var $rootScope = angular.element(vitisApp.appMainDrtv).injector().get(["$rootScope"]); + var envSrvc = angular.element(vitisApp.appMainDrtv).injector().get(["envSrvc"]); + var formSrvc = angular.element(vitisApp.appMainDrtv).injector().get(["formSrvc"]); + var propertiesSrvc = angular.element(vitisApp.appMainDrtv).injector().get(["propertiesSrvc"]); + var formScope = angular.element("form[name='" + envSrvc["oFormDefinition"][envSrvc["sFormDefinitionName"]]["name"]).scope(); + var oAttribute = formSrvc["getFormElementDefinition"](sFieldName, envSrvc["sFormDefinitionName"], envSrvc["oFormDefinition"]); + var oFormValues = envSrvc["oFormValues"][envSrvc["sFormDefinitionName"]]; + + // récupération du contenu sur le serveur + ajaxRequest({ + "method": "GET", + "url": propertiesSrvc["web_server_name"] + "/" + propertiesSrvc["services_alias"] + "/suivi_prod_immo/programmelastupdate/"+ oFormValues['id_programme'] +"/" + sFieldName, + "scope": $rootScope, + "success": function (response) { + // si il y a une valeur pour l'attribut, alors on ajout le tooltip + if (goog.isDefAndNotNull(response.data)){ + oAttribute.tooltip={ + "title": "Dernière mise à jour :", + "content": "Le " + moment(response.data.date_update).format('L') + " par l'utilisateur " + response.data.user_update + " (ancienne valeur : " + response.data.old_value + ")", + "container": "body", + "trigger": "hover" + }; + formScope.ctrl.refreshForm(); + } + } + }); + }; }); \ No newline at end of file diff --git a/src/module_suivi_prod_immo/web_service/ws/Commune.class.inc b/src/module_suivi_prod_immo/web_service/ws/Commune.class.inc index 721f6370..7eb06666 100644 --- a/src/module_suivi_prod_immo/web_service/ws/Commune.class.inc +++ b/src/module_suivi_prod_immo/web_service/ws/Commune.class.inc @@ -1,7 +1,7 @@ <?php require_once __DIR__ . '/Suivi_prod_immo.class.inc'; -require_once __DIR__ . '/../../class/vitis_lib/Connection.class.inc'; +require_once __DIR__ . '/../../../vitis/vas/rest/class/vitis_lib/Connection.class.inc'; /** * \file Suivi_prod_immo.class.inc diff --git a/src/module_suivi_prod_immo/web_service/ws/Mode_financement.class.inc b/src/module_suivi_prod_immo/web_service/ws/Mode_financement.class.inc index 2ca2732d..4f7b5657 100644 --- a/src/module_suivi_prod_immo/web_service/ws/Mode_financement.class.inc +++ b/src/module_suivi_prod_immo/web_service/ws/Mode_financement.class.inc @@ -1,7 +1,7 @@ <?php require_once __DIR__ . '/Suivi_prod_immo.class.inc'; -require_once __DIR__ . '/../../class/vitis_lib/Connection.class.inc'; +require_once __DIR__ . '/../../../vitis/vas/rest/class/vitis_lib/Connection.class.inc'; /** * \file Suivi_prod_immo.class.inc diff --git a/src/module_suivi_prod_immo/web_service/ws/OperationLastUpdate.class.inc b/src/module_suivi_prod_immo/web_service/ws/OperationLastUpdate.class.inc new file mode 100644 index 00000000..bc87f2e1 --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/OperationLastUpdate.class.inc @@ -0,0 +1,110 @@ +<?php + +require_once __DIR__ . '/Suivi_prod_immo.class.inc'; +require_once dirname($_SERVER['SCRIPT_FILENAME']) . '/ws/vitis/Vitis.class.inc'; +require_once dirname($_SERVER['SCRIPT_FILENAME']) . '/class/vitis_lib/Connection.class.inc'; +require_once dirname($_SERVER['SCRIPT_FILENAME']) . '/class/vmlib/BdDataAccess.inc'; + +/** + * \file OperationLastUpdate.class.inc + * \class OperationLastUpdate + * + * \author Armand Bahi <armand.bahi@veremes.com>. + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the OperationLastUpdate php class + * + * This class defines the rest api for operationlastupdate + * + */ +class OperationLastUpdate extends Suivi_prod_immo { + /** + * @SWG\Definition( + * definition="/operationlastupdate", + * allOf={ + * @SWG\Schema(ref="#/definitions/operationlastupdate") + * } + * ) + * * @SWG\Tag( + * name="OperationLastUpdate", + * description="Operations about OperationLastUpdate" + * ) + */ + + /** + * construct + * @param type $aPath url of the request + * @param type $aValues parameters of the request + * @param type $properties properties + * @param type $bShortcut false to reinit variables + * @param type $oConnection connection object + */ + function __construct($aPath, $aValues, $properties, $bShortcut = false, $oConnection = false) { + parent::__construct($aPath, $aValues, $properties, $bShortcut, $oConnection); + } + + /** + * @SWG\Get(path="/operationlastupdate/{iIdOperation}/{sAttributeName}", + * tags={"Parcelle"}, + * summary="Get the tooltip "last update" content", + * description="Request to get tooltip "last update" content", + * operationId="GET", + * produces={"application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="user token", + * required=true, + * type="string" + * ), + * @SWG\Parameter( + * name="iIdOperation", + * in="path", + * description="iIdOperation", + * required=true, + * type="integer" + * ), + * @SWG\Parameter( + * name="sAttributeName", + * in="path", + * description="sAttributeName", + * required=true, + * type="sting" + * ), + * @SWG\Response( + * response=200, + * description="OperationLastUpdate Response", + * @SWG\Schema(ref="#/definitions/operationlastupdate") + * ) + * ) + */ + + /** + * Get function to get tooltip "last update" content + * @return the tooltip "last update" content values + */ + function GET() { + $iIdOperation = $this->aPath[2]; + $sAttributeName = $this->aPath[3]; + + require $this->sRessourcesFile; + $aRecords = Array(); + $aSQLParams = array('sField' => array('value' => $sAttributeName, 'type' => 'column_name'), 'iIdOperation' => array('value' => $iIdOperation, 'type' => 'string')); + $oResult = $this->oConnection->oBd->executeWithParams($aSql['getUpdateTrackingOperation'], $aSQLParams); + if ($this->oConnection->oBd->enErreur()) { + $this->oError = new VitisError(1, $this->oConnection->oBd->getBDMessage()); + return $this->oError->aFields; + } + + if (gettype($oResult) == 'object') { + while ($aLigne = $this->oConnection->oBd->ligneSuivante($oResult)) { + array_push($aRecords, $aLigne); + } + } + // error_log(json_encode($aRecords[0])); + return json_encode($aRecords[0]); + } + +} + +?> diff --git a/src/module_suivi_prod_immo/web_service/ws/ProgrammeLastUpdate.class.inc b/src/module_suivi_prod_immo/web_service/ws/ProgrammeLastUpdate.class.inc new file mode 100644 index 00000000..59c0640f --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/ProgrammeLastUpdate.class.inc @@ -0,0 +1,110 @@ +<?php + +require_once __DIR__ . '/Suivi_prod_immo.class.inc'; +require_once dirname($_SERVER['SCRIPT_FILENAME']) . '/ws/vitis/Vitis.class.inc'; +require_once dirname($_SERVER['SCRIPT_FILENAME']) . '/class/vitis_lib/Connection.class.inc'; +require_once dirname($_SERVER['SCRIPT_FILENAME']) . '/class/vmlib/BdDataAccess.inc'; + +/** + * \file ProgrammeLastUpdate.class.inc + * \class ProgrammeLastUpdate + * + * \author Armand Bahi <armand.bahi@veremes.com>. + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the ProgrammeLastUpdate php class + * + * This class defines the rest api for programmelastupdate + * + */ +class ProgrammeLastUpdate extends Suivi_prod_immo { + /** + * @SWG\Definition( + * definition="/programmelastupdate", + * allOf={ + * @SWG\Schema(ref="#/definitions/programmelastupdate") + * } + * ) + * * @SWG\Tag( + * name="ProgrammeLastUpdate", + * description="Programmes about ProgrammeLastUpdate" + * ) + */ + + /** + * construct + * @param type $aPath url of the request + * @param type $aValues parameters of the request + * @param type $properties properties + * @param type $bShortcut false to reinit variables + * @param type $oConnection connection object + */ + function __construct($aPath, $aValues, $properties, $bShortcut = false, $oConnection = false) { + parent::__construct($aPath, $aValues, $properties, $bShortcut, $oConnection); + } + + /** + * @SWG\Get(path="/programmelastupdate/{iIdProgramme}/{sAttributeName}", + * tags={"Parcelle"}, + * summary="Get the tooltip "last update" content", + * description="Request to get tooltip "last update" content", + * programmeId="GET", + * produces={"application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="user token", + * required=true, + * type="string" + * ), + * @SWG\Parameter( + * name="iIdProgramme", + * in="path", + * description="iIdProgramme", + * required=true, + * type="integer" + * ), + * @SWG\Parameter( + * name="sAttributeName", + * in="path", + * description="sAttributeName", + * required=true, + * type="sting" + * ), + * @SWG\Response( + * response=200, + * description="ProgrammeLastUpdate Response", + * @SWG\Schema(ref="#/definitions/programmelastupdate") + * ) + * ) + */ + + /** + * Get function to get tooltip "last update" content + * @return the tooltip "last update" content values + */ + function GET() { + $iIdProgramme = $this->aPath[2]; + $sAttributeName = $this->aPath[3]; + + require $this->sRessourcesFile; + $aRecords = Array(); + $aSQLParams = array('sField' => array('value' => $sAttributeName, 'type' => 'column_name'), 'iIdProgramme' => array('value' => $iIdProgramme, 'type' => 'string')); + $oResult = $this->oConnection->oBd->executeWithParams($aSql['getUpdateTrackingProgramme'], $aSQLParams); + if ($this->oConnection->oBd->enErreur()) { + $this->oError = new VitisError(1, $this->oConnection->oBd->getBDMessage()); + return $this->oError->aFields; + } + + if (gettype($oResult) == 'object') { + while ($aLigne = $this->oConnection->oBd->ligneSuivante($oResult)) { + array_push($aRecords, $aLigne); + } + } + // error_log(json_encode($aRecords[0])); + return json_encode($aRecords[0]); + } + +} + +?> diff --git a/src/module_suivi_prod_immo/web_service/ws/Suivi_prod_immo.class.inc b/src/module_suivi_prod_immo/web_service/ws/Suivi_prod_immo.class.inc index ff0707ff..80b1ba06 100644 --- a/src/module_suivi_prod_immo/web_service/ws/Suivi_prod_immo.class.inc +++ b/src/module_suivi_prod_immo/web_service/ws/Suivi_prod_immo.class.inc @@ -8,6 +8,10 @@ class Suivi_prod_immo extends Vitis { //Chemin du fichier de ressources contenant les requêtes SQL var $sRessourcesFile = 'ws/suivi_prod_immo/Suivi_prod_immo.class.sql.inc'; + + function __construct($aPath, $aValues, $properties, $bShortcut = false, $oConnection = false) { + parent::__construct($aPath, $aValues, $properties, $bShortcut, $oConnection); + } } ?> \ No newline at end of file diff --git a/src/module_suivi_prod_immo/web_service/ws/Suivi_prod_immo.class.sql.inc b/src/module_suivi_prod_immo/web_service/ws/Suivi_prod_immo.class.sql.inc index c7e40aae..fa773e4a 100644 --- a/src/module_suivi_prod_immo/web_service/ws/Suivi_prod_immo.class.sql.inc +++ b/src/module_suivi_prod_immo/web_service/ws/Suivi_prod_immo.class.sql.inc @@ -40,6 +40,10 @@ $aSql['getSuivi'] = "SELECT \"tr_suivi\".code_suivi, \"tr_suivi\".suivi FROM [sS $aSql['getProcedureAmenagement'] = "SELECT \"tr_procedure_amenagement\".code_procedure_amenagement, \"tr_procedure_amenagement\".procedure_amenagement FROM [sSchemaFramework].tr_procedure_amenagement WHERE code_procedure_amenagement = [code_procedure_amenagement]"; // Vocation $aSql['getVocation'] = "SELECT \"tr_vocation\".code_vocation, \"tr_vocation\".vocation FROM [sSchemaFramework].tr_vocation WHERE code_vocation = [code_vocation]"; +// TooltipLastUpdate +$aSql['getUpdateTrackingOperation'] = "SELECT \"user\" AS user_update, date AS date_update, old_value FROM prod_immo.update_tracking_operation WHERE id_operation=[iIdOperation] AND field='[sField]' ORDER BY date_update DESC LIMIT 1"; +$aSql['getUpdateTrackingProgramme'] = "SELECT \"user\" AS user_update, date AS date_update, old_value FROM prod_immo.update_tracking_programme WHERE id_programme=[iIdProgramme] AND field='[sField]' ORDER BY date_update DESC LIMIT 1"; + // Répartition type logement DEPRECATED // $aSql['getRepartitionTypeLogement'] = "SELECT type_logement, repartition FROM [sSchemaFramework].v_repartion_type_logement WHERE id_operation=[id_operation]"; ?> \ No newline at end of file diff --git a/src/vitis/vas/rest/class/vmlib/files/Files_manager.class.inc b/src/vitis/vas/rest/class/vmlib/files/Files_manager.class.inc index a09f027d..ebc3ce8d 100755 --- a/src/vitis/vas/rest/class/vmlib/files/Files_manager.class.inc +++ b/src/vitis/vas/rest/class/vmlib/files/Files_manager.class.inc @@ -28,8 +28,6 @@ class Files_manager{ // Dans tous les cas on peut avoir besoin d'accéder au système local $this->oLocalInterface = new Local_files ($oProperties); // Séléction du mode principal - error_log('File System : '); - error_log($oProperties["filesystem"]); switch ($oProperties["filesystem"]) { case 'fs': $this->oFileInterface = $this->oLocalInterface; -- GitLab