From 1ca4ac62d1a8cfa72812dbba0da1ce763b38f299 Mon Sep 17 00:00:00 2001 From: Marty Fabien <fabien_marty@yahoo.fr> Date: Thu, 7 May 2020 08:11:02 +0000 Subject: [PATCH] maj 2020 --- conf/Gruntfile.js | 6 +- .../patrimoine_saisie_patrimoine_element.json | 1608 +++++++++++++++++ ...atrimoine_saisie_patrimoine_perimetre.json | 1399 ++++++++++++++ .../module/javascript/script_module.js | 66 + .../module/lang/lang-en.json | 6 + .../module/lang/lang-fr.json | 12 + .../web_service/ws/Commune.class.inc | 45 + .../ws/Element_bati_qualite.class.inc | 278 +++ .../ws/Element_bati_qualites.class.inc | 396 ++++ .../web_service/ws/Patrimoine.class.inc | 42 + .../web_service/ws/Patrimoine.class.sql.inc | 36 + .../ws/Perimetre_porteur_qualite.class.inc | 238 +++ .../ws/Perimetre_porteur_qualites.class.inc | 379 ++++ .../web_service/ws/Protection_etat.class.inc | 45 + .../web_service/ws/Protection_etats.class.inc | 131 ++ .../web_service/ws/Theme.class.inc | 45 + .../web_service/ws/Themes.class.inc | 131 ++ .../web_service/ws/Valeur.class.inc | 45 + .../web_service/ws/Valeurs.class.inc | 131 ++ ...immo_saisie_suivi_prod_immo_operation.json | 225 +-- ..._prod_immo_operation_operation_acteur.json | 102 +- ...od_immo_operation_operation_financier.json | 228 ++- ...o_operation_operation_mode_operatoire.json | 100 +- ...mmo_operation_operation_programmation.json | 225 ++- ..._prod_immo_programme_programme_acteur.json | 28 +- ..._prod_immo_programme_programme_detail.json | 806 +++++++++ ..._immo_programme_programme_encadrement.json | 268 ++- ...rod_immo_programme_programme_synthese.json | 69 + ...activite_industrie_activite_industrie.json | 489 +++++ ...sie_dep_suivi_prod_immo_bureau_bureau.json | 405 +++++ ..._cp_composition_habitat_specifique_cp.json | 613 +++++++ ...ition_logement_familliaux_location_cp.json | 561 ++++++ ...pement_structure_equipement_structure.json | 445 +++++ ...prod_immo_granulometrie_granulometrie.json | 503 ++++++ ...mmerce_service_hotel_commerce_service.json | 529 ++++++ ...cession_logement_familliaux_accession.json | 518 ++++++ ...libre_profil_acheteur_accession_libre.json | 473 +++++ ...i_prod_immo_repartition_type_logement.json | 503 ++++++ ...prod_immo_stationnement_stationnement.json | 473 +++++ .../module/lang/lang-fr.json | 47 + .../ws/Activite_industrie.class.inc | 57 + .../ws/Activite_industries.class.inc | 313 ++++ .../web_service/ws/Bureau.class.inc | 57 + .../web_service/ws/Bureaus.class.inc | 313 ++++ ...omposition_habitat_specifique_cp.class.inc | 57 + ...mposition_habitat_specifique_cps.class.inc | 313 ++++ ..._logement_familliaux_location_cp.class.inc | 57 + ...logement_familliaux_location_cps.class.inc | 313 ++++ .../ws/Equipement_structure.class.inc | 57 + .../ws/Equipement_structures.class.inc | 313 ++++ .../web_service/ws/Granulometrie.class.inc | 57 + .../web_service/ws/Granulometries.class.inc | 331 ++++ .../ws/Hotel_commerce_service.class.inc | 57 + .../ws/Hotel_commerce_services.class.inc | 313 ++++ .../web_service/ws/Ilots.class.inc | 56 +- .../Logement_familliaux_accession.class.inc | 57 + .../Logement_familliaux_accessions.class.inc | 313 ++++ .../web_service/ws/Operation.class.inc | 30 +- .../ws/OperationLastUpdate.class.inc | 6 +- .../web_service/ws/Operations.class.inc | 93 +- .../web_service/ws/Perimetre.class.inc | 45 + .../web_service/ws/Perimetres.class.inc | 131 ++ .../Profil_acheteur_accession_libre.class.inc | 57 + ...Profil_acheteur_accession_libres.class.inc | 313 ++++ .../web_service/ws/Programme.class.inc | 38 +- .../ws/ProgrammeLastUpdate.class.inc | 9 +- .../web_service/ws/Programmes.class.inc | 137 +- .../ws/Repartition_type_logement.class.inc | 57 + .../ws/Repartition_type_logements.class.inc | 328 ++++ .../web_service/ws/Stationnement.class.inc | 57 + .../web_service/ws/Stationnements.class.inc | 313 ++++ .../ws/Suivi_prod_immo.class.sql.inc | 57 +- .../web_service/ws/Querys.class.inc | 7 +- src/vitis/client/css/icons/style.css | 3 + .../externs/formReader/formReaderDrtv.js | 9 +- .../externs/formReader/formReaderSrvc.js | 8 +- src/vitis/vas/doc/sport/club.php | 140 ++ src/vitis/vas/doc/sport/equipement.php | 6 +- .../vas/doc/sport/equipement_commune.php | 4 +- .../doc/sport/equipement_commune_complet.php | 6 +- src/vitis/vas/doc/sport/footer_club.html | 11 + src/vitis/vas/doc/sport/header_club.html | 31 + src/vitis/vas/doc/sport/properties_sport.inc | 3 +- .../doc/suivi_prod_immo/form_3_porteur.html | 2 +- .../doc/suivi_prod_immo/form_3_porteur.php | 2 +- .../doc/suivi_prod_immo/get_1_operation.html | 22 +- .../doc/suivi_prod_immo/get_1_operation.php | 18 +- .../vas/doc/suivi_prod_immo/get_2_type.php | 4 +- .../doc/suivi_prod_immo/get_3_porteur.html | 2 +- .../vas/doc/suivi_prod_immo/get_3_porteur.php | 18 +- .../suivi_prod_immo/get_3_porteur_excel.php | 14 +- .../doc/suivi_prod_immo/get_4_logement.php | 20 +- src/vitis/vas/doc/suivi_prod_immo/js/form.js | 12 +- .../properties_suivi_prod_immo.inc | 2 +- .../rest/class/vitis_lib/Connection.class.inc | 1 + 95 files changed, 17298 insertions(+), 401 deletions(-) create mode 100644 src/module_patrimoine/module/forms/patrimoine_saisie/patrimoine_saisie_patrimoine_element.json create mode 100644 src/module_patrimoine/module/forms/patrimoine_saisie/patrimoine_saisie_patrimoine_perimetre.json create mode 100644 src/module_patrimoine/module/javascript/script_module.js create mode 100644 src/module_patrimoine/module/lang/lang-en.json create mode 100644 src/module_patrimoine/module/lang/lang-fr.json create mode 100644 src/module_patrimoine/web_service/ws/Commune.class.inc create mode 100644 src/module_patrimoine/web_service/ws/Element_bati_qualite.class.inc create mode 100644 src/module_patrimoine/web_service/ws/Element_bati_qualites.class.inc create mode 100644 src/module_patrimoine/web_service/ws/Patrimoine.class.inc create mode 100644 src/module_patrimoine/web_service/ws/Patrimoine.class.sql.inc create mode 100644 src/module_patrimoine/web_service/ws/Perimetre_porteur_qualite.class.inc create mode 100644 src/module_patrimoine/web_service/ws/Perimetre_porteur_qualites.class.inc create mode 100644 src/module_patrimoine/web_service/ws/Protection_etat.class.inc create mode 100644 src/module_patrimoine/web_service/ws/Protection_etats.class.inc create mode 100644 src/module_patrimoine/web_service/ws/Theme.class.inc create mode 100644 src/module_patrimoine/web_service/ws/Themes.class.inc create mode 100644 src/module_patrimoine/web_service/ws/Valeur.class.inc create mode 100644 src/module_patrimoine/web_service/ws/Valeurs.class.inc create mode 100644 src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_programme_programme_detail.json create mode 100644 src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_activite_industrie_activite_industrie.json create mode 100644 src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_bureau_bureau.json create mode 100644 src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_composition_habitat_specifique_cp_composition_habitat_specifique_cp.json create mode 100644 src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_composition_logement_familliaux_location_cp_composition_logement_familliaux_location_cp.json create mode 100644 src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_equipement_structure_equipement_structure.json create mode 100644 src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_granulometrie_granulometrie.json create mode 100644 src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_hotel_commerce_service_hotel_commerce_service.json create mode 100644 src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_logement_familliaux_accession_logement_familliaux_accession.json create mode 100644 src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_profil_acheteur_accession_libre_profil_acheteur_accession_libre.json create mode 100644 src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_repartition_type_logement.json create mode 100644 src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_stationnement_stationnement.json create mode 100644 src/module_suivi_prod_immo/web_service/ws/Activite_industrie.class.inc create mode 100644 src/module_suivi_prod_immo/web_service/ws/Activite_industries.class.inc create mode 100644 src/module_suivi_prod_immo/web_service/ws/Bureau.class.inc create mode 100644 src/module_suivi_prod_immo/web_service/ws/Bureaus.class.inc create mode 100644 src/module_suivi_prod_immo/web_service/ws/Composition_habitat_specifique_cp.class.inc create mode 100644 src/module_suivi_prod_immo/web_service/ws/Composition_habitat_specifique_cps.class.inc create mode 100644 src/module_suivi_prod_immo/web_service/ws/Composition_logement_familliaux_location_cp.class.inc create mode 100644 src/module_suivi_prod_immo/web_service/ws/Composition_logement_familliaux_location_cps.class.inc create mode 100644 src/module_suivi_prod_immo/web_service/ws/Equipement_structure.class.inc create mode 100644 src/module_suivi_prod_immo/web_service/ws/Equipement_structures.class.inc create mode 100644 src/module_suivi_prod_immo/web_service/ws/Granulometrie.class.inc create mode 100644 src/module_suivi_prod_immo/web_service/ws/Granulometries.class.inc create mode 100644 src/module_suivi_prod_immo/web_service/ws/Hotel_commerce_service.class.inc create mode 100644 src/module_suivi_prod_immo/web_service/ws/Hotel_commerce_services.class.inc create mode 100644 src/module_suivi_prod_immo/web_service/ws/Logement_familliaux_accession.class.inc create mode 100644 src/module_suivi_prod_immo/web_service/ws/Logement_familliaux_accessions.class.inc create mode 100644 src/module_suivi_prod_immo/web_service/ws/Perimetre.class.inc create mode 100644 src/module_suivi_prod_immo/web_service/ws/Perimetres.class.inc create mode 100644 src/module_suivi_prod_immo/web_service/ws/Profil_acheteur_accession_libre.class.inc create mode 100644 src/module_suivi_prod_immo/web_service/ws/Profil_acheteur_accession_libres.class.inc create mode 100644 src/module_suivi_prod_immo/web_service/ws/Repartition_type_logement.class.inc create mode 100644 src/module_suivi_prod_immo/web_service/ws/Repartition_type_logements.class.inc create mode 100644 src/module_suivi_prod_immo/web_service/ws/Stationnement.class.inc create mode 100644 src/module_suivi_prod_immo/web_service/ws/Stationnements.class.inc create mode 100644 src/vitis/vas/doc/sport/club.php create mode 100644 src/vitis/vas/doc/sport/footer_club.html create mode 100644 src/vitis/vas/doc/sport/header_club.html diff --git a/conf/Gruntfile.js b/conf/Gruntfile.js index a6c6c748..1b2bf24a 100755 --- a/conf/Gruntfile.js +++ b/conf/Gruntfile.js @@ -44,7 +44,9 @@ module.exports = function (grunt) { // Fichiers ANC sHome + 'modules/anc/javascript/**/*.js', // Fichiers suivi_prod_immo - sHome + 'modules/suivi_prod_immo/**/*.js' + sHome + 'modules/suivi_prod_immo/**/*.js', + // Fichiers patrimoine + sHome + 'modules/patrimoine/**/*.js', ] }, options: { @@ -129,6 +131,8 @@ module.exports = function (grunt) { '"' + sHome + 'modules/anc/javascript ' + sClosureDepsHome + 'modules/anc/javascript"', // Fichiers suivi_prod_immo '"' + sHome + 'modules/suivi_prod_immo ' + sClosureDepsHome + 'modules/suivi_prod_immo"', + // Fichiers patrimoine + '"' + sHome + 'modules/patrimoine ' + sClosureDepsHome + 'modules/patrimoine"', // Closure library '"' + sHome + 'conf/node_modules/google-closure-library/closure/goog ' + sClosureDepsHome + 'conf/node_modules/google-closure-library/closure/goog"' ] diff --git a/src/module_patrimoine/module/forms/patrimoine_saisie/patrimoine_saisie_patrimoine_element.json b/src/module_patrimoine/module/forms/patrimoine_saisie/patrimoine_saisie_patrimoine_element.json new file mode 100644 index 00000000..13a7c07b --- /dev/null +++ b/src/module_patrimoine/module/forms/patrimoine_saisie/patrimoine_saisie_patrimoine_element.json @@ -0,0 +1,1608 @@ +{ + "display":{ + "name":"patrimoine_saisie_patrimoine_element-form", + "title":"PATRIMOINE_ELEMENT_TITLE_DISPLAY", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "label", + "name": "id_bati", + "label": "Identifiant du bâti", + "nb_cols": 2, + "id": "Element_1_1583493459156" + }, + { + "type": "label", + "name": "titre", + "label": "Titre", + "nb_cols": 10, + "id": "Element_3_1583493460040" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "ref_cadastre", + "label": "Références cadastrales", + "nb_cols": 10, + "id": "Element_0_1583758609210" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "adresse", + "label": "Adresse", + "nb_cols": 8, + "id": "Element_2_1583493459656" + }, + { + "type": "label", + "name": "nom_commune", + "label": "Commune", + "nb_cols": 4, + "id": "Element_0_1583493456078" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "niveau_classement", + "label": "Niveau d’intérêt de l’élément bâti", + "nb_cols": 2, + "id": "Element_1_1583758616142" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "proposition_classement_label", + "label": "Proposition de classement au PLU-H", + "nb_cols": 2, + "id": "Element_0_1583501763160" + }, + { + "type": "label", + "name": "classement_au_pluh_label", + "label": "Classement en EBP au PLU-H", + "nb_cols": 2, + "id": "Element_1_1583501767205" + }, + { + "type": "label", + "name": "id_ebq_pluh", + "label": "Identifiant EBP au PLU-H", + "nb_cols": 2, + "id": "Element_1_1583501767205" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "descriptif", + "label": "Descriptif", + "nb_cols": 12, + "id": "Element_0_1583500264734" + } + ] + }, + { + "fields": [ + { + "type": "bo_grid", + "name": "valeur", + "label": "Valeur(s)", + "required": false, + "pattern": "", + "nb_cols": 4, + "id": "Element_0_1583763643016", + "options": { + "enableRowSelection": true, + "enableSelectAll": true, + "enablePagination": false, + "enablePaginationControls": false, + "enableColumnMenus": false, + "enableColumnResizing": true, + "appHeader": false, + "appHeaderTitleBar": false, + "columnDefs": [], + "data": [] + }, + "bo_id": "element_bati_qualite_valeur", + "bo_filter_attr": "id_ebq", + "form_filter_value": "id_element_bati_qualite" + }, + { + "type": "bo_grid", + "name": "theme", + "label": "Thème(s)", + "required": false, + "pattern": "", + "nb_cols": 4, + "id": "Element_1_1583765115272", + "options": { + "enableRowSelection": true, + "enableSelectAll": true, + "enablePagination": false, + "enablePaginationControls": false, + "enableColumnMenus": false, + "enableColumnResizing": true, + "appHeader": false, + "appHeaderTitleBar": false, + "columnDefs": [], + "data": [] + }, + "form_filter_value": "id_element_bati_qualite", + "bo_filter_attr": "id_ebq", + "bo_id": "element_bati_qualite_theme" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "preconisation", + "label": "Préconisation", + "nb_cols": 12, + "id": "Element_1_1583501124119" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "typologie_tissus", + "label": "Typologie tissus", + "nb_cols": 6, + "id": "Element_0_1583499754397" + }, + { + "type": "label", + "name": "sous_typologie_tissus", + "label": "Sous-typologie tissus", + "nb_cols": 6, + "id": "Element_1_1583499757263" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "morphologie_batiment", + "label": "Morphologie bâtiment", + "nb_cols": 6, + "id": "Element_0_1583751315055" + }, + { + "type": "label", + "name": "sous_morphologie_batiment", + "label": "Sous morphologie bâtiment", + "nb_cols": 6, + "id": "Element_1_1583751316259" + } + ] + }, + + { + "fields": [ + { + "type": "bo_grid", + "name": "protection_etat", + "label": "Protection(s) état", + "required": false, + "pattern": "", + "nb_cols": 4, + "id": "Element_0_1583765113367", + "options": { + "enableRowSelection": true, + "enableSelectAll": true, + "enablePagination": false, + "enablePaginationControls": false, + "enableColumnMenus": false, + "enableColumnResizing": true, + "appHeader": false, + "appHeaderTitleBar": false, + "columnDefs": [], + "data": [] + }, + "form_filter_value": "id_element_bati_qualite", + "bo_filter_attr": "id_ebq", + "bo_id": "element_bati_qualite_protection" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "procedure_pluh", + "label": "procédure PLU-H", + "nb_cols": 6, + "id": "procedure_pluh" + }, + { + "type": "label", + "name": "procedure_modification", + "label": "Numéro de modification procédure", + "nb_cols": 2, + "id": "procedure_modification" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "nom_enqueteur", + "label": "Enquêteur", + "nb_cols": 12, + "id": "Element_1_1583500979694" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "date_creation_fiche", + "label": "Date de création de la fiche", + "nb_cols": 2, + "id": "Element_0_1583493674730" + }, + { + "type": "label", + "name": "date_maj", + "label": "Date de mise à jour", + "nb_cols": 2, + "id": "Element_1_1583493693844" + } + ] + }, + { + "fields": [ + { + "type": "image_wsdata", + "name": "photos", + "label": "Photo(s)", + "required": false, + "pattern": "", + "nb_cols": 12, + "id": "Element_0_1588165731143", + "multiple": true, + "displayOnly":true + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "commentaire", + "label": "Commentaires", + "nb_cols": 12, + "id": "Element_2_1583499759232" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "descriptif_commentaire", + "label": "Commentaires sur le descriptif", + "nb_cols": 12, + "id": "Element_2_1583500394559" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "commentaire_complementaire", + "label": "Commentaires complémentaires", + "nb_cols": 12, + "id": "Element_2_1583500268908" + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"display_button", + "id":"display_button", + "buttons":[ + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "tabs": { + "position": "top", + "list": [ + { + "label": "Général", + "elements": [ + "display_button", + "nom_commune", + "id_bati", + "adresse", + "titre", + "descriptif", + "preconisation", + "proposition_classement_label", + "classement_au_pluh_label", + "id_ebq_pluh", + "ref_cadastre", + "niveau_classement", + "valeur", + "theme", + "typologie_tissus", + "sous_typologie_tissus", + "morphologie_batiment", + "sous_morphologie_batiment", + "photos" + ] + }, + { + "label": "Protection état", + "elements": [ + "display_button", + "protection_etat" + ] + }, + { + "label": "Détails fiche", + "elements": [ + "display_button", + "procedure_pluh", + "procedure_modification", + "date_creation_fiche", + "date_maj", + "nom_enqueteur" + ] + }, + { + "label": "Commentaires", + "elements": [ + "display_button", + "commentaire", + "commentaire_complementaire", + "descriptif_commentaire" + ] + } + ] + } + }, + "search":{ + "name":"patrimoine_saisie_patrimoine_element-form", + "title":"PATRIMOINE_SAISIE_ELEMENT", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields":[ + { + "type":"text", + "name":"id_bati", + "label":"Identifiant du bâti", + "required":false, + "pattern":"", + "nb_cols":2, + "id":"id_bati" + }, + { + "type":"text", + "name":"titre", + "label":"Titre", + "required":false, + "pattern":"", + "nb_cols":4, + "id":"titre" + } + ] + }, + { + "fields":[ + { + "type":"select", + "name":"code_insee", + "label":"Commune", + "required":true, + "nb_cols":3, + "id":"code_insee", + "datasource":{ + "datasource_id":"datasource_38", + "sort_order":"ASC", + "distinct":"true", + "label_key":"nom_commune", + "order_by":"nom_commune", + "id_key":"code_insee", + "attributs":"code_insee|nom_commune" + }, + "id_from":"code_insee_from" + } + ] + }, + { + "fields":[ + { + "type":"radio", + "name":"classement_au_pluh", + "label":"Classement en EBP au PLU-H", + "nb_cols":2, + "id":"classement_au_pluh", + "options":{ + "choices":[ + { + "label":"Oui", + "value":true + }, + { + "label":"Non", + "value":false + } + ] + }, + "visible": true + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-xs", + "nb_cols":12, + "name":"search_button", + "id":"search_button", + "buttons":[ + { + "type":"button", + "name":"search", + "label":"FORM_SEARCH_BUTTON", + "class":"btn-primary", + "event":"setGridFilter()" + }, + { + "type":"reset", + "name":"reset", + "label":"FORM_RESET_BUTTON", + "class":"btn-primary", + "event":"resetGridFilter()" + } + ] + } + ] + } + ], + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "search_button", + "id_bati", + "titre", + "code_insee", + "classement_au_pluh" + ] + } + ] + } + }, + "insert":{ + "name":"patrimoine_saisie_patrimoine_element-form", + "title":"PATRIMOINE_ELEMENT_TITLE_INSERT", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "number", + "name": "num_batiment", + "label": "Numéro du bâtiment", + "required":true, + "nb_cols": 2, + "id": "Element_1_1583493459156" + }, + { + "type": "text", + "name": "titre", + "label": "Titre", + "required":false, + "nb_cols": 10, + "id": "Element_3_1583493460040" + } + ] + }, + { + "fields":[ + { + "type":"textarea", + "name":"ref_cadastre", + "label":"Références cadastrales", + "required":false, + "pattern":"", + "nb_cols":12, + "id":"ref_cadastre" + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "adresse", + "label": "Adresse", + "required":false, + "nb_cols": 8, + "id": "Element_2_1583493459656" + }, + { + "type":"select", + "name":"code_insee", + "label":"Commune", + "required":true, + "nb_cols":4, + "id":"code_insee", + "id_from":"code_insee_from", + "datasource":{ + "datasource_id":"datasource_commune", + "sort_order":"ASC", + "distinct":"true", + "label_key":"nom_commune", + "order_by":"nom_commune", + "id_key":"code_insee", + "attributs":"code_insee|nom_commune" + } + } + ] + }, + { + "fields":[ + { + "type":"select", + "name":"niveau_classement", + "label":"Niveau d’intérêt de l’élément bâti", + "required": false, + "nb_cols": 2, + "id":"niveau_classement", + "id_from":"niveau_classement_from", + "datasource":{ + "datasource_id":"datasource_niveau_classement", + "sort_order":"ASC", + "distinct":"true", + "label_key":"alias", + "order_by":"alias", + "id_key":"valeur", + "attributs":"valeur|alias" + } + } + ] + }, + { + "fields":[ + { + "type":"radio", + "name":"proposition_classement", + "label":"Proposition de classement au PLU-H", + "nb_cols":2, + "id":"proposition_classement", + "options":{ + "choices":[ + { + "label":"Oui", + "value":true + }, + { + "label":"Non", + "value":false + } + ] + }, + "visible": true + }, + { + "type":"radio", + "name":"classement_au_pluh", + "label":"Classement en EBP au PLU-H", + "nb_cols":2, + "id":"classement_au_pluh", + "options":{ + "choices":[ + { + "label":"Oui", + "value":true + }, + { + "label":"Non", + "value":false + } + ] + }, + "visible": true + } + ] + }, + { + "fields":[ + { + "type":"tinymce", + "name":"preconisation", + "label":"Préconisation", + "required":false, + "nb_rows":5, + "nb_cols":12, + "id":"preconisation" + } + ] + }, + { + "fields": [ + { + "type":"select", + "name":"code_procedure_pluh", + "label":"Procédure PLU-H", + "required":false, + "nb_cols":6, + "id":"code_procedure_pluh", + "id_from":"code_procedure_pluh_from", + "datasource":{ + "datasource_id":"datasource_procedure_pluh", + "sort_order":"ASC", + "distinct":"true", + "label_key":"procedure_pluh", + "order_by":"procedure_pluh", + "id_key":"code_procedure_pluh", + "attributs":"code_procedure_pluh|procedure_pluh" + } + }, + { + "type": "text", + "name": "procedure_modification", + "label": "Numéro de modification procédure", + "required":false, + "nb_cols": 2, + "id": "procedure_modification" + } + ] + }, + { + "fields":[ + { + "type":"select", + "name":"id_enqueteur", + "label":"Enquêteur", + "required":false, + "nb_cols":3, + "id":"id_enqueteur", + "id_from":"id_enqueteur", + "datasource":{ + "datasource_id":"datasource_enqueteur", + "sort_order":"ASC", + "distinct":"true", + "label_key":"nom_enqueteur", + "order_by":"nom_enqueteur", + "id_key":"id_enqueteur", + "attributs":"id_enqueteur|nom_enqueteur" + } + } + ] + }, + { + "fields":[ + { + "type":"tinymce", + "name":"descriptif", + "label":"Descriptif", + "required":false, + "nb_rows":3, + "nb_cols":12, + "id":"descriptif" + } + ] + }, + { + "fields":[ + { + "type":"select", + "name":"id_typologie_tissus", + "label":"Typologie de tissus", + "required":false, + "nb_cols":4, + "id":"id_typologie_tissus", + "id_from":"id_typologie_tissus", + "datasource":{ + "datasource_id":"datasource_typologie_tissus", + "sort_order":"ASC", + "distinct":"true", + "label_key":"typologie_tissus", + "order_by":"typologie_tissus", + "id_key":"id_typologie_tissus", + "attributs":"id_typologie_tissus|typologie_tissus" + } + }, + { + "type":"select", + "name":"id_sous_typologie_tissus", + "label":"Sous-typologie de tissus", + "required":false, + "nb_cols":5, + "id":"id_sous_typologie_tissus", + "id_from":"id_sous_typologie_tissus", + "datasource":{ + "datasource_id":"datasource_sous_typologie_tissus", + "sort_order":"ASC", + "distinct":"true", + "label_key":"sous_typologie_tissus", + "order_by":"sous_typologie_tissus", + "id_key":"id_sous_typologie_tissus", + "attributs":"id_sous_typologie_tissus|sous_typologie_tissus", + "parents":[ + { + "name":"id_typologie_tissus", + "filter_attr":"id_typologie_tissus", + "filter_equality":"=", + "wait_for_parent":true + } + ] + } + } + ] + }, + { + "fields":[ + { + "type":"select", + "name":"id_morphologie_batiment", + "label":"Morphologie du bâtiment", + "required":false, + "nb_cols":2, + "id":"id_morphologie_batiment", + "id_from":"id_morphologie_batiment", + "datasource":{ + "datasource_id":"datasource_morphologie_batiment", + "sort_order":"ASC", + "distinct":"true", + "label_key":"morphologie_batiment", + "order_by":"morphologie_batiment", + "id_key":"id_morphologie_batiment", + "attributs":"id_morphologie_batiment|morphologie_batiment" + } + }, + { + "type":"select", + "name":"id_sous_morphologie_batiment", + "label":"Sous morphologie du bâtiment", + "required":false, + "nb_cols":4, + "id":"id_sous_morphologie_batiment", + "id_from":"id_sous_morphologie_batiment", + "datasource":{ + "datasource_id":"datasource_sous_morphologie_batiment", + "sort_order":"ASC", + "distinct":"true", + "label_key":"sous_morphologie_batiment", + "order_by":"sous_morphologie_batiment", + "id_key":"id_sous_morphologie_batiment", + "attributs":"id_sous_morphologie_batiment|sous_morphologie_batiment", + "parents":[ + { + "name":"id_morphologie_batiment", + "filter_attr":"id_morphologie_batiment", + "filter_equality":"=", + "wait_for_parent":true + } + ] + } + } + ] + }, + { + "fields":[ + { + "type":"textarea", + "name":"commentaire", + "label":"Commentaires", + "required":false, + "pattern":"", + "nb_cols":12, + "id":"commentaire" + } + ] + }, + { + "fields":[ + { + "type":"textarea", + "name":"descriptif_commentaire", + "label":"Commentaires sur le descriptif", + "required":false, + "pattern":"", + "nb_cols":12, + "id":"descriptif_commentaire" + } + ] + }, + { + "fields":[ + { + "type":"textarea", + "name":"commentaire_complementaire", + "label":"Commentaires complémentaires", + "required":false, + "pattern":"", + "nb_cols":12, + "id":"commentaire_complementaire" + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"insert_button", + "id":"insert_button", + "buttons":[ + { + "type":"submit", + "name":"form_submit", + "label":"FORM_CREATE", + "class":"btn-primary" + }, + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "initEvent": "", + "event":"sendSimpleForm()", + "afterEvent":"editSectionForm()", + "tabs": { + "position": "top", + "list": [ + { + "label": "Général", + "elements": [ + "insert_button", + "code_insee", + "num_batiment", + "adresse", + "titre", + "ref_cadastre", + "descriptif", + "niveau_classement", + "preconisation", + "proposition_classement", + "classement_au_pluh", + "valeur", + "theme", + "id_typologie_tissus", + "id_sous_typologie_tissus", + "id_morphologie_batiment", + "id_sous_morphologie_batiment" + ] + }, + { + "label": "Détails fiche", + "elements": [ + "insert_button", + "code_procedure_pluh", + "procedure_modification", + "id_enqueteur" + ] + }, + + { + "label": "Commentaires", + "elements": [ + "insert_button", + "commentaire", + "commentaire_complementaire", + "descriptif_commentaire" + ] + } + ] + } + }, + "update":{ + "name":"patrimoine_saisie_patrimoine_element-form", + "title":"PATRIMOINE_ELEMENT_TITLE_UPDATE", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "label", + "name": "id_bati", + "label": "Identifiant du bati", + "required":true, + "nb_cols": 2, + "id": "Element_1_1583493459156" + }, + { + "type": "text", + "name": "titre", + "label": "Titre", + "required":false, + "nb_cols": 10, + "id": "Element_3_1583493460040" + } + ] + }, + { + "fields":[ + { + "type":"textarea", + "name":"ref_cadastre", + "label":"Références cadastrales", + "required":false, + "pattern":"", + "nb_cols":12, + "id":"ref_cadastre" + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "adresse", + "label": "Adresse", + "required":false, + "nb_cols": 8, + "id": "Element_2_1583493459656" + }, + { + "type":"select", + "name":"code_insee", + "label":"Commune", + "required":true, + "nb_cols":4, + "id":"code_insee", + "id_from":"code_insee_from", + "datasource":{ + "datasource_id":"datasource_commune", + "sort_order":"ASC", + "distinct":"true", + "label_key":"nom_commune", + "order_by":"nom_commune", + "id_key":"code_insee", + "attributs":"code_insee|nom_commune" + } + } + ] + }, + { + "fields":[ + { + "type":"select", + "name":"niveau_classement", + "label":"Niveau d’intérêt de l’élément bâti", + "required": false, + "nb_cols": 2, + "id":"niveau_classement", + "id_from":"niveau_classement_from", + "datasource":{ + "datasource_id":"datasource_niveau_classement", + "sort_order":"ASC", + "distinct":"true", + "label_key":"alias", + "order_by":"alias", + "id_key":"valeur", + "attributs":"valeur|alias" + } + } + ] + }, + { + "fields":[ + { + "type":"radio", + "name":"proposition_classement", + "label":"Proposition de classement au PLU-H", + "nb_cols":2, + "id":"proposition_classement", + "options":{ + "choices":[ + { + "label":"Oui", + "value":true + }, + { + "label":"Non", + "value":false + } + ] + }, + "visible": true + }, + { + "type":"radio", + "name":"classement_au_pluh", + "label":"Classement en EBP au PLU-H", + "nb_cols":2, + "id":"classement_au_pluh", + "options":{ + "choices":[ + { + "label":"Oui", + "value":true + }, + { + "label":"Non", + "value":false + } + ] + }, + "visible": true + }, + { + "type": "label", + "name": "id_ebq_pluh", + "label": "Identifiant EBP au PLU-H", + "nb_cols": 2, + "id": "Element_1_1583501767205" + } + ] + }, + { + "fields": [ + { + "type":"select", + "name":"code_procedure_pluh", + "label":"Procédure PLU-H", + "required":false, + "nb_cols":6, + "id":"code_procedure_pluh", + "id_from":"code_procedure_pluh_from", + "datasource":{ + "datasource_id":"datasource_procedure_pluh", + "sort_order":"ASC", + "distinct":"true", + "label_key":"procedure_pluh", + "order_by":"procedure_pluh", + "id_key":"code_procedure_pluh", + "attributs":"code_procedure_pluh|procedure_pluh" + } + }, + { + "type": "text", + "name": "procedure_modification", + "label": "Numéro de modification procédure", + "required":false, + "nb_cols": 2, + "id": "procedure_modification" + } + ] + }, + { + "fields":[ + { + "type":"select", + "name":"id_enqueteur", + "label":"Enquêteur", + "required":false, + "nb_cols":3, + "id":"id_enqueteur", + "id_from":"id_enqueteur", + "datasource":{ + "datasource_id":"datasource_enqueteur", + "sort_order":"ASC", + "distinct":"true", + "label_key":"nom_enqueteur", + "order_by":"nom_enqueteur", + "id_key":"id_enqueteur", + "attributs":"id_enqueteur|nom_enqueteur" + } + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "date_creation_fiche", + "label": "Date de création de la fiche", + "nb_cols": 2, + "id": "Element_0_1583493674730" + }, + { + "type": "label", + "name": "date_maj", + "label": "Date de mise à jour", + "nb_cols": 2, + "id": "Element_1_1583493693844" + } + ] + }, + { + "fields":[ + { + "type":"tinymce", + "name":"descriptif", + "label":"Descriptif", + "required":false, + "nb_rows":3, + "nb_cols":12, + "id":"descriptif" + } + ] + }, + { + "fields": [ + { + "type": "double_select", + "name": "valeurs", + "label": "Valeurs de l'élément", + "required": false, + "nb_cols": 5, + "id": "Element_0_4_1", + "name_to": "valeurs", + "name_from": "valeurs_from", + "size": 5, + "label_from": "valeurs non associées", + "label_to": "valeurs associées à l'élément", + "web_service": { + "ressource_id": "patrimoine/valeurs", + "id_key": "id_valeur", + "label_key": "valeur", + "parameters": { + "order_by": "valeur" + } + } + } + ] + }, + { + "fields":[ + { + "type":"tinymce", + "name":"preconisation", + "label":"Préconisation", + "required":false, + "nb_rows":5, + "nb_cols":12, + "id":"preconisation" + } + ] + }, + { + "fields": [ + { + "type": "double_select", + "name": "themes", + "label": "Thèmes du périmètre", + "required": false, + "nb_cols": 4, + "id": "Element_0_4_1", + "name_to": "themes", + "name_from": "themes_from", + "size": 6, + "label_from": "thèmes non associés", + "label_to": "thèmes associés à l'élément", + "web_service": { + "ressource_id": "patrimoine/themes", + "id_key": "id_theme", + "label_key": "theme", + "parameters": { + "order_by": "theme" + } + } + } + ] + }, + { + "fields":[ + { + "type":"select", + "name":"id_typologie_tissus", + "label":"Typologie de tissus", + "required":false, + "nb_cols":4, + "id":"id_typologie_tissus", + "id_from":"id_typologie_tissus", + "datasource":{ + "datasource_id":"datasource_typologie_tissus", + "sort_order":"ASC", + "distinct":"true", + "label_key":"typologie_tissus", + "order_by":"typologie_tissus", + "id_key":"id_typologie_tissus", + "attributs":"id_typologie_tissus|typologie_tissus" + } + }, + { + "type":"select", + "name":"id_sous_typologie_tissus", + "label":"Sous-typologie de tissus", + "required":false, + "nb_cols":5, + "id":"id_sous_typologie_tissus", + "id_from":"id_sous_typologie_tissus", + "datasource":{ + "datasource_id":"datasource_sous_typologie_tissus", + "sort_order":"ASC", + "distinct":"true", + "label_key":"sous_typologie_tissus", + "order_by":"sous_typologie_tissus", + "id_key":"id_sous_typologie_tissus", + "attributs":"id_sous_typologie_tissus|sous_typologie_tissus", + "parents":[ + { + "name":"id_typologie_tissus", + "filter_attr":"id_typologie_tissus", + "filter_equality":"=", + "wait_for_parent":true + } + ] + } + } + ] + }, + { + "fields":[ + { + "type":"select", + "name":"id_morphologie_batiment", + "label":"Morphologie du bâtiment", + "required":false, + "nb_cols":2, + "id":"id_morphologie_batiment", + "id_from":"id_morphologie_batiment", + "datasource":{ + "datasource_id":"datasource_morphologie_batiment", + "sort_order":"ASC", + "distinct":"true", + "label_key":"morphologie_batiment", + "order_by":"morphologie_batiment", + "id_key":"id_morphologie_batiment", + "attributs":"id_morphologie_batiment|morphologie_batiment" + } + }, + { + "type":"select", + "name":"id_sous_morphologie_batiment", + "label":"Sous morphologie du bâtiment", + "required":false, + "nb_cols":4, + "id":"id_sous_morphologie_batiment", + "id_from":"id_sous_morphologie_batiment", + "datasource":{ + "datasource_id":"datasource_sous_morphologie_batiment", + "sort_order":"ASC", + "distinct":"true", + "label_key":"sous_morphologie_batiment", + "order_by":"sous_morphologie_batiment", + "id_key":"id_sous_morphologie_batiment", + "attributs":"id_sous_morphologie_batiment|sous_morphologie_batiment", + "parents":[ + { + "name":"id_morphologie_batiment", + "filter_attr":"id_morphologie_batiment", + "filter_equality":"=", + "wait_for_parent":true + } + ] + } + } + ] + }, + { + "fields": [ + { + "type": "double_select", + "name": "protection_etats", + "label": "Protections état de l'élément", + "required": false, + "nb_cols": 6, + "id": "Element_0_4_1", + "name_to": "protection_etats", + "name_from": "protection_etats_from", + "size": 6, + "label_from": "protections état non associées", + "label_to": "protections état associées à l'élément", + "web_service": { + "ressource_id": "patrimoine/protection_etats", + "id_key": "id_protection_etat", + "label_key": "protection_etat", + "parameters": { + "order_by": "protection_etat" + } + } + } + ] + }, + { + "fields": [ + { + "type": "image_wsdata", + "name": "photos", + "label": "Photo(s)", + "required": false, + "pattern": "", + "nb_cols": 12, + "id": "Element_0_1588165731143", + "multiple": true + } + ] + }, + { + "fields":[ + { + "type":"textarea", + "name":"commentaire", + "label":"Commentaires", + "required":false, + "pattern":"", + "nb_cols":12, + "id":"commentaire" + } + ] + }, + { + "fields":[ + { + "type":"textarea", + "name":"descriptif_commentaire", + "label":"Commentaires sur le descriptif", + "required":false, + "pattern":"", + "nb_cols":12, + "id":"descriptif_commentaire" + } + ] + }, + { + "fields":[ + { + "type":"textarea", + "name":"commentaire_complementaire", + "label":"Commentaires complémentaires", + "required":false, + "pattern":"", + "nb_cols":12, + "id":"commentaire_complementaire" + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"update_button", + "id":"update_button", + "buttons":[ + { + "type":"submit", + "name":"form_submit", + "label":"FORM_UPDATE", + "class":"btn-primary" + }, + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "initEvent": "", + "event":"sendSimpleForm()", + "tabs": { + "position": "top", + "list": [ + { + "label": "Général", + "elements": [ + "update_button", + "code_insee", + "id_bati", + "adresse", + "titre", + "descriptif", + "niveau_classement", + "ref_cadastre", + "preconisation", + "proposition_classement", + "classement_au_pluh", + "id_ebq_pluh", + "valeurs", + "themes", + "id_typologie_tissus", + "id_sous_typologie_tissus", + "id_morphologie_batiment", + "id_sous_morphologie_batiment", + "photos" + ] + }, + { + "label": "Protection état", + "elements": [ + "update_button", + "protection_etats" + ] + }, + { + "label": "Détails fiche", + "elements": [ + "update_button", + "code_procedure_pluh", + "procedure_modification", + "id_enqueteur", + "date_creation_fiche", + "date_maj" + ] + }, + { + "label": "Commentaires", + "elements": [ + "update_button", + "commentaire", + "commentaire_complementaire", + "descriptif_commentaire" + ] + } + ] + } + }, + "datasources":{ + "datasource_classification_qualite":{ + "type":"web_service", + "dataType":"tableValue", + "name":"classification_qualite", + "description":"", + "parameters":{ + "schema":"patrimoine", + "table":"classification_type_qualite" + }, + "ressource_id":"vitis/genericquerys", + "id":"datasource_classification_qualite" + }, + "datasource_enqueteur":{ + "type":"web_service", + "dataType":"tableValue", + "name":"enqueteur", + "description":"", + "parameters":{ + "schema":"patrimoine", + "table":"enqueteur" + }, + "ressource_id":"vitis/genericquerys", + "id":"datasource_enqueteur" + }, + "datasource_typologie_tissus":{ + "type":"web_service", + "dataType":"tableValue", + "name":"typologie_tissus", + "description":"", + "parameters":{ + "schema":"patrimoine", + "table":"typologie_tissus" + }, + "ressource_id":"vitis/genericquerys", + "id":"datasource_typologie_tissus" + }, + "datasource_sous_typologie_tissus":{ + "type":"web_service", + "dataType":"tableValue", + "name":"sous_typologie_tissus", + "description":"", + "parameters":{ + "schema":"patrimoine", + "table":"sous_typologie_tissus" + }, + "ressource_id":"vitis/genericquerys", + "id":"datasource_sous_typologie_tissus" + }, + "datasource_morphologie_batiment":{ + "type":"web_service", + "dataType":"tableValue", + "name":"morphologie_batiment", + "description":"", + "parameters":{ + "schema":"patrimoine", + "table":"morphologie_batiment" + }, + "ressource_id":"vitis/genericquerys", + "id":"datasource_morphologie_batiment" + }, + "datasource_sous_morphologie_batiment":{ + "type":"web_service", + "dataType":"tableValue", + "name":"sous_morphologie_batiment", + "description":"", + "parameters":{ + "schema":"patrimoine", + "table":"sous_morphologie_batiment" + }, + "ressource_id":"vitis/genericquerys", + "id":"datasource_sous_morphologie_batiment" + }, + "datasource_commune":{ + "type":"web_service", + "dataType":"tableValue", + "name":"commune", + "description":"", + "parameters":{ + "schema":"patrimoine", + "table":"commune" + }, + "ressource_id":"vitis/genericquerys", + "id":"datasource_commune" + }, + "datasource_niveau_classement":{ + "type":"web_service", + "dataType":"tableValue", + "name":"niveau_classement", + "description":"", + "parameters":{ + "schema":"patrimoine", + "table":"param_liste", + "filter": {"id_nom_table": "element_bati_qualite", "nom_liste": "niveau_classement"} + }, + "ressource_id":"vitis/genericquerys" + }, + "datasource_procedure_pluh":{ + "type":"web_service", + "dataType":"tableValue", + "name":"procedure_pluh", + "description":"", + "parameters":{ + "schema":"patrimoine", + "table":"procedure_pluh" + }, + "ressource_id":"vitis/genericquerys", + "id":"datasource_procedure_pluh" + } + } +} diff --git a/src/module_patrimoine/module/forms/patrimoine_saisie/patrimoine_saisie_patrimoine_perimetre.json b/src/module_patrimoine/module/forms/patrimoine_saisie/patrimoine_saisie_patrimoine_perimetre.json new file mode 100644 index 00000000..15272801 --- /dev/null +++ b/src/module_patrimoine/module/forms/patrimoine_saisie/patrimoine_saisie_patrimoine_perimetre.json @@ -0,0 +1,1399 @@ +{ + "display":{ + "name":"patrimoine_saisie_patrimoine_perimetre-form", + "title":"PATRIMOINE_PERIMETRE_TITLE_DISPLAY", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "label", + "name": "nom_commune", + "label": "Commune", + "nb_cols": 4, + "id": "Element_0_1583493456078" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "id_ensemble", + "label": "Identifiant de l'ensemble", + "nb_cols": 2, + "id": "Element_1_1583493459156" + }, + { + "type": "label", + "name": "titre", + "label": "Titre", + "nb_cols": 10, + "id": "Element_3_1583493460040" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "localisation", + "label": "Localisation", + "nb_cols": 8, + "id": "Element_2_1583493459656" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "classification_qualite", + "label": "Justification du niveau de qualité", + "nb_cols": 12, + "id": "Element_0_1583500976468" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "typologie_tissus", + "label": "Typologie de tissus", + "nb_cols": 6, + "id": "Element_0_1583499754397" + }, + { + "type": "label", + "name": "sous_typologie_tissus", + "label": "Sous-typologie de tissus", + "nb_cols": 6, + "id": "Element_1_1583499757263" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "proposition_classement_label", + "label": "Proposition au classement", + "nb_cols": 2, + "id": "Element_0_1583501763160" + }, + { + "type": "label", + "name": "classement_au_pluh_label", + "label": "Classement en PIP au PLU-H", + "nb_cols": 2, + "id": "Element_1_1583501767205" + }, + { + "type": "label", + "name": "id_pip_pluh", + "label": "Identifiant PIP au PLU-H", + "nb_cols": 2, + "id": "Element_1_1583501767205" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "procedure_pluh", + "label": "procédure PLU-H", + "nb_cols": 6, + "id": "procedure_pluh" + }, + { + "type": "label", + "name": "procedure_modification", + "label": "Numéro de modification procédure", + "nb_cols": 2, + "id": "procedure_modification" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "nom_enqueteur", + "label": "Enquêteur", + "nb_cols": 12, + "id": "Element_1_1583500979694" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "date_creation_fiche", + "label": "Date de création de la fiche", + "nb_cols": 2, + "id": "Element_0_1583493674730" + }, + { + "type": "label", + "name": "date_maj", + "label": "Date de mise à jour", + "nb_cols": 2, + "id": "Element_1_1583493693844" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "descriptif", + "label": "Descriptif", + "nb_cols": 12, + "id": "Element_0_1583500264734" + } + ] + }, + { + "fields": [ + { + "type": "bo_grid", + "name": "valeur", + "label": "Valeur(s)", + "required": false, + "pattern": "", + "nb_cols": 4, + "id": "Element_0_1583769359221", + "options": { + "enableRowSelection": true, + "enableSelectAll": true, + "enablePagination": false, + "enablePaginationControls": false, + "enableColumnMenus": false, + "enableColumnResizing": true, + "appHeader": false, + "appHeaderTitleBar": false, + "columnDefs": [], + "data": [] + }, + "bo_filter_attr": "id_epq", + "form_filter_value": "id_perimetre_porteur_qualite", + "bo_id": "perimetre_porteur_qualite_valeur" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "preconisation", + "label": "Préconisation", + "nb_cols": 12, + "id": "Element_1_1583501124119" + } + ] + }, + { + "fields": [ + { + "type": "bo_grid", + "name": "protection_etat", + "label": "Protection(s) état", + "required": false, + "pattern": "", + "nb_cols": 4, + "id": "Element_1_1583769360103", + "options": { + "enableRowSelection": true, + "enableSelectAll": true, + "enablePagination": false, + "enablePaginationControls": false, + "enableColumnMenus": false, + "enableColumnResizing": true, + "appHeader": false, + "appHeaderTitleBar": false, + "columnDefs": [], + "data": [] + }, + "form_filter_value": "id_perimetre_porteur_qualite", + "bo_filter_attr": "id_epq", + "bo_id": "perimetre_porteur_qualite_protec" + } + ] + }, + { + "fields": [ + { + "type": "image_wsdata", + "name": "photos", + "label": "Photo(s)", + "required": false, + "pattern": "", + "nb_cols": 12, + "id": "Element_0_1588165731143", + "multiple": true, + "displayOnly":true + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "commentaire", + "label": "Commentaires", + "nb_cols": 12, + "id": "Element_2_1583499759232" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "commentaire_titre", + "label": "Commentaires sur le titre", + "nb_cols": 12, + "id": "Element_1_1583500266645" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "descriptif_commentaire", + "label": "Commentaires sur le descriptif", + "nb_cols": 12, + "id": "Element_2_1583500394559" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "commentaire_complementaire", + "label": "Commentaires complémentaires", + "nb_cols": 12, + "id": "Element_2_1583500268908" + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"display_button", + "id":"display_button", + "buttons":[ + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "tabs": { + "position": "top", + "list": [ + { + "label": "Général", + "elements": [ + "display_button", + "nom_commune", + "id_ensemble", + "localisation", + "titre", + "descriptif", + "classification_qualite", + "typologie_tissus", + "sous_typologie_tissus", + "preconisation", + "proposition_classement_label", + "classement_au_pluh_label", + "id_pip_pluh", + "valeur", + "photos" + ] + }, + { + "label": "Protection état", + "elements": [ + "display_button", + "protection_etat" + ] + }, + { + "label": "Détails fiche", + "elements": [ + "nom_enqueteur", + "date_creation_fiche", + "date_maj", + "procedure_modification", + "procedure_pluh" + ] + }, + { + "label": "Commentaires", + "elements": [ + "display_button", + "commentaire", + "commentaire_titre", + "commentaire_complementaire", + "descriptif_commentaire" + ] + } + ] + } + }, + "search":{ + "name":"patrimoine_saisie_patrimoine_perimetre-form", + "title":"PATRIMOINE_SAISIE_PERIMETRE", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields":[ + { + "type":"text", + "name":"id_ensemble", + "label":"Identifiant de l'élément", + "required":false, + "pattern":"", + "nb_cols":2, + "id":"id_ensemble" + }, + { + "type":"text", + "name":"titre", + "label":"Titre", + "required":false, + "pattern":"", + "nb_cols":4, + "id":"titre" + } + ] + }, + { + "fields":[ + { + "type":"select", + "name":"code_insee", + "label":"Commune", + "required":true, + "nb_cols":3, + "id":"code_insee", + "datasource":{ + "datasource_id":"datasource_38", + "sort_order":"ASC", + "distinct":"true", + "label_key":"nom_commune", + "order_by":"nom_commune", + "id_key":"code_insee", + "attributs":"code_insee|nom_commune" + }, + "id_from":"code_insee_from" + } + ] + }, + { + "fields":[ + { + "type":"radio", + "name":"classement_au_pluh", + "label":"Classement en PIP au PLU-H", + "nb_cols":2, + "id":"classement_au_pluh", + "options":{ + "choices":[ + { + "label":"Oui", + "value":true + }, + { + "label":"Non", + "value":false + } + ] + }, + "visible": true + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-xs", + "nb_cols":12, + "name":"search_button", + "id":"search_button", + "buttons":[ + { + "type":"button", + "name":"search", + "label":"FORM_SEARCH_BUTTON", + "class":"btn-primary", + "event":"setGridFilter()" + }, + { + "type":"reset", + "name":"reset", + "label":"FORM_RESET_BUTTON", + "class":"btn-primary", + "event":"resetGridFilter()" + } + ] + } + ] + } + ], + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "search_button", + "id_ensemble", + "titre", + "code_insee", + "classement_au_pluh" + ] + } + ] + } + }, + "insert":{ + "name":"patrimoine_saisie_patrimoine_perimetre-form", + "title":"PATRIMOINE_PERIMETRE_TITLE_INSERT", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type":"select", + "name":"code_insee", + "label":"Commune", + "required":true, + "nb_cols":4, + "id":"code_insee", + "id_from":"code_insee_from", + "datasource":{ + "datasource_id":"datasource_commune", + "sort_order":"ASC", + "distinct":"true", + "label_key":"nom_commune", + "order_by":"nom_commune", + "id_key":"code_insee", + "attributs":"code_insee|nom_commune" + } + } + ] + }, + { + "fields": [ + { + "type": "number", + "name": "num_ensemble", + "label": "Numéro de l'ensemble", + "required":true, + "nb_cols": 2, + "id": "Element_1_1583493459156" + }, + { + "type": "text", + "name": "titre", + "label": "Titre", + "required":false, + "nb_cols": 10, + "id": "Element_3_1583493460040" + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "localisation", + "label": "Localisation", + "required":false, + "nb_cols": 8, + "id": "Element_2_1583493459656" + } + ] + }, + { + "fields":[ + { + "type":"select", + "name":"id_classification_qualite", + "label":"Justification du niveau de qualité", + "required":true, + "nb_cols":4, + "id":"id_classification_qualite", + "id_from":"id_classification_qualite_from", + "datasource":{ + "datasource_id":"datasource_classification_qualite", + "sort_order":"ASC", + "distinct":"true", + "label_key":"classification_qualite", + "order_by":"classification_qualite", + "id_key":"id_classification_qualite", + "attributs":"id_classification_qualite|classification_qualite" + } + } + ] + }, + { + "fields":[ + { + "type":"tinymce", + "name":"preconisation", + "label":"Préconisation", + "required":false, + "nb_rows":5, + "nb_cols":12, + "id":"preconisation" + } + ] + }, + { + "fields":[ + { + "type":"radio", + "name":"proposition_classement", + "label":"Proposition au classement", + "nb_cols":2, + "id":"proposition_classement", + "options":{ + "choices":[ + { + "label":"Oui", + "value":true + }, + { + "label":"Non", + "value":false + } + ] + }, + "visible": true + }, + { + "type":"radio", + "name":"classement_au_pluh", + "label":"Classement en PIP au PLU-H", + "nb_cols":2, + "id":"classement_au_pluh", + "options":{ + "choices":[ + { + "label":"Oui", + "value":true + }, + { + "label":"Non", + "value":false + } + ] + }, + "visible": true + } + ] + }, + { + "fields": [ + { + "type":"select", + "name":"code_procedure_pluh", + "label":"Procédure PLU-H", + "required":false, + "nb_cols":6, + "id":"code_procedure_pluh", + "id_from":"code_procedure_pluh_from", + "datasource":{ + "datasource_id":"datasource_procedure_pluh", + "sort_order":"ASC", + "distinct":"true", + "label_key":"procedure_pluh", + "order_by":"procedure_pluh", + "id_key":"code_procedure_pluh", + "attributs":"code_procedure_pluh|procedure_pluh" + } + }, + { + "type": "text", + "name": "procedure_modification", + "label": "Numéro de modification procédure", + "required":false, + "nb_cols": 2, + "id": "procedure_modification" + } + ] + }, + { + "fields":[ + { + "type":"select", + "name":"id_enqueteur", + "label":"Enquêteur", + "required":false, + "nb_cols":3, + "id":"id_enqueteur", + "id_from":"id_enqueteur", + "datasource":{ + "datasource_id":"datasource_enqueteur", + "sort_order":"ASC", + "distinct":"true", + "label_key":"nom_enqueteur", + "order_by":"nom_enqueteur", + "id_key":"id_enqueteur", + "attributs":"id_enqueteur|nom_enqueteur" + } + } + ] + }, + { + "fields":[ + { + "type":"tinymce", + "name":"descriptif", + "label":"Descriptif", + "required":false, + "nb_rows":3, + "nb_cols":12, + "id":"descriptif" + } + ] + }, + { + "fields":[ + { + "type":"select", + "name":"id_typologie_tissus", + "label":"Typologie de tissus", + "required":false, + "nb_cols":4, + "id":"id_typologie_tissus", + "id_from":"id_typologie_tissus", + "datasource":{ + "datasource_id":"datasource_typologie_tissus", + "sort_order":"ASC", + "distinct":"true", + "label_key":"typologie_tissus", + "order_by":"typologie_tissus", + "id_key":"id_typologie_tissus", + "attributs":"id_typologie_tissus|typologie_tissus" + } + }, + { + "type":"select", + "name":"id_sous_typologie_tissus", + "label":"Sous-typologie de tissus", + "required":false, + "nb_cols":5, + "id":"id_sous_typologie_tissus", + "id_from":"id_sous_typologie_tissus", + "datasource":{ + "datasource_id":"datasource_sous_typologie_tissus", + "sort_order":"ASC", + "distinct":"true", + "label_key":"sous_typologie_tissus", + "order_by":"sous_typologie_tissus", + "id_key":"id_sous_typologie_tissus", + "attributs":"id_sous_typologie_tissus|sous_typologie_tissus", + "parents":[ + { + "name":"id_typologie_tissus", + "filter_attr":"id_typologie_tissus", + "filter_equality":"=", + "wait_for_parent":true + } + ] + } + } + ] + }, + { + "fields":[ + { + "type":"textarea", + "name":"commentaire", + "label":"Commentaires", + "required":false, + "pattern":"", + "nb_cols":12, + "id":"commentaire" + } + ] + }, + { + "fields":[ + { + "type":"textarea", + "name":"commentaire_titre", + "label":"Commentaires sur le titre", + "required":false, + "pattern":"", + "nb_cols":12, + "id":"commentaire_titre" + } + ] + }, + { + "fields":[ + { + "type":"textarea", + "name":"descriptif_commentaire", + "label":"Commentaires sur le descriptif", + "required":false, + "pattern":"", + "nb_cols":12, + "id":"descriptif_commentaire" + } + ] + }, + { + "fields":[ + { + "type":"textarea", + "name":"commentaire_complementaire", + "label":"Commentaires complémentaires", + "required":false, + "pattern":"", + "nb_cols":12, + "id":"commentaire_complementaire" + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"insert_button", + "id":"insert_button", + "buttons":[ + { + "type":"submit", + "name":"form_submit", + "label":"FORM_CREATE", + "class":"btn-primary" + }, + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "initEvent": "", + "event":"sendSimpleForm()", + "afterEvent":"editSectionForm()", + "tabs": { + "position": "top", + "list": [ + { + "label": "Général", + "elements": [ + "insert_button", + "code_insee", + "num_ensemble", + "localisation", + "titre", + "descriptif", + "id_classification_qualite", + "id_typologie_tissus", + "id_sous_typologie_tissus", + "preconisation", + "proposition_classement", + "classement_au_pluh", + "valeur" + ] + }, + { + "label": "Détails fiche", + "elements": [ + "id_enqueteur", + "date_creation_fiche", + "date_maj", + "procedure_modification", + "code_procedure_pluh" + ] + }, + { + "label": "Commentaires", + "elements": [ + "insert_button", + "commentaire", + "commentaire_titre", + "commentaire_complementaire", + "descriptif_commentaire" + ] + } + ] + } + }, + "update":{ + "name":"patrimoine_saisie_patrimoine_perimetre-form", + "title":"PATRIMOINE_PERIMETRE_TITLE_UPDATE", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "label", + "name": "id_ensemble", + "label": "Identifiant de l'ensemble", + "required":true, + "nb_cols": 2, + "id": "Element_1_1583493459156" + }, + { + "type": "text", + "name": "titre", + "label": "Titre", + "required":false, + "nb_cols": 10, + "id": "Element_3_1583493460040" + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "localisation", + "label": "Localisation", + "required":false, + "nb_cols": 8, + "id": "Element_2_1583493459656" + }, + { + "type":"select", + "name":"code_insee", + "label":"Commune", + "required":true, + "nb_cols":4, + "id":"code_insee", + "id_from":"code_insee_from", + "datasource":{ + "datasource_id":"datasource_commune", + "sort_order":"ASC", + "distinct":"true", + "label_key":"nom_commune", + "order_by":"nom_commune", + "id_key":"code_insee", + "attributs":"code_insee|nom_commune" + } + } + ] + }, + { + "fields":[ + { + "type":"select", + "name":"id_classification_qualite", + "label":"Justification du niveau de qualité", + "required":true, + "nb_cols":4, + "id":"id_classification_qualite", + "id_from":"id_classification_qualite_from", + "datasource":{ + "datasource_id":"datasource_classification_qualite", + "sort_order":"ASC", + "distinct":"true", + "label_key":"classification_qualite", + "order_by":"classification_qualite", + "id_key":"id_classification_qualite", + "attributs":"id_classification_qualite|classification_qualite" + } + } + ] + }, + { + "fields":[ + { + "type":"select", + "name":"id_typologie_tissus", + "label":"Typologie de tissus", + "required":false, + "nb_cols":4, + "id":"id_typologie_tissus", + "id_from":"id_typologie_tissus", + "datasource":{ + "datasource_id":"datasource_typologie_tissus", + "sort_order":"ASC", + "distinct":"true", + "label_key":"typologie_tissus", + "order_by":"typologie_tissus", + "id_key":"id_typologie_tissus", + "attributs":"id_typologie_tissus|typologie_tissus" + } + }, + { + "type":"select", + "name":"id_sous_typologie_tissus", + "label":"Sous-typologie de tissus", + "required":false, + "nb_cols":5, + "id":"id_sous_typologie_tissus", + "id_from":"id_sous_typologie_tissus", + "datasource":{ + "datasource_id":"datasource_sous_typologie_tissus", + "sort_order":"ASC", + "distinct":"true", + "label_key":"sous_typologie_tissus", + "order_by":"sous_typologie_tissus", + "id_key":"id_sous_typologie_tissus", + "attributs":"id_sous_typologie_tissus|sous_typologie_tissus", + "parents":[ + { + "name":"id_typologie_tissus", + "filter_attr":"id_typologie_tissus", + "filter_equality":"=", + "wait_for_parent":true + } + ] + } + } + ] + }, + { + "fields":[ + { + "type":"tinymce", + "name":"preconisation", + "label":"Préconisation", + "required":false, + "nb_rows":5, + "nb_cols":12, + "id":"preconisation" + } + ] + }, + { + "fields":[ + { + "type":"radio", + "name":"proposition_classement", + "label":"Proposition au classement", + "nb_cols":2, + "id":"proposition_classement", + "options":{ + "choices":[ + { + "label":"Oui", + "value":true + }, + { + "label":"Non", + "value":false + } + ] + }, + "visible": true + }, + { + "type":"radio", + "name":"classement_au_pluh", + "label":"Classement en PIP au PLU-H", + "nb_cols":2, + "id":"classement_au_pluh", + "options":{ + "choices":[ + { + "label":"Oui", + "value":true + }, + { + "label":"Non", + "value":false + } + ] + }, + "visible": true + } + ] + }, + { + "fields": [ + { + "type":"select", + "name":"code_procedure_pluh", + "label":"Procédure PLU-H", + "required":false, + "nb_cols":6, + "id":"code_procedure_pluh", + "id_from":"code_procedure_pluh_from", + "datasource":{ + "datasource_id":"datasource_procedure_pluh", + "sort_order":"ASC", + "distinct":"true", + "label_key":"procedure_pluh", + "order_by":"procedure_pluh", + "id_key":"code_procedure_pluh", + "attributs":"code_procedure_pluh|procedure_pluh" + } + }, + { + "type": "text", + "name": "procedure_modification", + "label": "Numéro de modification procédure", + "required":false, + "nb_cols": 2, + "id": "procedure_modification" + } + ] + }, + { + "fields":[ + { + "type":"select", + "name":"id_enqueteur", + "label":"Enquêteur", + "required":false, + "nb_cols":3, + "id":"id_enqueteur", + "id_from":"id_enqueteur", + "datasource":{ + "datasource_id":"datasource_enqueteur", + "sort_order":"ASC", + "distinct":"true", + "label_key":"nom_enqueteur", + "order_by":"nom_enqueteur", + "id_key":"id_enqueteur", + "attributs":"id_enqueteur|nom_enqueteur" + } + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "date_creation_fiche", + "label": "Date de création de la fiche", + "nb_cols": 2, + "id": "Element_0_1583493674730" + }, + { + "type": "label", + "name": "date_maj", + "label": "Date de mise à jour", + "nb_cols": 2, + "id": "Element_1_1583493693844" + } + ] + }, + { + "fields":[ + { + "type":"tinymce", + "name":"descriptif", + "label":"Descriptif", + "required":false, + "nb_rows":3, + "nb_cols":12, + "id":"descriptif" + } + ] + }, + { + "fields": [ + { + "type": "double_select", + "name": "valeurs", + "label": "Valeurs du périmètre", + "required": false, + "nb_cols": 5, + "id": "Element_0_4_1", + "name_to": "valeurs", + "name_from": "valeurs_from", + "size": 5, + "label_from": "valeurs non associées", + "label_to": "valeurs associées au périmètre", + "web_service": { + "ressource_id": "patrimoine/valeurs", + "id_key": "id_valeur", + "label_key": "valeur", + "parameters": { + "order_by": "valeur" + } + } + } + ] + }, + { + "fields": [ + { + "type": "double_select", + "name": "protection_etats", + "label": "Protections état du périmètre", + "required": false, + "nb_cols": 6, + "id": "Element_0_4_1", + "name_to": "protection_etats", + "name_from": "protection_etats_from", + "size": 6, + "label_from": "protections état non associées", + "label_to": "protections état associées au périmètre", + "web_service": { + "ressource_id": "patrimoine/protection_etats", + "id_key": "id_protection_etat", + "label_key": "protection_etat", + "parameters": { + "order_by": "protection_etat" + } + } + } + ] + }, + { + "fields": [ + { + "type": "image_wsdata", + "name": "photos", + "label": "Photo(s)", + "required": false, + "pattern": "", + "nb_cols": 12, + "id": "Element_0_1588165731143", + "multiple": true, + "displayOnly":false + } + ] + }, + { + "fields":[ + { + "type":"textarea", + "name":"commentaire", + "label":"Commentaires", + "required":false, + "pattern":"", + "nb_cols":12, + "id":"commentaire" + } + ] + }, + { + "fields":[ + { + "type":"textarea", + "name":"commentaire_titre", + "label":"Commentaires sur le titre", + "required":false, + "pattern":"", + "nb_cols":12, + "id":"commentaire_titre" + } + ] + }, + { + "fields":[ + { + "type":"textarea", + "name":"descriptif_commentaire", + "label":"Commentaires sur le descriptif", + "required":false, + "pattern":"", + "nb_cols":12, + "id":"descriptif_commentaire" + } + ] + }, + { + "fields":[ + { + "type":"textarea", + "name":"commentaire_complementaire", + "label":"Commentaires complémentaires", + "required":false, + "pattern":"", + "nb_cols":12, + "id":"commentaire_complementaire" + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"update_button", + "id":"update_button", + "buttons":[ + { + "type":"submit", + "name":"form_submit", + "label":"FORM_UPDATE", + "class":"btn-primary" + }, + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "initEvent": "", + "event":"sendSimpleForm()", + "tabs": { + "position": "top", + "list": [ + { + "label": "Général", + "elements": [ + "update_button", + "code_insee", + "id_ensemble", + "localisation", + "titre", + "descriptif", + "id_classification_qualite", + "id_typologie_tissus", + "id_sous_typologie_tissus", + "preconisation", + "proposition_classement", + "classement_au_pluh", + "id_pip_pluh", + "valeurs", + "photos" + ] + }, + { + "label": "Protection état", + "elements": [ + "display_button", + "protection_etats" + ] + }, + { + "label": "Détails fiche", + "elements": [ + "id_enqueteur", + "date_creation_fiche", + "date_maj", + "procedure_modification", + "code_procedure_pluh" + ] + }, + { + "label": "Commentaires", + "elements": [ + "update_button", + "commentaire", + "commentaire_titre", + "commentaire_complementaire", + "descriptif_commentaire" + ] + } + ] + } + }, + "datasources":{ + "datasource_classification_qualite":{ + "type":"web_service", + "dataType":"tableValue", + "name":"classification_qualite", + "description":"", + "parameters":{ + "schema":"patrimoine", + "table":"classification_type_qualite" + }, + "ressource_id":"vitis/genericquerys", + "id":"datasource_classification_qualite" + }, + "datasource_enqueteur":{ + "type":"web_service", + "dataType":"tableValue", + "name":"enqueteur", + "description":"", + "parameters":{ + "schema":"patrimoine", + "table":"enqueteur" + }, + "ressource_id":"vitis/genericquerys", + "id":"datasource_enqueteur" + }, + "datasource_typologie_tissus":{ + "type":"web_service", + "dataType":"tableValue", + "name":"typologie_tissus", + "description":"", + "parameters":{ + "schema":"patrimoine", + "table":"typologie_tissus" + }, + "ressource_id":"vitis/genericquerys", + "id":"datasource_typologie_tissus" + }, + "datasource_sous_typologie_tissus":{ + "type":"web_service", + "dataType":"tableValue", + "name":"sous_typologie_tissus", + "description":"", + "parameters":{ + "schema":"patrimoine", + "table":"sous_typologie_tissus" + }, + "ressource_id":"vitis/genericquerys", + "id":"datasource_sous_typologie_tissus" + }, + "datasource_commune":{ + "type":"web_service", + "dataType":"tableValue", + "name":"commune", + "description":"", + "parameters":{ + "schema":"patrimoine", + "table":"commune" + }, + "ressource_id":"vitis/genericquerys", + "id":"datasource_commune" + }, + "datasource_procedure_pluh":{ + "type":"web_service", + "dataType":"tableValue", + "name":"procedure_pluh", + "description":"", + "parameters":{ + "schema":"patrimoine", + "table":"procedure_pluh" + }, + "ressource_id":"vitis/genericquerys", + "id":"datasource_procedure_pluh" + } + } +} diff --git a/src/module_patrimoine/module/javascript/script_module.js b/src/module_patrimoine/module/javascript/script_module.js new file mode 100644 index 00000000..639dbf3a --- /dev/null +++ b/src/module_patrimoine/module/javascript/script_module.js @@ -0,0 +1,66 @@ +/* global vitisApp, goog, angular, bootbox, oVFB */ + +'use strict'; +goog.provide('vmap.patrimoine.script_module'); +goog.require('vmap.patrimoine.dashboard'); +vitisApp.on('appMainDrtvLoaded', function () { + + /** + * loadSuiviProdImmoRepartitionLogControl function. + * Chargement de la section "Prétraitement" de l'onglet "Contrôle". + */ + angular.element(vitisApp.appMainDrtv).scope()["loadPatrimoineLogControl"] = function () { + // Injection des services. + /*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"]); + // + $log.info("loadSuiviProdImmoRepartitionLogControl"); + // Sauve certaines données de la liste. + var sSortedBy = envSrvc["oSelectedObject"]["sorted_by"]; + var sSortedDir = envSrvc["oSelectedObject"]["sorted_dir"]; + var sEditColumn = envSrvc["oSelectedObject"]["edit_column"]; + var sShowColumn = envSrvc["oSelectedObject"]["show_column"]; + // Colonne et sens de tri. + envSrvc["oSelectedObject"]["sorted_by"] = "id_traitement"; + envSrvc["oSelectedObject"]["sorted_dir"] = "ASC"; + envSrvc["oSelectedObject"]["edit_column"] = "editModalSectionForm"; + envSrvc["oSelectedObject"]["show_column"] = "showModalSectionForm"; + // "sIdField" pour les boutons du mode "update" et "display". + envSrvc["oSelectedObject"]["sIdField"] = "id_controle"; + // Affiche la liste des prétraitements du contrôle. + $translate(["GRID_TITLE_ANC_SAISIE_ANC_CONTROLE_CONTROLE_TRAITEMENT"]).then(function (oTranslations) { + // Paramètres de la liste + boutons. + var oGridOptions = { + "appHeader": true, + "appHeaderSearchForm": false, + "appGridTitle": oTranslations["GRID_TITLE_ANC_SAISIE_ANC_CONTROLE_CONTROLE_TRAITEMENT"], + "appShowActions": true, + "appIdField": "id_traitement" + }; + // + $rootScope["loadSectionList"](oGridOptions); + }); + // Attends que les boutons du "header" soient ajoutés. + var clearListener = $rootScope.$on('workspaceListHeaderActionsAdded', function (event, oGridOptions) { + // Supprime le "listener". + clearListener(); + // Restaure les données originales de la liste. + envSrvc["oSelectedObject"]["sorted_by"] = sSortedBy; + envSrvc["oSelectedObject"]["sorted_dir"] = sSortedDir; + envSrvc["oSelectedObject"]["edit_column"] = sEditColumn; + envSrvc["oSelectedObject"]["show_column"] = sShowColumn; + // Boutons d'ajout et de suppression d'un traitement. + for (var i = 0; i < oGridOptions["appActions"].length; i++) { + if (oGridOptions["appActions"][i]["name"].indexOf("_add") != -1) + oGridOptions["appActions"][i]["event"] = "addModalSectionForm()"; + else if (oGridOptions["appActions"][i]["name"].indexOf("_delete") != -1) + oGridOptions["appActions"][i]["event"] = "DeleteSelection({'sIdField':'id_traitement'})"; + } + });*/ + }; + + + +}); \ No newline at end of file diff --git a/src/module_patrimoine/module/lang/lang-en.json b/src/module_patrimoine/module/lang/lang-en.json new file mode 100644 index 00000000..ba0e2de9 --- /dev/null +++ b/src/module_patrimoine/module/lang/lang-en.json @@ -0,0 +1,6 @@ +{ + "TEXT_MODE_SUIVI_PROD_IMMO_SAISIE" : "Inventaire du patrimoine d' l'Agence d'urbanisme de Lyon", + "TITLE_MODE_SUIVI_PROD_IMMO_SAISIE" : "Patrimoine", + "PATRIMOINE_SAISIE_PERIMETRE" : "Périmètre porteur qualité", + "PATRIMOINE_SAISIE_ELEMENT" : "Éléments bâti qualité" +} diff --git a/src/module_patrimoine/module/lang/lang-fr.json b/src/module_patrimoine/module/lang/lang-fr.json new file mode 100644 index 00000000..f6a5799b --- /dev/null +++ b/src/module_patrimoine/module/lang/lang-fr.json @@ -0,0 +1,12 @@ +{ + "TEXT_MODE_PATRIMOINE_SAISIE" : "Inventaire du patrimoine d' l'Agence d'urbanisme de Lyon", + "TITLE_MODE_PATRIMOINE_SAISIE" : "Patrimoine", + "PATRIMOINE_SAISIE_PERIMETRE" : "Périmètre porteur qualité", + "PATRIMOINE_SAISIE_ELEMENT" : "Élément bâti de qualité", + "PATRIMOINE_PERIMETRE_TITLE_DISPLAY" : "Périmètre porteur de qualité", + "PATRIMOINE_ELEMENT_TITLE_DISPLAY" : "Élément bâti de qualité", + "PATRIMOINE_PERIMETRE_TITLE_UPDATE" : "Mise à jour d'un périmètre porteur de qualité", + "PATRIMOINE_ELEMENT_TITLE_UPDATE" : "Mise à jour d'un élément bâti de qualité", + "PATRIMOINE_PERIMETRE_TITLE_INSERT" : "Ajout d'un périmètre porteur de qualité", + "PATRIMOINE_ELEMENT_TITLE_INSERT" : "Ajout d'un élément bâti de qualité" +} diff --git a/src/module_patrimoine/web_service/ws/Commune.class.inc b/src/module_patrimoine/web_service/ws/Commune.class.inc new file mode 100644 index 00000000..6f65c524 --- /dev/null +++ b/src/module_patrimoine/web_service/ws/Commune.class.inc @@ -0,0 +1,45 @@ +<?php + +require_once __DIR__ . '/Patrimoine.class.inc'; +require_once __DIR__ . '/../../../vitis/vas/rest/class/vitis_lib/Connection.class.inc'; + +/** + * \file Patrimoine.class.inc + * \class Patrimoine + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Patrimoine php class + * + * This class defines commune for one Patrimoine + * + */ + +class Commune extends Patrimoine { + + public $oError; + + /** + * construct + * @param type $aPath url of the request + * @param type $aValues parameters of the request + * @param type $properties properties + * @param type $oConnection connection object + */ + function __construct($aPath, $aValues, $properties) { + $this->aValues = $aValues; + $this->aPath = $aPath; + $this->aProperties = $properties; + $this->oConnection = new Connection($this->aValues, $this->aProperties); + } + + /** + * get informations about commune + */ + function GET() { + $this->aFields = $this->getFields('patrimoine', "commune", "code_insee"); + } + +} + +?> \ No newline at end of file diff --git a/src/module_patrimoine/web_service/ws/Element_bati_qualite.class.inc b/src/module_patrimoine/web_service/ws/Element_bati_qualite.class.inc new file mode 100644 index 00000000..af402c1a --- /dev/null +++ b/src/module_patrimoine/web_service/ws/Element_bati_qualite.class.inc @@ -0,0 +1,278 @@ +<?php + +require_once __DIR__ . '/Patrimoine.class.inc'; +require_once dirname($_SERVER['SCRIPT_FILENAME']) . '/class/vitis_lib/Connection.class.inc'; + +/** + * \file Element_bati_qualite.class.inc + * \class Element_bati_qualite + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Element_bati_qualite php class + * + * This class defines operation for one Element_bati_qualite + * + */ +class Element_bati_qualite extends Patrimoine { + + public $oError; + + /** + * construct + * @param type $aPath url of the request + * @param type $aValues parameters of the request + * @param type $properties properties + * @param type $oConnection connection object + */ + function __construct($aPath, $aValues, $properties) { + $this->aValues = $aValues; + $this->aPath = $aPath; + $this->aProperties = $properties; + $this->oConnection = new Connection($this->aValues, $this->aProperties); + $this->oFilesManager = new Files_manager($this->aProperties); + } + + /** + * @SWG\Get(path="/controles/{id_element_bati_qualite}", + * tags={"Element_bati_qualites"}, + * summary="Get Element_bati_qualite", + * description="Request to get Element_bati_qualite by id", + * operationId="GET", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="user token", + * required=true, + * type="string" + * ), + * @SWG\Parameter( + * name="id_element_bati_qualite", + * in="path", + * description="id_element_bati_qualite", + * required=true, + * type="integer", + * format="int32" + * ), + * @SWG\Parameter( + * name="attributs", + * in="query", + * description="list of attributs", + * required=false, + * type="string" + * ), + * @SWG\Response( + * response=200, + * description="Element_bati_qualite Response", + * @SWG\Schema(ref="#/definitions/controles") + * ) + * ) + */ + + /** + * get informations about mode + */ + function GET() { + $this->aFields = $this->getFields('patrimoine', "element_bati_qualite", "id_element_bati_qualite", 'patrimoine_saisie_patrimoine_element', 'patrimoine'); + $this->getCommune(); + $this->getEnqueteur(); + $this->getTypologieTissus(); + $this->getSousTypologieTissus(); + $this->getMorphologieBatiment(); + $this->getSousMorphologieBatiment(); + $this->getValeurs(); + $this->getProtectionsEtat(); + $this->getThemes(); + // proposition_classement + if ($this->aFields['proposition_classement']==true) $this->aFields['proposition_classement_label'] ="Oui"; + if ($this->aFields['proposition_classement']==false) $this->aFields['proposition_classement_label'] ="Non"; + // classement_au_pluh + if ($this->aFields['classement_au_pluh']==true) $this->aFields['classement_au_pluh_label'] ="Oui"; + if ($this->aFields['classement_au_pluh']==false) $this->aFields['classement_au_pluh_label'] ="Non"; + // Date de création + if(isset($this->aFields['date_creation_fiche']) and !is_null($this->aFields['date_creation_fiche'])){ + $oDate_creation_fiche = new DateTime($this->aFields['date_creation_fiche']); + $this->aFields['date_creation_fiche'] = $oDate_creation_fiche->format('d/m/Y'); + } + // Date de mise à jour + if(isset($this->aFields['date_maj']) and !is_null($this->aFields['date_maj'])){ + $oDate_maj = new DateTime($this->aFields['date_maj']); + $this->aFields['date_maj'] = $oDate_maj->format('d/m/Y'); + } + } + + /** + * get commune of perimeter + */ + function getCommune() { + if(isset($this->aFields['code_insee']) and !is_null($this->aFields['code_insee'])){ + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'patrimoine', 'type' => 'schema_name'); + $aParams['code_insee'] = array('value' => $this->aFields['code_insee'], 'type' => 'number'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getCommune'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $this->aFields['nom_commune'] = $aLigne["nom_commune"]; + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + } + } + + /** + * get enqueteur of perimeter + */ + function getEnqueteur() { + if(isset($this->aFields['id_enqueteur']) and !is_null($this->aFields['id_enqueteur'])){ + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'patrimoine', 'type' => 'schema_name'); + $aParams['id_enqueteur'] = array('value' => $this->aFields['id_enqueteur'], 'type' => 'string'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getEnqueteur'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $this->aFields['nom_enqueteur'] = $aLigne["nom_enqueteur"]; + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + } + } + + /** + * get typologie tissus of perimeter + */ + function getTypologieTissus() { + if(isset($this->aFields['id_typologie_tissus']) and !is_null($this->aFields['id_typologie_tissus'])){ + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'patrimoine', 'type' => 'schema_name'); + $aParams['id_typologie_tissus'] = array('value' => $this->aFields['id_typologie_tissus'], 'type' => 'number'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getTypologieTissus'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $this->aFields['typologie_tissus'] = $aLigne["typologie_tissus"]; + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + } + } + + /** + * get sous-typologie tissus of perimeter + */ + function getSousTypologieTissus() { + if(isset($this->aFields['id_sous_typologie_tissus']) and !is_null($this->aFields['id_sous_typologie_tissus'])){ + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'patrimoine', 'type' => 'schema_name'); + $aParams['id_sous_typologie_tissus'] = array('value' => $this->aFields['id_sous_typologie_tissus'], 'type' => 'number'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getSousTypologieTissus'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $this->aFields['sous_typologie_tissus'] = $aLigne["sous_typologie_tissus"]; + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + } + } + + /** + * get morphologie batiment of perimeter + */ + function getMorphologieBatiment() { + if(isset($this->aFields['id_morphologie_batiment']) and !is_null($this->aFields['id_morphologie_batiment'])){ + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'patrimoine', 'type' => 'schema_name'); + $aParams['id_morphologie_batiment'] = array('value' => $this->aFields['id_morphologie_batiment'], 'type' => 'number'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getMorphologieBatiment'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $this->aFields['morphologie_batiment'] = $aLigne["morphologie_batiment"]; + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + } + } + + /** + * get sous-morphologie batiment tissus of perimeter + */ + function getSousMorphologieBatiment() { + if(isset($this->aFields['id_sous_morphologie_batiment']) and !is_null($this->aFields['id_sous_morphologie_batiment'])){ + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'patrimoine', 'type' => 'schema_name'); + $aParams['id_sous_morphologie_batiment'] = array('value' => $this->aFields['id_sous_morphologie_batiment'], 'type' => 'number'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getSousMorphologieBatiment'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $this->aFields['sous_morphologie_batiment'] = $aLigne["sous_morphologie_batiment"]; + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + } + } + + /** + * get valeurs of element + */ + function getValeurs() { + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'patrimoine', 'type' => 'schema_name'); + $aParams['id_ebq'] = array('value' => $this->aValues["my_vitis_id"], 'type' => 'number'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getElementValeurs'], $aParams); + $sListValeurId = ""; + $aListValeur = array(); + while ($aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult)) { + if ($sListValeurId == "") { + $sListValeurId = $aLigne["id_valeur"]; + } else { + $sListValeurId .= "|" . $aLigne["id_valeur"]; + } + $aListValeur[] = $aLigne["valeur"]; + } + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + $this->aFields['valeurs'] = $sListValeurId; + $this->aFields['valeurs_label'] = implode(',', $aListValeur); + } + + /** + * get protections état of element + */ + function getProtectionsEtat() { + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'patrimoine', 'type' => 'schema_name'); + $aParams['id_ebq'] = array('value' => $this->aValues["my_vitis_id"], 'type' => 'number'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getElementProtectionsEtat'], $aParams); + $sProtectionEtatId = ""; + $aListProtectionEtat = array(); + while ($aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult)) { + if ($sProtectionEtatId == "") { + $sProtectionEtatId = $aLigne["id_protection_etat"]; + } else { + $sProtectionEtatId .= "|" . $aLigne["id_protection_etat"]; + } + $aListProtectionEtat[] = $aLigne["protection_etat"]; + } + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + $this->aFields['protection_etats'] = $sProtectionEtatId; + $this->aFields['protection_etats_label'] = implode(',', $aListProtectionEtat); + } + + /** + * get thèmes of element + */ + function getThemes() { + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'patrimoine', 'type' => 'schema_name'); + $aParams['id_ebq'] = array('value' => $this->aValues["my_vitis_id"], 'type' => 'number'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getElementThemes'], $aParams); + $sThemeId = ""; + $aListTheme = array(); + while ($aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult)) { + if ($sThemeId == "") { + $sThemeId = $aLigne["id_theme"]; + } else { + $sThemeId .= "|" . $aLigne["id_theme"]; + } + $aListTheme[] = $aLigne["theme"]; + } + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + $this->aFields['themes'] = $sThemeId; + $this->aFields['themes_label'] = implode(',', $aListTheme); + } + + /** + * delete a Element_bati_qualite + */ + function DELETE() { + $this->oConnection->oBd->delete('patrimoine', 'element_bati_qualite', 'id_element_bati_qualite', $this->aValues["my_vitis_id"], 'integer'); + if ($this->oConnection->oBd->enErreur()) { + $this->oError = new VitisError(1, $this->oConnection->oBd->getBDMessage()); + } else { + $this->aFields["id_element_bati_qualite"] = $this->aValues["my_vitis_id"]; + } + } + +} + +?> diff --git a/src/module_patrimoine/web_service/ws/Element_bati_qualites.class.inc b/src/module_patrimoine/web_service/ws/Element_bati_qualites.class.inc new file mode 100644 index 00000000..7f6da1ed --- /dev/null +++ b/src/module_patrimoine/web_service/ws/Element_bati_qualites.class.inc @@ -0,0 +1,396 @@ +<?php + +/** + * \file Element_bati_qualites.class.inc + * \class Element_bati_qualites + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Element_bati_qualites php class + * + * This class defines Rest Api to Vitis Element_bati_qualites + * + */ +require_once __DIR__ . '/Patrimoine.class.inc'; +require_once 'Element_bati_qualite.class.inc'; + +class Element_bati_qualites extends Patrimoine { + /** + * @SWG\Definition( + * definition="/element_bati_qualites", + * allOf={ + * @SWG\Schema(ref="#/definitions/element_bati_qualites") + * } + * ) + * * @SWG\Tag( + * name="Element_bati_qualites", + * description="Operations about Element_bati_qualites" + * ) + */ + + /** + * construct + * @param type $aPath url of the request + * @param type $aValues parameters of the request + * @param type $properties properties + */ + function __construct($aPath, $aValues, $properties) { + $this->aValues = $aValues; + $this->aPath = $aPath; + $this->aProperties = $properties; + $this->oConnection = new Connection($this->aValues, $this->aProperties); + $this->oFilesManager = new Files_manager($this->aProperties); + } + + /** + * @SWG\Get(path="/element_bati_qualites", + * tags={"Element_bati_qualites"}, + * summary="Get Element_bati_qualites", + * description="Request to get Element_bati_qualites", + * operationId="GET", + * produces={"application/xml", "application/json", "application/x-vm-json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="user token", + * required=true, + * type="string" + * ), + * @SWG\Parameter( + * name="order_by", + * in="query", + * description="list of ordering fields", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="sort_order", + * in="query", + * description="sort_order", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="limit", + * in="query", + * description="number of element", + * required=false, + * type="integer", + * format="int32" + * ), + * @SWG\Parameter( + * name="offset", + * in="query", + * description="index of first element", + * required=false, + * type="string", + * format="int32" + * ), + * @SWG\Parameter( + * name="attributs", + * in="query", + * description="list of attributs", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="filter", + * in="query", + * description="filter results", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="distinct", + * in="query", + * description="delete duplicates", + * required=false, + * type="boolean" + * ), + * @SWG\Response( + * response=200, + * description="controle Response", + * @SWG\Schema(ref="#/definitions/element_bati_qualites") + * ) + * ) + */ + + /** + * get Element_bati_qualites + * @return Element_bati_qualites + */ + function GET() { + $aReturn = $this->genericGet('patrimoine', "element_bati_qualite", "id_element_bati_qualite"); + $sMessage = $aReturn['sMessage']; + $aElements=json_decode($aReturn['sMessage'],true); + $aElements2=array(); + foreach ($aElements['element_bati_qualites'] as $aElement){ + // geom + unset($aElement['geom']); + // proposition_classement + if ($aElement['proposition_classement']==true) $aElement['proposition_classement_label'] ="Oui"; + if ($aElement['proposition_classement']==false) $aElement['proposition_classement_label'] ="Non"; + // classement_au_pluh + if ($aElement['classement_au_pluh']==true) $aElement['classement_au_pluh_label'] ="Oui"; + if ($aElement['classement_au_pluh']==false) $aElement['classement_au_pluh_label'] ="Non"; + // nom_commune + $aElement['nom_commune']= $this->getCommune($aElement['code_insee']); + // procedure_pluh + $aElement['procedure_pluh']= $this->getProcedurePluh($aElement['code_procedure_pluh']); + $aElements2[count($aElements2)]=$aElement; + } + $sPerimetres=json_encode(array("element_bati_qualites"=>$aElements2,"list_count"=>$aElements['list_count'],"total_row_number"=>$aElements['total_row_number'],"status"=>$aElements['status'])); + return $sPerimetres; + } + + /** + * get commune of element + */ + function getCommune($iCodeInsee) { + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'patrimoine', 'type' => 'schema_name'); + $aParams['code_insee'] = array('value' => $iCodeInsee, 'type' => 'number'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getCommune'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + return $aLigne["nom_commune"]; + } + + /** + * get procedure_pluh of element + */ + function getProcedurePluh($iProcedurePluh) { + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'patrimoine', 'type' => 'schema_name'); + $aParams['code_procedure_pluh'] = array('value' => $iProcedurePluh, 'type' => 'string'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getProcedurePluh'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + return $aLigne["procedure_pluh"]; + } + + /** + * @SWG\Post(path="/element_bati_qualites", + * tags={"Element_bati_qualites"}, + * summary="Add controle", + * description="Request to add Element_bati_qualites", + * operationId="POST", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="user token", + * required=true, + * type="string" + * ), + * @SWG\Response( + * response=200, + * description="controle Response", + * @SWG\Schema(ref="#/definitions/element_bati_qualites") + * ) + * ) + */ + + /** + * insert controle + * @return id of the controle created + */ + function POST() { + // get value sequence from patrimoine database to set id + $oConnexion = new PDO('pgsql:host=\'srv-postgres\' port=5432 dbname=\'patrimoine\'', $_SESSION["ses_Login"], trim(des(rtrim(utf8_decode($_SESSION["ses_Login"])), hexToString(rtrim($_SESSION["ses_Password"])), 0, 0, null))); + $oPDOresult = $oConnexion->query('SELECT nextval(\'patrimoine.element_bati_qualite_id_element_bati_qualite_seq\')'); + $aResult = $oPDOresult->fetch(PDO::FETCH_ASSOC); + $this->aValues['id_element_bati_qualite'] = $aResult['nextval']; + if ($this->aValues['id_enqueteur']==null) unset($this->aValues['id_enqueteur']); + if ($this->aValues['id_typologie_tissus']==null) unset($this->aValues['id_typologie_tissus']); + if ($this->aValues['id_sous_typologie_tissus']==null) unset($this->aValues['id_sous_typologie_tissus']); + if ($this->aValues['id_morphologie_batiment']==null) unset($this->aValues['id_morphologie_batiment']); + if ($this->aValues['id_sous_morphologie_batiment']==null) unset($this->aValues['id_sous_morphologie_batiment']); + if ($this->aValues['code_procedure_pluh']==null) unset($this->aValues['code_procedure_pluh']); + $this->aValues['id_bati'] =$this->aValues['code_insee'].'_'.$this->aValues['num_batiment']; + $this->aValues['date_creation_fiche'] = date("Y-m-d"); + // error_log(print_r($this->aValues,true)); + // Fichiers à uploader + $aUploadFiles = array('photos' => []); + $aReturn = $this->genericPost('patrimoine', 'element_bati_qualite', null, 'id_element_bati_qualite', $aUploadFiles, 'patrimoine_saisie_patrimoine_element', 'patrimoine'); + return $aReturn['sMessage']; + } + + /** + * @SWG\Put(path="/element_bati_qualites/{id_element_bati_qualite}", + * tags={"Element_bati_qualites"}, + * summary="update Element_bati_qualites", + * description="Request to update Element_bati_qualites", + * operationId="PUT", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="Controle token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="id_element_bati_qualite", + * in="path", + * description="id of the Element_bati_qualites", + * required=true, + * type="integer", + * format = "int32" + * ), + * @SWG\Response( + * response=200, + * description="Poprerties Response", + * @SWG\Schema(ref="#/definitions/element_bati_qualites") + * ) + * ) + */ + + /** + * update element_bati_qualites + * @return id of element_bati_qualites updated or error object if a element_bati_qualites is not updated + */ + function PUT() { + if ($this->aValues['id_enqueteur']==null) unset($this->aValues['id_enqueteur']); + if ($this->aValues['id_typologie_tissus']==null) unset($this->aValues['id_typologie_tissus']); + if ($this->aValues['id_sous_typologie_tissus']==null) unset($this->aValues['id_sous_typologie_tissus']); + if ($this->aValues['id_morphologie_batiment']==null) unset($this->aValues['id_morphologie_batiment']); + if ($this->aValues['id_sous_morphologie_batiment']==null) unset($this->aValues['id_sous_morphologie_batiment']); + if ($this->aValues['code_procedure_pluh']==null) unset($this->aValues['code_procedure_pluh']); + unset($this->aValues['id_bati']); + unset($this->aValues['date_creation_fiche']); + $this->aValues['date_maj'] = date("Y-m-d"); + // Fichiers à uploader + $aUploadFiles = array('photos' => []); + // Mise à jour + $aReturn = $this->genericPut('patrimoine', 'element_bati_qualite', 'id_element_bati_qualite', $aUploadFiles, 'patrimoine_saisie_patrimoine_element', 'patrimoine'); + if ($aReturn['sStatus'] == 1) { + $aXmlRacineAttribute['status'] = 1; + $sMessage = $this->asDocument('', 'vitis', $this->aValues['sEncoding'], True, $aXmlRacineAttribute, $this->aValues['sSourceEncoding'], $this->aValues['output']); + //***** valeurs *****// + // Le paramètre "valeurs" est passé dans la requête ? + if ($this->aValues['valeurs'] !== NULL) { + $this->oConnection->oBd->delete('patrimoine', 'ebq_valeur', 'id_ebq', $this->aValues["my_vitis_id"]); + // Valeur(s) à rattacher au groupe ? + if (!empty($this->aValues['valeurs'])){ + require $this->sRessourcesFile; + $aValeurs = explode('|', $this->aValues['valeurs']); + foreach ($aValeurs as $iValeurId){ + $aParams = array(); + $aParams['sSchemaFramework'] = array('value' => 'patrimoine', 'type' => 'schema_name'); + $aParams['id_valeur'] = array('value' => $iValeurId, 'type' => 'number'); + $aParams['id_ebq'] = array('value' => $this->aValues["my_vitis_id"], 'type' => 'number'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['insertElementValeurs'], $aParams); + } + } + } + //***** protections état *****// + // Le paramètre "protection_etats" est passé dans la requête ? + if ($this->aValues['protection_etats'] !== NULL) { + $this->oConnection->oBd->delete('patrimoine', 'ebq_protection_etat', 'id_ebq', $this->aValues["my_vitis_id"]); + if (!empty($this->aValues['protection_etats'])){ + require $this->sRessourcesFile; + $aProtectionEtats = explode('|', $this->aValues['protection_etats']); + foreach ($aProtectionEtats as $iProtectionEtatId){ + $aParams = array(); + $aParams['sSchemaFramework'] = array('value' => 'patrimoine', 'type' => 'schema_name'); + $aParams['id_protection_etat'] = array('value' => $iProtectionEtatId, 'type' => 'number'); + $aParams['id_ebq'] = array('value' => $this->aValues["my_vitis_id"], 'type' => 'number'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['insertElementProtectionsEtat'], $aParams); + } + } + } + //***** thèmes *****// + // Le paramètre "themes" est passé dans la requête ? + if ($this->aValues['themes'] !== NULL) { + $this->oConnection->oBd->delete('patrimoine', 'ebq_theme', 'id_ebq', $this->aValues["my_vitis_id"]); + if (!empty($this->aValues['themes'])){ + require $this->sRessourcesFile; + $aThemes = explode('|', $this->aValues['themes']); + foreach ($aThemes as $iThemeId){ + $aParams = array(); + $aParams['sSchemaFramework'] = array('value' => 'patrimoine', 'type' => 'schema_name'); + $aParams['id_theme'] = array('value' => $iThemeId, 'type' => 'number'); + $aParams['id_ebq'] = array('value' => $this->aValues["my_vitis_id"], 'type' => 'number'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['insertElementThemes'], $aParams); + } + } + } + } else { + $sMessage = $aReturn['sMessage']; + } + return $sMessage; + } + + /** + * @SWG\Delete(path="/element_bati_qualites", + * tags={"Element_bati_qualites"}, + * summary="delete Element_bati_qualites", + * description="Request to delete Element_bati_qualites", + * operationId="DELETE", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="idList", + * in="query", + * description="id of the element", + * required=true, + * type="string" + * ), + * @SWG\Response( + * response=200, + * description="Element Response", + * @SWG\Schema(ref="#/definitions/element_bati_qualites") + * ) + * ) + */ + /** + * @SWG\Delete(path="/element_bati_qualites/{id_element_bati_qualite}", + * tags={"Element_bati_qualites"}, + * summary="delete Element_bati_qualites", + * description="Request to delete Element_bati_qualites", + * operationId="DELETE", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="Element token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="id_element_bati_qualite", + * in="path", + * description="id of the Element_bati_qualites", + * required=true, + * type="integer", + * format = "int32" + * ), + * @SWG\Response( + * response=200, + * description="Poprerties Response", + * @SWG\Schema(ref="#/definitions/element_bati_qualites") + * ) + * ) + */ + + /** + * delete element_bati_qualites + * @return id of element_bati_qualites deleted or error object if a element_bati_qualites is not deleted + */ + function DELETE() { + require $this->sRessourcesFile; + // Dépendances supprimées en cascade + $aReturn = $this->genericDelete('patrimoine', 'element_bati_qualite', 'id_element_bati_qualite'); + return $aReturn['sMessage']; + } + +} + +?> diff --git a/src/module_patrimoine/web_service/ws/Patrimoine.class.inc b/src/module_patrimoine/web_service/ws/Patrimoine.class.inc new file mode 100644 index 00000000..81b01c8e --- /dev/null +++ b/src/module_patrimoine/web_service/ws/Patrimoine.class.inc @@ -0,0 +1,42 @@ +<?php + +require_once dirname($_SERVER['SCRIPT_FILENAME']) . "/class/vitis_lib/DbClass.class.inc"; +require_once dirname($_SERVER['SCRIPT_FILENAME']) . '/ws/vitis/Vitis.class.inc'; +require_once 'vmlib/logUtil.inc'; + +class Patrimoine extends Vitis { + + //Chemin du fichier de ressources contenant les requêtes SQL + var $sRessourcesFile = 'ws/patrimoine/Patrimoine.class.sql.inc'; + + /** + * DEPRECATED + * Upload un document dans le ws_data du module Patrimoine. + * @param type $sIndex + * @param type $sFolder + */ + function uploadDocument($sIndex, $sFolder) { + // Crée le répertoire si inexistant. + $sDirPath = $this->aProperties['ws_data_dir'] . '/patrimoine/' . $sFolder . '/documents/' . $this->aValues["my_vitis_id"] . '/' . $sIndex . '/'; + if (!is_dir($sDirPath)) + mkdir($sDirPath, 0777, true); + // Ecrit le fichier. + if (!empty($_FILES[$sIndex])) { + $sErrorMessage = uploadFile($sIndex, "", $sDirPath . $_FILES[$sIndex]["name"], $_FILES[$sIndex]['size'] + 1); + if ($sErrorMessage != "") + writeToErrorLog($sErrorMessage); + } + else { + $sfileContentIndex = $sIndex . '_file'; + $sfileNameIndex = $sIndex . '_name'; + if (!empty($this->aValues[$sfileContentIndex])) { + + $this->aValues[$sIndex] = $this->aValues[$sfileNameIndex]; + $fp = fopen($sDirPath . $this->aValues[$sfileNameIndex], "w"); + fwrite($fp, $this->aValues[$sfileContentIndex]); + fclose($fp); + } + } + } +} +?> diff --git a/src/module_patrimoine/web_service/ws/Patrimoine.class.sql.inc b/src/module_patrimoine/web_service/ws/Patrimoine.class.sql.inc new file mode 100644 index 00000000..0c657326 --- /dev/null +++ b/src/module_patrimoine/web_service/ws/Patrimoine.class.sql.inc @@ -0,0 +1,36 @@ +<?php +//Définition des requêtes de l'api Vitis +$aSql['checkIP'] = "SELECT user_id, ip_constraint FROM [sSchemaFramework].user WHERE login ='[sLogin]'"; +$aSql['getGroups'] = "SELECT group_id FROM [sSchemaFramework].user_group WHERE user_id = [user_id]"; +$aSql['loginUnique'] = 'SELECT UPPER("login") FROM [sSchemaFramework]."user" WHERE UPPER("login")=UPPER(\'sLoginUser\')'; +$aSql['getLoginbyId'] = 'SELECT "login" FROM [sSchemaFramework]."user" WHERE user_id=[user_id]'; +$aSql['getTableColumn'] = 'SELECT column_name FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema = \'[sSchemaFramework]\' and table_name= \'[sTable]\''; +$aSql['getUserPrivileges'] = 'SELECT groname FROM pg_user s LEFT OUTER JOIN pg_group g on (s.usesysid = any(g.grolist) )inner join [sSchemaFramework].user on "user".login = usename WHERE user_id = [user_id]'; +$aSql['listDomain'] = 'SELECT distinct domain, alias FROM [sSchemaFramework].domain WHERE "type" = \'AD\''; +$aSql['createRolname'] = 'CREATE ROLE "vitis_[sDomain]" NOSUPERUSER INHERIT NOCREATEDB CREATEROLE;'; +$aSql['getInfoRolname'] = 'SELECT * FROM pg_catalog.pg_roles WHERE rolname = \'vitis_[sDomain]\''; +// Patrimoine +$aSql['getCommune'] = "SELECT code_insee, nom_commune FROM [sSchemaFramework].commune WHERE code_insee =[code_insee] LIMIT 1"; +$aSql['getProcedurePluh'] = "SELECT code_procedure_pluh, procedure_pluh FROM [sSchemaFramework].procedure_pluh WHERE code_procedure_pluh =[code_procedure_pluh] LIMIT 1"; +$aSql['getEnqueteur'] = "SELECT id_enqueteur, nom_enqueteur FROM [sSchemaFramework].enqueteur WHERE id_enqueteur =[id_enqueteur] LIMIT 1"; +$aSql['getClassificationTypeQualite'] = "SELECT id_classification_qualite, classification_qualite FROM [sSchemaFramework].classification_type_qualite WHERE id_classification_qualite =[id_classification_qualite] LIMIT 1"; +$aSql['getTypologieTissus'] = "SELECT id_typologie_tissus, typologie_tissus FROM [sSchemaFramework].typologie_tissus WHERE id_typologie_tissus =[id_typologie_tissus] LIMIT 1"; +$aSql['getSousTypologieTissus'] = "SELECT id_sous_typologie_tissus, sous_typologie_tissus FROM [sSchemaFramework].sous_typologie_tissus WHERE id_sous_typologie_tissus =[id_sous_typologie_tissus] LIMIT 1"; +$aSql['getMorphologieBatiment'] = "SELECT id_morphologie_batiment, morphologie_batiment FROM [sSchemaFramework].morphologie_batiment WHERE id_morphologie_batiment =[id_morphologie_batiment] LIMIT 1"; +$aSql['getSousMorphologieBatiment'] = "SELECT id_sous_morphologie_batiment, sous_morphologie_batiment FROM [sSchemaFramework].sous_morphologie_batiment WHERE id_sous_morphologie_batiment =[id_sous_morphologie_batiment] LIMIT 1"; +// EPQ Valeurs +$aSql['getPerimetreValeurs'] = "SELECT epq_valeur.id_valeur, \"valeur\".valeur FROM [sSchemaFramework].epq_valeur LEFT JOIN [sSchemaFramework].valeur ON epq_valeur.id_valeur = \"valeur\".id_valeur WHERE epq_valeur.id_epq = [id_epq]"; +$aSql['insertPerimetreValeurs'] = "INSERT INTO [sSchemaFramework].epq_valeur(id_valeur, id_epq) VALUES([id_valeur], [id_epq])"; +// EPQ Protections Etat +$aSql['getPerimetreProtectionsEtat'] = "SELECT epq_protection_etat.id_protection_etat, \"protection_etat\".protection_etat FROM [sSchemaFramework].epq_protection_etat LEFT JOIN [sSchemaFramework].protection_etat ON epq_protection_etat.id_protection_etat = \"protection_etat\".id_protection_etat WHERE epq_protection_etat.id_epq = [id_epq]"; +$aSql['insertPerimetreProtectionsEtat'] = "INSERT INTO [sSchemaFramework].epq_protection_etat(id_protection_etat, id_epq) VALUES([id_protection_etat], [id_epq])"; +// EBQ Valeurs +$aSql['getElementValeurs'] = "SELECT ebq_valeur.id_valeur, \"valeur\".valeur FROM [sSchemaFramework].ebq_valeur LEFT JOIN [sSchemaFramework].valeur ON ebq_valeur.id_valeur = \"valeur\".id_valeur WHERE ebq_valeur.id_ebq = [id_ebq]"; +$aSql['insertElementValeurs'] = "INSERT INTO [sSchemaFramework].ebq_valeur(id_valeur, id_ebq) VALUES([id_valeur], [id_ebq])"; +// EBQ Protections Etat +$aSql['getElementProtectionsEtat'] = "SELECT ebq_protection_etat.id_protection_etat, \"protection_etat\".protection_etat FROM [sSchemaFramework].ebq_protection_etat LEFT JOIN [sSchemaFramework].protection_etat ON ebq_protection_etat.id_protection_etat = \"protection_etat\".id_protection_etat WHERE ebq_protection_etat.id_ebq = [id_ebq]"; +$aSql['insertElementProtectionsEtat'] = "INSERT INTO [sSchemaFramework].ebq_protection_etat(id_protection_etat, id_ebq) VALUES([id_protection_etat], [id_ebq])"; +// EBQ Themes +$aSql['getElementThemes'] = "SELECT ebq_theme.id_theme, \"theme\".theme FROM [sSchemaFramework].ebq_theme LEFT JOIN [sSchemaFramework].theme ON ebq_theme.id_theme = \"theme\".id_theme WHERE ebq_theme.id_ebq = [id_ebq]"; +$aSql['insertElementThemes'] = "INSERT INTO [sSchemaFramework].ebq_theme(id_theme, id_ebq) VALUES([id_theme], [id_ebq])"; +?> \ No newline at end of file diff --git a/src/module_patrimoine/web_service/ws/Perimetre_porteur_qualite.class.inc b/src/module_patrimoine/web_service/ws/Perimetre_porteur_qualite.class.inc new file mode 100644 index 00000000..f41f8e90 --- /dev/null +++ b/src/module_patrimoine/web_service/ws/Perimetre_porteur_qualite.class.inc @@ -0,0 +1,238 @@ +<?php + +require_once __DIR__ . '/Patrimoine.class.inc'; +require_once dirname($_SERVER['SCRIPT_FILENAME']) . '/class/vitis_lib/Connection.class.inc'; + +/** + * \file Perimetre_porteur_qualite.class.inc + * \class Perimetre_porteur_qualite + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Perimetre_porteur_qualite php class + * + * This class defines operation for one Perimetre_porteur_qualite + * + */ +class Perimetre_porteur_qualite extends Patrimoine { + + public $oError; + + /** + * construct + * @param type $aPath url of the request + * @param type $aValues parameters of the request + * @param type $properties properties + * @param type $oConnection connection object + */ + function __construct($aPath, $aValues, $properties) { + $this->aValues = $aValues; + $this->aPath = $aPath; + $this->aProperties = $properties; + $this->oConnection = new Connection($this->aValues, $this->aProperties); + $this->oFilesManager = new Files_manager($this->aProperties); + } + + /** + * @SWG\Get(path="/controles/{id_perimetre_porteur_qualite}", + * tags={"Perimetre_porteur_qualites"}, + * summary="Get Perimetre_porteur_qualite", + * description="Request to get Perimetre_porteur_qualite by id", + * operationId="GET", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="user token", + * required=true, + * type="string" + * ), + * @SWG\Parameter( + * name="id_perimetre_porteur_qualite", + * in="path", + * description="id_perimetre_porteur_qualite", + * required=true, + * type="integer", + * format="int32" + * ), + * @SWG\Parameter( + * name="attributs", + * in="query", + * description="list of attributs", + * required=false, + * type="string" + * ), + * @SWG\Response( + * response=200, + * description="Perimetre_porteur_qualite Response", + * @SWG\Schema(ref="#/definitions/controles") + * ) + * ) + */ + + /** + * get informations about mode + */ + function GET() { + $this->aFields = $this->getFields('patrimoine', "perimetre_porteur_qualite", "id_perimetre_porteur_qualite", 'patrimoine_saisie_patrimoine_perimetre', 'patrimoine'); + $this->getCommune(); + $this->getEnqueteur(); + $this->getClassificationTypeQualite(); + $this->getTypologieTissus(); + $this->getSousTypologieTissus(); + $this->getValeurs(); + $this->getProtectionsEtat(); + // proposition_classement + if ($this->aFields['proposition_classement']==true) $this->aFields['proposition_classement_label'] ="Oui"; + if ($this->aFields['proposition_classement']==false) $this->aFields['proposition_classement_label'] ="Non"; + // classement_au_pluh + if ($this->aFields['classement_au_pluh']==true) $this->aFields['classement_au_pluh_label'] ="Oui"; + if ($this->aFields['classement_au_pluh']==false) $this->aFields['classement_au_pluh_label'] ="Non"; + // Date de création + if(isset($this->aFields['date_creation_fiche']) and !is_null($this->aFields['date_creation_fiche'])){ + $oDate_creation_fiche = new DateTime($this->aFields['date_creation_fiche']); + $this->aFields['date_creation_fiche'] = $oDate_creation_fiche->format('d/m/Y'); + } + // Date de mise à jour + if(isset($this->aFields['date_maj']) and !is_null($this->aFields['date_maj'])){ + $oDate_maj = new DateTime($this->aFields['date_maj']); + $this->aFields['date_maj'] = $oDate_maj->format('d/m/Y'); + } + } + + /** + * get commune of perimeter + */ + function getCommune() { + if(isset($this->aFields['code_insee']) and !is_null($this->aFields['code_insee'])){ + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'patrimoine', 'type' => 'schema_name'); + $aParams['code_insee'] = array('value' => $this->aFields['code_insee'], 'type' => 'number'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getCommune'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $this->aFields['nom_commune'] = $aLigne["nom_commune"]; + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + } + } + + /** + * get enqueteur of perimeter + */ + function getEnqueteur() { + if(isset($this->aFields['id_enqueteur']) and !is_null($this->aFields['id_enqueteur'])){ + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'patrimoine', 'type' => 'schema_name'); + $aParams['id_enqueteur'] = array('value' => $this->aFields['id_enqueteur'], 'type' => 'string'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getEnqueteur'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $this->aFields['nom_enqueteur'] = $aLigne["nom_enqueteur"]; + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + } + } + + /** + * get classification type qualite of perimeter + */ + function getClassificationTypeQualite() { + if(isset($this->aFields['id_classification_qualite']) and !is_null($this->aFields['id_classification_qualite'])){ + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'patrimoine', 'type' => 'schema_name'); + $aParams['id_classification_qualite'] = array('value' => $this->aFields['id_classification_qualite'], 'type' => 'string'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getClassificationTypeQualite'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $this->aFields['classification_qualite'] = $aLigne["classification_qualite"]; + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + } + } + + /** + * get typologie tissus of perimeter + */ + function getTypologieTissus() { + if(isset($this->aFields['id_typologie_tissus']) and !is_null($this->aFields['id_typologie_tissus'])){ + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'patrimoine', 'type' => 'schema_name'); + $aParams['id_typologie_tissus'] = array('value' => $this->aFields['id_typologie_tissus'], 'type' => 'number'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getTypologieTissus'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $this->aFields['typologie_tissus'] = $aLigne["typologie_tissus"]; + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + } + } + + /** + * get sous-typologie tissus of perimeter + */ + function getSousTypologieTissus() { + if(isset($this->aFields['id_sous_typologie_tissus']) and !is_null($this->aFields['id_sous_typologie_tissus'])){ + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'patrimoine', 'type' => 'schema_name'); + $aParams['id_sous_typologie_tissus'] = array('value' => $this->aFields['id_sous_typologie_tissus'], 'type' => 'number'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getSousTypologieTissus'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $this->aFields['sous_typologie_tissus'] = $aLigne["sous_typologie_tissus"]; + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + } + } + + /** + * get valeurs of perimetre + */ + function getValeurs() { + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'patrimoine', 'type' => 'schema_name'); + $aParams['id_epq'] = array('value' => $this->aValues["my_vitis_id"], 'type' => 'number'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getPerimetreValeurs'], $aParams); + $sListValeurId = ""; + $aListValeur = array(); + while ($aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult)) { + if ($sListValeurId == "") { + $sListValeurId = $aLigne["id_valeur"]; + } else { + $sListValeurId .= "|" . $aLigne["id_valeur"]; + } + $aListValeur[] = $aLigne["valeur"]; + } + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + $this->aFields['valeurs'] = $sListValeurId; + $this->aFields['valeurs_label'] = implode(',', $aListValeur); + } + + /** + * get protections état of perimetre + */ + function getProtectionsEtat() { + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'patrimoine', 'type' => 'schema_name'); + $aParams['id_epq'] = array('value' => $this->aValues["my_vitis_id"], 'type' => 'number'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getPerimetreProtectionsEtat'], $aParams); + $sProtectionEtatId = ""; + $aListProtectionEtat = array(); + while ($aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult)) { + if ($sProtectionEtatId == "") { + $sProtectionEtatId = $aLigne["id_protection_etat"]; + } else { + $sProtectionEtatId .= "|" . $aLigne["id_protection_etat"]; + } + $aListProtectionEtat[] = $aLigne["protection_etat"]; + } + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + $this->aFields['protection_etats'] = $sProtectionEtatId; + $this->aFields['protection_etats_label'] = implode(',', $aListProtectionEtat); + } + + /** + * delete a Perimetre_porteur_qualite + */ + function DELETE() { + $this->oConnection->oBd->delete('patrimoine', 'perimetre_porteur_qualite', 'id_perimetre_porteur_qualite', $this->aValues["my_vitis_id"], 'integer'); + if ($this->oConnection->oBd->enErreur()) { + $this->oError = new VitisError(1, $this->oConnection->oBd->getBDMessage()); + } else { + $this->aFields["id_perimetre_porteur_qualite"] = $this->aValues["my_vitis_id"]; + } + } + +} + +?> diff --git a/src/module_patrimoine/web_service/ws/Perimetre_porteur_qualites.class.inc b/src/module_patrimoine/web_service/ws/Perimetre_porteur_qualites.class.inc new file mode 100644 index 00000000..ebef68ba --- /dev/null +++ b/src/module_patrimoine/web_service/ws/Perimetre_porteur_qualites.class.inc @@ -0,0 +1,379 @@ +<?php + +/** + * \file Perimetre_porteur_qualites.class.inc + * \class Perimetre_porteur_qualites + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Perimetre_porteur_qualites php class + * + * This class defines Rest Api to Vitis Perimetre_porteur_qualites + * + */ +require_once __DIR__ . '/Patrimoine.class.inc'; +require_once 'Perimetre_porteur_qualite.class.inc'; +require_once dirname($_SERVER['SCRIPT_FILENAME']) . '/class/vmlib/cryptUtil.inc'; + +class Perimetre_porteur_qualites extends Patrimoine { + /** + * @SWG\Definition( + * definition="/perimetre_porteur_qualites", + * allOf={ + * @SWG\Schema(ref="#/definitions/perimetre_porteur_qualites") + * } + * ) + * * @SWG\Tag( + * name="Perimetre_porteur_qualites", + * description="Operations about Perimetre_porteur_qualites" + * ) + */ + + /** + * construct + * @param type $aPath url of the request + * @param type $aValues parameters of the request + * @param type $properties properties + */ + function __construct($aPath, $aValues, $properties) { + $this->aValues = $aValues; + $this->aPath = $aPath; + $this->aProperties = $properties; + $this->oConnection = new Connection($this->aValues, $this->aProperties); + $this->oFilesManager = new Files_manager($this->aProperties); + } + + /** + * @SWG\Get(path="/perimetre_porteur_qualites", + * tags={"Perimetre_porteur_qualites"}, + * summary="Get Perimetre_porteur_qualites", + * description="Request to get Perimetre_porteur_qualites", + * operationId="GET", + * produces={"application/xml", "application/json", "application/x-vm-json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="user token", + * required=true, + * type="string" + * ), + * @SWG\Parameter( + * name="order_by", + * in="query", + * description="list of ordering fields", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="sort_order", + * in="query", + * description="sort_order", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="limit", + * in="query", + * description="number of element", + * required=false, + * type="integer", + * format="int32" + * ), + * @SWG\Parameter( + * name="offset", + * in="query", + * description="index of first element", + * required=false, + * type="string", + * format="int32" + * ), + * @SWG\Parameter( + * name="attributs", + * in="query", + * description="list of attributs", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="filter", + * in="query", + * description="filter results", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="distinct", + * in="query", + * description="delete duplicates", + * required=false, + * type="boolean" + * ), + * @SWG\Response( + * response=200, + * description="controle Response", + * @SWG\Schema(ref="#/definitions/perimetre_porteur_qualites") + * ) + * ) + */ + + /** + * get Perimetre_porteur_qualites + * @return Perimetre_porteur_qualites + */ + function GET() { + $aReturn = $this->genericGet('patrimoine', "perimetre_porteur_qualite", "id_perimetre_porteur_qualite"); + $sMessage = $aReturn['sMessage']; + $aPerimetres=json_decode($aReturn['sMessage'],true); + $aPerimetres2=array(); + foreach ($aPerimetres['perimetre_porteur_qualites'] as $aPerimetre){ + // geom + unset($aPerimetre['geom']); + // proposition_classement + if ($aPerimetre['proposition_classement']==true) $aPerimetre['proposition_classement_label'] ="Oui"; + if ($aPerimetre['proposition_classement']==false) $aPerimetre['proposition_classement_label'] ="Non"; + // classement_au_pluh + if ($aPerimetre['classement_au_pluh']==true) $aPerimetre['classement_au_pluh_label'] ="Oui"; + if ($aPerimetre['classement_au_pluh']==false) $aPerimetre['classement_au_pluh_label'] ="Non"; + // nom_commune + $aPerimetre['nom_commune']= $this->getCommune($aPerimetre['code_insee']); + // procedure_pluh + $aPerimetre['procedure_pluh']= $this->getProcedurePluh($aPerimetre['code_procedure_pluh']); + $aPerimetres2[count($aPerimetres2)]=$aPerimetre; + } + $sPerimetres=json_encode(array("perimetre_porteur_qualites"=>$aPerimetres2,"list_count"=>$aPerimetres['list_count'],"total_row_number"=>$aPerimetres['total_row_number'],"status"=>$aPerimetres['status'])); + return $sPerimetres; + } + + /** + * get commune of perimeter + */ + function getCommune($iCodeInsee) { + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'patrimoine', 'type' => 'schema_name'); + $aParams['code_insee'] = array('value' => $iCodeInsee, 'type' => 'number'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getCommune'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + return $aLigne["nom_commune"]; + } + + /** + * get procedure_pluh of perimeter + */ + function getProcedurePluh($iProcedurePluh) { + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'patrimoine', 'type' => 'schema_name'); + $aParams['code_procedure_pluh'] = array('value' => $iProcedurePluh, 'type' => 'string'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getProcedurePluh'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + return $aLigne["procedure_pluh"]; + } + + /** + * @SWG\Post(path="/perimetre_porteur_qualites", + * tags={"Perimetre_porteur_qualites"}, + * summary="Add perimetre", + * description="Request to add Perimetre_porteur_qualites", + * operationId="POST", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="user token", + * required=true, + * type="string" + * ), + * @SWG\Response( + * response=200, + * description="perimetre Response", + * @SWG\Schema(ref="#/definitions/perimetre_porteur_qualites") + * ) + * ) + */ + + /** + * insert perimetre + * @return id of the perimetre created + */ + function POST() { + // get value sequence from patrimoine database to set id + $oConnexion = new PDO('pgsql:host=\'srv-postgres\' port=5432 dbname=\'patrimoine\'', $_SESSION["ses_Login"], trim(des(rtrim(utf8_decode($_SESSION["ses_Login"])), hexToString(rtrim($_SESSION["ses_Password"])), 0, 0, null))); + $oPDOresult = $oConnexion->query('SELECT nextval(\'patrimoine.perimetre_porteur_qualite_id_perimetre_porteur_qualite_seq\')'); + $aResult = $oPDOresult->fetch(PDO::FETCH_ASSOC); + $this->aValues['id_perimetre_porteur_qualite'] = $aResult['nextval']; + if ($this->aValues['id_classification_qualite']==null) unset($this->aValues['id_classification_qualite']); + if ($this->aValues['id_enqueteur']==null) unset($this->aValues['id_enqueteur']); + if ($this->aValues['id_typologie_tissus']==null) unset($this->aValues['id_typologie_tissus']); + if ($this->aValues['id_sous_typologie_tissus']==null) unset($this->aValues['id_sous_typologie_tissus']); + if ($this->aValues['code_procedure_pluh']==null) unset($this->aValues['code_procedure_pluh']); + $this->aValues['id_ensemble'] =$this->aValues['code_insee'].'_'.$this->aValues['id_classification_qualite'].$this->aValues['num_ensemble']; + $this->aValues['date_creation_fiche'] = date("Y-m-d"); + // error_log(print_r($this->aValues,true)); + // Fichiers à uploader + $aUploadFiles = array('photos' => []); + $aReturn = $this->genericPost('patrimoine', 'perimetre_porteur_qualite', null, 'id_perimetre_porteur_qualite', $aUploadFiles, 'patrimoine_saisie_patrimoine_perimetre', 'patrimoine'); + return $aReturn['sMessage']; + } + + /** + * @SWG\Put(path="/perimetre_porteur_qualites/{id_perimetre_porteur_qualite}", + * tags={"Perimetre_porteur_qualites"}, + * summary="update Perimetre_porteur_qualites", + * description="Request to update Perimetre_porteur_qualites", + * operationId="PUT", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="Controle token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="id_perimetre_porteur_qualite", + * in="path", + * description="id of the Perimetre_porteur_qualites", + * required=true, + * type="integer", + * format = "int32" + * ), + * @SWG\Response( + * response=200, + * description="Poprerties Response", + * @SWG\Schema(ref="#/definitions/perimetre_porteur_qualites") + * ) + * ) + */ + + /** + * update perimetre_porteur_qualites + * @return id of perimetre_porteur_qualites updated or error object if a perimetre_porteur_qualites is not updated + */ + function PUT() { + if ($this->aValues['id_classification_qualite']==null) unset($this->aValues['id_classification_qualite']); + if ($this->aValues['id_enqueteur']==null) unset($this->aValues['id_enqueteur']); + if ($this->aValues['id_typologie_tissus']==null) unset($this->aValues['id_typologie_tissus']); + if ($this->aValues['id_sous_typologie_tissus']==null) unset($this->aValues['id_sous_typologie_tissus']); + if ($this->aValues['code_procedure_pluh']==null) unset($this->aValues['code_procedure_pluh']); + unset($this->aValues['id_ensemble']); + unset($this->aValues['date_creation_fiche']); + $this->aValues['date_maj'] = date("Y-m-d"); + // Fichiers à uploader + $aUploadFiles = array('photos' => []); + // Mise à jour + $aReturn = $this->genericPut('patrimoine', 'perimetre_porteur_qualite', 'id_perimetre_porteur_qualite', $aUploadFiles, 'patrimoine_saisie_patrimoine_perimetre', 'patrimoine'); + if ($aReturn['sStatus'] == 1) { + $aXmlRacineAttribute['status'] = 1; + $sMessage = $this->asDocument('', 'vitis', $this->aValues['sEncoding'], True, $aXmlRacineAttribute, $this->aValues['sSourceEncoding'], $this->aValues['output']); + //***** valeurs *****// + // Le paramètre "valeurs" est passé dans la requête ? + if ($this->aValues['valeurs'] !== NULL) { + $this->oConnection->oBd->delete('patrimoine', 'epq_valeur', 'id_epq', $this->aValues["my_vitis_id"]); + // Valeur(s) à rattacher au groupe ? + if (!empty($this->aValues['valeurs'])) { + require $this->sRessourcesFile; + $aValeurs = explode('|', $this->aValues['valeurs']); + foreach ($aValeurs as $iValeurId) { + $aParams = array(); + $aParams['sSchemaFramework'] = array('value' => 'patrimoine', 'type' => 'schema_name'); + $aParams['id_valeur'] = array('value' => $iValeurId, 'type' => 'number'); + $aParams['id_epq'] = array('value' => $this->aValues["my_vitis_id"], 'type' => 'number'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['insertPerimetreValeurs'], $aParams); + } + } + } + //***** protections état *****// + // Le paramètre "protection_etats" est passé dans la requête ? + if ($this->aValues['protection_etats'] !== NULL) { + $this->oConnection->oBd->delete('patrimoine', 'epq_protection_etat', 'id_epq', $this->aValues["my_vitis_id"]); + if (!empty($this->aValues['protection_etats'])) { + require $this->sRessourcesFile; + $aProtectionEtats = explode('|', $this->aValues['protection_etats']); + foreach ($aProtectionEtats as $iProtectionEtatId) { + $aParams = array(); + $aParams['sSchemaFramework'] = array('value' => 'patrimoine', 'type' => 'schema_name'); + $aParams['id_protection_etat'] = array('value' => $iProtectionEtatId, 'type' => 'number'); + $aParams['id_epq'] = array('value' => $this->aValues["my_vitis_id"], 'type' => 'number'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['insertPerimetreProtectionsEtat'], $aParams); + } + } + } + } else { + $sMessage = $aReturn['sMessage']; + } + return $sMessage; + } + + /** + * @SWG\Delete(path="/perimetre_porteur_qualites", + * tags={"Perimetre_porteur_qualites"}, + * summary="delete Perimetre_porteur_qualites", + * description="Request to delete Perimetre_porteur_qualites", + * operationId="DELETE", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="idList", + * in="query", + * description="id of the controle", + * required=true, + * type="string" + * ), + * @SWG\Response( + * response=200, + * description="controle Response", + * @SWG\Schema(ref="#/definitions/perimetre_porteur_qualites") + * ) + * ) + */ + /** + * @SWG\Delete(path="/perimetre_porteur_qualites/{id_perimetre_porteur_qualite}", + * tags={"Perimetre_porteur_qualites"}, + * summary="delete Perimetre_porteur_qualites", + * description="Request to delete Perimetre_porteur_qualites", + * operationId="DELETE", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="Controle token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="id_perimetre_porteur_qualite", + * in="path", + * description="id of the Perimetre_porteur_qualites", + * required=true, + * type="integer", + * format = "int32" + * ), + * @SWG\Response( + * response=200, + * description="Poprerties Response", + * @SWG\Schema(ref="#/definitions/perimetre_porteur_qualites") + * ) + * ) + */ + + /** + * delete perimetre_porteur_qualites + * @return id of perimetre_porteur_qualites deleted or error object if a perimetre_porteur_qualites is not deleted + */ + function DELETE() { + require $this->sRessourcesFile; + // Dépendances supprimées en cascade + $aReturn = $this->genericDelete('patrimoine', 'perimetre_porteur_qualite', 'id_perimetre_porteur_qualite'); + return $aReturn['sMessage']; + } + +} + +?> diff --git a/src/module_patrimoine/web_service/ws/Protection_etat.class.inc b/src/module_patrimoine/web_service/ws/Protection_etat.class.inc new file mode 100644 index 00000000..c1a67514 --- /dev/null +++ b/src/module_patrimoine/web_service/ws/Protection_etat.class.inc @@ -0,0 +1,45 @@ +<?php + +require_once __DIR__ . '/Patrimoine.class.inc'; +require_once __DIR__ . '/../../../vitis/vas/rest/class/vitis_lib/Connection.class.inc'; + +/** + * \file Patrimoine.class.inc + * \class Patrimoine + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Patrimoine php class + * + * This class defines protection_etat for one Patrimoine + * + */ + +class Protection_etat extends Patrimoine { + + public $oError; + + /** + * construct + * @param type $aPath url of the request + * @param type $aValues parameters of the request + * @param type $properties properties + * @param type $oConnection connection object + */ + function __construct($aPath, $aValues, $properties) { + $this->aValues = $aValues; + $this->aPath = $aPath; + $this->aProperties = $properties; + $this->oConnection = new Connection($this->aValues, $this->aProperties); + } + + /** + * get informations about protection_etat + */ + function GET() { + $this->aFields = $this->getFields('patrimoine', "protection_etat", "id_protection_etat"); + } + +} + +?> \ No newline at end of file diff --git a/src/module_patrimoine/web_service/ws/Protection_etats.class.inc b/src/module_patrimoine/web_service/ws/Protection_etats.class.inc new file mode 100644 index 00000000..13cdca33 --- /dev/null +++ b/src/module_patrimoine/web_service/ws/Protection_etats.class.inc @@ -0,0 +1,131 @@ +<?php + +/** + * \file Protection_etats.class.inc + * \class Protection_etats + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Protection_etats php class + * + * This class defines Rest Api to Vitis Protection_etats + * + */ +require_once __DIR__ . '/Patrimoine.class.inc'; +require_once 'Protection_etat.class.inc'; + + +class Protection_etats extends Patrimoine { + /** + * @SWG\Definition( + * definition="/protection_etats", + * allOf={ + * @SWG\Schema(ref="#/definitions/protection_etats") + * } + * ) + * * @SWG\Tag( + * name="Protection_etats", + * description="Protection_etats about Protection_etats" + * ) + */ + + /** + * construct + * @param type $aPath url of the request + * @param type $aValues parameters of the request + * @param type $properties properties + */ + function __construct($aPath, $aValues, $properties) { + $this->aValues = $aValues; + $this->aPath = $aPath; + $this->aProperties = $properties; + $this->oConnection = new Connection($this->aValues, $properties); + } + + /** + * @SWG\Get(path="/protection_etats", + * tags={"Protection_etats"}, + * summary="Get Protection_etats", + * description="Request to get Protection_etats", + * operationId="GET", + * produces={"application/xml", "application/json", "application/x-vm-json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="user token", + * required=true, + * type="string" + * ), + * @SWG\Parameter( + * name="order_by", + * in="query", + * description="list of ordering fields", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="sort_order", + * in="query", + * description="sort_order", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="limit", + * in="query", + * description="number of element", + * required=false, + * type="integer", + * format="int32" + * ), + * @SWG\Parameter( + * name="offset", + * in="query", + * description="index of first element", + * required=false, + * type="string", + * format="int32" + * ), + * @SWG\Parameter( + * name="attributs", + * in="query", + * description="list of attributs", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="filter", + * in="query", + * description="filter results", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="distinct", + * in="query", + * description="delete duplicates", + * required=false, + * type="boolean" + * ), + * @SWG\Response( + * response=200, + * description="protection_etat Response", + * @SWG\Schema(ref="#/definitions/protection_etats") + * ) + * ) + */ + + /** + * get Protection_etats + * @return Protection_etats + */ + function GET() { + $aReturn = $this->genericGet('patrimoine', "protection_etat", "id_protection_etat"); + $sMessage = $aReturn['sMessage']; + return $sMessage; + } + + +} + +?> \ No newline at end of file diff --git a/src/module_patrimoine/web_service/ws/Theme.class.inc b/src/module_patrimoine/web_service/ws/Theme.class.inc new file mode 100644 index 00000000..3e85cff2 --- /dev/null +++ b/src/module_patrimoine/web_service/ws/Theme.class.inc @@ -0,0 +1,45 @@ +<?php + +require_once __DIR__ . '/Patrimoine.class.inc'; +require_once __DIR__ . '/../../../vitis/vas/rest/class/vitis_lib/Connection.class.inc'; + +/** + * \file Patrimoine.class.inc + * \class Patrimoine + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Patrimoine php class + * + * This class defines theme for one Patrimoine + * + */ + +class Theme extends Patrimoine { + + public $oError; + + /** + * construct + * @param type $aPath url of the request + * @param type $aValues parameters of the request + * @param type $properties properties + * @param type $oConnection connection object + */ + function __construct($aPath, $aValues, $properties) { + $this->aValues = $aValues; + $this->aPath = $aPath; + $this->aProperties = $properties; + $this->oConnection = new Connection($this->aValues, $this->aProperties); + } + + /** + * get informations about theme + */ + function GET() { + $this->aFields = $this->getFields('patrimoine', "theme", "id_theme"); + } + +} + +?> \ No newline at end of file diff --git a/src/module_patrimoine/web_service/ws/Themes.class.inc b/src/module_patrimoine/web_service/ws/Themes.class.inc new file mode 100644 index 00000000..28cda191 --- /dev/null +++ b/src/module_patrimoine/web_service/ws/Themes.class.inc @@ -0,0 +1,131 @@ +<?php + +/** + * \file Themes.class.inc + * \class Themes + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Themes php class + * + * This class defines Rest Api to Vitis Themes + * + */ +require_once __DIR__ . '/Patrimoine.class.inc'; +require_once 'Theme.class.inc'; + + +class Themes extends Patrimoine { + /** + * @SWG\Definition( + * definition="/themes", + * allOf={ + * @SWG\Schema(ref="#/definitions/themes") + * } + * ) + * * @SWG\Tag( + * name="Themes", + * description="Themes about Themes" + * ) + */ + + /** + * construct + * @param type $aPath url of the request + * @param type $aValues parameters of the request + * @param type $properties properties + */ + function __construct($aPath, $aValues, $properties) { + $this->aValues = $aValues; + $this->aPath = $aPath; + $this->aProperties = $properties; + $this->oConnection = new Connection($this->aValues, $properties); + } + + /** + * @SWG\Get(path="/themes", + * tags={"Themes"}, + * summary="Get Themes", + * description="Request to get Themes", + * operationId="GET", + * produces={"application/xml", "application/json", "application/x-vm-json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="user token", + * required=true, + * type="string" + * ), + * @SWG\Parameter( + * name="order_by", + * in="query", + * description="list of ordering fields", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="sort_order", + * in="query", + * description="sort_order", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="limit", + * in="query", + * description="number of element", + * required=false, + * type="integer", + * format="int32" + * ), + * @SWG\Parameter( + * name="offset", + * in="query", + * description="index of first element", + * required=false, + * type="string", + * format="int32" + * ), + * @SWG\Parameter( + * name="attributs", + * in="query", + * description="list of attributs", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="filter", + * in="query", + * description="filter results", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="distinct", + * in="query", + * description="delete duplicates", + * required=false, + * type="boolean" + * ), + * @SWG\Response( + * response=200, + * description="theme Response", + * @SWG\Schema(ref="#/definitions/themes") + * ) + * ) + */ + + /** + * get Themes + * @return Themes + */ + function GET() { + $aReturn = $this->genericGet('patrimoine', "theme", "id_theme"); + $sMessage = $aReturn['sMessage']; + return $sMessage; + } + + +} + +?> \ No newline at end of file diff --git a/src/module_patrimoine/web_service/ws/Valeur.class.inc b/src/module_patrimoine/web_service/ws/Valeur.class.inc new file mode 100644 index 00000000..5495bd64 --- /dev/null +++ b/src/module_patrimoine/web_service/ws/Valeur.class.inc @@ -0,0 +1,45 @@ +<?php + +require_once __DIR__ . '/Patrimoine.class.inc'; +require_once __DIR__ . '/../../../vitis/vas/rest/class/vitis_lib/Connection.class.inc'; + +/** + * \file Patrimoine.class.inc + * \class Patrimoine + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Patrimoine php class + * + * This class defines valeur for one Patrimoine + * + */ + +class Valeur extends Patrimoine { + + public $oError; + + /** + * construct + * @param type $aPath url of the request + * @param type $aValues parameters of the request + * @param type $properties properties + * @param type $oConnection connection object + */ + function __construct($aPath, $aValues, $properties) { + $this->aValues = $aValues; + $this->aPath = $aPath; + $this->aProperties = $properties; + $this->oConnection = new Connection($this->aValues, $this->aProperties); + } + + /** + * get informations about valeur + */ + function GET() { + $this->aFields = $this->getFields('patrimoine', "valeur", "id_valeur"); + } + +} + +?> \ No newline at end of file diff --git a/src/module_patrimoine/web_service/ws/Valeurs.class.inc b/src/module_patrimoine/web_service/ws/Valeurs.class.inc new file mode 100644 index 00000000..766b1816 --- /dev/null +++ b/src/module_patrimoine/web_service/ws/Valeurs.class.inc @@ -0,0 +1,131 @@ +<?php + +/** + * \file Valeurs.class.inc + * \class Valeurs + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Valeurs php class + * + * This class defines Rest Api to Vitis Valeurs + * + */ +require_once __DIR__ . '/Patrimoine.class.inc'; +require_once 'Valeur.class.inc'; + + +class Valeurs extends Patrimoine { + /** + * @SWG\Definition( + * definition="/valeurs", + * allOf={ + * @SWG\Schema(ref="#/definitions/valeurs") + * } + * ) + * * @SWG\Tag( + * name="Valeurs", + * description="Valeurs about Valeurs" + * ) + */ + + /** + * construct + * @param type $aPath url of the request + * @param type $aValues parameters of the request + * @param type $properties properties + */ + function __construct($aPath, $aValues, $properties) { + $this->aValues = $aValues; + $this->aPath = $aPath; + $this->aProperties = $properties; + $this->oConnection = new Connection($this->aValues, $properties); + } + + /** + * @SWG\Get(path="/valeurs", + * tags={"Valeurs"}, + * summary="Get Valeurs", + * description="Request to get Valeurs", + * operationId="GET", + * produces={"application/xml", "application/json", "application/x-vm-json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="user token", + * required=true, + * type="string" + * ), + * @SWG\Parameter( + * name="order_by", + * in="query", + * description="list of ordering fields", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="sort_order", + * in="query", + * description="sort_order", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="limit", + * in="query", + * description="number of element", + * required=false, + * type="integer", + * format="int32" + * ), + * @SWG\Parameter( + * name="offset", + * in="query", + * description="index of first element", + * required=false, + * type="string", + * format="int32" + * ), + * @SWG\Parameter( + * name="attributs", + * in="query", + * description="list of attributs", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="filter", + * in="query", + * description="filter results", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="distinct", + * in="query", + * description="delete duplicates", + * required=false, + * type="boolean" + * ), + * @SWG\Response( + * response=200, + * description="valeur Response", + * @SWG\Schema(ref="#/definitions/valeurs") + * ) + * ) + */ + + /** + * get Valeurs + * @return Valeurs + */ + function GET() { + $aReturn = $this->genericGet('patrimoine', "valeur", "id_valeur"); + $sMessage = $aReturn['sMessage']; + return $sMessage; + } + + +} + +?> \ No newline at end of file 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 22a8de54..746bf3d0 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 @@ -39,10 +39,10 @@ "fields":[ { "type":"label", - "name":"nom_perimetre", - "label":"Périmètre projet urbain", + "name":"perimetres_label", + "label":"Périmètre(s) projet(s) urbain(s)", "nb_cols":12, - "id":"nom_perimetre" + "id":"perimetres_label" } ] }, @@ -69,62 +69,16 @@ ] }, { - "fields": [ - { - "type": "map_osm", - "name": "geom", - "label": "Périmètre", - "required": false, - "nb_cols": 12, - "id": "pop90_3_1", - "style": { - "height": "250px" - }, - "map_options": { - "proj": "EPSG:2154", - "type": "OSM", - "output_format": "ewkt", - "center": { - "extent": [ - 828118.6537970116, - 6512133.97777543, - 862347.0524710228, - 6524271.707801675 - ], - "coord": [ - 845232.8531340172, - 6518202.842788553 - ], - "scale": 183342 - }, - "controls": { - "MP": false, - "ZO": true, - "SL": true, - "CP": false - }, - "layers": [], - "interactions": { - "multi_geometry": false, - "full_screen": false, - "RA": false, - "RO": false, - "ED": false, - "DP": false, - "DL": false, - "DPol": false, - "SE": true - }, - "draw_color": "rgba(54,184,255,0.6)", - "contour_color": "rgba(0,0,0,0.4)", - "contour_size": 2, - "circle_radius": 6, - "features": [], - "coord_accuracy": 8 - } - } - ] - }, + "fields":[ + { + "type":"label", + "name":"contexte_urbain", + "label":"Contexte urbain de l'opération", + "nb_cols":5, + "id":"contexte_urbain" + } + ] + }, { "fields":[ { @@ -178,11 +132,12 @@ "alinea", "nom_operation", "communes_label", - "nom_perimetre", + "perimetres_label", "ctms_label", "surface", "geom", "date_mise_a_jour", + "contexte_urbain", "Element_1", "commentaire_operation" ] @@ -299,21 +254,21 @@ }, { "type":"select", - "name":"nom_amenageur", + "name":"concessionnaire_amenagement", "label":"Nom de l'aménageur ou du partenaire", "required":false, "nb_cols":3, - "id":"nom_amenageur", + "id":"concessionnaire_amenagement", "datasource":{ - "datasource_id":"datasource_nom_amenageur", + "datasource_id":"datasource_concessionnaire_amenagement", "sort_order":"ASC", "distinct":"true", - "label_key":"nom_amenageur", - "order_by":"nom_amenageur", - "id_key":"nom_amenageur", - "attributs":"nom_amenageur|nom_amenageur" + "label_key":"concessionnaire_amenagement", + "order_by":"concessionnaire_amenagement", + "id_key":"concessionnaire_amenagement", + "attributs":"concessionnaire_amenagement|concessionnaire_amenagement" }, - "id_from":"nom_amenageur_from" + "id_from":"concessionnaire_amenagement_from" } ] }, @@ -362,7 +317,7 @@ { "type":"select", "name":"code_suivi", - "label":"Suivi", + "label":"Mode opératoire", "required":false, "nb_cols":3, "id":"code_suivi", @@ -457,10 +412,9 @@ "id_operation", "nom_operation", "cdp_mo", - "nom_amenageur", + "concessionnaire_amenagement", "nom_moe", "architecte_moe", - "nom_amenageur", "annee_init", "annee_achevement", "code_avancement", @@ -544,28 +498,46 @@ }, { "fields": [ - { - "type": "double_select", - "name": "communes", - "label": "Communes de l'opération", - "required": false, - "nb_cols": 4, - "id": "Element_0_4_1", - "name_to": "communes", - "name_from": "communes_from", - "size": 6, - "label_from": "communes non associées", - "label_to": "communes associées à l'opération", - "web_service": { - "ressource_id": "suivi_prod_immo/communes", - "id_key": "id_commune", - "label_key": "nom_commune", - "parameters": { - "order_by": "nom_commune" + { + "type": "double_select", + "name": "communes", + "label": "Communes de l'opération", + "required": false, + "nb_cols": 6, + "id": "Element_0_4_1", + "name_to": "communes", + "name_from": "communes_from", + "size": 6, + "label_from": "communes non associées", + "label_to": "communes associées à l'opération", + "web_service": { + "ressource_id": "suivi_prod_immo/communes", + "id_key": "id_commune", + "label_key": "nom_commune", + "parameters": { + "order_by": "nom_commune" + } } - } - } - ] + }, + { + "type":"select", + "name":"id_commune", + "label":"Commune principale", + "required":false, + "nb_cols":3, + "id":"id_commune", + "id_from":"id_commune", + "datasource":{ + "datasource_id":"datasource_commune", + "sort_order":"ASC", + "distinct":"true", + "label_key":"nom_commune", + "order_by":"nom_commune", + "id_key":"id_commune", + "attributs":"id_commune|nom_commune" + } + } + ] }, { "fields": [ @@ -574,7 +546,7 @@ "name": "ctms", "label": "Conférences territoriales des maires de l'opération (CTM)", "required": false, - "nb_cols": 4, + "nb_cols": 6, "id": "Element_0_4_1", "name_to": "ctms", "name_from": "ctms_from", @@ -592,24 +564,49 @@ } ] }, + { + "fields": [ + { + "type": "double_select", + "name": "perimetres", + "label": "Périmètre(s) projet(s) urbain(s)", + "required": false, + "nb_cols": 8, + "id": "Element_0_4_1", + "name_to": "perimetres", + "name_from": "perimetres_from", + "size": 6, + "label_from": "périmètres non associés", + "label_to": "périmètres associés à l'opération", + "web_service": { + "ressource_id": "suivi_prod_immo/perimetres", + "id_key": "id_perimetre", + "label_key": "nom_perimetre", + "parameters": { + "order_by": "nom_perimetre" + } + } + } + ] + }, { "fields":[ { "type":"select", - "name":"id_perimetre", - "label":"Périmètre projets urbains", + "name":"code_contexte_urbain", + "label":"Contexte urbain de l'opération", "required":false, - "nb_cols":4, - "id":"id_perimetre", - "id_from":"id_perimetre_from", + "nb_cols":6, + "id":"code_contexte_urbain", + "id_from":"code_contexte_urbain_from", "datasource":{ - "datasource_id":"datasource_perimetre", + "datasource_id":"datasource_code_contexte_urbain", "sort_order":"ASC", "distinct":"true", - "label_key":"nom_perimetre", - "order_by":"nom_perimetre", - "id_key":"id_perimetre", - "attributs":"id_perimetre|nom_perimetre" + "label_key":"contexte_urbain", + "order_by":"contexte_urbain", + "id_key":"code_contexte_urbain", + "attributs":"code_contexte_urbain|contexte_urbain" } } ] @@ -682,8 +679,10 @@ "surface", "date_mise_a_jour", "communes", + "id_commune", "ctms", - "id_perimetre", + "perimetres", + "code_contexte_urbain", "commentaire_operation" ] } @@ -703,6 +702,18 @@ "ressource_id":"vitis/genericquerys", "id":"datasource_perimetre" }, + "datasource_commune":{ + "type":"web_service", + "dataType":"tableValue", + "name":"commune", + "description":"", + "parameters":{ + "schema":"prod_immo", + "table":"commune" + }, + "ressource_id":"vitis/genericquerys", + "id":"datasource_commune" + }, "datasource_code_avancement":{ "type":"web_service", "dataType":"tableValue", @@ -763,17 +774,17 @@ "ressource_id":"vitis/genericquerys", "id":"datasource_code_vocation" }, - "datasource_nom_amenageur":{ + "datasource_concessionnaire_amenagement":{ "type":"web_service", "dataType":"tableValue", - "name":"nom_amenageur", + "name":"concessionnaire_amenagement", "description":"", "parameters":{ "schema":"prod_immo", "table":"operation" }, "ressource_id":"vitis/genericquerys", - "id":"datasource_nom_amenageur" + "id":"datasource_concessionnaire_amenagement" }, "datasource_cdp_mo":{ "type":"web_service", 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 066115a2..df01d34c 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 @@ -22,14 +22,14 @@ { "type":"label", "name":"cdp_mo", - "label":"Nom / Contact du chef de projet", + "label":"Nom / Contact du chef de projet MdL", "nb_cols":6, "id":"cdp_mo" }, { "type":"label", "name":"direction_mo", - "label":"Direction maîtrise d'ouvrage", + "label":"Direction maître d'ouvrage à la MDL", "nb_cols":6, "id":"direction_mo" } @@ -39,14 +39,25 @@ "fields":[ { "type":"label", - "name":"nom_amenageur", - "label":"Nom de la structure de l'aménageur public ou privé, si gestion déléguée du suivi et de la réalisation de l'opération", + "name":"concessionnaire_amenagement", + "label":"Nom de la structure signataire du traité de concession d'aménagement", "nb_cols":6, - "id":"nom_amenageur" + "id":"concessionnaire_amenagement" } ] }, - { + { + "fields":[ + { + "type":"label", + "name":"partenaire_pup", + "label":"Partenaires PUP, co-signataires (nom de la société de promotion et / ou du bailleur social)", + "nb_cols":10, + "id":"partenaire_pup" + } + ] + }, + { "fields":[ { "type":"label", @@ -57,18 +68,18 @@ } ] }, - { + { "fields":[ { "type":"label", "name":"nom_moe", - "label":"Nom du maître d'oeuvre mandataire (cabinet archi-urba ou groupement)", + "label":"Nom du BET maître d'œuvre (si groupement nom du mandataire)", "nb_cols":6, "id":"nom_moe" } ] }, - { + { "fields":[ { "type":"label", @@ -78,6 +89,17 @@ "id":"architecte_moe" } ] + }, + { + "fields":[ + { + "type":"label", + "name":"hqe_amenagement", + "label":"Nom du bureau d'étude HQE aménagement", + "nb_cols":6, + "id":"hqe_amenagement" + } + ] }, { "fields":[ @@ -111,10 +133,12 @@ "nom_mo", "cdp_mo", "direction_mo", - "nom_amenageur", + "concessionnaire_amenagement", "cdp_amenageur", + "partenaire_pup", "nom_moe", - "architecte_moe" + "architecte_moe", + "hqe_amenagement" ] } ] @@ -192,7 +216,7 @@ { "type":"text", "name":"cdp_mo", - "label":"Nom / Contact du chef de projet", + "label":"Nom / Contact du chef de projet MdL", "required":false, "pattern":"", "nb_cols":6, @@ -203,7 +227,7 @@ { "type":"text", "name":"direction_mo", - "label":"Direction maîtrise d'ouvrage", + "label":"Direction maître d'ouvrage à la MDL", "required":false, "pattern":"", "nb_cols":6, @@ -213,22 +237,22 @@ } ] }, - { + { "fields":[ { "type":"text", - "name":"nom_amenageur", - "label":"Nom de la structure de l'aménageur public ou privé, si gestion déléguée du suivi et de la réalisation de l'opération", + "name":"concessionnaire_amenagement", + "label":"Nom de la structure signataire du traité de concession d'aménagement", "required":false, "pattern":"", "nb_cols":6, - "id":"nom_amenageur", + "id":"concessionnaire_amenagement", "dynamic_event_type": "focus", - "dynamic_event_function": "getOperationTooltipLastUpdate('nom_amenageur')" + "dynamic_event_function": "getOperationTooltipLastUpdate('concessionnaire_amenagement')" } ] }, - { + { "fields":[ { "type":"text", @@ -243,12 +267,27 @@ } ] }, - { + { + "fields":[ + { + "type":"text", + "name":"partenaire_pup", + "label":"Partenaires PUP, co-signataires (nom de la société de promotion et / ou du bailleur social)", + "required":false, + "pattern":"", + "nb_cols":10, + "id":"partenaire_pup", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('partenaire_pup')" + } + ] + }, + { "fields":[ { "type":"text", "name":"nom_moe", - "label":"Nom du maître d'oeuvre mandataire (cabinet archi-urba ou groupement)", + "label":"Nom du BET maître d'œuvre (si groupement nom du mandataire)", "required":false, "pattern":"", "nb_cols":6, @@ -272,6 +311,21 @@ "dynamic_event_function": "getOperationTooltipLastUpdate('architecte_moe')" } ] + }, + { + "fields":[ + { + "type":"text", + "name":"hqe_amenagement", + "label":"Nom du bureau d'étude HQE aménagement", + "required":false, + "pattern":"", + "nb_cols":6, + "id":"hqe_amenagement", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('hqe_amenagement')" + } + ] }, { "fields":[ @@ -312,10 +366,12 @@ "nom_mo", "cdp_mo", "direction_mo", - "nom_amenageur", + "concessionnaire_amenagement", "cdp_amenageur", + "partenaire_pup", "nom_moe", - "architecte_moe" + "architecte_moe", + "hqe_amenagement" ] } ] 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 d2b3bb91..413fefda 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 @@ -37,7 +37,7 @@ "type":"label", "name":"label_depense_cout_foncier", "label":"Dont coût affecté au Foncier (procédures et acquisitions)", - "nb_cols":2, + "nb_cols":4, "id":"Element_0_2_3" }, { @@ -72,6 +72,13 @@ "nb_cols":4, "id":"Element_0_2_5" }, + { + "type":"label", + "name":"pourc_depense_mise_etat_sol", + "label":"% par rapport au montant global", + "nb_cols":2, + "id":"pourc_depense_mise_etat_sol" + }, { "type":"label", "name":"depense_mise_etat_sol", @@ -81,6 +88,38 @@ } ] }, + { + "fields":[ + { + "type":"label", + "name":"alinea", + "label":"", + "nb_cols":1, + "id":"Element_0_2_4" + }, + { + "type":"label", + "name":"label_depense_remuneration_concess", + "label":"Dont rémunération concessionnaire", + "nb_cols":4, + "id":"Element_0_2_5" + }, + { + "type":"label", + "name":"pourc_depense_remuneration_concess", + "label":"% par rapport au montant global", + "nb_cols":2, + "id":"pourc_depense_mise_etat_sol" + }, + { + "type":"label", + "name":"depense_remuneration_concess", + "label":"M€ HT", + "nb_cols":2, + "id":"depense_remuneration_concess" + } + ] + }, { "fields":[ { @@ -111,8 +150,8 @@ { "type":"label", "name":"label_recette_cession", - "label":"Dont cessions de droits à construire sur des lots-foncier maitrisés par le public", - "nb_cols":2, + "label":"Dont participations au financement du PEP, versées par les opé immobiliers, pour lots non maîtrisés par l'aménageur", + "nb_cols":4, "id":"Element_0_2_8" }, { @@ -125,6 +164,7 @@ { "type":"label", "name":"recette_cession", + "label":"M€ HT", "pattern":"", "nb_cols":2, "id":"recette_cession" @@ -144,7 +184,7 @@ "type":"label", "name":"label_recette_part_privee", "label":"Dont participations privées des constructeurs sur les lots maîtrisés par des privés", - "nb_cols":2, + "nb_cols":4, "id":"Element_0_2_10" }, { @@ -175,8 +215,8 @@ { "type":"label", "name":"label_recette_part_publique", - "label":"Dont participations publiques des collectivités (Métropoles-Villes, ANRU, État, ...)", - "nb_cols":2, + "label":"Dont participations publiques des partenaires publics (Métropoles-Villes, ANRU, État, ...)", + "nb_cols":4, "id":"Element_0_2_12" }, { @@ -218,6 +258,13 @@ "nb_cols":2, "id":"Element_0_2_14" }, + { + "type":"label", + "name":"pourc_recette_part_publique_mdl", + "label":"% par rapport au montant global des recettes", + "nb_cols":2, + "id":"pourc_recette_part_publique_mdl" + }, { "type":"label", "name":"recette_part_publique_mdl", @@ -250,6 +297,13 @@ "nb_cols":2, "id":"Element_0_2_16" }, + { + "type":"label", + "name":"pourc_recette_part_publique_ville", + "label":"% par rapport au montant global des recettes", + "nb_cols":2, + "id":"pourc_recette_part_publique_ville" + }, { "type":"label", "name":"recette_part_publique_ville", @@ -282,6 +336,13 @@ "nb_cols":2, "id":"Element_0_2_16" }, + { + "type":"label", + "name":"pourc_recette_part_publique_anru", + "label":"% par rapport au montant global des recettes", + "nb_cols":2, + "id":"pourc_recette_part_publique_anru" + }, { "type":"label", "name":"recette_part_publique_anru", @@ -314,6 +375,13 @@ "nb_cols":2, "id":"Element_0_2_16" }, + { + "type":"label", + "name":"pourc_recette_part_publique_autre", + "label":"% par rapport au montant global des recettes", + "nb_cols":2, + "id":"pourc_recette_part_publique_autre" + }, { "type":"label", "name":"recette_part_publique_autre", @@ -332,7 +400,7 @@ "type":"label", "name":"recette_part_publique_autre_commentaire", "label":"Commentaires", - "nb_cols":4, + "nb_cols":3, "id":"recette_part_publique_autre_commentaire" } ] @@ -371,8 +439,12 @@ "pourc_depense_cout_foncier", "depense_cout_foncier", "label_depense_cout_foncier", + "pourc_depense_mise_etat_sol", "depense_mise_etat_sol", "label_depense_mise_etat_sol", + "pourc_depense_remuneration_concess", + "depense_remuneration_concess", + "label_depense_remuneration_concess", "recette_globale", "label_recette_globale", "pourc_recette_cession", @@ -381,19 +453,22 @@ "pourc_recette_part_privee", "recette_part_privee", "label_recette_part_privee", - "pourc_recette_part_publique", - "recette_part_publique", "recette_part_publique_ttc_label", + "recette_part_publique", "label_recette_part_publique", + "pourc_recette_part_publique", "recette_part_publique_mdl", "label_recette_part_publique_mdl", - "label_recette_part_publique_ville", + "pourc_recette_part_publique_mdl", "recette_part_publique_ville", "label_recette_part_publique_ville", + "pourc_recette_part_publique_ville", "recette_part_publique_anru", "label_recette_part_publique_anru", + "pourc_recette_part_publique_anru", "recette_part_publique_autre", "label_recette_part_publique_autre", + "pourc_recette_part_publique_autre", "recette_part_publique_autre_commentaire" ] } @@ -486,7 +561,7 @@ "type":"label", "name":"label_depense_cout_foncier", "label":"Dont coût affecté au Foncier (procédures et acquisitions)", - "nb_cols":2, + "nb_cols":4, "id":"Element_0_2_3" }, { @@ -529,6 +604,17 @@ "nb_cols":4, "id":"Element_0_2_5" }, + { + "type":"text", + "name":"pourc_depense_mise_etat_sol", + "label":"% par rapport au montant global", + "required":false, + "pattern":"", + "nb_cols":2, + "id":"pourc_depense_mise_etat_sol", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('pourc_depense_mise_etat_sol')" + }, { "type":"text", "name":"depense_mise_etat_sol", @@ -542,6 +628,46 @@ } ] }, + { + "fields":[ + { + "type":"label", + "name":"alinea", + "label":"", + "nb_cols":1, + "id":"Element_0_2_4" + }, + { + "type":"label", + "name":"label_depense_remuneration_concess", + "label":"Dont rémunération concessionnaire", + "nb_cols":4, + "id":"Element_0_2_5" + }, + { + "type":"text", + "name":"pourc_depense_remuneration_concess", + "label":"% par rapport au montant global", + "required":false, + "pattern":"", + "nb_cols":2, + "id":"pourc_depense_remuneration_concess", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('pourc_depense_remuneration_concess')" + }, + { + "type":"text", + "name":"depense_remuneration_concess", + "label":"M€ HT", + "required":false, + "pattern":"", + "nb_cols":2, + "id":"depense_remuneration_concess", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('depense_remuneration_concess')" + } + ] + }, { "fields":[ { @@ -577,7 +703,7 @@ "type":"label", "name":"label_recette_cession", "label":"Dont cessions de droits à construire sur des lots-foncier maitrisés par le public", - "nb_cols":2, + "nb_cols":4, "id":"Element_0_2_8" }, { @@ -616,8 +742,8 @@ { "type":"label", "name":"label_recette_part_privee", - "label":"Dont participations privées des constructeurs sur les lots maîtrisés par des privés", - "nb_cols":2, + "label":"Dont participations au financement du PEP, versées par les opé immobiliers, pour lots non maîtrisés par l'aménageur", + "nb_cols":4, "id":"Element_0_2_10" }, { @@ -656,8 +782,8 @@ { "type":"label", "name":"label_recette_part_publique", - "label":"Dont participations publiques des collectivités (Métropoles-Villes, ANRU, État, ...)", - "nb_cols":2, + "label":"Dont participations publiques des partenaires publics (Métropoles-Villes, ANRU, État, ...)", + "nb_cols":4, "id":"Element_0_2_12" }, { @@ -720,6 +846,17 @@ "nb_cols":2, "id":"Element_0_2_14" }, + { + "type":"text", + "name":"pourc_recette_part_publique_mdl", + "label":"% par rapport au montant global des recettes", + "required":false, + "pattern":"", + "nb_cols":2, + "id":"pourc_recette_part_publique_mdl", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('pourc_recette_part_publique_mdl')" + }, { "type":"text", "name":"recette_part_publique_mdl", @@ -749,6 +886,17 @@ "nb_cols":2, "id":"Element_0_2_16" }, + { + "type":"text", + "name":"pourc_recette_part_publique_ville", + "label":"% par rapport au montant global des recettes", + "required":false, + "pattern":"", + "nb_cols":2, + "id":"pourc_recette_part_publique_ville", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('pourc_recette_part_publique_ville')" + }, { "type":"text", "name":"recette_part_publique_ville", @@ -778,6 +926,17 @@ "nb_cols":2, "id":"Element_0_2_16" }, + { + "type":"text", + "name":"pourc_recette_part_publique_anru", + "label":"% par rapport au montant global des recettes", + "required":false, + "pattern":"", + "nb_cols":2, + "id":"pourc_recette_part_publique_anru", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('pourc_recette_part_publique_anru')" + }, { "type":"text", "name":"recette_part_publique_anru", @@ -807,6 +966,17 @@ "nb_cols":2, "id":"Element_0_2_16" }, + { + "type":"text", + "name":"pourc_recette_part_publique_autre", + "label":"% par rapport au montant global des recettes", + "required":false, + "pattern":"", + "nb_cols":2, + "id":"pourc_recette_part_publique_autre", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('pourc_recette_part_publique_autre')" + }, { "type":"text", "name":"recette_part_publique_autre", @@ -824,7 +994,7 @@ "label":"Commentaires", "required":false, "pattern":"", - "nb_cols":4, + "nb_cols":3, "dynamic_event_type": "focus", "dynamic_event_function": "getOperationTooltipLastUpdate('recette_part_publique_autre_commentaire')", "id":"recette_part_publique_autre_commentaire", @@ -875,28 +1045,36 @@ "pourc_depense_cout_foncier", "depense_cout_foncier", "label_depense_cout_foncier", - "label_depense_mise_etat_sol", "depense_mise_etat_sol", + "label_depense_mise_etat_sol", + "pourc_depense_mise_etat_sol", + "depense_remuneration_concess", + "label_depense_remuneration_concess", + "pourc_depense_remuneration_concess", "recette_globale", "label_recette_globale", + "recette_cession", "label_recette_cession", "pourc_recette_cession", - "recette_cession", + "recette_part_privee", "label_recette_part_privee", "pourc_recette_part_privee", - "recette_part_privee", + "recette_part_publique", "label_recette_part_publique", "pourc_recette_part_publique", - "recette_part_publique", "recette_part_publique_ttc", - "label_recette_part_publique_mdl", "recette_part_publique_mdl", - "label_recette_part_publique_ville", + "label_recette_part_publique_mdl", + "pourc_recette_part_publique_mdl", "recette_part_publique_ville", - "label_recette_part_publique_anru", + "label_recette_part_publique_ville", + "pourc_recette_part_publique_ville", "recette_part_publique_anru", - "label_recette_part_publique_autre", + "label_recette_part_publique_anru", + "pourc_recette_part_publique_anru", "recette_part_publique_autre", + "label_recette_part_publique_autre", + "pourc_recette_part_publique_autre", "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 a660fc74..05aa5dda 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 @@ -6,18 +6,7 @@ "nb_cols":12, "javascript":false, "rows":[ - { - "fields":[ - { - "type":"label", - "name":"contexte_urbain", - "label":"Contexte urbain de l'opération", - "nb_cols":5, - "id":"contexte_urbain" - } - ] - }, - { + { "fields":[ { "type":"label", @@ -43,6 +32,13 @@ "label":"Procédure d'aménagement", "nb_cols":5, "id":"procedure_amenagement" + }, + { + "type":"label", + "name":"procedure_amenagement_date_creation", + "label":"Date de création / date d'obtention", + "nb_cols":2, + "id":"procedure_amenagement_date_creation" } ] }, @@ -86,10 +82,10 @@ "label":"Tab 0", "elements":[ "display_button", - "contexte_urbain", "suivi", "commentaire_operation_mixte", "procedure_amenagement", + "procedure_amenagement_date_creation", "mode_financements_label" ] } @@ -147,28 +143,6 @@ "nb_cols":12, "javascript":false, "rows":[ - { - "fields":[ - { - "type":"select", - "name":"code_contexte_urbain", - "label":"Contexte urbain de l'opération", - "required":false, - "nb_cols":4, - "id":"code_contexte_urbain", - "id_from":"code_contexte_urbain_from", - "datasource":{ - "datasource_id":"datasource_code_contexte_urbain", - "sort_order":"ASC", - "distinct":"true", - "label_key":"contexte_urbain", - "order_by":"contexte_urbain", - "id_key":"code_contexte_urbain", - "attributs":"code_contexte_urbain|contexte_urbain" - } - } - ] - }, { "fields":[ { @@ -209,8 +183,8 @@ "name":"code_procedure_amenagement", "label":"Procédure de l'aménagement", "required":false, - "nb_cols":3, - "id":"code_contexte_urbain", + "nb_cols":4, + "id":"code_procedure_amenagement", "id_from":"code_procedure_amenagement_from", "datasource":{ "datasource_id":"datasource_code_procedure_amenagement", @@ -221,6 +195,15 @@ "id_key":"code_procedure_amenagement", "attributs":"code_procedure_amenagement|procedure_amenagement" } + }, + { + "type":"text", + "name":"procedure_amenagement_date_creation", + "label":"Date de création / date d'obtention", + "required":false, + "pattern":"", + "nb_cols":3, + "id":"procedure_amenagement_date_creation" } ] }, @@ -231,11 +214,11 @@ "name": "mode_financements", "label": "Modes de financement des équipements publics", "required": false, - "nb_cols": 8, + "nb_cols": 10, "id": "Element_0_4_2", "name_to": "mode_financements", "name_from": "mode_financements_from", - "size": 4, + "size": 5, "label_from": "modes de financement non associées", "label_to": "modes de financement associées à l'opération", "web_service": { @@ -249,6 +232,28 @@ } ] }, + { + "fields":[ + { + "type":"select", + "name":"code_financement_equ_public", + "label":"Mode principal de financement des équipements publics", + "required":false, + "nb_cols":6, + "id":"code_financement_equ_public", + "id_from":"financement_equ_public_from", + "datasource":{ + "datasource_id":"datasource_code_financement_equ_public", + "sort_order":"ASC", + "distinct":"true", + "label_key":"financement_equ_public", + "order_by":"financement_equ_public", + "id_key":"code_financement_equ_public", + "attributs":"code_financement_equ_public|financement_equ_public" + } + } + ] + }, { "fields":[ { @@ -286,11 +291,12 @@ "update_button", "alinea", "title", - "code_contexte_urbain", "code_suivi", "commentaire_operation_mixte", "code_procedure_amenagement", - "mode_financements" + "procedure_amenagement_date_creation", + "mode_financements", + "code_financement_equ_public" ] } ] @@ -344,6 +350,18 @@ }, "ressource_id":"vitis/genericquerys", "id":"datasource_code_vocation" + }, + "datasource_code_financement_equ_public":{ + "type":"web_service", + "dataType":"tableValue", + "name":"code_financement_equ_public", + "description":"", + "parameters":{ + "schema":"prod_immo", + "table":"tr_financement_equ_public" + }, + "ressource_id":"vitis/genericquerys", + "id":"datasource_code_financement_equ_public" } } } 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 f35a5ca0..ffad6054 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 @@ -206,17 +206,24 @@ "fields":[ { "type":"label", - "name":"label_logement", - "label":"Logements", + "name":"alinea", + "label":"Logements familiaux", "nb_cols":2, "id":"Element_5_2_5" }, { "type":"label", - "name":"sdp_logement", - "label":"SDP globale programmée en logements en m²", + "name":"sdp_lgt_fam", + "label":"SDP programmée en m²", "nb_cols":2, - "id":"sdp_logement" + "id":"sdp_lgt_fam" + }, + { + "type":"label", + "name":"nb_lgt_fam", + "label":"Nombre prévisionnel", + "nb_cols":2, + "id":"nb_lgt_fam" } ] }, @@ -225,37 +232,76 @@ { "type":"label", "name":"alinea", - "label":"", + "label":"Logements spécifiques", "nb_cols":2, "id":"Element_5_2_5" }, { "type":"label", - "name":"nb_logement", - "label":"Nombre prévisionnel total de logements", + "name":"sdp_lgt_spe", + "label":"SDP programmée en m²", "nb_cols":2, - "id":"nb_logement" + "id":"sdp_lgt_spe" }, { "type":"label", - "name":"alinea", - "label":"", + "name":"nb_lgt_spe", + "label":"Nombre prévisionnel", + "nb_cols":2, + "id":"nb_lgt_spe" + } + ] + }, + { + "fields": [ + { + "type": "bo_grid", + "name": "repartition", + "label": "Répartition envisagée par types de logements", + "required": false, + "pattern": "", + "nb_cols": 12, + "id": "Element_0_38_1", + "options": { + "enableRowSelection": true, + "enableSelectAll": true, + "enablePagination": false, + "enablePaginationControls": false, + "enableColumnMenus": true, + "enableColumnResizing": true, + "appHeader": false, + "appHeaderTitleBar": false, + "columnDefs": [], + "data": [] + }, + "bo_id": "operation_repartition_logement", + "bo_filter_attr": "id_operation", + "form_filter_value": "id_operation" + } + ] + }, + { + "fields":[ + { + "type":"label", + "name":"label_logement", + "label":"Total logements", "nb_cols":2, "id":"Element_5_2_5" }, { "type":"label", - "name":"nb_lgt_fam", - "label":"Total nombre de logements familiaux", + "name":"sdp_logement", + "label":"SDP globale programmée en m²", "nb_cols":2, - "id":"nb_lgt_fam" + "id":"sdp_logement" }, { "type":"label", - "name":"nb_lgt_spe", - "label":"Total nombre de logements spécifiques", + "name":"nb_logement", + "label":"Nombre prévisionnel", "nb_cols":2, - "id":"nb_lgt_spe" + "id":"nb_logement" } ] }, @@ -340,9 +386,11 @@ "label_logement", "sdp_logement", "nb_logement", + "sdp_lgt_fam", "nb_lgt_fam", + "sdp_lgt_spe", "nb_lgt_spe", - "repartition_type_logement", + "repartition", "nb_lgt_hectare", "coef_emprise_sol_moyen", "densite_batie" @@ -403,6 +451,45 @@ "nb_cols":12, "javascript":false, "rows":[ + { + "fields": [ + { + "type": "hidden", + "name": "id_operation", + "nb_cols": 12, + "id": "id_operation_2_1" + } + ] + }, + { + "fields": [ + { + "type": "section_grid", + "name": "repartition_type_logement", + "label": "Répartition des logements", + "required": false, + "pattern": "", + "nb_cols": 12, + "id": "repartition_type_logement", + "selected": false, + "options": { + "enableRowSelection": true, + "enableSelectAll": true, + "enablePagination": false, + "enablePaginationControls": false, + "enableColumnMenus": true, + "enableColumnResizing": true, + "appHeader": true, + "appHeaderTitleBar": true, + "columnDefs": [], + "data": [] + }, + "section_id": 473, + "form_filter_value": "id_operation", + "section_filter_attr": "id_operation" + } + ] + }, { "fields":[ { @@ -654,21 +741,32 @@ "fields":[ { "type":"label", - "name":"label_logement", - "label":"Logements", + "name":"alinea", + "label":"Logements familiaux", "nb_cols":2, "id":"Element_5_2_5" }, { "type":"text", - "name":"sdp_logement", - "label":"SDP globale programmée en logements en m²", + "name":"sdp_lgt_fam", + "label":"SDP programmée en m²", "required":false, "pattern":"", "nb_cols":2, - "id":"sdp_logement", + "id":"sdp_lgt_fam", "dynamic_event_type": "focus", - "dynamic_event_function": "getOperationTooltipLastUpdate('sdp_logement')" + "dynamic_event_function": "getOperationTooltipLastUpdate('sdp_lgt_fam')" + }, + { + "type":"text", + "name":"nb_lgt_fam", + "label":"Nombre prévisionnel", + "required":false, + "pattern":"", + "nb_cols":2, + "id":"nb_lgt_fam", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('nb_lgt_fam')" } ] }, @@ -677,52 +775,95 @@ { "type":"label", "name":"alinea", - "label":"", + "label":"Logements spécifiques", "nb_cols":2, "id":"Element_5_2_5" }, { "type":"text", - "name":"nb_logement", - "label":"Nombre prévisionnel total de logements", + "name":"sdp_lgt_spe", + "label":"SDP programmée en m²", "required":false, "pattern":"", "nb_cols":2, - "id":"nb_logement", + "id":"sdp_lgt_spe", "dynamic_event_type": "focus", - "dynamic_event_function": "getOperationTooltipLastUpdate('nb_logement')" + "dynamic_event_function": "getOperationTooltipLastUpdate('sdp_lgt_spe')" }, + { + "type":"text", + "name":"nb_lgt_spe", + "label":"Nombre prévisionnel", + "required":false, + "pattern":"", + "nb_cols":2, + "id":"nb_lgt_spe", + "dynamic_event_type": "focus", + "dynamic_event_function": "getOperationTooltipLastUpdate('nb_lgt_spe')" + } + ] + }, + { + "fields":[ { "type":"label", - "name":"alinea", - "label":"", + "name":"label_logement", + "label":"Total logements", "nb_cols":2, "id":"Element_5_2_5" }, { "type":"text", - "name":"nb_lgt_fam", - "label":"Total nombre de logements familiaux", + "name":"sdp_logement", + "label":"SDP globale programmée en m²", "required":false, "pattern":"", "nb_cols":2, - "id":"nb_lgt_fam", + "id":"sdp_logement", "dynamic_event_type": "focus", - "dynamic_event_function": "getOperationTooltipLastUpdate('nb_lgt_fam')" + "dynamic_event_function": "getOperationTooltipLastUpdate('sdp_logement')" }, { "type":"text", - "name":"nb_lgt_spe", - "label":"Total nombre de logements spécifiques", + "name":"nb_logement", + "label":"Nombre prévisionnel", "required":false, "pattern":"", "nb_cols":2, - "id":"nb_lgt_spe", + "id":"nb_logement", "dynamic_event_type": "focus", - "dynamic_event_function": "getOperationTooltipLastUpdate('nb_lgt_spe')" + "dynamic_event_function": "getOperationTooltipLastUpdate('nb_logement')" } ] }, + { + "fields": [ + { + "type": "bo_grid", + "name": "repartition", + "label": "Répartition envisagée par types de logements", + "required": false, + "pattern": "", + "nb_cols": 12, + "id": "Element_0_38_1", + "options": { + "enableRowSelection": true, + "enableSelectAll": true, + "enablePagination": false, + "enablePaginationControls": false, + "enableColumnMenus": true, + "enableColumnResizing": true, + "appHeader": false, + "appHeaderTitleBar": false, + "columnDefs": [], + "data": [] + }, + "bo_id": "operation_repartition_logement", + "bo_filter_attr": "id_operation", + "form_filter_value": "id_operation" + } + ] + }, { "fields":[ { @@ -758,6 +899,7 @@ "label":"Tab 0", "elements":[ "update_button", + "id_operation", "alinea", "title", "code_vocation", @@ -779,8 +921,11 @@ "label_logement", "sdp_logement", "nb_logement", + "sdp_lgt_fam", "nb_lgt_fam", - "nb_lgt_spe" + "sdp_lgt_spe", + "nb_lgt_spe", + "repartition_type_logement" ] } ] 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 b19a898f..8cf57e49 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 @@ -33,7 +33,7 @@ { "type":"label", "name":"nom_moe", - "label":"Nom du Maître d'OEuvre (cabinet architecte, ...)", + "label":"Nom du Maître d'OEuvre (nom du cabinet architecte, ...)", "nb_cols":10, "id":"nom_moe" } @@ -242,7 +242,7 @@ { "type":"text", "name":"nom_moe", - "label":"Nom du Maître d'OEuvre (cabinet architecte, ...)", + "label":"Nom du Maître d'OEuvre (nom du cabinet architecte, ...)", "required":false, "pattern":"", "nb_cols":5, @@ -264,11 +264,7 @@ "id":"annee_debut", "dynamic_event_type": "focus", "dynamic_event_function": "getProgrammeTooltipLastUpdate('annee_debut')" - } - ] - }, - { - "fields":[ + }, { "type":"number", "name":"annee_fin", @@ -279,11 +275,7 @@ "id":"annee_fin", "dynamic_event_type": "focus", "dynamic_event_function": "getProgrammeTooltipLastUpdate('annee_fin')" - } - ] - }, - { - "fields":[ + }, { "type":"number", "name":"annee_achat_terrain_operateur", @@ -309,11 +301,7 @@ "id":"date_debut_commercialisation", "dynamic_event_type": "focus", "dynamic_event_function": "getProgrammeTooltipLastUpdate('date_debut_commercialisation')" - } - ] - }, - { - "fields":[ + }, { "type":"number", "name":"date_fin_commercialisation", @@ -324,11 +312,7 @@ "id":"date_fin_commercialisation", "dynamic_event_type": "focus", "dynamic_event_function": "getProgrammeTooltipLastUpdate('date_fin_commercialisation')" - } - ] - }, - { - "fields":[ + }, { "type":"number", "name":"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_detail.json b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_programme_programme_detail.json new file mode 100644 index 00000000..76186b6b --- /dev/null +++ b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_programme_programme_detail.json @@ -0,0 +1,806 @@ +{ + "display":{ + "name":"suivi_prod_immo_saisie_suivi_prod_immo_programme_programme_details-form", + "title":"SUIVI_PROD_IMMO_PROGRAMME_PROGRAMME_DETAILS_TITLE_DISPLAY", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "bo_grid", + "name": "profil_acheteur_accession_libre", + "label": "Profil des acheteurs - logements en Accession Libre", + "required": false, + "pattern": "", + "nb_cols": 12, + "id": "Element_0_1578496052660", + "options": { + "enableRowSelection": false, + "enableSelectAll": true, + "enablePagination": false, + "enablePaginationControls": false, + "enableColumnMenus": true, + "enableColumnResizing": true, + "appHeader": false, + "appHeaderTitleBar": false, + "columnDefs": [], + "data": [] + }, + "bo_id": "profil_acheteur_accession_libre", + "bo_filter_attr": "id_programme", + "form_filter_value": "id_programme" + } + ] + }, + { + "fields": [ + { + "type": "bo_grid", + "name": "logement_familliaux_accession", + "label": "Logements familiaux en accession", + "required": false, + "pattern": "", + "nb_cols": 12, + "id": "Element_0_1578673563602", + "options": { + "enableRowSelection": false, + "enableSelectAll": true, + "enablePagination": false, + "enablePaginationControls": false, + "enableColumnMenus": true, + "enableColumnResizing": true, + "appHeader": false, + "appHeaderTitleBar": false, + "columnDefs": [], + "data": [] + }, + "bo_id": "programme_log_fam_accession", + "bo_filter_attr": "id_programme", + "form_filter_value": "id_programme" + } + ] + }, + { + "fields": [ + { + "type": "bo_grid", + "name": "logement_familliaux_location", + "label": "Logements familiaux en Location (hors habitat spécifique)", + "required": false, + "pattern": "", + "nb_cols": 12, + "id": "Element_0_1578925427668", + "options": { + "enableRowSelection": false, + "enableSelectAll": true, + "enablePagination": false, + "enablePaginationControls": false, + "enableColumnMenus": true, + "enableColumnResizing": true, + "appHeader": false, + "appHeaderTitleBar": false, + "columnDefs": [], + "data": [] + }, + "bo_id": "programme_log_fam_location", + "bo_filter_attr": "id_programme", + "form_filter_value": "id_programme" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "logement_familliaux_location_nom_bailleur", + "label": "Logements familieux en location - Nom du bailleur", + "nb_cols": 12, + "id": "logement_familliaux_location_nom_bailleur" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "logement_familliaux_location_nom_investisseur", + "label": "Logements familieux en location - Nom de l'investisseur", + "nb_cols": 12, + "id": "logement_familliaux_location_nom_investisseur" + } + ] + }, + { + "fields": [ + { + "type": "bo_grid", + "name": "habitat_specifique", + "label": "Habitat spécifique", + "required": false, + "pattern": "", + "nb_cols": 12, + "id": "Element_1_1578925494748", + "options": { + "enableRowSelection": false, + "enableSelectAll": true, + "enablePagination": false, + "enablePaginationControls": false, + "enableColumnMenus": true, + "enableColumnResizing": true, + "appHeader": false, + "appHeaderTitleBar": false, + "columnDefs": [], + "data": [] + }, + "bo_id": "programme_habitat_specifique", + "bo_filter_attr": "id_programme", + "form_filter_value": "id_programme" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "habitat_specifique_nom_bailleur", + "label": "Habitat spécifique - Nom du bailleur", + "nb_cols": 12, + "id": "habitat_specifique_nom_bailleur" + } + ] + }, + { + "fields": [ + { + "type": "label", + "name": "habitat_specifique_nom_gestionnaire", + "label": "Habitat spécifique - Nom du gestionnaire", + "nb_cols": 12, + "id": "habitat_specifique_nom_gestionnaire" + } + ] + }, + { + "fields": [ + { + "type": "bo_grid", + "name": "activite_industrie", + "label": "Activités /industrie", + "required": false, + "pattern": "", + "nb_cols": 12, + "id": "Element_0_1578650516432", + "options": { + "enableRowSelection": false, + "enableSelectAll": true, + "enablePagination": false, + "enablePaginationControls": false, + "enableColumnMenus": true, + "enableColumnResizing": true, + "appHeader": false, + "appHeaderTitleBar": false, + "columnDefs": [], + "data": [] + }, + "bo_id": "programme_activite_industrie", + "bo_filter_attr": "id_programme", + "form_filter_value": "id_programme" + } + ] + }, + { + "fields": [ + { + "type": "bo_grid", + "name": "bureau", + "label": "Bureaux", + "required": false, + "pattern": "", + "nb_cols": 6, + "id": "Element_0_1578650693264", + "options": { + "enableRowSelection": false, + "enableSelectAll": true, + "enablePagination": false, + "enablePaginationControls": false, + "enableColumnMenus": true, + "enableColumnResizing": true, + "appHeader": false, + "appHeaderTitleBar": false, + "columnDefs": [], + "data": [] + }, + "bo_id": "programme_bureau", + "bo_filter_attr": "id_programme", + "form_filter_value": "id_programme" + } + ] + }, + { + "fields": [ + { + "type": "bo_grid", + "name": "equipement_structure", + "label": "Équipements de superstructures", + "required": false, + "pattern": "", + "nb_cols": 8, + "id": "Element_0_1578669108546", + "options": { + "enableRowSelection": false, + "enableSelectAll": true, + "enablePagination": false, + "enablePaginationControls": false, + "enableColumnMenus": true, + "enableColumnResizing": true, + "appHeader": false, + "appHeaderTitleBar": false, + "columnDefs": [], + "data": [] + }, + "bo_id": "programme_equipement_structure", + "bo_filter_attr": "id_programme", + "form_filter_value": "id_programme" + } + ] + }, + { + "fields": [ + { + "type": "bo_grid", + "name": "hotel_commerce_service", + "label": "Hôtellerie / Commerces / Services", + "required": false, + "pattern": "", + "nb_cols": 12, + "id": "Element_0_1578567712800", + "options": { + "enableRowSelection": false, + "enableSelectAll": true, + "enablePagination": false, + "enablePaginationControls": false, + "enableColumnMenus": true, + "enableColumnResizing": true, + "appHeader": false, + "appHeaderTitleBar": false, + "columnDefs": [], + "data": [] + }, + "bo_id": "programme_hotel_commerce_service", + "bo_filter_attr": "id_programme", + "form_filter_value": "id_programme" + } + ] + }, + { + "fields": [ + { + "type": "bo_grid", + "name": "stationnement", + "label": "Places de stationnement du programme (hors parkings en ouvrages - superstructures)", + "required": false, + "pattern": "", + "nb_cols": 12, + "id": "Element_0_1578562071288", + "options": { + "enableRowSelection": false, + "enableSelectAll": true, + "enablePagination": false, + "enablePaginationControls": false, + "enableColumnMenus": true, + "enableColumnResizing": true, + "appHeader": false, + "appHeaderTitleBar": false, + "columnDefs": [], + "data": [] + }, + "bo_id": "programme_stationnement", + "bo_filter_attr": "id_programme", + "form_filter_value": "id_programme" + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"display_button", + "id":"display_button", + "buttons":[ + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + + ], + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "display_button", + "logement_familliaux_accession", + "profil_acheteur_accession_libre", + "logement_familliaux_location_nom_bailleur", + "logement_familliaux_location_nom_investisseur", + "logement_familliaux_location", + "habitat_specifique_nom_bailleur", + "habitat_specifique_nom_gestionnaire", + "habitat_specifique", + "activite_industrie", + "bureau", + "equipement_structure", + "hotel_commerce_service", + "stationnement" + ] + } + ] + } + }, + "search":{ + "name":"suivi_prod_immo_saisie_suivi_prod_immo_programme_programme_details-form", + "title":"SUIVI_PROD_IMMO_PROGRAMME_PROGRAMME_DETAILS_TITLE_SEARCH", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + + ], + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + + ] + } + ] + } + }, + "insert":{ + "name":"suivi_prod_immo_saisie_suivi_prod_immo_programme_programme_details-form", + "title":"SUIVI_PROD_IMMO_PROGRAMME_PROGRAMME_DETAILS_TITLE_INSERT", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + + ], + "event":"sendSimpleForm()", + "afterEvent":"editSectionForm()", + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + + ] + } + ] + } + }, + "update":{ + "name":"suivi_prod_immo_saisie_suivi_prod_immo_programme_programme_details-form", + "title":"SUIVI_PROD_IMMO_PROGRAMME_PROGRAMME_DETAILS_TITLE_UPDATE", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "section_grid", + "name": "logement_familliaux_accession", + "label": "Logements familliaux en accession", + "required": false, + "pattern": "", + "nb_cols": 12, + "id": "logement_familliaux_accession", + "selected": false, + "options": { + "enableRowSelection": true, + "enableSelectAll": true, + "enablePagination": false, + "enablePaginationControls": false, + "enableColumnMenus": true, + "enableColumnResizing": true, + "appHeader": true, + "appHeaderTitleBar": true, + "columnDefs": [], + "data": [] + }, + "section_id": 511, + "form_filter_value": "id_programme", + "section_filter_attr": "id_programme" + } + ] + }, + { + "fields": [ + { + "type": "section_grid", + "name": "profil_acheteur_accession_libre", + "label": "Profil des acheteurs-logements en accession libre", + "required": false, + "pattern": "", + "nb_cols": 12, + "id": "profil_acheteur_accession_libre", + "selected": false, + "options": { + "enableRowSelection": true, + "enableSelectAll": true, + "enablePagination": false, + "enablePaginationControls": false, + "enableColumnMenus": true, + "enableColumnResizing": true, + "appHeader": true, + "appHeaderTitleBar": true, + "columnDefs": [], + "data": [] + }, + "section_id": 499, + "form_filter_value": "id_programme", + "section_filter_attr": "id_programme" + } + ] + }, + { + "fields": [ + { + "type": "hidden", + "name": "id_logement_familliaux_location", + "nb_cols": 12, + "id": "id_logement_familliaux_location" + } + ] + }, + { + "fields": [ + { + "type": "section_grid", + "name": "composition_logement_familliaux_location_cp", + "label": "Logements familliaux en location", + "required": false, + "pattern": "", + "nb_cols": 12, + "id": "composition_logement_familliaux_location_cp", + "selected": false, + "options": { + "enableRowSelection": true, + "enableSelectAll": true, + "enablePagination": false, + "enablePaginationControls": false, + "enableColumnMenus": true, + "enableColumnResizing": true, + "appHeader": true, + "appHeaderTitleBar": true, + "columnDefs": [], + "data": [] + }, + "section_id": 580, + "form_filter_value": "id_logement_familliaux_location", + "section_filter_attr": "id_logement_familliaux_location" + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "logement_familliaux_location_nom_bailleur", + "label": "Logements familieux en location - Nom du bailleur", + "required":false, + "pattern":"", + "nb_cols": 12, + "id": "logement_familliaux_location_nom_bailleur" + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "logement_familliaux_location_nom_investisseur", + "label": "Logements familieux en location - Nom de l'investisseur", + "required":false, + "pattern":"", + "nb_cols": 12, + "id": "logement_familliaux_location_nom_investisseur" + } + ] + }, + { + "fields": [ + { + "type": "hidden", + "name": "id_habitat_specifique", + "nb_cols": 12, + "id": "id_habitat_specifique" + } + ] + }, + { + "fields": [ + { + "type": "section_grid", + "name": "composition_habitat_specifique_cp", + "label": "Habitat spécifique", + "required": false, + "pattern": "", + "nb_cols": 12, + "id": "composition_habitat_specifique_cp", + "selected": false, + "options": { + "enableRowSelection": true, + "enableSelectAll": true, + "enablePagination": false, + "enablePaginationControls": false, + "enableColumnMenus": true, + "enableColumnResizing": true, + "appHeader": true, + "appHeaderTitleBar": true, + "columnDefs": [], + "data": [] + }, + "section_id": 570, + "form_filter_value": "id_habitat_specifique", + "section_filter_attr": "id_habitat_specifique" + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "habitat_specifique_nom_bailleur", + "label": "Habitat spécifique - Nom du bailleur", + "required":false, + "pattern":"", + "nb_cols": 12, + "id": "habitat_specifique_nom_bailleur" + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "habitat_specifique_nom_gestionnaire", + "label": "Habitat spécifique - Nom du gestionnaire", + "required":false, + "pattern":"", + "nb_cols": 12, + "id": "habitat_specifique_nom_gestionnaire" + } + ] + }, + { + "fields": [ + { + "type": "section_grid", + "name": "activite_industrie", + "label": "Activités / Industrie", + "required": false, + "pattern": "", + "nb_cols": 12, + "id": "activite_industrie", + "selected": false, + "options": { + "enableRowSelection": true, + "enableSelectAll": true, + "enablePagination": false, + "enablePaginationControls": false, + "enableColumnMenus": true, + "enableColumnResizing": true, + "appHeader": true, + "appHeaderTitleBar": true, + "columnDefs": [], + "data": [] + }, + "section_id": 556, + "form_filter_value": "id_programme", + "section_filter_attr": "id_programme" + } + ] + }, + { + "fields": [ + { + "type": "section_grid", + "name": "bureau", + "label": "Bureaux", + "required": false, + "pattern": "", + "nb_cols": 12, + "id": "bureau", + "selected": false, + "options": { + "enableRowSelection": true, + "enableSelectAll": true, + "enablePagination": false, + "enablePaginationControls": false, + "enableColumnMenus": true, + "enableColumnResizing": true, + "appHeader": true, + "appHeaderTitleBar": true, + "columnDefs": [], + "data": [] + }, + "section_id": 546, + "form_filter_value": "id_programme", + "section_filter_attr": "id_programme" + } + ] + }, + { + "fields": [ + { + "type": "section_grid", + "name": "equipement_structure", + "label": "Equipements de superstructures", + "required": false, + "pattern": "", + "nb_cols": 12, + "id": "equipement_structure", + "selected": false, + "options": { + "enableRowSelection": true, + "enableSelectAll": true, + "enablePagination": false, + "enablePaginationControls": false, + "enableColumnMenus": true, + "enableColumnResizing": true, + "appHeader": true, + "appHeaderTitleBar": true, + "columnDefs": [], + "data": [] + }, + "section_id": 539, + "form_filter_value": "id_programme", + "section_filter_attr": "id_programme" + } + ] + }, + { + "fields": [ + { + "type": "section_grid", + "name": "hotel_commerce_service", + "label": "Hotellerie / Commerces /servicesment", + "required": false, + "pattern": "", + "nb_cols": 12, + "id": "hotel_commerce_service", + "selected": false, + "options": { + "enableRowSelection": true, + "enableSelectAll": true, + "enablePagination": false, + "enablePaginationControls": false, + "enableColumnMenus": true, + "enableColumnResizing": true, + "appHeader": true, + "appHeaderTitleBar": true, + "columnDefs": [], + "data": [] + }, + "section_id": 531, + "form_filter_value": "id_programme", + "section_filter_attr": "id_programme" + } + ] + }, + { + "fields": [ + { + "type": "section_grid", + "name": "stationnement", + "label": "Places de stationnement", + "required": false, + "pattern": "", + "nb_cols": 12, + "id": "stationnement", + "selected": false, + "options": { + "enableRowSelection": true, + "enableSelectAll": true, + "enablePagination": false, + "enablePaginationControls": false, + "enableColumnMenus": true, + "enableColumnResizing": true, + "appHeader": true, + "appHeaderTitleBar": true, + "columnDefs": [], + "data": [] + }, + "section_id": 520, + "form_filter_value": "id_programme", + "section_filter_attr": "id_programme" + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"update_button", + "id":"update_button", + "buttons":[ + { + "type":"submit", + "name":"form_submit", + "label":"FORM_UPDATE", + "class":"btn-primary" + }, + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "event":"sendSimpleForm()", + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "update_button", + "logement_familliaux_accession", + "profil_acheteur_accession_libre", + "composition_logement_familliaux_location_cp", + "id_logement_familliaux_location", + "logement_familliaux_location_nom_bailleur", + "logement_familliaux_location_nom_investisseur", + "logement_familliaux_location", + "composition_habitat_specifique_cp", + "id_habitat_specifique", + "habitat_specifique_nom_bailleur", + "habitat_specifique_nom_gestionnaire", + "activite_industrie", + "bureau", + "equipement_structure", + "hotel_commerce_service", + "stationnement" + ] + } + ] + } + }, + "datasources":{ + "datasource_cahier_prescription_archi_urb_paysagere":{ + "type":"web_service", + "dataType":"tableValue", + "name":"cahier_prescription_archi_urb_paysagere", + "description":"", + "parameters":{ + "schema":"prod_immo", + "table":"param_liste", + "filter": {"id_nom_table": "programme_immobilier", "nom_liste": "cahier_prescription_archi_urb_paysagere"} + }, + "ressource_id":"vitis/genericquerys" + } + } +} diff --git a/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_programme_programme_encadrement.json b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_programme_programme_encadrement.json index f9934343..ba35643f 100644 --- a/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_programme_programme_encadrement.json +++ b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie/suivi_prod_immo_saisie_suivi_prod_immo_programme_programme_encadrement.json @@ -22,7 +22,7 @@ { "type":"label", "name":"cahier_prescription_archi_urb_paysagere_label", - "label":"Programme encadré par un Cahier de Prescriptions architecturales, urbaines et paysagères", + "label":"Programme encadré par un Cahier de Prescriptions architecturales, urbaines, paysagères et environnementales", "nb_cols":10, "id":"cahier_prescription_archi_urb_paysagere_label" } @@ -33,7 +33,7 @@ { "type":"label", "name":"encadrement_plu", - "label":"Encadrement via le PLU :", + "label":"Encadrement via le PLUH :", "nb_cols":12, "id":"encadrement_plu" } @@ -44,7 +44,7 @@ { "type":"label", "name":"charge_fonciere_imposee_fixee_label", - "label":"(CFi) Charge foncière 'imposée-fixée' (Vente de CF-encadrement via CCCT)", + "label":"(CFi) Charge foncière 'imposée-fixée' (Vente de CF)", "nb_cols":10, "id":"charge_fonciere_imposee_fixee_label" } @@ -61,6 +61,102 @@ } ] }, + { + "fields": [ + { + "type":"label", + "name":"label_accession_abordable", + "label":"accession abordable", + "nb_cols":2, + "id":"label_accession_abordable" + }, + { + "type": "label", + "name": "sdp_encadree_access_abordable", + "label": "SDP encadrée en nombre de m²", + "nb_cols": 3, + "id": "sdp_encadree_access_abordable" + }, + { + "type": "label", + "name": "cf_plafonnee_access_abordable", + "label": "montant HT/m² SDP de la CF plafonnée", + "nb_cols": 3, + "id": "cf_plafonnee_access_abordable" + }, + { + "type": "label", + "name": "prix_vente_plafonnee_access_abordable", + "label": "montant TTC/m² SH de prix vente plafonné", + "nb_cols": 3, + "id": "prix_vente_plafonnee_access_abordable" + } + ] + }, + { + "fields": [ + { + "type":"label", + "name":"label_accession_libre", + "label":"accession libre", + "nb_cols":2, + "id":"label_accession_libre" + }, + { + "type": "label", + "name": "sdp_encadree_access_libre", + "label": "SDP encadrée en nombre de m²", + "nb_cols": 3, + "id": "sdp_encadree_access_libre" + }, + { + "type": "label", + "name": "cf_plafonnee_access_libre", + "label": "montant HT/m² SDP de la CF plafonnée", + "nb_cols": 3, + "id": "cf_plafonnee_access_libre" + }, + { + "type": "label", + "name": "prix_vente_plafonnee_access_libre", + "label": "montant TTC/m² SH de prix vente plafonné", + "nb_cols": 3, + "id": "prix_vente_plafonnee_access_libre" + } + ] + }, + { + "fields": [ + { + "type":"label", + "name":"label_location_libre", + "label":"location libre", + "nb_cols":2, + "id":"label_location_libre" + }, + { + "type": "label", + "name": "sdp_encadree_loc_libre", + "label": "SDP encadrée en nombre de m²", + "nb_cols": 3, + "id": "sdp_encadree_loc_libre" + }, + { + "type": "label", + "name": "cf_plafonnee_loc_libre", + "label": "montant HT/m² SDP de la CF plafonnée", + "nb_cols": 3, + "id": "cf_plafonnee_loc_libre" + }, + { + "type": "label", + "name": "prix_vente_plafonnee_loc_libre", + "label": "montant TTC/m² SH de prix vente plafonné", + "nb_cols": 3, + "id": "prix_vente_plafonnee_loc_libre" + } + ] + }, { "fields":[ { @@ -95,7 +191,19 @@ "cahier_prescription_archi_urb_paysagere_label", "encadrement_plu", "charge_fonciere_imposee_fixee_label", - "prix_sortie_encadree_label" + "prix_sortie_encadree_label", + "label_accession_abordable", + "label_accession_libre", + "label_location_libre", + "sdp_encadree_access_abordable", + "sdp_encadree_access_libre", + "sdp_encadree_loc_libre", + "cf_plafonnee_access_abordable", + "cf_plafonnee_access_libre", + "cf_plafonnee_loc_libre", + "prix_vente_plafonnee_access_abordable", + "prix_vente_plafonnee_access_libre", + "prix_vente_plafonnee_loc_libre" ] } ] @@ -179,7 +287,7 @@ { "type":"select", "name":"cahier_prescription_archi_urb_paysagere", - "label":"Programme encadré par un Cahier de Prescriptions architecturales, urbaines et paysagères", + "label":"Programme encadré par un Cahier de Prescriptions architecturales, urbaines, paysagères et environnementales", "required":false, "nb_cols":4, "id":"Element_8_22_3", @@ -201,7 +309,7 @@ { "type":"label", "name":"encadrement_plu", - "label":"Encadrement via le PLU :", + "label":"Encadrement via le PLUH :", "nb_cols":12, "id":"encadrement_plu" } @@ -212,7 +320,7 @@ { "type":"select", "name":"charge_fonciere_imposee_fixee", - "label":"(CFi) Charge foncière 'imposée-fixée' (Vente de CF-encadrement via CCCT)", + "label":"(CFi) Charge foncière 'imposée-fixée' (Vente de CF)", "required":false, "nb_cols":4, "id":"Element_8_22_3", @@ -251,6 +359,138 @@ } ] }, + { + "fields": [ + { + "type":"label", + "name":"label_accession_abordable", + "label":"accession abordable", + "nb_cols":2, + "id":"label_accession_abordable" + }, + { + "type": "number", + "name": "sdp_encadree_access_abordable", + "label": "SDP encadrée en nombre de m²", + "required":false, + "pattern":"", + "nb_cols": 3, + "id": "sdp_encadree_access_abordable", + "dynamic_event_type": "focus", + "dynamic_event_function": "getProgrammeTooltipLastUpdate('sdp_encadree_access_abordable')" + }, + { + "type": "number", + "name": "cf_plafonnee_access_abordable", + "label": "montant HT/m² SDP de la CF plafonnée", + "required":false, + "pattern":"", + "nb_cols": 3, + "id": "cf_plafonnee_access_abordable", + "dynamic_event_type": "focus", + "dynamic_event_function": "getProgrammeTooltipLastUpdate('cf_plafonnee_access_abordable')" + }, + { + "type": "number", + "name": "prix_vente_plafonnee_access_abordable", + "label": "montant TTC/m² SH de prix vente plafonné", + "required":false, + "pattern":"", + "nb_cols": 3, + "id": "prix_vente_plafonnee_access_abordable", + "dynamic_event_type": "focus", + "dynamic_event_function": "getProgrammeTooltipLastUpdate('prix_vente_plafonnee_access_abordable')" + } + ] + }, + { + "fields": [ + { + "type":"label", + "name":"label_accession_libre", + "label":"accession libre", + "nb_cols":2, + "id":"label_accession_libre" + }, + { + "type": "number", + "name": "sdp_encadree_access_libre", + "label": "SDP encadrée en nombre de m²", + "required":false, + "pattern":"", + "nb_cols": 3, + "id": "sdp_encadree_access_libre", + "dynamic_event_type": "focus", + "dynamic_event_function": "getProgrammeTooltipLastUpdate('sdp_encadree_access_libre')" + }, + { + "type": "number", + "name": "cf_plafonnee_access_libre", + "label": "montant HT/m² SDP de la CF plafonnée", + "required":false, + "pattern":"", + "nb_cols": 3, + "id": "cf_plafonnee_access_libre", + "dynamic_event_type": "focus", + "dynamic_event_function": "getProgrammeTooltipLastUpdate('cf_plafonnee_access_libre')" + }, + { + "type": "number", + "name": "prix_vente_plafonnee_access_libre", + "label": "montant TTC/m² SH de prix vente plafonné", + "required":false, + "pattern":"", + "nb_cols": 3, + "id": "prix_vente_plafonnee_access_libre", + "dynamic_event_type": "focus", + "dynamic_event_function": "getProgrammeTooltipLastUpdate('prix_vente_plafonnee_access_libre')" + } + ] + }, + { + "fields": [ + { + "type":"label", + "name":"label_location_libre", + "label":"location libre", + "nb_cols":2, + "id":"label_location_libre" + }, + { + "type": "number", + "name": "sdp_encadree_loc_libre", + "label": "SDP encadrée en nombre de m²", + "required":false, + "pattern":"", + "nb_cols": 3, + "id": "sdp_encadree_loc_libre", + "dynamic_event_type": "focus", + "dynamic_event_function": "getProgrammeTooltipLastUpdate('sdp_encadree_loc_libre')" + }, + { + "type": "number", + "name": "cf_plafonnee_loc_libre", + "label": "montant HT/m² SDP de la CF plafonnée", + "required":false, + "pattern":"", + "nb_cols": 3, + "id": "cf_plafonnee_loc_libre", + "dynamic_event_type": "focus", + "dynamic_event_function": "getProgrammeTooltipLastUpdate('cf_plafonnee_loc_libre')" + }, + { + "type": "number", + "name": "prix_vente_plafonnee_loc_libre", + "label": "montant TTC/m² SH de prix vente plafonné", + "required":false, + "pattern":"", + "nb_cols": 3, + "id": "prix_vente_plafonnee_loc_libre", + "dynamic_event_type": "focus", + "dynamic_event_function": "getProgrammeTooltipLastUpdate('prix_vente_plafonnee_loc_libre')" + } + ] + }, { "fields":[ { @@ -291,7 +531,19 @@ "cahier_prescription_archi_urb_paysagere", "encadrement_plu", "charge_fonciere_imposee_fixee", - "prix_sortie_encadree" + "prix_sortie_encadree", + "label_accession_abordable", + "label_accession_libre", + "label_location_libre", + "sdp_encadree_access_abordable", + "sdp_encadree_access_libre", + "sdp_encadree_loc_libre", + "cf_plafonnee_access_abordable", + "cf_plafonnee_access_libre", + "cf_plafonnee_loc_libre", + "prix_vente_plafonnee_access_abordable", + "prix_vente_plafonnee_access_libre", + "prix_vente_plafonnee_loc_libre" ] } ] 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 371392a6..8fab6ee8 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 @@ -6,6 +6,44 @@ "nb_cols":12, "javascript":false, "rows":[ + { + "fields": [ + { + "type": "bo_grid", + "name": "synthese", + "label": "Synthèse du programme immobilier", + "nb_cols": 12, + "id": "Element_0_1578489308285", + "cm_options": { + "mode": "javascript", + "readOnly": true, + "styleActiveLine": true, + "lineNumbers": false, + "lineSeparator": "\r\n", + "indentWithTabs": true, + "tabSize": 2, + "viewportMargin": 50, + "theme": "Veremes" + }, + "ui": true, + "options": { + "enableRowSelection": false, + "enableSelectAll": true, + "enablePagination": false, + "enablePaginationControls": false, + "enableColumnMenus": true, + "enableColumnResizing": true, + "appHeader": false, + "appHeaderTitleBar": false, + "columnDefs": [], + "data": [] + }, + "bo_id": "programme_granulometrie", + "bo_filter_attr": "id_programme", + "form_filter_value": "id_programme" + } + ] + }, { "fields":[ { @@ -79,6 +117,7 @@ "label":"Tab 0", "elements":[ "display_button", + "synthese", "alinea", "surface_moy_logement", "cout_construction_moyen", @@ -138,6 +177,35 @@ "nb_cols":12, "javascript":false, "rows":[ + { + "fields": [ + { + "type": "section_grid", + "name": "granulometrie", + "label": "Synthèse du programme immobilier", + "required": false, + "pattern": "", + "nb_cols": 12, + "id": "granulometrie", + "selected": false, + "options": { + "enableRowSelection": true, + "enableSelectAll": true, + "enablePagination": false, + "enablePaginationControls": false, + "enableColumnMenus": true, + "enableColumnResizing": true, + "appHeader": true, + "appHeaderTitleBar": true, + "columnDefs": [], + "data": [] + }, + "section_id": 491, + "form_filter_value": "id_programme", + "section_filter_attr": "id_programme" + } + ] + }, { "fields":[ { @@ -234,6 +302,7 @@ "elements":[ "update_button", "alinea", + "granulometrie", "surface_moy_logement", "cout_construction_moyen", "charge_fonciere_moy", diff --git a/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_activite_industrie_activite_industrie.json b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_activite_industrie_activite_industrie.json new file mode 100644 index 00000000..e0b874b7 --- /dev/null +++ b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_activite_industrie_activite_industrie.json @@ -0,0 +1,489 @@ +{ + "display":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_activite_industrie-form", + "title":"SUIVI_PROD_IMMO_ACTIVITE_INDUSTRIE_TITLE_DISPLAY", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "hidden", + "name": "id_programme", + "nb_cols": 12, + "id": "id_programme_2_1" + } + ] + }, + { + "fields":[ + { + "type":"label", + "name":"indicateur_activite_industrie", + "label":"Type", + "nb_cols":12, + "id":"indicateur_activite_industrie" + } + ] + }, + { + "fields":[ + { + "type": "label", + "name": "production_industrie", + "label": "Production industrie", + "nb_cols": 3, + "id": "production_industrie" + }, + { + "type": "label", + "name": "logistique", + "label": "Logistique", + "nb_cols": 3, + "id": "logistique" + }, + { + "type":"label", + "name":"autre", + "label":"Autres activités", + "nb_cols":3, + "id":"autre" + }, + { + "type": "label", + "name": "total", + "label": "Total", + "nb_cols": 3, + "id": "total" + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"display_button", + "id":"display_button", + "buttons":[ + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "display_button", + "id_programme", + "indicateur_activite_industrie", + "production_industrie", + "logistique", + "autre", + "total" + ] + } + ] + } + }, + "search":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_activite_industrie-form", + "title":"SUIVI_PROD_IMMO_ACTIVITE_INDUSTRIE_TITLE_SEARCH", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields":[ + { + "type":"select", + "name":"id_programme", + "label":"Opération", + "required":true, + "nb_cols":3, + "id":"id_programme", + "datasource":{ + "datasource_id":"datasource_38", + "sort_order":"ASC", + "distinct":"true", + "label_key":"nom_programme", + "order_by":"nom_programme", + "id_key":"id_programme", + "attributs":"id_programme|nom_programme" + }, + "id_from":"id_programme_from" + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "id_indicateur_activite_industrie", + "label": "Type", + "required": false, + "nb_cols": 7, + "id": "id_indicateur_activite_industrie_3_1", + "id_from": "id_indicateur_activite_industrie_3_1_from", + "datasource": { + "datasource_id": "datasource_2", + "sort_order": "ASC", + "distinct": "true", + "id_key": "id_indicateur_activite_industrie", + "label_key": "indicateur_activite_industrie", + "attributs": "id_indicateur_activite_industrie|indicateur_activite_industrie", + "order_by": "indicateur_activite_industrie" + } + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-xs", + "nb_cols":12, + "name":"search_button", + "id":"search_button", + "buttons":[ + { + "type":"button", + "name":"search", + "label":"FORM_SEARCH_BUTTON", + "class":"btn-primary", + "event":"setGridFilter()" + }, + { + "type":"reset", + "name":"reset", + "label":"FORM_RESET_BUTTON", + "class":"btn-primary", + "event":"resetGridFilter()" + } + ] + } + ] + } + ], + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "search_button", + "id_indicateur_activite_industrie", + "id_programme" + ] + } + ] + } + }, + "insert":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_activite_industrie-form", + "title":"SUIVI_PROD_IMMO_ACTIVITE_INDUSTRIE_TITLE_INSERT", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "hidden", + "name": "id_programme", + "nb_cols": 12, + "id": "id_programme_2_1" + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "id_indicateur_activite_industrie", + "label": "Type", + "required": true, + "nb_cols": 7, + "id": "id_indicateur_activite_industrie_3_1", + "id_from": "id_indicateur_activite_industrie_3_1_from", + "datasource": { + "datasource_id": "datasource_2", + "sort_order": "ASC", + "distinct": "true", + "id_key": "id_indicateur_activite_industrie", + "label_key": "indicateur_activite_industrie", + "attributs": "id_indicateur_activite_industrie|indicateur_activite_industrie", + "order_by": "indicateur_activite_industrie" + } + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "production_industrie", + "label": "Production industrie", + "disabled": false, + "required": false, + "nb_cols": 3, + "id": "production_industrie" + }, + { + "type": "text", + "name": "logistique", + "label": "Logistique", + "disabled": false, + "required": false, + "nb_cols": 3, + "id": "logistique" + }, + { + "type":"text", + "name":"autre", + "label":"Autres activités", + "disabled": false, + "required": false, + "nb_cols":3, + "id":"autre" + }, + { + "type": "text", + "name": "total", + "label": "Total", + "disabled": false, + "required": false, + "nb_cols": 3, + "id": "total" + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"insert_button", + "id":"insert_button", + "buttons":[ + { + "type":"submit", + "name":"form_submit", + "label":"FORM_CREATE", + "class":"btn-primary" + }, + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "initEvent": "", + "event":"sendSimpleForm()", + "afterEvent":"editSectionForm()", + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "insert_button", + "id_programme", + "id_indicateur_activite_industrie", + "production_industrie", + "logistique", + "autre", + "total" + ] + } + ] + } + }, + "update":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_activite_industrie-form", + "title":"SUIVI_PROD_IMMO_ACTIVITE_INDUSTRIE_TITLE_UPDATE", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "hidden", + "name": "id_activite_industrie", + "nb_cols": 12, + "id": "id_activite_industrie_1_1" + } + ] + }, + { + "fields": [ + { + "type": "hidden", + "name": "id_programme", + "nb_cols": 12, + "id": "id_programme_2_1" + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "id_indicateur_activite_industrie", + "label": "Type", + "required": true, + "nb_cols": 7, + "id": "id_indicateur_activite_industrie_3_1", + "id_from": "id_indicateur_activite_industrie_3_1_from", + "datasource": { + "datasource_id": "datasource_2", + "sort_order": "ASC", + "distinct": "true", + "id_key": "id_indicateur_activite_industrie", + "label_key": "indicateur_activite_industrie", + "attributs": "id_indicateur_activite_industrie|indicateur_activite_industrie", + "order_by": "indicateur_activite_industrie" + } + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "production_industrie", + "label": "Production industrie", + "disabled": false, + "required": false, + "nb_cols": 3, + "id": "production_industrie" + }, + { + "type": "text", + "name": "logistique", + "label": "Logistique", + "disabled": false, + "required": false, + "nb_cols": 3, + "id": "logistique" + }, + { + "type":"text", + "name":"autre", + "label":"Autres activités", + "disabled": false, + "required": false, + "nb_cols":3, + "id":"autre" + }, + { + "type": "text", + "name": "total", + "label": "Total", + "disabled": false, + "required": false, + "nb_cols": 3, + "id": "total" + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"update_button", + "id":"update_button", + "buttons":[ + { + "type":"submit", + "name":"form_submit", + "label":"FORM_UPDATE", + "class":"btn-primary" + }, + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "initEvent": "", + "event":"sendSimpleForm()", + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "update_button", + "id_activite_industrie", + "id_programme", + "id_indicateur_activite_industrie", + "production_industrie", + "logistique", + "autre", + "total" + ] + } + ] + } + }, + "datasources":{ + "datasource_2": { + "type": "web_service", + "dataType": "tableValue", + "name": "datasource_indicateur_activite_industrie", + "description": "", + "parameters": { + "filter": { + "relation": "AND", + "operators": [] + }, + "database": "suivi_prod_immo", + "schema": "prod_immo", + "table": "indicateur_activite_industrie" + }, + "ressource_id": "vitis/genericquerys", + "id": "datasource_2" + }, + "datasource_38":{ + "type":"web_service", + "dataType":"tableValue", + "name":"programme_immobilier", + "description":"", + "parameters":{ + "schema":"prod_immo", + "table":"programme_immobilier" + }, + "ressource_id":"vitis/genericquerys", + "id":"datasource_38" + } + } +} diff --git a/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_bureau_bureau.json b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_bureau_bureau.json new file mode 100644 index 00000000..08a37cbe --- /dev/null +++ b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_bureau_bureau.json @@ -0,0 +1,405 @@ +{ + "display":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_bureau-form", + "title":"SUIVI_PROD_IMMO_BUREAU_TITLE_DISPLAY", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "hidden", + "name": "id_programme", + "nb_cols": 12, + "id": "id_programme_2_1" + } + ] + }, + { + "fields":[ + { + "type":"label", + "name":"indicateur_bureau", + "label":"Type", + "nb_cols":12, + "id":"indicateur_bureau" + } + ] + }, + { + "fields":[ + { + "type":"label", + "name":"total", + "label":"Total", + "nb_cols":2, + "id":"total" + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"display_button", + "id":"display_button", + "buttons":[ + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "display_button", + "id_programme", + "indicateur_bureau", + "total" + ] + } + ] + } + }, + "search":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_bureau-form", + "title":"SUIVI_PROD_IMMO_BUREAU_TITLE_SEARCH", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields":[ + { + "type":"select", + "name":"id_programme", + "label":"Opération", + "required":true, + "nb_cols":3, + "id":"id_programme", + "datasource":{ + "datasource_id":"datasource_38", + "sort_order":"ASC", + "distinct":"true", + "label_key":"nom_programme", + "order_by":"nom_programme", + "id_key":"id_programme", + "attributs":"id_programme|nom_programme" + }, + "id_from":"id_programme_from" + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "id_indicateur_bureau", + "label": "Type", + "required": false, + "nb_cols": 7, + "id": "id_indicateur_bureau_3_1", + "id_from": "id_indicateur_bureau_3_1_from", + "datasource": { + "datasource_id": "datasource_2", + "sort_order": "ASC", + "distinct": "true", + "id_key": "id_indicateur_bureau", + "label_key": "indicateur_bureau", + "attributs": "id_indicateur_bureau|indicateur_bureau", + "order_by": "indicateur_bureau" + } + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-xs", + "nb_cols":12, + "name":"search_button", + "id":"search_button", + "buttons":[ + { + "type":"button", + "name":"search", + "label":"FORM_SEARCH_BUTTON", + "class":"btn-primary", + "event":"setGridFilter()" + }, + { + "type":"reset", + "name":"reset", + "label":"FORM_RESET_BUTTON", + "class":"btn-primary", + "event":"resetGridFilter()" + } + ] + } + ] + } + ], + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "search_button", + "id_indicateur_bureau", + "id_programme" + ] + } + ] + } + }, + "insert":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_bureau-form", + "title":"SUIVI_PROD_IMMO_BUREAU_TITLE_INSERT", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "hidden", + "name": "id_programme", + "nb_cols": 12, + "id": "id_programme_2_1" + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "id_indicateur_bureau", + "label": "Type", + "required": true, + "nb_cols": 7, + "id": "id_indicateur_bureau_3_1", + "id_from": "id_indicateur_bureau_3_1_from", + "datasource": { + "datasource_id": "datasource_2", + "sort_order": "ASC", + "distinct": "true", + "id_key": "id_indicateur_bureau", + "label_key": "indicateur_bureau", + "attributs": "id_indicateur_bureau|indicateur_bureau", + "order_by": "indicateur_bureau" + } + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "total", + "label": "Total", + "disabled": false, + "required": false, + "nb_cols": 2, + "id": "total" + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"insert_button", + "id":"insert_button", + "buttons":[ + { + "type":"submit", + "name":"form_submit", + "label":"FORM_CREATE", + "class":"btn-primary" + }, + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "initEvent": "", + "event":"sendSimpleForm()", + "afterEvent":"editSectionForm()", + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "insert_button", + "id_programme", + "id_indicateur_bureau", + "total" + ] + } + ] + } + }, + "update":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_bureau-form", + "title":"SUIVI_PROD_IMMO_BUREAU_TITLE_UPDATE", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "hidden", + "name": "id_bureau", + "nb_cols": 12, + "id": "id_bureau_1_1" + } + ] + }, + { + "fields": [ + { + "type": "hidden", + "name": "id_programme", + "nb_cols": 12, + "id": "id_programme_2_1" + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "id_indicateur_bureau", + "label": "Type", + "required": true, + "nb_cols": 7, + "id": "id_indicateur_bureau_3_1", + "id_from": "id_indicateur_bureau_3_1_from", + "datasource": { + "datasource_id": "datasource_2", + "sort_order": "ASC", + "distinct": "true", + "id_key": "id_indicateur_bureau", + "label_key": "indicateur_bureau", + "attributs": "id_indicateur_bureau|indicateur_bureau", + "order_by": "indicateur_bureau" + } + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "total", + "label": "Total", + "disabled": false, + "required": false, + "nb_cols": 2, + "id": "nb_5_1" + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"update_button", + "id":"update_button", + "buttons":[ + { + "type":"submit", + "name":"form_submit", + "label":"FORM_UPDATE", + "class":"btn-primary" + }, + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "initEvent": "", + "event":"sendSimpleForm()", + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "update_button", + "id_bureau", + "id_programme", + "id_indicateur_bureau", + "total" + ] + } + ] + } + }, + "datasources":{ + "datasource_2": { + "type": "web_service", + "dataType": "tableValue", + "name": "datasource_indicateur_bureau", + "description": "", + "parameters": { + "filter": { + "relation": "AND", + "operators": [] + }, + "database": "suivi_prod_immo", + "schema": "prod_immo", + "table": "indicateur_bureau" + }, + "ressource_id": "vitis/genericquerys", + "id": "datasource_2" + }, + "datasource_38":{ + "type":"web_service", + "dataType":"tableValue", + "name":"programme_immobilier", + "description":"", + "parameters":{ + "schema":"prod_immo", + "table":"programme_immobilier" + }, + "ressource_id":"vitis/genericquerys", + "id":"datasource_38" + } + } +} diff --git a/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_composition_habitat_specifique_cp_composition_habitat_specifique_cp.json b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_composition_habitat_specifique_cp_composition_habitat_specifique_cp.json new file mode 100644 index 00000000..f78b1d61 --- /dev/null +++ b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_composition_habitat_specifique_cp_composition_habitat_specifique_cp.json @@ -0,0 +1,613 @@ +{ + "display":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_composition_habitat_specifique_cp-form", + "title":"SUIVI_PROD_IMMO_COMPOSITION_HABITAT_SPECIFIQUE_CP_TITLE_DISPLAY", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "hidden", + "name": "id_habitat_specifique", + "nb_cols": 12, + "id": "id_habitat_specifique_2_1" + } + ] + }, + { + "fields":[ + { + "type":"label", + "name":"indicateur_habitat_specifique", + "label":"Type", + "nb_cols":12, + "id":"indicateur_habitat_specifique" + } + ] + }, + { + "fields":[ + { + "type":"label", + "name":"residence_etudiant", + "label":"Résidence étudiante", + "nb_cols":3, + "id":"residence_etudiant" + }, + { + "type":"label", + "name":"residence_personne_agee", + "label":"Résidence personnes agées", + "nb_cols":3, + "id":"residence_personne_agee" + }, + { + "type":"label", + "name":"residence_personne_handi", + "label":"Résidence personnes handicapées", + "nb_cols":3, + "id":"residence_personne_handi" + } + ] + }, + { + "fields": [ + { + "type":"label", + "name":"residence_intergenerationnelle", + "label":"Résidence intergénérationnelle", + "nb_cols":3, + "id":"residence_intergenerationnelle" + }, + { + "type":"label", + "name":"residence_sociale", + "label":"Résidence sociale", + "nb_cols":3, + "id":"residence_sociale" + }, + { + "type":"label", + "name":"pension_famille", + "label":"Pension de famille", + "nb_cols":3, + "id":"pension_famille" + }, + { + "type":"label", + "name":"autre", + "label":"Autres (foyers, ...)", + "nb_cols":3, + "id":"autre" + } + ] + }, + { + "fields":[ + { + "type":"label", + "name":"commentaire", + "label":"Commentaire", + "nb_cols":12, + "id":"commentaire" + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"display_button", + "id":"display_button", + "buttons":[ + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "display_button", + "id_habitat_specifique", + "id_indicateur_habitat_specifique", + "residence_etudiant", + "residence_personne_agee", + "residence_personne_handi", + "residence_intergenerationnelle", + "residence_sociale", + "pension_famille", + "autre", + "commentaire" + ] + } + ] + } + }, + "search":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_composition_habitat_specifique_cp-form", + "title":"SUIVI_PROD_IMMO_COMPOSITION_HABITAT_SPECIFIQUE_CP_TITLE_SEARCH", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "hidden", + "name": "id_habitat_specifique", + "nb_cols": 12, + "id": "id_habitat_specifique_2_1" + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "id_indicateur_habitat_specifique", + "label": "Type", + "required": false, + "nb_cols": 7, + "id": "id_indicateur_habitat_specifique_3_1", + "id_from": "id_indicateur_habitat_specifique_3_1_from", + "datasource": { + "datasource_id": "datasource_2", + "sort_order": "ASC", + "distinct": "true", + "id_key": "id_indicateur_habitat_specifique", + "label_key": "indicateur_habitat_specifique", + "attributs": "id_indicateur_habitat_specifique|indicateur_habitat_specifique", + "order_by": "indicateur_habitat_specifique" + } + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-xs", + "nb_cols":12, + "name":"search_button", + "id":"search_button", + "buttons":[ + { + "type":"button", + "name":"search", + "label":"FORM_SEARCH_BUTTON", + "class":"btn-primary", + "event":"setGridFilter()" + }, + { + "type":"reset", + "name":"reset", + "label":"FORM_RESET_BUTTON", + "class":"btn-primary", + "event":"resetGridFilter()" + } + ] + } + ] + } + ], + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "search_button", + "id_indicateur_habitat_specifique", + "id_habitat_specifique" + ] + } + ] + } + }, + "insert":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_composition_habitat_specifique_cp-form", + "title":"SUIVI_PROD_IMMO_COMPOSITION_HABITAT_SPECIFIQUE_CP_TITLE_INSERT", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "hidden", + "name": "id_habitat_specifique", + "nb_cols": 12, + "id": "id_habitat_specifique_2_1" + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "id_indicateur_habitat_specifique", + "label": "Type", + "required": true, + "nb_cols": 7, + "id": "id_indicateur_habitat_specifique_3_1", + "id_from": "id_indicateur_habitat_specifique_3_1_from", + "datasource": { + "datasource_id": "datasource_2", + "sort_order": "ASC", + "distinct": "true", + "id_key": "id_indicateur_habitat_specifique", + "label_key": "indicateur_habitat_specifique", + "attributs": "id_indicateur_habitat_specifique|indicateur_habitat_specifique", + "order_by": "indicateur_habitat_specifique" + } + } + ] + }, + { + "fields": [ + { + "type":"text", + "name":"residence_etudiant", + "label":"Résidence étudiante", + "disabled": false, + "required": false, + "nb_cols":3, + "id":"residence_etudiant" + }, + { + "type":"text", + "name":"residence_personne_agee", + "label":"Résidence personnes agées", + "disabled": false, + "required": false, + "nb_cols":3, + "id":"residence_personne_agee" + }, + { + "type":"text", + "name":"residence_personne_handi", + "label":"Résidence personnes handicapées", + "disabled": false, + "required": false, + "nb_cols":3, + "id":"residence_personne_handi" + } + ] + }, + { + "fields": [ + { + "type":"text", + "name":"residence_intergenerationnelle", + "label":"Résidence intergénérationnelle", + "disabled": false, + "required": false, + "nb_cols":3, + "id":"residence_intergenerationnelle" + }, + { + "type":"text", + "name":"residence_sociale", + "label":"Résidence sociale", + "disabled": false, + "required": false, + "nb_cols":3, + "id":"residence_sociale" + }, + { + "type":"text", + "name":"pension_famille", + "label":"Pension de famille", + "disabled": false, + "required": false, + "nb_cols":3, + "id":"pension_famille" + }, + { + "type":"text", + "name":"autre", + "label":"Autres (foyers, ...)", + "disabled": false, + "required": false, + "nb_cols":3, + "id":"autre" + } + ] + }, + { + "fields": [ + { + "type": "textarea", + "name": "commentaire", + "label": "Commentaire", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "commentaire_5_1" + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"insert_button", + "id":"insert_button", + "buttons":[ + { + "type":"submit", + "name":"form_submit", + "label":"FORM_CREATE", + "class":"btn-primary" + }, + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "initEvent": "", + "event":"sendSimpleForm()", + "afterEvent":"editSectionForm()", + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "insert_button", + "id_habitat_specifique", + "id_indicateur_habitat_specifique", + "residence_etudiant", + "residence_personne_agee", + "residence_personne_handi", + "residence_intergenerationnelle", + "residence_sociale", + "pension_famille", + "autre", + "commentaire" + ] + } + ] + } + }, + "update":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_composition_habitat_specifique_cp-form", + "title":"SUIVI_PROD_IMMO_COMPOSITION_HABITAT_SPECIFIQUE_CP_TITLE_UPDATE", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "hidden", + "name": "id_composition_habitat_specifique", + "nb_cols": 12, + "id": "id_composition_habitat_specifique_1_1" + } + ] + }, + { + "fields": [ + { + "type": "hidden", + "name": "id_habitat_specifique", + "nb_cols": 12, + "id": "id_habitat_specifique_2_1" + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "id_indicateur_habitat_specifique", + "label": "Type", + "required": true, + "nb_cols": 7, + "id": "id_indicateur_habitat_specifique_3_1", + "id_from": "id_indicateur_habitat_specifique_3_1_from", + "datasource": { + "datasource_id": "datasource_2", + "sort_order": "ASC", + "distinct": "true", + "id_key": "id_indicateur_habitat_specifique", + "label_key": "indicateur_habitat_specifique", + "attributs": "id_indicateur_habitat_specifique|indicateur_habitat_specifique", + "order_by": "indicateur_habitat_specifique" + } + } + ] + }, + { + "fields": [ + { + "type":"text", + "name":"residence_etudiant", + "label":"Résidence étudiante", + "disabled": false, + "required": false, + "nb_cols":3, + "id":"residence_etudiant" + }, + { + "type":"text", + "name":"residence_personne_agee", + "label":"Résidence personnes agées", + "disabled": false, + "required": false, + "nb_cols":3, + "id":"residence_personne_agee" + }, + { + "type":"text", + "name":"residence_personne_handi", + "label":"Résidence personnes handicapées", + "disabled": false, + "required": false, + "nb_cols":3, + "id":"residence_personne_handi" + } + ] + }, + { + "fields": [ + { + "type":"text", + "name":"residence_intergenerationnelle", + "label":"Résidence intergénérationnelle", + "disabled": false, + "required": false, + "nb_cols":3, + "id":"residence_intergenerationnelle" + }, + { + "type":"text", + "name":"residence_sociale", + "label":"Résidence sociale", + "disabled": false, + "required": false, + "nb_cols":3, + "id":"residence_sociale" + }, + { + "type":"text", + "name":"pension_famille", + "label":"Pension de famille", + "disabled": false, + "required": false, + "nb_cols":3, + "id":"pension_famille" + }, + { + "type":"text", + "name":"autre", + "label":"Autres (foyers, ...)", + "disabled": false, + "required": false, + "nb_cols":3, + "id":"autre" + } + ] + }, + { + "fields": [ + { + "type": "textarea", + "name": "commentaire", + "label": "Commentaire", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "commentaire_5_1" + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"update_button", + "id":"update_button", + "buttons":[ + { + "type":"submit", + "name":"form_submit", + "label":"FORM_UPDATE", + "class":"btn-primary" + }, + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "initEvent": "", + "event":"sendSimpleForm()", + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "update_button", + "id_composition_habitat_specifique", + "id_habitat_specifique", + "id_indicateur_habitat_specifique", + "residence_etudiant", + "residence_personne_agee", + "residence_personne_handi", + "residence_intergenerationnelle", + "residence_sociale", + "pension_famille", + "autre", + "commentaire" + ] + } + ] + } + }, + "datasources":{ + "datasource_2": { + "type": "web_service", + "dataType": "tableValue", + "name": "datasource_indicateur_habitat_specifique", + "description": "", + "parameters": { + "filter": { + "relation": "AND", + "operators": [] + }, + "database": "suivi_prod_immo", + "schema": "prod_immo", + "table": "indicateur_habitat_specifique" + }, + "ressource_id": "vitis/genericquerys", + "id": "datasource_2" + }, + "datasource_38":{ + "type":"web_service", + "dataType":"tableValue", + "name":"programme_immobilier", + "description":"", + "parameters":{ + "schema":"prod_immo", + "table":"programme_immobilier" + }, + "ressource_id":"vitis/genericquerys", + "id":"datasource_38" + } + } +} diff --git a/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_composition_logement_familliaux_location_cp_composition_logement_familliaux_location_cp.json b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_composition_logement_familliaux_location_cp_composition_logement_familliaux_location_cp.json new file mode 100644 index 00000000..09700da9 --- /dev/null +++ b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_composition_logement_familliaux_location_cp_composition_logement_familliaux_location_cp.json @@ -0,0 +1,561 @@ +{ + "display":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_composition_logement_familliaux_location_cp-form", + "title":"SUIVI_PROD_IMMO_COMPOSITION_LOGEMENT_FAMILLIAUX_LOCATION_CP_TITLE_DISPLAY", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "hidden", + "name": "id_logement_familliaux_location", + "nb_cols": 12, + "id": "id_logement_familliaux_location_2_1" + } + ] + }, + { + "fields":[ + { + "type":"label", + "name":"indicateur_logement_familliaux_location", + "label":"Type", + "nb_cols":12, + "id":"indicateur_logement_familliaux_location" + } + ] + }, + { + "fields":[ + { + "type":"title", + "name":"title_lls", + "label":"Social (LLS)", + "nb_cols":12, + "id":"title_lls" + } + ] + }, + { + "fields":[ + { + "type": "label", + "name": "social_pls", + "label": "PLS", + "nb_cols": 2, + "id": "social_pls" + }, + { + "type": "label", + "name": "social_plus_plai", + "label": "PLUS PLAI", + "nb_cols": 3, + "id": "social_plus_plai" + } + ] + }, + { + "fields":[ + { + "type":"title", + "name":"title_lli", + "label":"Intémerdiaire (LLI)", + "nb_cols":12, + "id":"title_lli" + } + ] + }, + { + "fields":[ + { + "type": "label", + "name": "intermediaire_pli", + "label": "Locatif intémédiaire PLI", + "nb_cols": 4, + "id": "intermediaire_pli" + }, + { + "type":"label", + "name":"intermediaire_afl", + "label":"AFL", + "nb_cols":2, + "id":"intermediaire_afl" + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"display_button", + "id":"display_button", + "buttons":[ + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "display_button", + "id_logement_familliaux_location", + "indicateur_logement_familliaux_location", + "title_lls", + "social_pls", + "social_plus_plai", + "title_lli", + "intermediaire_pli", + "intermediaire_afl" + ] + } + ] + } + }, + "search":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_composition_logement_familliaux_location_cp-form", + "title":"SUIVI_PROD_IMMO_COMPOSITION_LOGEMENT_FAMILLIAUX_LOCATION_CP_TITLE_SEARCH", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "hidden", + "name": "id_logement_familliaux_location", + "nb_cols": 12, + "id": "id_logement_familliaux_location_2_1" + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "id_indicateur_logement_familliaux_location", + "label": "Type", + "required": false, + "nb_cols": 7, + "id": "id_indicateur_logement_familliaux_location_3_1", + "id_from": "id_indicateur_logement_familliaux_location_3_1_from", + "datasource": { + "datasource_id": "datasource_2", + "sort_order": "ASC", + "distinct": "true", + "id_key": "id_indicateur_logement_familliaux_location", + "label_key": "indicateur_logement_familliaux_location", + "attributs": "id_indicateur_logement_familliaux_location|indicateur_logement_familliaux_location", + "order_by": "indicateur_logement_familliaux_location" + } + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-xs", + "nb_cols":12, + "name":"search_button", + "id":"search_button", + "buttons":[ + { + "type":"button", + "name":"search", + "label":"FORM_SEARCH_BUTTON", + "class":"btn-primary", + "event":"setGridFilter()" + }, + { + "type":"reset", + "name":"reset", + "label":"FORM_RESET_BUTTON", + "class":"btn-primary", + "event":"resetGridFilter()" + } + ] + } + ] + } + ], + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "search_button", + "id_indicateur_logement_familliaux_location", + "id_logement_familliaux_location" + ] + } + ] + } + }, + "insert":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_composition_logement_familliaux_location_cp-form", + "title":"SUIVI_PROD_IMMO_COMPOSITION_LOGEMENT_FAMILLIAUX_LOCATION_CP_TITLE_INSERT", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "hidden", + "name": "id_logement_familliaux_location", + "nb_cols": 12, + "id": "id_logement_familliaux_location_2_1" + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "id_indicateur_logement_familliaux_location", + "label": "Type", + "required": true, + "nb_cols": 7, + "id": "id_indicateur_logement_familliaux_location_3_1", + "id_from": "id_indicateur_logement_familliaux_location_3_1_from", + "datasource": { + "datasource_id": "datasource_2", + "sort_order": "ASC", + "distinct": "true", + "id_key": "id_indicateur_logement_familliaux_location", + "label_key": "indicateur_logement_familliaux_location", + "attributs": "id_indicateur_logement_familliaux_location|indicateur_logement_familliaux_location", + "order_by": "indicateur_logement_familliaux_location" + } + } + ] + }, + { + "fields":[ + { + "type":"title", + "name":"title_lls", + "label":"Social (LLS)", + "nb_cols":12, + "id":"title_lls" + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "social_pls", + "label": "PLS", + "disabled": false, + "required": false, + "nb_cols": 2, + "id": "social_pls" + }, + { + "type": "text", + "name": "social_plus_plai", + "label": "PLUS PLAI", + "disabled": false, + "required": false, + "nb_cols": 3, + "id": "social_plus_plai" + } + ] + }, + { + "fields":[ + { + "type":"title", + "name":"title_lli", + "label":"Intémerdiaire (LLI)", + "nb_cols":12, + "id":"title_lli" + } + ] + }, + { + "fields":[ + { + "type": "text", + "name": "intermediaire_pli", + "label": "Locatif intémédiaire PLI", + "disabled": false, + "required": false, + "nb_cols": 4, + "id": "intermediaire_pli" + }, + { + "type":"text", + "name":"intermediaire_afl", + "label":"AFL", + "disabled": false, + "required": false, + "nb_cols":2, + "id":"intermediaire_afl" + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"insert_button", + "id":"insert_button", + "buttons":[ + { + "type":"submit", + "name":"form_submit", + "label":"FORM_CREATE", + "class":"btn-primary" + }, + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "initEvent": "", + "event":"sendSimpleForm()", + "afterEvent":"editSectionForm()", + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "insert_button", + "id_logement_familliaux_location", + "id_indicateur_logement_familliaux_location", + "title_lls", + "social_pls", + "social_plus_plai", + "title_lli", + "intermediaire_pli", + "intermediaire_afl" + ] + } + ] + } + }, + "update":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_composition_logement_familliaux_location_cp-form", + "title":"SUIVI_PROD_IMMO_COMPOSITION_LOGEMENT_FAMILLIAUX_LOCATION_CP_TITLE_UPDATE", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "hidden", + "name": "id_composition_logement_familliaux_location", + "nb_cols": 12, + "id": "id_composition_logement_familliaux_location_1_1" + } + ] + }, + { + "fields": [ + { + "type": "hidden", + "name": "id_logement_familliaux_location", + "nb_cols": 12, + "id": "id_logement_familliaux_location_2_1" + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "id_indicateur_logement_familliaux_location", + "label": "Type", + "required": true, + "nb_cols": 7, + "id": "id_indicateur_logement_familliaux_location_3_1", + "id_from": "id_indicateur_logement_familliaux_location_3_1_from", + "datasource": { + "datasource_id": "datasource_2", + "sort_order": "ASC", + "distinct": "true", + "id_key": "id_indicateur_logement_familliaux_location", + "label_key": "indicateur_logement_familliaux_location", + "attributs": "id_indicateur_logement_familliaux_location|indicateur_logement_familliaux_location", + "order_by": "indicateur_logement_familliaux_location" + } + } + ] + }, + { + "fields":[ + { + "type":"title", + "name":"title_lls", + "label":"Social (LLS)", + "nb_cols":12, + "id":"title_lls" + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "social_pls", + "label": "PLS", + "disabled": false, + "required": false, + "nb_cols": 2, + "id": "social_pls" + }, + { + "type": "text", + "name": "social_plus_plai", + "label": "PLUS PLAI", + "disabled": false, + "required": false, + "nb_cols": 3, + "id": "social_plus_plai" + } + ] + }, + { + "fields":[ + { + "type":"title", + "name":"title_lli", + "label":"Intémerdiaire (LLI)", + "nb_cols":12, + "id":"title_lli" + } + ] + }, + { + "fields":[ + { + "type": "text", + "name": "intermediaire_pli", + "label": "Locatif intémédiaire PLI", + "disabled": false, + "required": false, + "nb_cols": 4, + "id": "intermediaire_pli" + }, + { + "type":"text", + "name":"intermediaire_afl", + "label":"AFL", + "disabled": false, + "required": false, + "nb_cols":2, + "id":"intermediaire_afl" + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"update_button", + "id":"update_button", + "buttons":[ + { + "type":"submit", + "name":"form_submit", + "label":"FORM_UPDATE", + "class":"btn-primary" + }, + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "initEvent": "", + "event":"sendSimpleForm()", + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "update_button", + "id_composition_logement_familliaux_location", + "id_logement_familliaux_location", + "id_indicateur_logement_familliaux_location", + "title_lls", + "social_pls", + "social_plus_plai", + "title_lli", + "intermediaire_pli", + "intermediaire_afl" + ] + } + ] + } + }, + "datasources":{ + "datasource_2": { + "type": "web_service", + "dataType": "tableValue", + "name": "datasource_indicateur_logement_familliaux_location", + "description": "", + "parameters": { + "filter": { + "relation": "AND", + "operators": [] + }, + "database": "suivi_prod_immo", + "schema": "prod_immo", + "table": "indicateur_logement_familliaux_location" + }, + "ressource_id": "vitis/genericquerys", + "id": "datasource_2" + }, + "datasource_38":{ + "type":"web_service", + "dataType":"tableValue", + "name":"programme_immobilier", + "description":"", + "parameters":{ + "schema":"prod_immo", + "table":"programme_immobilier" + }, + "ressource_id":"vitis/genericquerys", + "id":"datasource_38" + } + } +} diff --git a/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_equipement_structure_equipement_structure.json b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_equipement_structure_equipement_structure.json new file mode 100644 index 00000000..6b02be48 --- /dev/null +++ b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_equipement_structure_equipement_structure.json @@ -0,0 +1,445 @@ +{ + "display":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_equipement_structure-form", + "title":"SUIVI_PROD_IMMO_STATIONNEMENT_TITLE_DISPLAY", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "hidden", + "name": "id_programme", + "nb_cols": 12, + "id": "id_programme_2_1" + } + ] + }, + { + "fields":[ + { + "type":"label", + "name":"indicateur_equipement_structure", + "label":"Type", + "nb_cols":12, + "id":"indicateur_equipement_structure" + } + ] + }, + { + "fields":[ + { + "type":"label", + "name":"sdp", + "label":"SdP (m²)", + "nb_cols":2, + "id":"sdp" + } + ] + }, + { + "fields":[ + { + "type":"label", + "name":"commentaire", + "label":"Commentaire", + "nb_cols":12, + "id":"commentaire" + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"display_button", + "id":"display_button", + "buttons":[ + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "display_button", + "id_programme", + "indicateur_equipement_structure", + "sdp", + "commentaire" + ] + } + ] + } + }, + "search":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_equipement_structure-form", + "title":"SUIVI_PROD_IMMO_STATIONNEMENT_TITLE_SEARCH", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields":[ + { + "type":"select", + "name":"id_programme", + "label":"Opération", + "required":true, + "nb_cols":3, + "id":"id_programme", + "datasource":{ + "datasource_id":"datasource_38", + "sort_order":"ASC", + "distinct":"true", + "label_key":"nom_programme", + "order_by":"nom_programme", + "id_key":"id_programme", + "attributs":"id_programme|nom_programme" + }, + "id_from":"id_programme_from" + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "id_indicateur_equipement_structure", + "label": "Type", + "required": false, + "nb_cols": 7, + "id": "id_indicateur_equipement_structure_3_1", + "id_from": "id_indicateur_equipement_structure_3_1_from", + "datasource": { + "datasource_id": "datasource_2", + "sort_order": "ASC", + "distinct": "true", + "id_key": "id_indicateur_equipement_structure", + "label_key": "indicateur_equipement_structure", + "attributs": "id_indicateur_equipement_structure|indicateur_equipement_structure", + "order_by": "indicateur_equipement_structure" + } + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-xs", + "nb_cols":12, + "name":"search_button", + "id":"search_button", + "buttons":[ + { + "type":"button", + "name":"search", + "label":"FORM_SEARCH_BUTTON", + "class":"btn-primary", + "event":"setGridFilter()" + }, + { + "type":"reset", + "name":"reset", + "label":"FORM_RESET_BUTTON", + "class":"btn-primary", + "event":"resetGridFilter()" + } + ] + } + ] + } + ], + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "search_button", + "id_indicateur_equipement_structure", + "id_programme" + ] + } + ] + } + }, + "insert":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_equipement_structure-form", + "title":"SUIVI_PROD_IMMO_STATIONNEMENT_TITLE_INSERT", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "hidden", + "name": "id_programme", + "nb_cols": 12, + "id": "id_programme_2_1" + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "id_indicateur_equipement_structure", + "label": "Type", + "required": true, + "nb_cols": 7, + "id": "id_indicateur_equipement_structure_3_1", + "id_from": "id_indicateur_equipement_structure_3_1_from", + "datasource": { + "datasource_id": "datasource_2", + "sort_order": "ASC", + "distinct": "true", + "id_key": "id_indicateur_equipement_structure", + "label_key": "indicateur_equipement_structure", + "attributs": "id_indicateur_equipement_structure|indicateur_equipement_structure", + "order_by": "indicateur_equipement_structure" + } + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "sdp", + "label": "SdP (m²)", + "disabled": false, + "required": false, + "nb_cols": 2, + "id": "sdp" + } + ] + }, + { + "fields": [ + { + "type": "textarea", + "name": "commentaire", + "label": "Commentaire", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "commentaire_5_1" + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"insert_button", + "id":"insert_button", + "buttons":[ + { + "type":"submit", + "name":"form_submit", + "label":"FORM_CREATE", + "class":"btn-primary" + }, + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "initEvent": "", + "event":"sendSimpleForm()", + "afterEvent":"editSectionForm()", + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "insert_button", + "id_programme", + "id_indicateur_equipement_structure", + "sdp", + "commentaire" + ] + } + ] + } + }, + "update":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_equipement_structure-form", + "title":"SUIVI_PROD_IMMO_STATIONNEMENT_TITLE_UPDATE", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "hidden", + "name": "id_equipement_structure", + "nb_cols": 12, + "id": "id_equipement_structure_1_1" + } + ] + }, + { + "fields": [ + { + "type": "hidden", + "name": "id_programme", + "nb_cols": 12, + "id": "id_programme_2_1" + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "id_indicateur_equipement_structure", + "label": "Type", + "required": true, + "nb_cols": 7, + "id": "id_indicateur_equipement_structure_3_1", + "id_from": "id_indicateur_equipement_structure_3_1_from", + "datasource": { + "datasource_id": "datasource_2", + "sort_order": "ASC", + "distinct": "true", + "id_key": "id_indicateur_equipement_structure", + "label_key": "indicateur_equipement_structure", + "attributs": "id_indicateur_equipement_structure|indicateur_equipement_structure", + "order_by": "indicateur_equipement_structure" + } + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "sdp", + "label": "SdP (m²)", + "disabled": false, + "required": false, + "nb_cols": 2, + "id": "sdp" + } + ] + }, + { + "fields": [ + { + "type": "textarea", + "name": "commentaire", + "label": "Commentaire", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "commentaire_5_1" + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"update_button", + "id":"update_button", + "buttons":[ + { + "type":"submit", + "name":"form_submit", + "label":"FORM_UPDATE", + "class":"btn-primary" + }, + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "initEvent": "", + "event":"sendSimpleForm()", + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "update_button", + "id_equipement_structure", + "id_programme", + "id_indicateur_equipement_structure", + "sdp", + "commentaire" + ] + } + ] + } + }, + "datasources":{ + "datasource_2": { + "type": "web_service", + "dataType": "tableValue", + "name": "datasource_indicateur_equipement_structure", + "description": "", + "parameters": { + "filter": { + "relation": "AND", + "operators": [] + }, + "database": "suivi_prod_immo", + "schema": "prod_immo", + "table": "indicateur_equipement_structure" + }, + "ressource_id": "vitis/genericquerys", + "id": "datasource_2" + }, + "datasource_38":{ + "type":"web_service", + "dataType":"tableValue", + "name":"programme_immobilier", + "description":"", + "parameters":{ + "schema":"prod_immo", + "table":"programme_immobilier" + }, + "ressource_id":"vitis/genericquerys", + "id":"datasource_38" + } + } +} diff --git a/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_granulometrie_granulometrie.json b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_granulometrie_granulometrie.json new file mode 100644 index 00000000..c62cd6e8 --- /dev/null +++ b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_granulometrie_granulometrie.json @@ -0,0 +1,503 @@ +{ + "display":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_granulometrie-form", + "title":"SUIVI_PROD_IMMO_GRANULOMETRIE_TITLE_DISPLAY", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "hidden", + "name": "id_programme", + "nb_cols": 12, + "id": "id_programme_2_1" + } + ] + }, + { + "fields":[ + { + "type":"label", + "name":"composition_programme", + "label":"Composition", + "nb_cols":12, + "id":"composition_programme" + } + ] + }, + { + "fields":[ + { + "type":"label", + "name":"valeur", + "label":"Valeur", + "nb_cols":6, + "id":"valeur" + } + ] + }, + { + "fields":[ + { + "type":"label", + "name":"type_granulometrie", + "label":"Type", + "nb_cols":12, + "id":"type_granulometrie" + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"display_button", + "id":"display_button", + "buttons":[ + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "display_button", + "id_programme", + "composition_programme", + "valeur", + "type_granulometrie" + ] + } + ] + } + }, + "search":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_granulometrie-form", + "title":"SUIVI_PROD_IMMO_GRANULOMETRIE_TITLE_SEARCH", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields":[ + { + "type":"select", + "name":"id_programme", + "label":"Opération", + "required":true, + "nb_cols":3, + "id":"id_programme", + "datasource":{ + "datasource_id":"datasource_38", + "sort_order":"ASC", + "distinct":"true", + "label_key":"nom_programme", + "order_by":"nom_programme", + "id_key":"id_programme", + "attributs":"id_programme|nom_programme" + }, + "id_from":"id_programme_from" + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "code_composition_programme", + "label": "Composition", + "required": false, + "nb_cols": 7, + "id": "Element_0_1586248310338", + "id_from": "Element_0_1586248310338_from", + "datasource": { + "datasource_id": "datasource_1", + "sort_order": "ASC", + "distinct": "true", + "id_key": "code_composition_programme", + "label_key": "composition_programme", + "attributs": "code_composition_programme|composition_programme", + "order_by": "composition_programme" + } + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "code_type_granulometrie", + "label": "Type", + "required": false, + "nb_cols": 7, + "id": "code_type_granulometrie_3_1", + "id_from": "code_type_granulometrie_3_1_from", + "datasource": { + "datasource_id": "datasource_2", + "sort_order": "ASC", + "distinct": "true", + "id_key": "code_type_granulometrie", + "label_key": "type_granulometrie", + "attributs": "code_type_granulometrie|type_granulometrie", + "order_by": "type_granulometrie" + } + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-xs", + "nb_cols":12, + "name":"search_button", + "id":"search_button", + "buttons":[ + { + "type":"button", + "name":"search", + "label":"FORM_SEARCH_BUTTON", + "class":"btn-primary", + "event":"setGridFilter()" + }, + { + "type":"reset", + "name":"reset", + "label":"FORM_RESET_BUTTON", + "class":"btn-primary", + "event":"resetGridFilter()" + } + ] + } + ] + } + ], + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "search_button", + "code_composition_programme", + "code_type_granulometrie", + "id_programme" + ] + } + ] + } + }, + "insert":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_granulometrie-form", + "title":"SUIVI_PROD_IMMO_GRANULOMETRIE_TITLE_INSERT", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "hidden", + "name": "id_programme", + "nb_cols": 12, + "id": "id_programme_2_1" + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "code_composition_programme", + "label": "Composition", + "required": true, + "nb_cols": 7, + "id": "Element_0_1586248310338", + "id_from": "Element_0_1586248310338_from", + "datasource": { + "datasource_id": "datasource_1", + "sort_order": "ASC", + "distinct": "true", + "id_key": "code_composition_programme", + "label_key": "composition_programme", + "attributs": "code_composition_programme|composition_programme", + "order_by": "composition_programme" + } + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "valeur", + "label": "Valeur", + "disabled": false, + "required": false, + "nb_cols": 2, + "id": "valeur_5_1" + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "code_type_granulometrie", + "label": "Type", + "required": true, + "nb_cols": 7, + "id": "code_type_granulometrie_3_1", + "id_from": "code_type_granulometrie_3_1_from", + "datasource": { + "datasource_id": "datasource_2", + "sort_order": "ASC", + "distinct": "true", + "id_key": "code_type_granulometrie", + "label_key": "type_granulometrie", + "attributs": "code_type_granulometrie|type_granulometrie", + "order_by": "type_granulometrie" + } + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"insert_button", + "id":"insert_button", + "buttons":[ + { + "type":"submit", + "name":"form_submit", + "label":"FORM_CREATE", + "class":"btn-primary" + }, + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "initEvent": "", + "event":"sendSimpleForm()", + "afterEvent":"editSectionForm()", + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "insert_button", + "id_programme", + "code_type_granulometrie", + "valeur", + "code_composition_programme" + ] + } + ] + } + }, + "update":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_granulometrie-form", + "title":"SUIVI_PROD_IMMO_GRANULOMETRIE_TITLE_UPDATE", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "hidden", + "name": "id_granulometrie", + "nb_cols": 12, + "id": "id_granulometrie_1_1" + } + ] + }, + { + "fields": [ + { + "type": "hidden", + "name": "id_programme", + "nb_cols": 12, + "id": "id_programme_2_1" + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "code_composition_programme", + "label": "Type", + "required": true, + "nb_cols": 7, + "id": "Element_0_1586248310338", + "id_from": "Element_0_1586248310338_from", + "datasource": { + "datasource_id": "datasource_1", + "sort_order": "ASC", + "distinct": "true", + "id_key": "code_composition_programme", + "label_key": "composition_programme", + "attributs": "code_composition_programme|composition_programme", + "order_by": "composition_programme" + } + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "valeur", + "label": "Valeur", + "disabled": false, + "required": false, + "nb_cols": 2, + "id": "valeur_5_1" + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "code_type_granulometrie", + "label": "Type", + "required": true, + "nb_cols": 7, + "id": "code_type_granulometrie_3_1", + "id_from": "code_type_granulometrie_3_1_from", + "datasource": { + "datasource_id": "datasource_2", + "sort_order": "ASC", + "distinct": "true", + "id_key": "code_type_granulometrie", + "label_key": "type_granulometrie", + "attributs": "code_type_granulometrie|type_granulometrie", + "order_by": "type_granulometrie" + } + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"update_button", + "id":"update_button", + "buttons":[ + { + "type":"submit", + "name":"form_submit", + "label":"FORM_UPDATE", + "class":"btn-primary" + }, + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "initEvent": "", + "event":"sendSimpleForm()", + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "update_button", + "id_granulometrie", + "id_programme", + "code_type_granulometrie", + "valeur", + "code_composition_programme" + ] + } + ] + } + }, + "datasources":{ + "datasource_1": { + "type": "web_service", + "dataType": "tableValue", + "name": "datasource_composition_programme", + "description": "", + "parameters": { + "filter": { + "relation": "AND", + "operators": [] + }, + "database": "suivi_prod_immo", + "schema": "prod_immo", + "table": "composition_programme" + }, + "ressource_id": "vitis/genericquerys", + "id": "datasource_1" + }, + "datasource_2": { + "type": "web_service", + "dataType": "tableValue", + "name": "datasource_type_granulometrie", + "description": "", + "parameters": { + "filter": { + "relation": "AND", + "operators": [] + }, + "database": "suivi_prod_immo", + "schema": "prod_immo", + "table": "type_granulometrie" + }, + "ressource_id": "vitis/genericquerys", + "id": "datasource_2" + }, + "datasource_38":{ + "type":"web_service", + "dataType":"tableValue", + "name":"programme_immobilier", + "description":"", + "parameters":{ + "schema":"prod_immo", + "table":"programme_immobilier" + }, + "ressource_id":"vitis/genericquerys", + "id":"datasource_38" + } + } +} diff --git a/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_hotel_commerce_service_hotel_commerce_service.json b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_hotel_commerce_service_hotel_commerce_service.json new file mode 100644 index 00000000..42a4b70b --- /dev/null +++ b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_hotel_commerce_service_hotel_commerce_service.json @@ -0,0 +1,529 @@ +{ + "display":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_hotel_commerce_service-form", + "title":"SUIVI_PROD_IMMO_HOTEL_COMMERCE_SERVICE_TITLE_DISPLAY", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "hidden", + "name": "id_programme", + "nb_cols": 12, + "id": "id_programme_2_1" + } + ] + }, + { + "fields":[ + { + "type":"label", + "name":"indicateur_hotel_commerce_service", + "label":"Type", + "nb_cols":12, + "id":"indicateur_hotel_commerce_service" + } + ] + }, + { + "fields":[ + { + "type":"label", + "name":"commerce", + "label":"Commerces", + "nb_cols":3, + "id":"commerce" + }, + { + "type":"label", + "name":"loisir_marchand", + "label":"Loisirs (marchands)", + "nb_cols":3, + "id":"loisir_marchand" + }, + { + "type":"label", + "name":"service_act_artisanale", + "label":"Services / Act. artisanale", + "nb_cols":3, + "id":"service_act_artisanale" + }, + { + "type":"label", + "name":"hotel", + "label":"Hotels", + "nb_cols":3, + "id":"hotel" + } + ] + }, + { + "fields":[ + { + "type":"label", + "name":"commentaire", + "label":"Commentaire", + "nb_cols":12, + "id":"commentaire" + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"display_button", + "id":"display_button", + "buttons":[ + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "display_button", + "id_programme", + "indicateur_hotel_commerce_service", + "commerce", + "loisir_marchand", + "service_act_artisanale", + "hotel", + "commentaire" + ] + } + ] + } + }, + "search":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_hotel_commerce_service-form", + "title":"SUIVI_PROD_IMMO_HOTEL_COMMERCE_SERVICE_TITLE_SEARCH", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields":[ + { + "type":"select", + "name":"id_programme", + "label":"Opération", + "required":true, + "nb_cols":3, + "id":"id_programme", + "datasource":{ + "datasource_id":"datasource_38", + "sort_order":"ASC", + "distinct":"true", + "label_key":"nom_programme", + "order_by":"nom_programme", + "id_key":"id_programme", + "attributs":"id_programme|nom_programme" + }, + "id_from":"id_programme_from" + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "id_indicateur_hotel_commerce_service", + "label": "Type", + "required": false, + "nb_cols": 7, + "id": "id_indicateur_hotel_commerce_service_3_1", + "id_from": "id_indicateur_hotel_commerce_service_3_1_from", + "datasource": { + "datasource_id": "datasource_2", + "sort_order": "ASC", + "distinct": "true", + "id_key": "id_indicateur_hotel_commerce_service", + "label_key": "indicateur_hotel_commerce_service", + "attributs": "id_indicateur_hotel_commerce_service|indicateur_hotel_commerce_service", + "order_by": "indicateur_hotel_commerce_service" + } + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-xs", + "nb_cols":12, + "name":"search_button", + "id":"search_button", + "buttons":[ + { + "type":"button", + "name":"search", + "label":"FORM_SEARCH_BUTTON", + "class":"btn-primary", + "event":"setGridFilter()" + }, + { + "type":"reset", + "name":"reset", + "label":"FORM_RESET_BUTTON", + "class":"btn-primary", + "event":"resetGridFilter()" + } + ] + } + ] + } + ], + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "search_button", + "id_indicateur_hotel_commerce_service", + "id_programme" + ] + } + ] + } + }, + "insert":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_hotel_commerce_service-form", + "title":"SUIVI_PROD_IMMO_HOTEL_COMMERCE_SERVICE_TITLE_INSERT", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "hidden", + "name": "id_programme", + "nb_cols": 12, + "id": "id_programme_2_1" + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "id_indicateur_hotel_commerce_service", + "label": "Type", + "required": true, + "nb_cols": 7, + "id": "id_indicateur_hotel_commerce_service_3_1", + "id_from": "id_indicateur_hotel_commerce_service_3_1_from", + "datasource": { + "datasource_id": "datasource_2", + "sort_order": "ASC", + "distinct": "true", + "id_key": "id_indicateur_hotel_commerce_service", + "label_key": "indicateur_hotel_commerce_service", + "attributs": "id_indicateur_hotel_commerce_service|indicateur_hotel_commerce_service", + "order_by": "indicateur_hotel_commerce_service" + } + } + ] + }, + { + "fields": [ + { + "type":"text", + "name":"commerce", + "label":"Commerces", + "disabled": false, + "required": false, + "nb_cols":3, + "id":"commerce" + }, + { + "type":"text", + "name":"loisir_marchand", + "label":"Loisirs (marchands)", + "disabled": false, + "required": false, + "nb_cols":3, + "id":"loisir_marchand" + }, + { + "type":"text", + "name":"service_act_artisanale", + "label":"Services / Act. artisanale", + "disabled": false, + "required": false, + "nb_cols":3, + "id":"service_act_artisanale" + }, + { + "type":"text", + "name":"hotel", + "label":"Hotels", + "disabled": false, + "required": false, + "nb_cols":3, + "id":"hotel" + } + ] + }, + { + "fields": [ + { + "type": "textarea", + "name": "commentaire", + "label": "Commentaire", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "commentaire_5_1" + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"insert_button", + "id":"insert_button", + "buttons":[ + { + "type":"submit", + "name":"form_submit", + "label":"FORM_CREATE", + "class":"btn-primary" + }, + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "initEvent": "", + "event":"sendSimpleForm()", + "afterEvent":"editSectionForm()", + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "insert_button", + "id_programme", + "id_indicateur_hotel_commerce_service", + "commerce", + "loisir_marchand", + "service_act_artisanale", + "hotel", + "commentaire" + ] + } + ] + } + }, + "update":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_hotel_commerce_service-form", + "title":"SUIVI_PROD_IMMO_HOTEL_COMMERCE_SERVICE_TITLE_UPDATE", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "hidden", + "name": "id_hotel_commerce_service", + "nb_cols": 12, + "id": "id_hotel_commerce_service_1_1" + } + ] + }, + { + "fields": [ + { + "type": "hidden", + "name": "id_programme", + "nb_cols": 12, + "id": "id_programme_2_1" + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "id_indicateur_hotel_commerce_service", + "label": "Type", + "required": true, + "nb_cols": 7, + "id": "id_indicateur_hotel_commerce_service_3_1", + "id_from": "id_indicateur_hotel_commerce_service_3_1_from", + "datasource": { + "datasource_id": "datasource_2", + "sort_order": "ASC", + "distinct": "true", + "id_key": "id_indicateur_hotel_commerce_service", + "label_key": "indicateur_hotel_commerce_service", + "attributs": "id_indicateur_hotel_commerce_service|indicateur_hotel_commerce_service", + "order_by": "indicateur_hotel_commerce_service" + } + } + ] + }, + { + "fields": [ + { + "type":"text", + "name":"commerce", + "label":"Commerces", + "disabled": false, + "required": false, + "nb_cols":3, + "id":"commerce" + }, + { + "type":"text", + "name":"loisir_marchand", + "label":"Loisirs (marchands)", + "disabled": false, + "required": false, + "nb_cols":3, + "id":"loisir_marchand" + }, + { + "type":"text", + "name":"service_act_artisanale", + "label":"Services / Act. artisanale", + "disabled": false, + "required": false, + "nb_cols":3, + "id":"service_act_artisanale" + }, + { + "type":"text", + "name":"hotel", + "label":"Hotels", + "disabled": false, + "required": false, + "nb_cols":3, + "id":"hotel" + } + ] + }, + { + "fields": [ + { + "type": "textarea", + "name": "commentaire", + "label": "Commentaire", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "commentaire_5_1" + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"update_button", + "id":"update_button", + "buttons":[ + { + "type":"submit", + "name":"form_submit", + "label":"FORM_UPDATE", + "class":"btn-primary" + }, + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "initEvent": "", + "event":"sendSimpleForm()", + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "update_button", + "id_hotel_commerce_service", + "id_programme", + "id_indicateur_hotel_commerce_service", + "commerce", + "loisir_marchand", + "service_act_artisanale", + "hotel", + "commentaire" + ] + } + ] + } + }, + "datasources":{ + "datasource_2": { + "type": "web_service", + "dataType": "tableValue", + "name": "datasource_indicateur_hotel_commerce_service", + "description": "", + "parameters": { + "filter": { + "relation": "AND", + "operators": [] + }, + "database": "suivi_prod_immo", + "schema": "prod_immo", + "table": "indicateur_hotel_commerce_service" + }, + "ressource_id": "vitis/genericquerys", + "id": "datasource_2" + }, + "datasource_38":{ + "type":"web_service", + "dataType":"tableValue", + "name":"programme_immobilier", + "description":"", + "parameters":{ + "schema":"prod_immo", + "table":"programme_immobilier" + }, + "ressource_id":"vitis/genericquerys", + "id":"datasource_38" + } + } +} diff --git a/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_logement_familliaux_accession_logement_familliaux_accession.json b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_logement_familliaux_accession_logement_familliaux_accession.json new file mode 100644 index 00000000..782a142e --- /dev/null +++ b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_logement_familliaux_accession_logement_familliaux_accession.json @@ -0,0 +1,518 @@ +{ + "display":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_logement_familliaux_accession-form", + "title":"SUIVI_PROD_IMMO_LOGEMENT_FAMILLIAUX_ACCESSION_TITLE_DISPLAY", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "hidden", + "name": "id_programme", + "nb_cols": 12, + "id": "id_programme_2_1" + } + ] + }, + { + "fields":[ + { + "type":"label", + "name":"indicateur_logement_familliaux_accession", + "label":"Type", + "nb_cols":12, + "id":"indicateur_logement_familliaux_accession" + } + ] + }, + { + "fields":[ + { + "type":"label", + "name":"accession_libre", + "label":"Accession libre", + "nb_cols":2, + "id":"accession_libre" + }, + { + "type":"label", + "name": "accession_abordable", + "label": "Accession abordable", + "nb_cols": 2, + "id": "accession_abordable_5_1" + }, + { + "type":"label", + "name": "accession_sociale_securise", + "label": "Accession sociale (sécurisée)", + "nb_cols": 3, + "id": "accession_sociale_securise_5_1" + }, + { + "type":"label", + "name": "psla", + "label": "PSLA", + "nb_cols": 2, + "id": "psla_5_1" + }, + { + "type":"label", + "name": "brs", + "label": "Bail Réel Solidaire", + "nb_cols": 2, + "id": "brs_5_1" + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"display_button", + "id":"display_button", + "buttons":[ + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "display_button", + "id_programme", + "accession_libre", + "accession_abordable", + "accession_sociale_securise", + "psla", + "brs", + "indicateur_logement_familliaux_accession" + ] + } + ] + } + }, + "search":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_logement_familliaux_accession-form", + "title":"SUIVI_PROD_IMMO_LOGEMENT_FAMILLIAUX_ACCESSION_TITLE_SEARCH", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields":[ + { + "type":"select", + "name":"id_programme", + "label":"Opération", + "required":true, + "nb_cols":3, + "id":"id_programme", + "datasource":{ + "datasource_id":"datasource_38", + "sort_order":"ASC", + "distinct":"true", + "label_key":"nom_programme", + "order_by":"nom_programme", + "id_key":"id_programme", + "attributs":"id_programme|nom_programme" + }, + "id_from":"id_programme_from" + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "id_indicateur_logement_familliaux_accession", + "label": "Type", + "required": false, + "nb_cols": 7, + "id": "id_indicateur_logement_familliaux_accession_3_1", + "id_from": "id_indicateur_logement_familliaux_accession_3_1_from", + "datasource": { + "datasource_id": "datasource_2", + "sort_order": "ASC", + "distinct": "true", + "id_key": "id_indicateur_logement_familliaux_accession", + "label_key": "indicateur_logement_familliaux_accession", + "attributs": "id_indicateur_logement_familliaux_accession|indicateur_logement_familliaux_accession", + "order_by": "indicateur_logement_familliaux_accession" + } + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-xs", + "nb_cols":12, + "name":"search_button", + "id":"search_button", + "buttons":[ + { + "type":"button", + "name":"search", + "label":"FORM_SEARCH_BUTTON", + "class":"btn-primary", + "event":"setGridFilter()" + }, + { + "type":"reset", + "name":"reset", + "label":"FORM_RESET_BUTTON", + "class":"btn-primary", + "event":"resetGridFilter()" + } + ] + } + ] + } + ], + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "search_button", + "code_composition_programme", + "id_indicateur_logement_familliaux_accession", + "id_programme" + ] + } + ] + } + }, + "insert":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_logement_familliaux_accession-form", + "title":"SUIVI_PROD_IMMO_LOGEMENT_FAMILLIAUX_ACCESSION_TITLE_INSERT", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "hidden", + "name": "id_programme", + "nb_cols": 12, + "id": "id_programme_2_1" + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "id_indicateur_logement_familliaux_accession", + "label": "Type", + "required": true, + "nb_cols": 7, + "id": "id_indicateur_logement_familliaux_accession_3_1", + "id_from": "id_indicateur_logement_familliaux_accession_3_1_from", + "datasource": { + "datasource_id": "datasource_2", + "sort_order": "ASC", + "distinct": "true", + "id_key": "id_indicateur_logement_familliaux_accession", + "label_key": "indicateur_logement_familliaux_accession", + "attributs": "id_indicateur_logement_familliaux_accession|indicateur_logement_familliaux_accession", + "order_by": "indicateur_logement_familliaux_accession" + } + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "accession_libre", + "label": "Accession libre", + "disabled": false, + "required": false, + "nb_cols": 2, + "id": "accession_libre_5_1" + }, + { + "type": "text", + "name": "accession_abordable", + "label": "Accession abordable", + "disabled": false, + "required": false, + "nb_cols": 2, + "id": "accession_abordable_5_1" + }, + { + "type": "text", + "name": "accession_sociale_securise", + "label": "Accession sociale (sécurisée)", + "disabled": false, + "required": false, + "nb_cols": 3, + "id": "accession_sociale_securise_5_1" + }, + { + "type": "text", + "name": "psla", + "label": "PSLA", + "disabled": false, + "required": false, + "nb_cols": 2, + "id": "psla_5_1" + }, + { + "type": "text", + "name": "brs", + "label": "Bail Réel Solidaire", + "disabled": false, + "required": false, + "nb_cols": 2, + "id": "brs_5_1" + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"insert_button", + "id":"insert_button", + "buttons":[ + { + "type":"submit", + "name":"form_submit", + "label":"FORM_CREATE", + "class":"btn-primary" + }, + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "initEvent": "", + "event":"sendSimpleForm()", + "afterEvent":"editSectionForm()", + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "insert_button", + "id_programme", + "id_indicateur_logement_familliaux_accession", + "accession_libre", + "accession_abordable", + "accession_sociale_securise", + "psla", + "brs" + ] + } + ] + } + }, + "update":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_logement_familliaux_accession-form", + "title":"SUIVI_PROD_IMMO_LOGEMENT_FAMILLIAUX_ACCESSION_TITLE_UPDATE", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "hidden", + "name": "id_logement_familliaux_accession", + "nb_cols": 12, + "id": "id_logement_familliaux_accession_1_1" + } + ] + }, + { + "fields": [ + { + "type": "hidden", + "name": "id_programme", + "nb_cols": 12, + "id": "id_programme_2_1" + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "id_indicateur_logement_familliaux_accession", + "label": "Type", + "required": true, + "nb_cols": 7, + "id": "id_indicateur_logement_familliaux_accession_3_1", + "id_from": "id_indicateur_logement_familliaux_accession_3_1_from", + "datasource": { + "datasource_id": "datasource_2", + "sort_order": "ASC", + "distinct": "true", + "id_key": "id_indicateur_logement_familliaux_accession", + "label_key": "indicateur_logement_familliaux_accession", + "attributs": "id_indicateur_logement_familliaux_accession|indicateur_logement_familliaux_accession", + "order_by": "indicateur_logement_familliaux_accession" + } + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "accession_libre", + "label": "Accession libre", + "disabled": false, + "required": false, + "nb_cols": 2, + "id": "accession_libre_5_1" + }, + { + "type": "text", + "name": "accession_abordable", + "label": "Accession abordable", + "disabled": false, + "required": false, + "nb_cols": 2, + "id": "accession_abordable_5_1" + }, + { + "type": "text", + "name": "accession_sociale_securise", + "label": "Accession sociale (sécurisée)", + "disabled": false, + "required": false, + "nb_cols": 3, + "id": "accession_sociale_securise_5_1" + }, + { + "type": "text", + "name": "psla", + "label": "PSLA", + "disabled": false, + "required": false, + "nb_cols": 2, + "id": "psla_5_1" + }, + { + "type": "text", + "name": "brs", + "label": "Bail Réel Solidaire", + "disabled": false, + "required": false, + "nb_cols": 2, + "id": "brs_5_1" + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"update_button", + "id":"update_button", + "buttons":[ + { + "type":"submit", + "name":"form_submit", + "label":"FORM_UPDATE", + "class":"btn-primary" + }, + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "initEvent": "", + "event":"sendSimpleForm()", + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "update_button", + "id_logement_familliaux_accession", + "id_programme", + "id_indicateur_logement_familliaux_accession", + "accession_libre", + "accession_abordable", + "accession_sociale_securise", + "psla", + "brs" + ] + } + ] + } + }, + "datasources":{ + "datasource_2": { + "type": "web_service", + "dataType": "tableValue", + "name": "datasource_indicateur_logement_familliaux_accession", + "description": "", + "parameters": { + "filter": { + "relation": "AND", + "operators": [] + }, + "database": "suivi_prod_immo", + "schema": "prod_immo", + "table": "indicateur_logement_familliaux_accession" + }, + "ressource_id": "vitis/genericquerys", + "id": "datasource_2" + }, + "datasource_38":{ + "type":"web_service", + "dataType":"tableValue", + "name":"programme_immobilier", + "description":"", + "parameters":{ + "schema":"prod_immo", + "table":"programme_immobilier" + }, + "ressource_id":"vitis/genericquerys", + "id":"datasource_38" + } + } +} diff --git a/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_profil_acheteur_accession_libre_profil_acheteur_accession_libre.json b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_profil_acheteur_accession_libre_profil_acheteur_accession_libre.json new file mode 100644 index 00000000..6653bd35 --- /dev/null +++ b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_profil_acheteur_accession_libre_profil_acheteur_accession_libre.json @@ -0,0 +1,473 @@ +{ + "display":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_profil_acheteur_accession_libre-form", + "title":"SUIVI_PROD_IMMO_PROFIL_ACHETEUR_ACCESSION_LIBRE_TITLE_DISPLAY", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "hidden", + "name": "id_programme", + "nb_cols": 12, + "id": "id_programme_2_1" + } + ] + }, + { + "fields":[ + { + "type":"label", + "name":"type_acheteur_accession_libre", + "label":"Type", + "nb_cols":12, + "id":"type_acheteur_accession_libre" + } + ] + }, + { + "fields":[ + { + "type":"label", + "name":"nb", + "label":"Nombre", + "nb_cols":2, + "id":"nb" + }, + { + "type":"label", + "name":"pourc", + "label":"Pourcentage", + "nb_cols":2, + "id":"pourc" + } + ] + }, + { + "fields":[ + { + "type":"label", + "name":"commentaire", + "label":"Commentaire", + "nb_cols":12, + "id":"commentaire" + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"display_button", + "id":"display_button", + "buttons":[ + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "display_button", + "id_programme", + "pourc", + "commentaire", + "nb", + "type_acheteur_accession_libre" + ] + } + ] + } + }, + "search":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_profil_acheteur_accession_libre-form", + "title":"SUIVI_PROD_IMMO_PROFIL_ACHETEUR_ACCESSION_LIBRE_TITLE_SEARCH", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields":[ + { + "type":"select", + "name":"id_programme", + "label":"Opération", + "required":true, + "nb_cols":3, + "id":"id_programme", + "datasource":{ + "datasource_id":"datasource_38", + "sort_order":"ASC", + "distinct":"true", + "label_key":"nom_programme", + "order_by":"nom_programme", + "id_key":"id_programme", + "attributs":"id_programme|nom_programme" + }, + "id_from":"id_programme_from" + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "id_type_acheteur_accession_libre", + "label": "Type", + "required": false, + "nb_cols": 7, + "id": "id_type_acheteur_accession_libre_3_1", + "id_from": "id_type_acheteur_accession_libre_3_1_from", + "datasource": { + "datasource_id": "datasource_2", + "sort_order": "ASC", + "distinct": "true", + "id_key": "id_type_acheteur_accession_libre", + "label_key": "type_acheteur_accession_libre", + "attributs": "id_type_acheteur_accession_libre|type_acheteur_accession_libre", + "order_by": "type_acheteur_accession_libre" + } + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-xs", + "nb_cols":12, + "name":"search_button", + "id":"search_button", + "buttons":[ + { + "type":"button", + "name":"search", + "label":"FORM_SEARCH_BUTTON", + "class":"btn-primary", + "event":"setGridFilter()" + }, + { + "type":"reset", + "name":"reset", + "label":"FORM_RESET_BUTTON", + "class":"btn-primary", + "event":"resetGridFilter()" + } + ] + } + ] + } + ], + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "search_button", + "id_type_acheteur_accession_libre", + "id_programme" + ] + } + ] + } + }, + "insert":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_profil_acheteur_accession_libre-form", + "title":"SUIVI_PROD_IMMO_PROFIL_ACHETEUR_ACCESSION_LIBRE_TITLE_INSERT", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "hidden", + "name": "id_programme", + "nb_cols": 12, + "id": "id_programme_2_1" + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "id_type_acheteur_accession_libre", + "label": "Type", + "required": true, + "nb_cols": 7, + "id": "id_type_acheteur_accession_libre_3_1", + "id_from": "id_type_acheteur_accession_libre_3_1_from", + "datasource": { + "datasource_id": "datasource_2", + "sort_order": "ASC", + "distinct": "true", + "id_key": "id_type_acheteur_accession_libre", + "label_key": "type_acheteur_accession_libre", + "attributs": "id_type_acheteur_accession_libre|type_acheteur_accession_libre", + "order_by": "type_acheteur_accession_libre" + } + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "nb", + "label": "Nombre", + "disabled": false, + "required": false, + "nb_cols": 2, + "id": "nb_5_1" + }, + { + "type": "text", + "name": "pourc", + "label": "Pourcentage", + "disabled": false, + "required": false, + "nb_cols": 2, + "id": "pourc_5_1" + } + ] + }, + { + "fields": [ + { + "type": "textarea", + "name": "commentaire", + "label": "Commentaire", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "commentaire_5_1" + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"insert_button", + "id":"insert_button", + "buttons":[ + { + "type":"submit", + "name":"form_submit", + "label":"FORM_CREATE", + "class":"btn-primary" + }, + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "initEvent": "", + "event":"sendSimpleForm()", + "afterEvent":"editSectionForm()", + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "insert_button", + "id_programme", + "id_type_acheteur_accession_libre", + "nb", + "pourc", + "commentaire" + ] + } + ] + } + }, + "update":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_profil_acheteur_accession_libre-form", + "title":"SUIVI_PROD_IMMO_PROFIL_ACHETEUR_ACCESSION_LIBRE_TITLE_UPDATE", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "hidden", + "name": "id_profil_acheteur_accession_libre", + "nb_cols": 12, + "id": "id_profil_acheteur_accession_libre_1_1" + } + ] + }, + { + "fields": [ + { + "type": "hidden", + "name": "id_programme", + "nb_cols": 12, + "id": "id_programme_2_1" + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "id_type_acheteur_accession_libre", + "label": "Type", + "required": true, + "nb_cols": 7, + "id": "id_type_acheteur_accession_libre_3_1", + "id_from": "id_type_acheteur_accession_libre_3_1_from", + "datasource": { + "datasource_id": "datasource_2", + "sort_order": "ASC", + "distinct": "true", + "id_key": "id_type_acheteur_accession_libre", + "label_key": "type_acheteur_accession_libre", + "attributs": "id_type_acheteur_accession_libre|type_acheteur_accession_libre", + "order_by": "type_acheteur_accession_libre" + } + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "nb", + "label": "Nombre", + "disabled": false, + "required": false, + "nb_cols": 2, + "id": "nb_5_1" + }, + { + "type": "text", + "name": "pourc", + "label": "Pourcentage", + "disabled": false, + "required": false, + "nb_cols": 2, + "id": "pourc_5_1" + } + ] + }, + { + "fields": [ + { + "type": "textarea", + "name": "commentaire", + "label": "Commentaire", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "commentaire_5_1" + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"update_button", + "id":"update_button", + "buttons":[ + { + "type":"submit", + "name":"form_submit", + "label":"FORM_UPDATE", + "class":"btn-primary" + }, + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "initEvent": "", + "event":"sendSimpleForm()", + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "update_button", + "id_profil_acheteur_accession_libre", + "id_programme", + "id_type_acheteur_accession_libre", + "nb", + "pourc", + "commentaire" + ] + } + ] + } + }, + "datasources":{ + "datasource_2": { + "type": "web_service", + "dataType": "tableValue", + "name": "datasource_type_acheteur_accession_libre", + "description": "", + "parameters": { + "filter": { + "relation": "AND", + "operators": [] + }, + "database": "suivi_prod_immo", + "schema": "prod_immo", + "table": "type_acheteur_accession_libre" + }, + "ressource_id": "vitis/genericquerys", + "id": "datasource_2" + }, + "datasource_38":{ + "type":"web_service", + "dataType":"tableValue", + "name":"programme_immobilier", + "description":"", + "parameters":{ + "schema":"prod_immo", + "table":"programme_immobilier" + }, + "ressource_id":"vitis/genericquerys", + "id":"datasource_38" + } + } +} diff --git a/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_repartition_type_logement.json b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_repartition_type_logement.json new file mode 100644 index 00000000..18f6c1ba --- /dev/null +++ b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_repartition_type_logement.json @@ -0,0 +1,503 @@ +{ + "display":{ + "name":"suivi_prod_immo_saisie_suivi_prod_immo_repartition_type_logement-form", + "title":"SUIVI_PROD_IMMO_REPARTITION_TYPE_LOGEMENT_TITLE_DISPLAY", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "hidden", + "name": "id_operation", + "nb_cols": 12, + "id": "id_operation_2_1" + } + ] + }, + { + "fields":[ + { + "type":"label", + "name":"repartition", + "label":"Type", + "nb_cols":12, + "id":"repartition" + } + ] + }, + { + "fields":[ + { + "type":"label", + "name":"valeur", + "label":"Valeur", + "nb_cols":6, + "id":"valeur" + } + ] + }, + { + "fields":[ + { + "type":"label", + "name":"type_logement", + "label":"Type de logement", + "nb_cols":12, + "id":"type_logement" + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"display_button", + "id":"display_button", + "buttons":[ + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "display_button", + "id_operation", + "repartition", + "valeur", + "type_logement" + ] + } + ] + } + }, + "search":{ + "name":"suivi_prod_immo_saisie_suivi_prod_immo_repartition_type_logement-form", + "title":"SUIVI_PROD_IMMO_REPARTITION_TYPE_LOGEMENT_TITLE_SEARCH", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields":[ + { + "type":"select", + "name":"id_operation", + "label":"Opération", + "required":true, + "nb_cols":3, + "id":"id_operation", + "datasource":{ + "datasource_id":"datasource_38", + "sort_order":"ASC", + "distinct":"true", + "label_key":"nom_operation", + "order_by":"nom_operation", + "id_key":"id_operation", + "attributs":"id_operation|nom_operation" + }, + "id_from":"id_operation_from" + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "code_repartition", + "label": "Type", + "required": false, + "nb_cols": 7, + "id": "Element_0_1586248310338", + "id_from": "Element_0_1586248310338_from", + "datasource": { + "datasource_id": "datasource_1", + "sort_order": "ASC", + "distinct": "true", + "id_key": "code_repartition", + "label_key": "repartition", + "attributs": "code_repartition|repartition", + "order_by": "repartition" + } + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "code_type_logement", + "label": "Type de logement", + "required": false, + "nb_cols": 7, + "id": "code_type_logement_3_1", + "id_from": "code_type_logement_3_1_from", + "datasource": { + "datasource_id": "datasource_2", + "sort_order": "ASC", + "distinct": "true", + "id_key": "code_type_logement", + "label_key": "type_logement", + "attributs": "code_type_logement|type_logement", + "order_by": "type_logement" + } + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-xs", + "nb_cols":12, + "name":"search_button", + "id":"search_button", + "buttons":[ + { + "type":"button", + "name":"search", + "label":"FORM_SEARCH_BUTTON", + "class":"btn-primary", + "event":"setGridFilter()" + }, + { + "type":"reset", + "name":"reset", + "label":"FORM_RESET_BUTTON", + "class":"btn-primary", + "event":"resetGridFilter()" + } + ] + } + ] + } + ], + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "search_button", + "code_repartition", + "code_type_logement", + "id_operation" + ] + } + ] + } + }, + "insert":{ + "name":"suivi_prod_immo_saisie_suivi_prod_immo_repartition_type_logement-form", + "title":"SUIVI_PROD_IMMO_REPARTITION_TYPE_LOGEMENT_TITLE_INSERT", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "hidden", + "name": "id_operation", + "nb_cols": 12, + "id": "id_operation_2_1" + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "code_repartition", + "label": "Type", + "required": true, + "nb_cols": 7, + "id": "Element_0_1586248310338", + "id_from": "Element_0_1586248310338_from", + "datasource": { + "datasource_id": "datasource_1", + "sort_order": "ASC", + "distinct": "true", + "id_key": "code_repartition", + "label_key": "repartition", + "attributs": "code_repartition|repartition", + "order_by": "repartition" + } + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "valeur", + "label": "Valeur", + "disabled": false, + "required": false, + "nb_cols": 2, + "id": "valeur_5_1" + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "code_type_logement", + "label": "Type de logement", + "required": true, + "nb_cols": 7, + "id": "code_type_logement_3_1", + "id_from": "code_type_logement_3_1_from", + "datasource": { + "datasource_id": "datasource_2", + "sort_order": "ASC", + "distinct": "true", + "id_key": "code_type_logement", + "label_key": "type_logement", + "attributs": "code_type_logement|type_logement", + "order_by": "type_logement" + } + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"insert_button", + "id":"insert_button", + "buttons":[ + { + "type":"submit", + "name":"form_submit", + "label":"FORM_CREATE", + "class":"btn-primary" + }, + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "initEvent": "", + "event":"sendSimpleForm()", + "afterEvent":"editSectionForm()", + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "insert_button", + "id_operation", + "code_type_logement", + "valeur", + "code_repartition" + ] + } + ] + } + }, + "update":{ + "name":"suivi_prod_immo_saisie_suivi_prod_immo_repartition_type_logement-form", + "title":"SUIVI_PROD_IMMO_REPARTITION_TYPE_LOGEMENT_TITLE_UPDATE", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "hidden", + "name": "id_repartition_type_logement", + "nb_cols": 12, + "id": "id_repartition_type_logement_1_1" + } + ] + }, + { + "fields": [ + { + "type": "hidden", + "name": "id_operation", + "nb_cols": 12, + "id": "id_operation_2_1" + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "code_repartition", + "label": "Type", + "required": true, + "nb_cols": 7, + "id": "Element_0_1586248310338", + "id_from": "Element_0_1586248310338_from", + "datasource": { + "datasource_id": "datasource_1", + "sort_order": "ASC", + "distinct": "true", + "id_key": "code_repartition", + "label_key": "repartition", + "attributs": "code_repartition|repartition", + "order_by": "repartition" + } + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "valeur", + "label": "Valeur", + "disabled": false, + "required": false, + "nb_cols": 2, + "id": "valeur_5_1" + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "code_type_logement", + "label": "Type de logement", + "required": true, + "nb_cols": 7, + "id": "code_type_logement_3_1", + "id_from": "code_type_logement_3_1_from", + "datasource": { + "datasource_id": "datasource_2", + "sort_order": "ASC", + "distinct": "true", + "id_key": "code_type_logement", + "label_key": "type_logement", + "attributs": "code_type_logement|type_logement", + "order_by": "type_logement" + } + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"update_button", + "id":"update_button", + "buttons":[ + { + "type":"submit", + "name":"form_submit", + "label":"FORM_UPDATE", + "class":"btn-primary" + }, + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "initEvent": "", + "event":"sendSimpleForm()", + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "update_button", + "id_repartition_type_logement", + "id_operation", + "code_type_logement", + "valeur", + "code_repartition" + ] + } + ] + } + }, + "datasources":{ + "datasource_1": { + "type": "web_service", + "dataType": "tableValue", + "name": "datasource_repartition", + "description": "", + "parameters": { + "filter": { + "relation": "AND", + "operators": [] + }, + "database": "suivi_prod_immo", + "schema": "prod_immo", + "table": "repartition" + }, + "ressource_id": "vitis/genericquerys", + "id": "datasource_1" + }, + "datasource_2": { + "type": "web_service", + "dataType": "tableValue", + "name": "datasource_type_logement", + "description": "", + "parameters": { + "filter": { + "relation": "AND", + "operators": [] + }, + "database": "suivi_prod_immo", + "schema": "prod_immo", + "table": "type_logement" + }, + "ressource_id": "vitis/genericquerys", + "id": "datasource_2" + }, + "datasource_38":{ + "type":"web_service", + "dataType":"tableValue", + "name":"operation", + "description":"", + "parameters":{ + "schema":"prod_immo", + "table":"operation" + }, + "ressource_id":"vitis/genericquerys", + "id":"datasource_38" + } + } +} diff --git a/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_stationnement_stationnement.json b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_stationnement_stationnement.json new file mode 100644 index 00000000..737e9b98 --- /dev/null +++ b/src/module_suivi_prod_immo/module/forms/suivi_prod_immo_saisie_dep/suivi_prod_immo_saisie_dep_suivi_prod_immo_stationnement_stationnement.json @@ -0,0 +1,473 @@ +{ + "display":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_stationnement-form", + "title":"SUIVI_PROD_IMMO_STATIONNEMENT_TITLE_DISPLAY", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "hidden", + "name": "id_programme", + "nb_cols": 12, + "id": "id_programme_2_1" + } + ] + }, + { + "fields":[ + { + "type":"label", + "name":"indicateur_stationnement", + "label":"Type", + "nb_cols":12, + "id":"indicateur_stationnement" + } + ] + }, + { + "fields":[ + { + "type":"label", + "name":"nb", + "label":"Nombre", + "nb_cols":2, + "id":"nb" + }, + { + "type":"label", + "name":"prix_moyen_ttc", + "label":"Prix moyen en € TTC", + "nb_cols":4, + "id":"prix_moyen_ttc" + } + ] + }, + { + "fields":[ + { + "type":"label", + "name":"commentaire", + "label":"Commentaire", + "nb_cols":12, + "id":"commentaire" + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"display_button", + "id":"display_button", + "buttons":[ + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "display_button", + "id_programme", + "indicateur_stationnement", + "nb", + "prix_moyen_ttc", + "commentaire" + ] + } + ] + } + }, + "search":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_stationnement-form", + "title":"SUIVI_PROD_IMMO_STATIONNEMENT_TITLE_SEARCH", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields":[ + { + "type":"select", + "name":"id_programme", + "label":"Opération", + "required":true, + "nb_cols":3, + "id":"id_programme", + "datasource":{ + "datasource_id":"datasource_38", + "sort_order":"ASC", + "distinct":"true", + "label_key":"nom_programme", + "order_by":"nom_programme", + "id_key":"id_programme", + "attributs":"id_programme|nom_programme" + }, + "id_from":"id_programme_from" + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "id_indicateur_stationnement", + "label": "Type", + "required": false, + "nb_cols": 7, + "id": "id_indicateur_stationnement_3_1", + "id_from": "id_indicateur_stationnement_3_1_from", + "datasource": { + "datasource_id": "datasource_2", + "sort_order": "ASC", + "distinct": "true", + "id_key": "id_indicateur_stationnement", + "label_key": "indicateur_stationnement", + "attributs": "id_indicateur_stationnement|indicateur_stationnement", + "order_by": "indicateur_stationnement" + } + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-xs", + "nb_cols":12, + "name":"search_button", + "id":"search_button", + "buttons":[ + { + "type":"button", + "name":"search", + "label":"FORM_SEARCH_BUTTON", + "class":"btn-primary", + "event":"setGridFilter()" + }, + { + "type":"reset", + "name":"reset", + "label":"FORM_RESET_BUTTON", + "class":"btn-primary", + "event":"resetGridFilter()" + } + ] + } + ] + } + ], + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "search_button", + "id_indicateur_stationnement", + "id_programme" + ] + } + ] + } + }, + "insert":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_stationnement-form", + "title":"SUIVI_PROD_IMMO_STATIONNEMENT_TITLE_INSERT", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "hidden", + "name": "id_programme", + "nb_cols": 12, + "id": "id_programme_2_1" + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "id_indicateur_stationnement", + "label": "Type", + "required": true, + "nb_cols": 7, + "id": "id_indicateur_stationnement_3_1", + "id_from": "id_indicateur_stationnement_3_1_from", + "datasource": { + "datasource_id": "datasource_2", + "sort_order": "ASC", + "distinct": "true", + "id_key": "id_indicateur_stationnement", + "label_key": "indicateur_stationnement", + "attributs": "id_indicateur_stationnement|indicateur_stationnement", + "order_by": "indicateur_stationnement" + } + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "nb", + "label": "Nombre", + "disabled": false, + "required": false, + "nb_cols": 2, + "id": "nb_5_1" + }, + { + "type":"text", + "name":"prix_moyen_ttc", + "label":"Prix moyen en € TTC", + "disabled": false, + "required": false, + "nb_cols":3, + "id":"prix_moyen_ttc" + } + ] + }, + { + "fields": [ + { + "type": "textarea", + "name": "commentaire", + "label": "Commentaire", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "commentaire_5_1" + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"insert_button", + "id":"insert_button", + "buttons":[ + { + "type":"submit", + "name":"form_submit", + "label":"FORM_CREATE", + "class":"btn-primary" + }, + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "initEvent": "", + "event":"sendSimpleForm()", + "afterEvent":"editSectionForm()", + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "insert_button", + "id_programme", + "id_indicateur_stationnement", + "nb", + "prix_moyen_ttc", + "commentaire" + ] + } + ] + } + }, + "update":{ + "name":"suivi_prod_immo_saisie_dep_suivi_prod_immo_stationnement-form", + "title":"SUIVI_PROD_IMMO_STATIONNEMENT_TITLE_UPDATE", + "input_size":"xxs", + "nb_cols":12, + "javascript":false, + "rows":[ + { + "fields": [ + { + "type": "hidden", + "name": "id_stationnement", + "nb_cols": 12, + "id": "id_stationnement_1_1" + } + ] + }, + { + "fields": [ + { + "type": "hidden", + "name": "id_programme", + "nb_cols": 12, + "id": "id_programme_2_1" + } + ] + }, + { + "fields": [ + { + "type": "select", + "name": "id_indicateur_stationnement", + "label": "Type", + "required": true, + "nb_cols": 7, + "id": "id_indicateur_stationnement_3_1", + "id_from": "id_indicateur_stationnement_3_1_from", + "datasource": { + "datasource_id": "datasource_2", + "sort_order": "ASC", + "distinct": "true", + "id_key": "id_indicateur_stationnement", + "label_key": "indicateur_stationnement", + "attributs": "id_indicateur_stationnement|indicateur_stationnement", + "order_by": "indicateur_stationnement" + } + } + ] + }, + { + "fields": [ + { + "type": "text", + "name": "nb", + "label": "Nombre", + "disabled": false, + "required": false, + "nb_cols": 2, + "id": "nb_5_1" + }, + { + "type":"text", + "name":"prix_moyen_ttc", + "label":"Prix moyen en € TTC", + "disabled": false, + "required": false, + "nb_cols":3, + "id":"prix_moyen_ttc" + } + ] + }, + { + "fields": [ + { + "type": "textarea", + "name": "commentaire", + "label": "Commentaire", + "disabled": false, + "required": false, + "nb_cols": 12, + "id": "commentaire_5_1" + } + ] + }, + { + "fields":[ + { + "type":"button", + "class":"btn-ungroup btn-group-sm", + "nb_cols":12, + "name":"update_button", + "id":"update_button", + "buttons":[ + { + "type":"submit", + "name":"form_submit", + "label":"FORM_UPDATE", + "class":"btn-primary" + }, + { + "type":"button", + "name":"return_list", + "label":"FORM_RETURN_LIST", + "class":"btn-primary", + "event":"setMode(\"search\")" + } + ] + } + ] + } + ], + "initEvent": "", + "event":"sendSimpleForm()", + "tabs":{ + "position":"top", + "list":[ + { + "label":"Tab 0", + "elements":[ + "update_button", + "id_stationnement", + "id_programme", + "id_indicateur_stationnement", + "nb", + "prix_moyen_ttc", + "commentaire" + ] + } + ] + } + }, + "datasources":{ + "datasource_2": { + "type": "web_service", + "dataType": "tableValue", + "name": "datasource_indicateur_stationnement", + "description": "", + "parameters": { + "filter": { + "relation": "AND", + "operators": [] + }, + "database": "suivi_prod_immo", + "schema": "prod_immo", + "table": "indicateur_stationnement" + }, + "ressource_id": "vitis/genericquerys", + "id": "datasource_2" + }, + "datasource_38":{ + "type":"web_service", + "dataType":"tableValue", + "name":"programme_immobilier", + "description":"", + "parameters":{ + "schema":"prod_immo", + "table":"programme_immobilier" + }, + "ressource_id":"vitis/genericquerys", + "id":"datasource_38" + } + } +} diff --git a/src/module_suivi_prod_immo/module/lang/lang-fr.json b/src/module_suivi_prod_immo/module/lang/lang-fr.json index a00c0741..e2394bbc 100644 --- a/src/module_suivi_prod_immo/module/lang/lang-fr.json +++ b/src/module_suivi_prod_immo/module/lang/lang-fr.json @@ -25,8 +25,53 @@ "SUIVI_PROD_IMMO_OPERATION_OPERATION_PROGRAMMATION_TITLE_UPDATE" : "Programmation prévisionnelle - densités", "SUIVI_PROD_IMMO_OPERATION_OPERATION_FINANCIER_TITLE_UPDATE" : "Aspects financier - coûts", "SECTION_UPDATE_TITLE_SUIVI_PROD_IMMO_SAISIE_SUIVI_PROD_IMMO_OPERATION" : "Opération", + "SUIVI_PROD_IMMO_REPARTITION_TYPE_LOGEMENT_TITLE_INSERT" : "Répartition des logements", + "SUIVI_PROD_IMMO_REPARTITION_TYPE_LOGEMENT_TITLE_SEARCH" : "Répartition des logements", + "SUIVI_PROD_IMMO_REPARTITION_TYPE_LOGEMENT_TITLE_UPDATE" : "Répartition des logements", + "SUIVI_PROD_IMMO_REPARTITION_TYPE_LOGEMENT_TITLE_DISPLAY" : "Répartition des logements", + "SUIVI_PROD_IMMO_GRANULOMETRIE_TITLE_INSERT" : "Synthèse du programme", + "SUIVI_PROD_IMMO_GRANULOMETRIE_TITLE_SEARCH" : "Synthèse du programme", + "SUIVI_PROD_IMMO_GRANULOMETRIE_TITLE_UPDATE" : "Synthèse du programme", + "SUIVI_PROD_IMMO_GRANULOMETRIE_TITLE_DISPLAY" : "Synthèse du programme", + "SUIVI_PROD_IMMO_LOGEMENT_FAMILLIAUX_ACCESSION_TITLE_INSERT" : "Logements familliaux en accession", + "SUIVI_PROD_IMMO_LOGEMENT_FAMILLIAUX_ACCESSION_TITLE_SEARCH" : "Logements familliaux en accession", + "SUIVI_PROD_IMMO_LOGEMENT_FAMILLIAUX_ACCESSION_TITLE_UPDATE" : "Logements familliaux en accession", + "SUIVI_PROD_IMMO_LOGEMENT_FAMILLIAUX_ACCESSION_TITLE_DISPLAY" : "Logements familliaux en accession", + "SUIVI_PROD_IMMO_PROFIL_ACHETEUR_ACCESSION_LIBRE_TITLE_INSERT" : "Profil des acheteurs-logements en accession libre", + "SUIVI_PROD_IMMO_PROFIL_ACHETEUR_ACCESSION_LIBRE_TITLE_SEARCH" : "Profil des acheteurs-logements en accession libre", + "SUIVI_PROD_IMMO_PROFIL_ACHETEUR_ACCESSION_LIBRE_TITLE_UPDATE" : "Profil des acheteurs-logements en accession libre", + "SUIVI_PROD_IMMO_PROFIL_ACHETEUR_ACCESSION_LIBRE_TITLE_DISPLAY" : "Profil des acheteurs-logements en accession libre", + "SUIVI_PROD_IMMO_COMPOSITION_LOGEMENT_FAMILLIAUX_LOCATION_CP_TITLE_INSERT" : "Logements familliaux en location", + "SUIVI_PROD_IMMO_COMPOSITION_LOGEMENT_FAMILLIAUX_LOCATION_CP_TITLE_SEARCH" : "Logements familliaux en location", + "SUIVI_PROD_IMMO_COMPOSITION_LOGEMENT_FAMILLIAUX_LOCATION_CP_TITLE_UPDATE" : "Logements familliaux en location", + "SUIVI_PROD_IMMO_COMPOSITION_LOGEMENT_FAMILLIAUX_LOCATION_CP_TITLE_DISPLAY" : "Logements familliaux en location", + "SUIVI_PROD_IMMO_COMPOSITION_HABITAT_SPECIFIQUE_CP_TITLE_INSERT" : "Habitat spécifique", + "SUIVI_PROD_IMMO_COMPOSITION_HABITAT_SPECIFIQUE_CP_TITLE_SEARCH" : "Habitat spécifique", + "SUIVI_PROD_IMMO_COMPOSITION_HABITAT_SPECIFIQUE_CP_TITLE_UPDATE" : "Habitat spécifique", + "SUIVI_PROD_IMMO_COMPOSITION_HABITAT_SPECIFIQUE_CP_TITLE_DISPLAY" : "Habitat spécifique", + "SUIVI_PROD_IMMO_ACTIVITE_INDUSTRIE_TITLE_INSERT" : "Activités / Industrie", + "SUIVI_PROD_IMMO_ACTIVITE_INDUSTRIE_TITLE_SEARCH" : "Activités / Industrie", + "SUIVI_PROD_IMMO_ACTIVITE_INDUSTRIE_TITLE_UPDATE" : "Activités / Industrie", + "SUIVI_PROD_IMMO_ACTIVITE_INDUSTRIE_TITLE_DISPLAY" : "Activités / Industrie", + "SUIVI_PROD_IMMO_BUREAU_TITLE_INSERT" : "Bureaux", + "SUIVI_PROD_IMMO_BUREAU_TITLE_SEARCH" : "Bureaux", + "SUIVI_PROD_IMMO_BUREAU_TITLE_UPDATE" : "Bureaux", + "SUIVI_PROD_IMMO_BUREAU_TITLE_DISPLAY" : "Bureaux", + "SUIVI_PROD_IMMO_EQUIPEMENT_STRUCTURE_TITLE_INSERT" : "Equipements de superstructures", + "SUIVI_PROD_IMMO_EQUIPEMENT_STRUCTURE_TITLE_SEARCH" : "Equipements de superstructures", + "SUIVI_PROD_IMMO_EQUIPEMENT_STRUCTURE_TITLE_UPDATE" : "Equipements de superstructures", + "SUIVI_PROD_IMMO_EQUIPEMENT_STRUCTURE_TITLE_DISPLAY" : "Equipements de superstructures", + "SUIVI_PROD_IMMO_HOTEL_COMMERCE_SERVICE_TITLE_INSERT" : "Hotellerie / Commerces / Services", + "SUIVI_PROD_IMMO_HOTEL_COMMERCE_SERVICE_TITLE_SEARCH" : "Hotellerie / Commerces / Services", + "SUIVI_PROD_IMMO_HOTEL_COMMERCE_SERVICE_TITLE_UPDATE" : "Hotellerie / Commerces / Services", + "SUIVI_PROD_IMMO_HOTEL_COMMERCE_SERVICE_TITLE_DISPLAY" : "Hotellerie / Commerces / Services", + "SUIVI_PROD_IMMO_STATIONNEMENT_TITLE_INSERT" : "Places de stationnement", + "SUIVI_PROD_IMMO_STATIONNEMENT_TITLE_SEARCH" : "Places de stationnement", + "SUIVI_PROD_IMMO_STATIONNEMENT_TITLE_UPDATE" : "Places de stationnement", + "SUIVI_PROD_IMMO_STATIONNEMENT_TITLE_DISPLAY" : "Places de stationnement", "SUIVI_PROD_IMMO_ILOT_TITLE_INSERT" : "Îlot", + "SUIVI_PROD_IMMO_ILOT_TITLE_SEARCH" : "Îlot", "SUIVI_PROD_IMMO_ILOT_TITLE_UPDATE" : "Îlot n°{{id_ilot}}", "SUIVI_PROD_IMMO_ILOT_TITLE_DISPLAY" : "Îlot n°{{id_ilot}}", @@ -35,6 +80,7 @@ "SUIVI_PROD_IMMO_PROGRAMME_PROGRAMME_ENCADREMENT_TITLE_DISPLAY" : "Encadrement du programme immobilier", "SUIVI_PROD_IMMO_PROGRAMME_PROGRAMME_COUT_TITLE_DISPLAY" : "Coûts (indicateurs au programme immobilier)", "SUIVI_PROD_IMMO_PROGRAMME_PROGRAMME_SYNTHESE_TITLE_DISPLAY" : "Synthèse - éléments principaux du programme immobilier (surfaces, charges foncières, prix de sortie, ...)", + "SUIVI_PROD_IMMO_PROGRAMME_PROGRAMME_DETAILS_TITLE_DISPLAY" : "Détails du programme immobilier - (surfaces, coûts, charges foncières, prix de sorties, ...)", "SECTION_DISPLAY_TITLE_SUIVI_PROD_IMMO_SAISIE_SUIVI_PROD_IMMO_PROGRAMME" : "Programme", "SUIVI_PROD_IMMO_PROGRAMME_TITLE_INSERT" : "Programme", "SUIVI_PROD_IMMO_PROGRAMME_TITLE_UPDATE" : "Programme n°{{id_programme}}", @@ -42,5 +88,6 @@ "SUIVI_PROD_IMMO_PROGRAMME_PROGRAMME_ENCADREMENT_TITLE_UPDATE" : "Encadrement du programme immobilier", "SUIVI_PROD_IMMO_PROGRAMME_PROGRAMME_COUT_TITLE_UPDATE" : "Coûts (indicateurs au programme immobilier)", "SUIVI_PROD_IMMO_PROGRAMME_PROGRAMME_SYNTHESE_TITLE_UPDATE" : "Synthèse - éléments principaux du programme immobilier (surfaces, charges foncières, prix de sortie, ...)", + "SUIVI_PROD_IMMO_PROGRAMME_PROGRAMME_DETAILS_TITLE_UPDATE" : "Détails du programme immobilier - (surfaces, coûts, charges foncières, prix de sorties, ...)", "SECTION_UPDATE_TITLE_SUIVI_PROD_IMMO_SAISIE_SUIVI_PROD_IMMO_PROGRAMME" : "Programme" } diff --git a/src/module_suivi_prod_immo/web_service/ws/Activite_industrie.class.inc b/src/module_suivi_prod_immo/web_service/ws/Activite_industrie.class.inc new file mode 100644 index 00000000..ef6444fe --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/Activite_industrie.class.inc @@ -0,0 +1,57 @@ +<?php + +require_once __DIR__ . '/Suivi_prod_immo.class.inc'; +require_once __DIR__ . '/../../../vitis/vas/rest/class/vitis_lib/Connection.class.inc'; + +/** + * \file Suivi_prod_immo.class.inc + * \class Suivi_prod_immo + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Suivi_prod_immo php class + * + * This class defines activite_industrie for one Suivi_prod_immo + * + */ + +class Activite_industrie extends Suivi_prod_immo { + + public $oError; + + /** + * construct + * @param type $aPath url of the request + * @param type $aValues parameters of the request + * @param type $properties properties + * @param type $oConnection connection object + */ + function __construct($aPath, $aValues, $properties) { + $this->aValues = $aValues; + $this->aPath = $aPath; + $this->aProperties = $properties; + $this->oConnection = new Connection($this->aValues, $this->aProperties); + } + + /** + * get informations about activite_industrie + */ + function GET() { + $this->aFields = $this->getFields('prod_immo', "activite_industrie", "id_activite_industrie"); + } + + /** + * delete a activite_industrie + */ + function DELETE() { + $this->oConnection->oBd->delete('prod_immo', 'activite_industrie', 'id_activite_industrie', $this->aValues["my_vitis_id"], 'integer'); + if ($this->oConnection->oBd->enErreur()) { + $this->oError = new VitisError(1, $this->oConnection->oBd->getBDMessage()); + } else { + $this->aFields["id_activite_industrie"] = $this->aValues["my_vitis_id"]; + } + } + +} + +?> \ No newline at end of file diff --git a/src/module_suivi_prod_immo/web_service/ws/Activite_industries.class.inc b/src/module_suivi_prod_immo/web_service/ws/Activite_industries.class.inc new file mode 100644 index 00000000..d18c3f71 --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/Activite_industries.class.inc @@ -0,0 +1,313 @@ +<?php + +/** + * \file Activite_industries.class.inc + * \class Activite_industries + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Activite_industries php class + * + * This class defines Rest Api to Vitis Activite_industries + * + */ +require_once __DIR__ . '/Suivi_prod_immo.class.inc'; +require_once 'Activite_industrie.class.inc'; + + +class Activite_industries extends Suivi_prod_immo { + /** + * @SWG\Definition( + * definition="/activite_industries", + * allOf={ + * @SWG\Schema(ref="#/definitions/activite_industries") + * } + * ) + * * @SWG\Tag( + * name="Activite_industries", + * description="Activite_industries about Activite_industries" + * ) + */ + + /** + * construct + * @param type $aPath url of the request + * @param type $aValues parameters of the request + * @param type $properties properties + */ + function __construct($aPath, $aValues, $properties) { + $this->aValues = $aValues; + $this->aPath = $aPath; + $this->aProperties = $properties; + $this->oConnection = new Connection($this->aValues, $properties); + } + + /** + * @SWG\Get(path="/activite_industries", + * tags={"Activite_industries"}, + * summary="Get Activite_industries", + * description="Request to get Activite_industries", + * operationId="GET", + * produces={"application/xml", "application/json", "application/x-vm-json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="user token", + * required=true, + * type="string" + * ), + * @SWG\Parameter( + * name="order_by", + * in="query", + * description="list of ordering fields", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="sort_order", + * in="query", + * description="sort_order", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="limit", + * in="query", + * description="number of element", + * required=false, + * type="integer", + * format="int32" + * ), + * @SWG\Parameter( + * name="offset", + * in="query", + * description="index of first element", + * required=false, + * type="string", + * format="int32" + * ), + * @SWG\Parameter( + * name="attributs", + * in="query", + * description="list of attributs", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="filter", + * in="query", + * description="filter results", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="distinct", + * in="query", + * description="delete duplicates", + * required=false, + * type="boolean" + * ), + * @SWG\Response( + * response=200, + * description="traitement Response", + * @SWG\Schema(ref="#/definitions/activite_industries") + * ) + * ) + */ + + /** + * get Activite_industries + * @return Activite_industries + */ + function GET() { + $aReturn = $this->genericGet('prod_immo', "activite_industrie", "id_activite_industrie"); + $aActivite_industries=json_decode($aReturn['sMessage'],true); + if(isset($aActivite_industries['activite_industries'])){ + $aActivite_industriesData=$aActivite_industries['activite_industries']; + $sDataArrayName="activite_industries"; + }elseif (isset($aActivite_industries['data'])){ + $aActivite_industriesData=$aActivite_industries['data']; + $sDataArrayName="data"; + }else{ + return $aReturn['sMessage']; + } + if(isset($aActivite_industriesData)){ + // error_log(print_r($aActivite_industries,true)); + $aActivite_industries2=array(); + foreach ($aActivite_industriesData as $aActivite_industrie){ + $aActivite_industrie['indicateur_activite_industrie']= $this->getIndicateur_activite_industrie($aActivite_industrie['id_indicateur_activite_industrie']); + $aActivite_industries2[count($aActivite_industries2)]=$aActivite_industrie; + } + $sActivite_industries=json_encode(array($sDataArrayName=>$aActivite_industries2,"list_count"=>$aActivite_industries['list_count'],"total_row_number"=>$aActivite_industries['total_row_number'],"status"=>$aActivite_industries['status'])); + //error_log($sActivite_industries); + return $sActivite_industries; + } + } + + /** + * get indicateur_activite_industrie of activite_industrie + */ + function getIndicateur_activite_industrie($iIndicateurActivite_industrie) { + if(isset($iIndicateurActivite_industrie) and !is_null($iIndicateurActivite_industrie)){ + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'prod_immo', 'type' => 'schema_name'); + $aParams['id_indicateur_activite_industrie'] = array('value' => $iIndicateurActivite_industrie, 'type' => 'string'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getIndicateur_activite_industrie'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + return $aLigne["indicateur_activite_industrie"]; + }else{ + return null; + } + } + + /** + * @SWG\Post(path="/activite_industries", + * tags={"activite_industrie"}, + * summary="Add activite_industrie", + * description="Request to add activite_industrie", + * operationId="POST", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="user token", + * required=true, + * type="string" + * ), + * @SWG\Response( + * response=200, + * description="activite_industrie Response", + * @SWG\Schema(ref="#/definitions/activite_industries") + * ) + * ) + */ + + /** + * insert activite_industrie + * @return id of the activite_industrie created + */ + function POST(){ + require $this->sRessourcesFile; + // get value sequence from suivi_prod_immo database to set id + $oConnexion = new PDO('pgsql:host=\'srv-postgres\' port=5432 dbname=\'suivi_prod_immo\'', $_SESSION["ses_Login"], trim(des(rtrim(utf8_decode($_SESSION["ses_Login"])), hexToString(rtrim($_SESSION["ses_Password"])), 0, 0, null))); + $oPDOresult = $oConnexion->query($aSql['getSequenceActivite_industrie']); + if (!$oPDOresult) { + $aError=$oConnexion->errorInfo(); + error_log($aError[2]); + }else{ + $aResult = $oPDOresult->fetch(PDO::FETCH_ASSOC); + $this->aValues['id_activite_industrie'] = $aResult['nextval']; + } + $aReturn = $this->genericPost('prod_immo', 'activite_industrie', null, 'id_activite_industrie'); + return $aReturn['sMessage']; + } + + /** + * @SWG\Put(path="/activite_industries/{id_activite_industrie}", + * tags={"activite_industrie"}, + * summary="update activite_industrie", + * description="Request to update activite_industrie", + * operationId="PUT", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="id_activite_industrie", + * in="path", + * description="id of the activite_industrie", + * required=true, + * type="integer", + * format = "int32" + * ), + * @SWG\Response( + * response=200, + * description="Poprerties Response", + * @SWG\Schema(ref="#/definitions/activite_industries") + * ) + * ) + */ + + /** + * update activite_industries + * @return id of activite_industries updated or error object if a activite_industries is not updated + */ + function PUT() { + $aReturn = $this->genericPut('prod_immo', 'activite_industrie', 'id_activite_industrie'); + return $aReturn['sMessage']; + } + + /** + * @SWG\Delete(path="/activite_industries", + * tags={"activite_industrie"}, + * summary="delete activite_industrie", + * description="Request to delete activite_industrie", + * operationId="DELETE", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="idList", + * in="query", + * description="id of the activite_industrie", + * required=true, + * type="string" + * ), + * @SWG\Response( + * response=200, + * description="activite_industrie Response", + * @SWG\Schema(ref="#/definitions/activite_industries") + * ) + * ) + */ + /** + * @SWG\Delete(path="/activite_industries/{id_activite_industrie}", + * tags={"activite_industrie"}, + * summary="delete activite_industrie", + * description="Request to delete activite_industrie", + * operationId="DELETE", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="Traitement token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="id_activite_industrie", + * in="path", + * description="id of the activite_industrie", + * required=true, + * type="integer", + * format = "int32" + * ), + * @SWG\Response( + * response=200, + * description="Poprerties Response", + * @SWG\Schema(ref="#/definitions/activite_industries") + * ) + * ) + */ + + /** + * delete activite_industries + * @return id of activite_industries deleted or error object if a activite_industries is not deleted + */ + function DELETE() { + $aReturn = $this->genericDelete('prod_immo', 'activite_industrie', 'id_activite_industrie'); + return $aReturn['sMessage']; + } +} + +?> \ No newline at end of file diff --git a/src/module_suivi_prod_immo/web_service/ws/Bureau.class.inc b/src/module_suivi_prod_immo/web_service/ws/Bureau.class.inc new file mode 100644 index 00000000..d9692550 --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/Bureau.class.inc @@ -0,0 +1,57 @@ +<?php + +require_once __DIR__ . '/Suivi_prod_immo.class.inc'; +require_once __DIR__ . '/../../../vitis/vas/rest/class/vitis_lib/Connection.class.inc'; + +/** + * \file Suivi_prod_immo.class.inc + * \class Suivi_prod_immo + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Suivi_prod_immo php class + * + * This class defines bureau for one Suivi_prod_immo + * + */ + +class Bureau extends Suivi_prod_immo { + + public $oError; + + /** + * construct + * @param type $aPath url of the request + * @param type $aValues parameters of the request + * @param type $properties properties + * @param type $oConnection connection object + */ + function __construct($aPath, $aValues, $properties) { + $this->aValues = $aValues; + $this->aPath = $aPath; + $this->aProperties = $properties; + $this->oConnection = new Connection($this->aValues, $this->aProperties); + } + + /** + * get informations about bureau + */ + function GET() { + $this->aFields = $this->getFields('prod_immo', "bureau", "id_bureau"); + } + + /** + * delete a bureau + */ + function DELETE() { + $this->oConnection->oBd->delete('prod_immo', 'bureau', 'id_bureau', $this->aValues["my_vitis_id"], 'integer'); + if ($this->oConnection->oBd->enErreur()) { + $this->oError = new VitisError(1, $this->oConnection->oBd->getBDMessage()); + } else { + $this->aFields["id_bureau"] = $this->aValues["my_vitis_id"]; + } + } + +} + +?> \ No newline at end of file diff --git a/src/module_suivi_prod_immo/web_service/ws/Bureaus.class.inc b/src/module_suivi_prod_immo/web_service/ws/Bureaus.class.inc new file mode 100644 index 00000000..97814dad --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/Bureaus.class.inc @@ -0,0 +1,313 @@ +<?php + +/** + * \file Bureaus.class.inc + * \class Bureaus + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Bureaus php class + * + * This class defines Rest Api to Vitis Bureaus + * + */ +require_once __DIR__ . '/Suivi_prod_immo.class.inc'; +require_once 'Bureau.class.inc'; + + +class Bureaus extends Suivi_prod_immo { + /** + * @SWG\Definition( + * definition="/bureaus", + * allOf={ + * @SWG\Schema(ref="#/definitions/bureaus") + * } + * ) + * * @SWG\Tag( + * name="Bureaus", + * description="Bureaus about Bureaus" + * ) + */ + + /** + * construct + * @param type $aPath url of the request + * @param type $aValues parameters of the request + * @param type $properties properties + */ + function __construct($aPath, $aValues, $properties) { + $this->aValues = $aValues; + $this->aPath = $aPath; + $this->aProperties = $properties; + $this->oConnection = new Connection($this->aValues, $properties); + } + + /** + * @SWG\Get(path="/bureaus", + * tags={"Bureaus"}, + * summary="Get Bureaus", + * description="Request to get Bureaus", + * operationId="GET", + * produces={"application/xml", "application/json", "application/x-vm-json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="user token", + * required=true, + * type="string" + * ), + * @SWG\Parameter( + * name="order_by", + * in="query", + * description="list of ordering fields", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="sort_order", + * in="query", + * description="sort_order", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="limit", + * in="query", + * description="number of element", + * required=false, + * type="integer", + * format="int32" + * ), + * @SWG\Parameter( + * name="offset", + * in="query", + * description="index of first element", + * required=false, + * type="string", + * format="int32" + * ), + * @SWG\Parameter( + * name="attributs", + * in="query", + * description="list of attributs", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="filter", + * in="query", + * description="filter results", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="distinct", + * in="query", + * description="delete duplicates", + * required=false, + * type="boolean" + * ), + * @SWG\Response( + * response=200, + * description="traitement Response", + * @SWG\Schema(ref="#/definitions/bureaus") + * ) + * ) + */ + + /** + * get Bureaus + * @return Bureaus + */ + function GET() { + $aReturn = $this->genericGet('prod_immo', "bureau", "id_bureau"); + $aBureaus=json_decode($aReturn['sMessage'],true); + if(isset($aBureaus['bureaus'])){ + $aBureausData=$aBureaus['bureaus']; + $sDataArrayName="bureaus"; + }elseif (isset($aBureaus['data'])){ + $aBureausData=$aBureaus['data']; + $sDataArrayName="data"; + }else{ + return $aReturn['sMessage']; + } + if(isset($aBureausData)){ + // error_log(print_r($aBureaus,true)); + $aBureaus2=array(); + foreach ($aBureausData as $aBureau){ + $aBureau['indicateur_bureau']= $this->getIndicateur_bureau($aBureau['id_indicateur_bureau']); + $aBureaus2[count($aBureaus2)]=$aBureau; + } + $sBureaus=json_encode(array($sDataArrayName=>$aBureaus2,"list_count"=>$aBureaus['list_count'],"total_row_number"=>$aBureaus['total_row_number'],"status"=>$aBureaus['status'])); + //error_log($sBureaus); + return $sBureaus; + } + } + + /** + * get indicateur_bureau of bureau + */ + function getIndicateur_bureau($iIndicateurBureau) { + if(isset($iIndicateurBureau) and !is_null($iIndicateurBureau)){ + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'prod_immo', 'type' => 'schema_name'); + $aParams['id_indicateur_bureau'] = array('value' => $iIndicateurBureau, 'type' => 'string'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getIndicateur_bureau'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + return $aLigne["indicateur_bureau"]; + }else{ + return null; + } + } + + /** + * @SWG\Post(path="/bureaus", + * tags={"bureau"}, + * summary="Add bureau", + * description="Request to add bureau", + * operationId="POST", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="user token", + * required=true, + * type="string" + * ), + * @SWG\Response( + * response=200, + * description="bureau Response", + * @SWG\Schema(ref="#/definitions/bureaus") + * ) + * ) + */ + + /** + * insert bureau + * @return id of the bureau created + */ + function POST(){ + require $this->sRessourcesFile; + // get value sequence from suivi_prod_immo database to set id + $oConnexion = new PDO('pgsql:host=\'srv-postgres\' port=5432 dbname=\'suivi_prod_immo\'', $_SESSION["ses_Login"], trim(des(rtrim(utf8_decode($_SESSION["ses_Login"])), hexToString(rtrim($_SESSION["ses_Password"])), 0, 0, null))); + $oPDOresult = $oConnexion->query($aSql['getSequenceBureau']); + if (!$oPDOresult) { + $aError=$oConnexion->errorInfo(); + error_log($aError[2]); + }else{ + $aResult = $oPDOresult->fetch(PDO::FETCH_ASSOC); + $this->aValues['id_bureau'] = $aResult['nextval']; + } + $aReturn = $this->genericPost('prod_immo', 'bureau', null, 'id_bureau'); + return $aReturn['sMessage']; + } + + /** + * @SWG\Put(path="/bureaus/{id_bureau}", + * tags={"bureau"}, + * summary="update bureau", + * description="Request to update bureau", + * operationId="PUT", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="id_bureau", + * in="path", + * description="id of the bureau", + * required=true, + * type="integer", + * format = "int32" + * ), + * @SWG\Response( + * response=200, + * description="Poprerties Response", + * @SWG\Schema(ref="#/definitions/bureaus") + * ) + * ) + */ + + /** + * update bureaus + * @return id of bureaus updated or error object if a bureaus is not updated + */ + function PUT() { + $aReturn = $this->genericPut('prod_immo', 'bureau', 'id_bureau'); + return $aReturn['sMessage']; + } + + /** + * @SWG\Delete(path="/bureaus", + * tags={"bureau"}, + * summary="delete bureau", + * description="Request to delete bureau", + * operationId="DELETE", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="idList", + * in="query", + * description="id of the bureau", + * required=true, + * type="string" + * ), + * @SWG\Response( + * response=200, + * description="bureau Response", + * @SWG\Schema(ref="#/definitions/bureaus") + * ) + * ) + */ + /** + * @SWG\Delete(path="/bureaus/{id_bureau}", + * tags={"bureau"}, + * summary="delete bureau", + * description="Request to delete bureau", + * operationId="DELETE", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="Traitement token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="id_bureau", + * in="path", + * description="id of the bureau", + * required=true, + * type="integer", + * format = "int32" + * ), + * @SWG\Response( + * response=200, + * description="Poprerties Response", + * @SWG\Schema(ref="#/definitions/bureaus") + * ) + * ) + */ + + /** + * delete bureaus + * @return id of bureaus deleted or error object if a bureaus is not deleted + */ + function DELETE() { + $aReturn = $this->genericDelete('prod_immo', 'bureau', 'id_bureau'); + return $aReturn['sMessage']; + } +} + +?> \ No newline at end of file diff --git a/src/module_suivi_prod_immo/web_service/ws/Composition_habitat_specifique_cp.class.inc b/src/module_suivi_prod_immo/web_service/ws/Composition_habitat_specifique_cp.class.inc new file mode 100644 index 00000000..857cb65f --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/Composition_habitat_specifique_cp.class.inc @@ -0,0 +1,57 @@ +<?php + +require_once __DIR__ . '/Suivi_prod_immo.class.inc'; +require_once __DIR__ . '/../../../vitis/vas/rest/class/vitis_lib/Connection.class.inc'; + +/** + * \file Suivi_prod_immo.class.inc + * \class Suivi_prod_immo + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Suivi_prod_immo php class + * + * This class defines composition_habitat_specifique_cp for one Suivi_prod_immo + * + */ + +class Composition_habitat_specifique_cp extends Suivi_prod_immo { + + public $oError; + + /** + * construct + * @param type $aPath url of the request + * @param type $aValues parameters of the request + * @param type $properties properties + * @param type $oConnection connection object + */ + function __construct($aPath, $aValues, $properties) { + $this->aValues = $aValues; + $this->aPath = $aPath; + $this->aProperties = $properties; + $this->oConnection = new Connection($this->aValues, $this->aProperties); + } + + /** + * get informations about composition_habitat_specifique_cp + */ + function GET() { + $this->aFields = $this->getFields('prod_immo', "composition_habitat_specifique_cp", "id_composition_habitat_specifique"); + } + + /** + * delete a composition_habitat_specifique_cp + */ + function DELETE() { + $this->oConnection->oBd->delete('prod_immo', 'composition_habitat_specifique_cp', 'id_composition_habitat_specifique', $this->aValues["my_vitis_id"], 'integer'); + if ($this->oConnection->oBd->enErreur()) { + $this->oError = new VitisError(1, $this->oConnection->oBd->getBDMessage()); + } else { + $this->aFields["id_composition_habitat_specifique"] = $this->aValues["my_vitis_id"]; + } + } + +} + +?> \ No newline at end of file diff --git a/src/module_suivi_prod_immo/web_service/ws/Composition_habitat_specifique_cps.class.inc b/src/module_suivi_prod_immo/web_service/ws/Composition_habitat_specifique_cps.class.inc new file mode 100644 index 00000000..0ab8c346 --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/Composition_habitat_specifique_cps.class.inc @@ -0,0 +1,313 @@ +<?php + +/** + * \file Composition_habitat_specifique_cps.class.inc + * \class Composition_habitat_specifique_cps + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Composition_habitat_specifique_cps php class + * + * This class defines Rest Api to Vitis Composition_habitat_specifique_cps + * + */ +require_once __DIR__ . '/Suivi_prod_immo.class.inc'; +require_once 'Composition_habitat_specifique_cp.class.inc'; + + +class Composition_habitat_specifique_cps extends Suivi_prod_immo { + /** + * @SWG\Definition( + * definition="/composition_habitat_specifique_cps", + * allOf={ + * @SWG\Schema(ref="#/definitions/composition_habitat_specifique_cps") + * } + * ) + * * @SWG\Tag( + * name="Composition_habitat_specifique_cps", + * description="Composition_habitat_specifique_cps about Composition_habitat_specifique_cps" + * ) + */ + + /** + * construct + * @param type $aPath url of the request + * @param type $aValues parameters of the request + * @param type $properties properties + */ + function __construct($aPath, $aValues, $properties) { + $this->aValues = $aValues; + $this->aPath = $aPath; + $this->aProperties = $properties; + $this->oConnection = new Connection($this->aValues, $properties); + } + + /** + * @SWG\Get(path="/composition_habitat_specifique_cps", + * tags={"Composition_habitat_specifique_cps"}, + * summary="Get Composition_habitat_specifique_cps", + * description="Request to get Composition_habitat_specifique_cps", + * operationId="GET", + * produces={"application/xml", "application/json", "application/x-vm-json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="user token", + * required=true, + * type="string" + * ), + * @SWG\Parameter( + * name="order_by", + * in="query", + * description="list of ordering fields", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="sort_order", + * in="query", + * description="sort_order", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="limit", + * in="query", + * description="number of element", + * required=false, + * type="integer", + * format="int32" + * ), + * @SWG\Parameter( + * name="offset", + * in="query", + * description="index of first element", + * required=false, + * type="string", + * format="int32" + * ), + * @SWG\Parameter( + * name="attributs", + * in="query", + * description="list of attributs", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="filter", + * in="query", + * description="filter results", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="distinct", + * in="query", + * description="delete duplicates", + * required=false, + * type="boolean" + * ), + * @SWG\Response( + * response=200, + * description="traitement Response", + * @SWG\Schema(ref="#/definitions/composition_habitat_specifique_cps") + * ) + * ) + */ + + /** + * get Composition_habitat_specifique_cps + * @return Composition_habitat_specifique_cps + */ + function GET() { + $aReturn = $this->genericGet('prod_immo', "composition_habitat_specifique_cp", "id_composition_habitat_specifique"); + $aComposition_habitat_specifique_cps=json_decode($aReturn['sMessage'],true); + if(isset($aComposition_habitat_specifique_cps['composition_habitat_specifique_cps'])){ + $aComposition_habitat_specifique_cpsData=$aComposition_habitat_specifique_cps['composition_habitat_specifique_cps']; + $sDataArrayName="composition_habitat_specifique_cps"; + }elseif (isset($aComposition_habitat_specifique_cps['data'])){ + $aComposition_habitat_specifique_cpsData=$aComposition_habitat_specifique_cps['data']; + $sDataArrayName="data"; + }else{ + return $aReturn['sMessage']; + } + if(isset($aComposition_habitat_specifique_cpsData)){ + // error_log(print_r($aComposition_habitat_specifique_cps,true)); + $aComposition_habitat_specifique_cps2=array(); + foreach ($aComposition_habitat_specifique_cpsData as $aComposition_habitat_specifique_cp){ + $aComposition_habitat_specifique_cp['indicateur_habitat_specifique']= $this->getIndicateur_habitat_specifique($aComposition_habitat_specifique_cp['id_indicateur_habitat_specifique']); + $aComposition_habitat_specifique_cps2[count($aComposition_habitat_specifique_cps2)]=$aComposition_habitat_specifique_cp; + } + $sComposition_habitat_specifique_cps=json_encode(array($sDataArrayName=>$aComposition_habitat_specifique_cps2,"list_count"=>$aComposition_habitat_specifique_cps['list_count'],"total_row_number"=>$aComposition_habitat_specifique_cps['total_row_number'],"status"=>$aComposition_habitat_specifique_cps['status'])); + //error_log($sComposition_habitat_specifique_cps); + return $sComposition_habitat_specifique_cps; + } + } + + /** + * get indicateur_habitat_specifique of composition_habitat_specifique_cp + */ + function getIndicateur_habitat_specifique($iIndicateurHabitatSpecifique) { + if(isset($iIndicateurHabitatSpecifique) and !is_null($iIndicateurHabitatSpecifique)){ + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'prod_immo', 'type' => 'schema_name'); + $aParams['id_indicateur_habitat_specifique'] = array('value' => $iIndicateurHabitatSpecifique, 'type' => 'string'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getIndicateur_habitat_specifique'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + return $aLigne["indicateur_habitat_specifique"]; + }else{ + return null; + } + } + + /** + * @SWG\Post(path="/composition_habitat_specifique_cps", + * tags={"composition_habitat_specifique_cp"}, + * summary="Add composition_habitat_specifique_cp", + * description="Request to add composition_habitat_specifique_cp", + * operationId="POST", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="user token", + * required=true, + * type="string" + * ), + * @SWG\Response( + * response=200, + * description="composition_habitat_specifique_cp Response", + * @SWG\Schema(ref="#/definitions/composition_habitat_specifique_cps") + * ) + * ) + */ + + /** + * insert composition_habitat_specifique_cp + * @return id of the composition_habitat_specifique_cp created + */ + function POST(){ + require $this->sRessourcesFile; + // get value sequence from suivi_prod_immo database to set id + $oConnexion = new PDO('pgsql:host=\'srv-postgres\' port=5432 dbname=\'suivi_prod_immo\'', $_SESSION["ses_Login"], trim(des(rtrim(utf8_decode($_SESSION["ses_Login"])), hexToString(rtrim($_SESSION["ses_Password"])), 0, 0, null))); + $oPDOresult = $oConnexion->query($aSql['getSequenceComposition_habitat_specifique_cp']); + if (!$oPDOresult) { + $aError=$oConnexion->errorInfo(); + error_log($aError[2]); + }else{ + $aResult = $oPDOresult->fetch(PDO::FETCH_ASSOC); + $this->aValues['id_composition_habitat_specifique'] = $aResult['nextval']; + } + $aReturn = $this->genericPost('prod_immo', 'composition_habitat_specifique_cp', null, 'id_composition_habitat_specifique'); + return $aReturn['sMessage']; + } + + /** + * @SWG\Put(path="/composition_habitat_specifique_cps/{id_composition_habitat_specifique}", + * tags={"composition_habitat_specifique_cp"}, + * summary="update composition_habitat_specifique_cp", + * description="Request to update composition_habitat_specifique_cp", + * operationId="PUT", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="id_composition_habitat_specifique", + * in="path", + * description="id of the composition_habitat_specifique_cp", + * required=true, + * type="integer", + * format = "int32" + * ), + * @SWG\Response( + * response=200, + * description="Poprerties Response", + * @SWG\Schema(ref="#/definitions/composition_habitat_specifique_cps") + * ) + * ) + */ + + /** + * update composition_habitat_specifique_cps + * @return id of composition_habitat_specifique_cps updated or error object if a composition_habitat_specifique_cps is not updated + */ + function PUT() { + $aReturn = $this->genericPut('prod_immo', 'composition_habitat_specifique_cp', 'id_composition_habitat_specifique'); + return $aReturn['sMessage']; + } + + /** + * @SWG\Delete(path="/composition_habitat_specifique_cps", + * tags={"composition_habitat_specifique_cp"}, + * summary="delete composition_habitat_specifique_cp", + * description="Request to delete composition_habitat_specifique_cp", + * operationId="DELETE", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="idList", + * in="query", + * description="id of the composition_habitat_specifique_cp", + * required=true, + * type="string" + * ), + * @SWG\Response( + * response=200, + * description="composition_habitat_specifique_cp Response", + * @SWG\Schema(ref="#/definitions/composition_habitat_specifique_cps") + * ) + * ) + */ + /** + * @SWG\Delete(path="/composition_habitat_specifique_cps/{id_composition_habitat_specifique}", + * tags={"composition_habitat_specifique_cp"}, + * summary="delete composition_habitat_specifique_cp", + * description="Request to delete composition_habitat_specifique_cp", + * operationId="DELETE", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="Traitement token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="id_composition_habitat_specifique", + * in="path", + * description="id of the composition_habitat_specifique_cp", + * required=true, + * type="integer", + * format = "int32" + * ), + * @SWG\Response( + * response=200, + * description="Poprerties Response", + * @SWG\Schema(ref="#/definitions/composition_habitat_specifique_cps") + * ) + * ) + */ + + /** + * delete composition_habitat_specifique_cps + * @return id of composition_habitat_specifique_cps deleted or error object if a composition_habitat_specifique_cps is not deleted + */ + function DELETE() { + $aReturn = $this->genericDelete('prod_immo', 'composition_habitat_specifique_cp', 'id_composition_habitat_specifique'); + return $aReturn['sMessage']; + } +} + +?> \ No newline at end of file diff --git a/src/module_suivi_prod_immo/web_service/ws/Composition_logement_familliaux_location_cp.class.inc b/src/module_suivi_prod_immo/web_service/ws/Composition_logement_familliaux_location_cp.class.inc new file mode 100644 index 00000000..e6ec02ee --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/Composition_logement_familliaux_location_cp.class.inc @@ -0,0 +1,57 @@ +<?php + +require_once __DIR__ . '/Suivi_prod_immo.class.inc'; +require_once __DIR__ . '/../../../vitis/vas/rest/class/vitis_lib/Connection.class.inc'; + +/** + * \file Suivi_prod_immo.class.inc + * \class Suivi_prod_immo + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Suivi_prod_immo php class + * + * This class defines composition_logement_familliaux_location_cp for one Suivi_prod_immo + * + */ + +class Composition_logement_familliaux_location_cp extends Suivi_prod_immo { + + public $oError; + + /** + * construct + * @param type $aPath url of the request + * @param type $aValues parameters of the request + * @param type $properties properties + * @param type $oConnection connection object + */ + function __construct($aPath, $aValues, $properties) { + $this->aValues = $aValues; + $this->aPath = $aPath; + $this->aProperties = $properties; + $this->oConnection = new Connection($this->aValues, $this->aProperties); + } + + /** + * get informations about composition_logement_familliaux_location_cp + */ + function GET() { + $this->aFields = $this->getFields('prod_immo', "composition_logement_familliaux_location_cp", "id_composition_logement_familliaux_location"); + } + + /** + * delete a composition_logement_familliaux_location_cp + */ + function DELETE() { + $this->oConnection->oBd->delete('prod_immo', 'composition_logement_familliaux_location_cp', 'id_composition_logement_familliaux_location', $this->aValues["my_vitis_id"], 'integer'); + if ($this->oConnection->oBd->enErreur()) { + $this->oError = new VitisError(1, $this->oConnection->oBd->getBDMessage()); + } else { + $this->aFields["id_composition_logement_familliaux_location"] = $this->aValues["my_vitis_id"]; + } + } + +} + +?> \ No newline at end of file diff --git a/src/module_suivi_prod_immo/web_service/ws/Composition_logement_familliaux_location_cps.class.inc b/src/module_suivi_prod_immo/web_service/ws/Composition_logement_familliaux_location_cps.class.inc new file mode 100644 index 00000000..207c9501 --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/Composition_logement_familliaux_location_cps.class.inc @@ -0,0 +1,313 @@ +<?php + +/** + * \file Composition_logement_familliaux_location_cps.class.inc + * \class Composition_logement_familliaux_location_cps + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Composition_logement_familliaux_location_cps php class + * + * This class defines Rest Api to Vitis Composition_logement_familliaux_location_cps + * + */ +require_once __DIR__ . '/Suivi_prod_immo.class.inc'; +require_once 'Composition_logement_familliaux_location_cp.class.inc'; + + +class Composition_logement_familliaux_location_cps extends Suivi_prod_immo { + /** + * @SWG\Definition( + * definition="/composition_logement_familliaux_location_cps", + * allOf={ + * @SWG\Schema(ref="#/definitions/composition_logement_familliaux_location_cps") + * } + * ) + * * @SWG\Tag( + * name="Composition_logement_familliaux_location_cps", + * description="Composition_logement_familliaux_location_cps about Composition_logement_familliaux_location_cps" + * ) + */ + + /** + * construct + * @param type $aPath url of the request + * @param type $aValues parameters of the request + * @param type $properties properties + */ + function __construct($aPath, $aValues, $properties) { + $this->aValues = $aValues; + $this->aPath = $aPath; + $this->aProperties = $properties; + $this->oConnection = new Connection($this->aValues, $properties); + } + + /** + * @SWG\Get(path="/composition_logement_familliaux_location_cps", + * tags={"Composition_logement_familliaux_location_cps"}, + * summary="Get Composition_logement_familliaux_location_cps", + * description="Request to get Composition_logement_familliaux_location_cps", + * operationId="GET", + * produces={"application/xml", "application/json", "application/x-vm-json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="user token", + * required=true, + * type="string" + * ), + * @SWG\Parameter( + * name="order_by", + * in="query", + * description="list of ordering fields", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="sort_order", + * in="query", + * description="sort_order", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="limit", + * in="query", + * description="number of element", + * required=false, + * type="integer", + * format="int32" + * ), + * @SWG\Parameter( + * name="offset", + * in="query", + * description="index of first element", + * required=false, + * type="string", + * format="int32" + * ), + * @SWG\Parameter( + * name="attributs", + * in="query", + * description="list of attributs", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="filter", + * in="query", + * description="filter results", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="distinct", + * in="query", + * description="delete duplicates", + * required=false, + * type="boolean" + * ), + * @SWG\Response( + * response=200, + * description="traitement Response", + * @SWG\Schema(ref="#/definitions/composition_logement_familliaux_location_cps") + * ) + * ) + */ + + /** + * get Composition_logement_familliaux_location_cps + * @return Composition_logement_familliaux_location_cps + */ + function GET() { + $aReturn = $this->genericGet('prod_immo', "composition_logement_familliaux_location_cp", "id_composition_logement_familliaux_location"); + $aComposition_logement_familliaux_location_cps=json_decode($aReturn['sMessage'],true); + if(isset($aComposition_logement_familliaux_location_cps['composition_logement_familliaux_location_cps'])){ + $aComposition_logement_familliaux_location_cpsData=$aComposition_logement_familliaux_location_cps['composition_logement_familliaux_location_cps']; + $sDataArrayName="composition_logement_familliaux_location_cps"; + }elseif (isset($aComposition_logement_familliaux_location_cps['data'])){ + $aComposition_logement_familliaux_location_cpsData=$aComposition_logement_familliaux_location_cps['data']; + $sDataArrayName="data"; + }else{ + return $aReturn['sMessage']; + } + if(isset($aComposition_logement_familliaux_location_cpsData)){ + // error_log(print_r($aComposition_logement_familliaux_location_cps,true)); + $aComposition_logement_familliaux_location_cps2=array(); + foreach ($aComposition_logement_familliaux_location_cpsData as $aComposition_logement_familliaux_location_cp){ + $aComposition_logement_familliaux_location_cp['indicateur_logement_familliaux_location']= $this->getIndicateur_logement_familliaux_location($aComposition_logement_familliaux_location_cp['id_indicateur_logement_familliaux_location']); + $aComposition_logement_familliaux_location_cps2[count($aComposition_logement_familliaux_location_cps2)]=$aComposition_logement_familliaux_location_cp; + } + $sComposition_logement_familliaux_location_cps=json_encode(array($sDataArrayName=>$aComposition_logement_familliaux_location_cps2,"list_count"=>$aComposition_logement_familliaux_location_cps['list_count'],"total_row_number"=>$aComposition_logement_familliaux_location_cps['total_row_number'],"status"=>$aComposition_logement_familliaux_location_cps['status'])); + //error_log($sComposition_logement_familliaux_location_cps); + return $sComposition_logement_familliaux_location_cps; + } + } + + /** + * get indicateur_logement_familliaux_location of composition_logement_familliaux_location_cp + */ + function getIndicateur_logement_familliaux_location($iIndicateurLogementFamilliauxLocation) { + if(isset($iIndicateurLogementFamilliauxLocation) and !is_null($iIndicateurLogementFamilliauxLocation)){ + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'prod_immo', 'type' => 'schema_name'); + $aParams['id_indicateur_logement_familliaux_location'] = array('value' => $iIndicateurLogementFamilliauxLocation, 'type' => 'string'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getIndicateur_logement_familliaux_location'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + return $aLigne["indicateur_logement_familliaux_location"]; + }else{ + return null; + } + } + + /** + * @SWG\Post(path="/composition_logement_familliaux_location_cps", + * tags={"composition_logement_familliaux_location_cp"}, + * summary="Add composition_logement_familliaux_location_cp", + * description="Request to add composition_logement_familliaux_location_cp", + * operationId="POST", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="user token", + * required=true, + * type="string" + * ), + * @SWG\Response( + * response=200, + * description="composition_logement_familliaux_location_cp Response", + * @SWG\Schema(ref="#/definitions/composition_logement_familliaux_location_cps") + * ) + * ) + */ + + /** + * insert composition_logement_familliaux_location_cp + * @return id of the composition_logement_familliaux_location_cp created + */ + function POST(){ + require $this->sRessourcesFile; + // get value sequence from suivi_prod_immo database to set id + $oConnexion = new PDO('pgsql:host=\'srv-postgres\' port=5432 dbname=\'suivi_prod_immo\'', $_SESSION["ses_Login"], trim(des(rtrim(utf8_decode($_SESSION["ses_Login"])), hexToString(rtrim($_SESSION["ses_Password"])), 0, 0, null))); + $oPDOresult = $oConnexion->query($aSql['getSequenceComposition_logement_familliaux_location_cp']); + if (!$oPDOresult) { + $aError=$oConnexion->errorInfo(); + error_log($aError[2]); + }else{ + $aResult = $oPDOresult->fetch(PDO::FETCH_ASSOC); + $this->aValues['id_composition_logement_familliaux_location'] = $aResult['nextval']; + } + $aReturn = $this->genericPost('prod_immo', 'composition_logement_familliaux_location_cp', null, 'id_composition_logement_familliaux_location'); + return $aReturn['sMessage']; + } + + /** + * @SWG\Put(path="/composition_logement_familliaux_location_cps/{id_composition_logement_familliaux_location}", + * tags={"composition_logement_familliaux_location_cp"}, + * summary="update composition_logement_familliaux_location_cp", + * description="Request to update composition_logement_familliaux_location_cp", + * operationId="PUT", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="id_composition_logement_familliaux_location", + * in="path", + * description="id of the composition_logement_familliaux_location_cp", + * required=true, + * type="integer", + * format = "int32" + * ), + * @SWG\Response( + * response=200, + * description="Poprerties Response", + * @SWG\Schema(ref="#/definitions/composition_logement_familliaux_location_cps") + * ) + * ) + */ + + /** + * update composition_logement_familliaux_location_cps + * @return id of composition_logement_familliaux_location_cps updated or error object if a composition_logement_familliaux_location_cps is not updated + */ + function PUT() { + $aReturn = $this->genericPut('prod_immo', 'composition_logement_familliaux_location_cp', 'id_composition_logement_familliaux_location'); + return $aReturn['sMessage']; + } + + /** + * @SWG\Delete(path="/composition_logement_familliaux_location_cps", + * tags={"composition_logement_familliaux_location_cp"}, + * summary="delete composition_logement_familliaux_location_cp", + * description="Request to delete composition_logement_familliaux_location_cp", + * operationId="DELETE", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="idList", + * in="query", + * description="id of the composition_logement_familliaux_location_cp", + * required=true, + * type="string" + * ), + * @SWG\Response( + * response=200, + * description="composition_logement_familliaux_location_cp Response", + * @SWG\Schema(ref="#/definitions/composition_logement_familliaux_location_cps") + * ) + * ) + */ + /** + * @SWG\Delete(path="/composition_logement_familliaux_location_cps/{id_composition_logement_familliaux_location}", + * tags={"composition_logement_familliaux_location_cp"}, + * summary="delete composition_logement_familliaux_location_cp", + * description="Request to delete composition_logement_familliaux_location_cp", + * operationId="DELETE", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="Traitement token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="id_composition_logement_familliaux_location", + * in="path", + * description="id of the composition_logement_familliaux_location_cp", + * required=true, + * type="integer", + * format = "int32" + * ), + * @SWG\Response( + * response=200, + * description="Poprerties Response", + * @SWG\Schema(ref="#/definitions/composition_logement_familliaux_location_cps") + * ) + * ) + */ + + /** + * delete composition_logement_familliaux_location_cps + * @return id of composition_logement_familliaux_location_cps deleted or error object if a composition_logement_familliaux_location_cps is not deleted + */ + function DELETE() { + $aReturn = $this->genericDelete('prod_immo', 'composition_logement_familliaux_location_cp', 'id_composition_logement_familliaux_location'); + return $aReturn['sMessage']; + } +} + +?> \ No newline at end of file diff --git a/src/module_suivi_prod_immo/web_service/ws/Equipement_structure.class.inc b/src/module_suivi_prod_immo/web_service/ws/Equipement_structure.class.inc new file mode 100644 index 00000000..821ec11f --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/Equipement_structure.class.inc @@ -0,0 +1,57 @@ +<?php + +require_once __DIR__ . '/Suivi_prod_immo.class.inc'; +require_once __DIR__ . '/../../../vitis/vas/rest/class/vitis_lib/Connection.class.inc'; + +/** + * \file Suivi_prod_immo.class.inc + * \class Suivi_prod_immo + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Suivi_prod_immo php class + * + * This class defines equipement_structure for one Suivi_prod_immo + * + */ + +class Equipement_structure extends Suivi_prod_immo { + + public $oError; + + /** + * construct + * @param type $aPath url of the request + * @param type $aValues parameters of the request + * @param type $properties properties + * @param type $oConnection connection object + */ + function __construct($aPath, $aValues, $properties) { + $this->aValues = $aValues; + $this->aPath = $aPath; + $this->aProperties = $properties; + $this->oConnection = new Connection($this->aValues, $this->aProperties); + } + + /** + * get informations about equipement_structure + */ + function GET() { + $this->aFields = $this->getFields('prod_immo', "equipement_structure", "id_equipement_structure"); + } + + /** + * delete a equipement_structure + */ + function DELETE() { + $this->oConnection->oBd->delete('prod_immo', 'equipement_structure', 'id_equipement_structure', $this->aValues["my_vitis_id"], 'integer'); + if ($this->oConnection->oBd->enErreur()) { + $this->oError = new VitisError(1, $this->oConnection->oBd->getBDMessage()); + }else{ + $this->aFields["id_equipement_structure"] = $this->aValues["my_vitis_id"]; + } + } + +} + +?> \ No newline at end of file diff --git a/src/module_suivi_prod_immo/web_service/ws/Equipement_structures.class.inc b/src/module_suivi_prod_immo/web_service/ws/Equipement_structures.class.inc new file mode 100644 index 00000000..3935b739 --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/Equipement_structures.class.inc @@ -0,0 +1,313 @@ +<?php + +/** + * \file Equipement_structures.class.inc + * \class Equipement_structures + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Equipement_structures php class + * + * This class defines Rest Api to Vitis Equipement_structures + * + */ +require_once __DIR__ . '/Suivi_prod_immo.class.inc'; +require_once 'Equipement_structure.class.inc'; + + +class Equipement_structures extends Suivi_prod_immo { + /** + * @SWG\Definition( + * definition="/equipement_structures", + * allOf={ + * @SWG\Schema(ref="#/definitions/equipement_structures") + * } + * ) + * * @SWG\Tag( + * name="Equipement_structures", + * description="Equipement_structures about Equipement_structures" + * ) + */ + + /** + * construct + * @param type $aPath url of the request + * @param type $aValues parameters of the request + * @param type $properties properties + */ + function __construct($aPath, $aValues, $properties) { + $this->aValues = $aValues; + $this->aPath = $aPath; + $this->aProperties = $properties; + $this->oConnection = new Connection($this->aValues, $properties); + } + + /** + * @SWG\Get(path="/equipement_structures", + * tags={"Equipement_structures"}, + * summary="Get Equipement_structures", + * description="Request to get Equipement_structures", + * operationId="GET", + * produces={"application/xml", "application/json", "application/x-vm-json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="user token", + * required=true, + * type="string" + * ), + * @SWG\Parameter( + * name="order_by", + * in="query", + * description="list of ordering fields", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="sort_order", + * in="query", + * description="sort_order", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="limit", + * in="query", + * description="number of element", + * required=false, + * type="integer", + * format="int32" + * ), + * @SWG\Parameter( + * name="offset", + * in="query", + * description="index of first element", + * required=false, + * type="string", + * format="int32" + * ), + * @SWG\Parameter( + * name="attributs", + * in="query", + * description="list of attributs", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="filter", + * in="query", + * description="filter results", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="distinct", + * in="query", + * description="delete duplicates", + * required=false, + * type="boolean" + * ), + * @SWG\Response( + * response=200, + * description="traitement Response", + * @SWG\Schema(ref="#/definitions/equipement_structures") + * ) + * ) + */ + + /** + * get Equipement_structures + * @return Equipement_structures + */ + function GET() { + $aReturn = $this->genericGet('prod_immo', "equipement_structure", "id_equipement_structure"); + $aEquipement_structures=json_decode($aReturn['sMessage'],true); + if(isset($aEquipement_structures['equipement_structures'])){ + $aEquipement_structuresData=$aEquipement_structures['equipement_structures']; + $sDataArrayName="equipement_structures"; + }elseif (isset($aEquipement_structures['data'])){ + $aEquipement_structuresData=$aEquipement_structures['data']; + $sDataArrayName="data"; + }else{ + return $aReturn['sMessage']; + } + if(isset($aEquipement_structuresData)){ + // error_log(print_r($aEquipement_structures,true)); + $aEquipement_structures2=array(); + foreach ($aEquipement_structuresData as $aEquipement_structure){ + $aEquipement_structure['indicateur_equipement_structure']= $this->getIndicateur_equipement_structure($aEquipement_structure['id_indicateur_equipement_structure']); + $aEquipement_structures2[count($aEquipement_structures2)]=$aEquipement_structure; + } + $sEquipement_structures=json_encode(array($sDataArrayName=>$aEquipement_structures2,"list_count"=>$aEquipement_structures['list_count'],"total_row_number"=>$aEquipement_structures['total_row_number'],"status"=>$aEquipement_structures['status'])); + //error_log($sEquipement_structures); + return $sEquipement_structures; + } + } + + /** + * get indicateur_equipement_structure of equipement_structure + */ + function getIndicateur_equipement_structure($iIndicateurEquipement_structure) { + if(isset($iIndicateurEquipement_structure) and !is_null($iIndicateurEquipement_structure)){ + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'prod_immo', 'type' => 'schema_name'); + $aParams['id_indicateur_equipement_structure'] = array('value' => $iIndicateurEquipement_structure, 'type' => 'number'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getIndicateur_equipement_structure'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + return $aLigne["indicateur_equipement_structure"]; + }else{ + return null; + } + } + + /** + * @SWG\Post(path="/equipement_structures", + * tags={"equipement_structure"}, + * summary="Add equipement_structure", + * description="Request to add equipement_structure", + * operationId="POST", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="user token", + * required=true, + * type="string" + * ), + * @SWG\Response( + * response=200, + * description="equipement_structure Response", + * @SWG\Schema(ref="#/definitions/equipement_structures") + * ) + * ) + */ + + /** + * insert equipement_structure + * @return id of the equipement_structure created + */ + function POST(){ + require $this->sRessourcesFile; + // get value sequence from suivi_prod_immo database to set id + $oConnexion = new PDO('pgsql:host=\'srv-postgres\' port=5432 dbname=\'suivi_prod_immo\'', $_SESSION["ses_Login"], trim(des(rtrim(utf8_decode($_SESSION["ses_Login"])), hexToString(rtrim($_SESSION["ses_Password"])), 0, 0, null))); + $oPDOresult = $oConnexion->query($aSql['getSequenceEquipement_structure']); + if (!$oPDOresult) { + $aError=$oConnexion->errorInfo(); + error_log($aError[2]); + }else{ + $aResult = $oPDOresult->fetch(PDO::FETCH_ASSOC); + $this->aValues['id_equipement_structure'] = $aResult['nextval']; + } + $aReturn = $this->genericPost('prod_immo', 'equipement_structure', null, 'id_equipement_structure'); + return $aReturn['sMessage']; + } + + /** + * @SWG\Put(path="/equipement_structures/{id_equipement_structure}", + * tags={"equipement_structure"}, + * summary="update equipement_structure", + * description="Request to update equipement_structure", + * operationId="PUT", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="id_equipement_structure", + * in="path", + * description="id of the equipement_structure", + * required=true, + * type="integer", + * format = "int32" + * ), + * @SWG\Response( + * response=200, + * description="Poprerties Response", + * @SWG\Schema(ref="#/definitions/equipement_structures") + * ) + * ) + */ + + /** + * update equipement_structures + * @return id of equipement_structures updated or error object if a equipement_structures is not updated + */ + function PUT() { + $aReturn = $this->genericPut('prod_immo', 'equipement_structure', 'id_equipement_structure'); + return $aReturn['sMessage']; + } + + /** + * @SWG\Delete(path="/equipement_structures", + * tags={"equipement_structure"}, + * summary="delete equipement_structure", + * description="Request to delete equipement_structure", + * operationId="DELETE", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="idList", + * in="query", + * description="id of the equipement_structure", + * required=true, + * type="string" + * ), + * @SWG\Response( + * response=200, + * description="equipement_structure Response", + * @SWG\Schema(ref="#/definitions/equipement_structures") + * ) + * ) + */ + /** + * @SWG\Delete(path="/equipement_structures/{id_equipement_structure}", + * tags={"equipement_structure"}, + * summary="delete equipement_structure", + * description="Request to delete equipement_structure", + * operationId="DELETE", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="Traitement token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="id_equipement_structure", + * in="path", + * description="id of the equipement_structure", + * required=true, + * type="integer", + * format = "int32" + * ), + * @SWG\Response( + * response=200, + * description="Poprerties Response", + * @SWG\Schema(ref="#/definitions/equipement_structures") + * ) + * ) + */ + + /** + * delete equipement_structures + * @return id of equipement_structures deleted or error object if a equipement_structures is not deleted + */ + function DELETE() { + $aReturn = $this->genericDelete('prod_immo', 'equipement_structure', 'id_equipement_structure'); + return $aReturn['sMessage']; + } +} + +?> \ No newline at end of file diff --git a/src/module_suivi_prod_immo/web_service/ws/Granulometrie.class.inc b/src/module_suivi_prod_immo/web_service/ws/Granulometrie.class.inc new file mode 100644 index 00000000..661e7847 --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/Granulometrie.class.inc @@ -0,0 +1,57 @@ +<?php + +require_once __DIR__ . '/Suivi_prod_immo.class.inc'; +require_once __DIR__ . '/../../../vitis/vas/rest/class/vitis_lib/Connection.class.inc'; + +/** + * \file Suivi_prod_immo.class.inc + * \class Suivi_prod_immo + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Suivi_prod_immo php class + * + * This class defines granulometrie for one Suivi_prod_immo + * + */ + +class Granulometrie extends Suivi_prod_immo { + + public $oError; + + /** + * construct + * @param type $aPath url of the request + * @param type $aValues parameters of the request + * @param type $properties properties + * @param type $oConnection connection object + */ + function __construct($aPath, $aValues, $properties) { + $this->aValues = $aValues; + $this->aPath = $aPath; + $this->aProperties = $properties; + $this->oConnection = new Connection($this->aValues, $this->aProperties); + } + + /** + * get informations about granulometrie + */ + function GET() { + $this->aFields = $this->getFields('prod_immo', "granulometrie", "id_granulometrie"); + } + + /** + * delete a granulometrie + */ + function DELETE() { + $this->oConnection->oBd->delete('prod_immo', 'granulometrie', 'id_granulometrie', $this->aValues["my_vitis_id"], 'integer'); + if ($this->oConnection->oBd->enErreur()) { + $this->oError = new VitisError(1, $this->oConnection->oBd->getBDMessage()); + } else { + $this->aFields["id_granulometrie"] = $this->aValues["my_vitis_id"]; + } + } + +} + +?> \ No newline at end of file diff --git a/src/module_suivi_prod_immo/web_service/ws/Granulometries.class.inc b/src/module_suivi_prod_immo/web_service/ws/Granulometries.class.inc new file mode 100644 index 00000000..d08af232 --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/Granulometries.class.inc @@ -0,0 +1,331 @@ +<?php + +/** + * \file Granulometries.class.inc + * \class Granulometries + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Granulometries php class + * + * This class defines Rest Api to Vitis Granulometries + * + */ +require_once __DIR__ . '/Suivi_prod_immo.class.inc'; +require_once 'Granulometrie.class.inc'; + + +class Granulometries extends Suivi_prod_immo { + /** + * @SWG\Definition( + * definition="/granulometries", + * allOf={ + * @SWG\Schema(ref="#/definitions/granulometries") + * } + * ) + * * @SWG\Tag( + * name="Granulometries", + * description="Granulometries about Granulometries" + * ) + */ + + /** + * construct + * @param type $aPath url of the request + * @param type $aValues parameters of the request + * @param type $properties properties + */ + function __construct($aPath, $aValues, $properties) { + $this->aValues = $aValues; + $this->aPath = $aPath; + $this->aProperties = $properties; + $this->oConnection = new Connection($this->aValues, $properties); + } + + /** + * @SWG\Get(path="/granulometries", + * tags={"Granulometries"}, + * summary="Get Granulometries", + * description="Request to get Granulometries", + * operationId="GET", + * produces={"application/xml", "application/json", "application/x-vm-json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="user token", + * required=true, + * type="string" + * ), + * @SWG\Parameter( + * name="order_by", + * in="query", + * description="list of ordering fields", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="sort_order", + * in="query", + * description="sort_order", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="limit", + * in="query", + * description="number of element", + * required=false, + * type="integer", + * format="int32" + * ), + * @SWG\Parameter( + * name="offset", + * in="query", + * description="index of first element", + * required=false, + * type="string", + * format="int32" + * ), + * @SWG\Parameter( + * name="attributs", + * in="query", + * description="list of attributs", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="filter", + * in="query", + * description="filter results", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="distinct", + * in="query", + * description="delete duplicates", + * required=false, + * type="boolean" + * ), + * @SWG\Response( + * response=200, + * description="traitement Response", + * @SWG\Schema(ref="#/definitions/granulometries") + * ) + * ) + */ + + /** + * get Granulometries + * @return Granulometries + */ + function GET() { + $aReturn = $this->genericGet('prod_immo', "granulometrie", "id_granulometrie"); + $aGranulometries=json_decode($aReturn['sMessage'],true); + if(isset($aGranulometries['granulometries'])){ + $aGranulometriesData=$aGranulometries['granulometries']; + $sDataArrayName="granulometries"; + }elseif (isset($aGranulometries['data'])){ + $aGranulometriesData=$aGranulometries['data']; + $sDataArrayName="data"; + }else{ + return $aReturn['sMessage']; + } + if(isset($aGranulometriesData)){ + // error_log(print_r($aGranulometries,true)); + $aGranulometries2=array(); + foreach ($aGranulometriesData as $aGranulometrie){ + $aGranulometrie['composition_programme']= $this->getCompositionProgramme($aGranulometrie['code_composition_programme']); + $aGranulometrie['type_granulometrie']= $this->getTypeGranulometrie($aGranulometrie['code_type_granulometrie']); + $aGranulometries2[count($aGranulometries2)]=$aGranulometrie; + } + $sGranulometries=json_encode(array($sDataArrayName=>$aGranulometries2,"list_count"=>$aGranulometries['list_count'],"total_row_number"=>$aGranulometries['total_row_number'],"status"=>$aGranulometries['status'])); + //error_log($sGranulometries); + return $sGranulometries; + } + } + + /** + * get composition_programme of granulometrie + */ + function getCompositionProgramme($sCodeCompositionProgramme) { + if(isset($sCodeCompositionProgramme) and !is_null($sCodeCompositionProgramme)){ + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'prod_immo', 'type' => 'schema_name'); + $aParams['code_composition_programme'] = array('value' => $sCodeCompositionProgramme, 'type' => 'string'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getCompositionProgramme'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + return $aLigne["composition_programme"]; + }else{ + return null; + } + } + + /** + * get type_granulometrie of granulometrie + */ + function getTypeGranulometrie($sCodeTypeGranulometrie) { + if(isset($sCodeTypeGranulometrie) and !is_null($sCodeTypeGranulometrie)){ + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'prod_immo', 'type' => 'schema_name'); + $aParams['code_type_granulometrie'] = array('value' => $sCodeTypeGranulometrie, 'type' => 'string'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getTypeGranulometrie'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + return $aLigne["type_granulometrie"]; + }else{ + return null; + } + } + + /** + * @SWG\Post(path="/granulometries", + * tags={"granulométrie"}, + * summary="Add granulometrie", + * description="Request to add granulométrie", + * operationId="POST", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="user token", + * required=true, + * type="string" + * ), + * @SWG\Response( + * response=200, + * description="granulometrie Response", + * @SWG\Schema(ref="#/definitions/granulometries") + * ) + * ) + */ + + /** + * insert granulometrie + * @return id of the granulometrie created + */ + function POST(){ + require $this->sRessourcesFile; + // get value sequence from suivi_prod_immo database to set id + $oConnexion = new PDO('pgsql:host=\'srv-postgres\' port=5432 dbname=\'suivi_prod_immo\'', $_SESSION["ses_Login"], trim(des(rtrim(utf8_decode($_SESSION["ses_Login"])), hexToString(rtrim($_SESSION["ses_Password"])), 0, 0, null))); + $oPDOresult = $oConnexion->query($aSql['getSequenceGranulometrie']); + if (!$oPDOresult) { + $aError=$oConnexion->errorInfo(); + error_log($aError[2]); + }else{ + $aResult = $oPDOresult->fetch(PDO::FETCH_ASSOC); + $this->aValues['id_granulometrie'] = $aResult['nextval']; + } + $aReturn = $this->genericPost('prod_immo', 'granulometrie', null, 'id_granulometrie'); + return $aReturn['sMessage']; + } + + /** + * @SWG\Put(path="/granulometries/{id_granulometrie}", + * tags={"granulométrie"}, + * summary="update granulométrie", + * description="Request to update granulométrie", + * operationId="PUT", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="id_granulometrie", + * in="path", + * description="id of the granulométrie", + * required=true, + * type="integer", + * format = "int32" + * ), + * @SWG\Response( + * response=200, + * description="Poprerties Response", + * @SWG\Schema(ref="#/definitions/granulometries") + * ) + * ) + */ + + /** + * update granulometries + * @return id of granulometries updated or error object if a granulometries is not updated + */ + function PUT() { + $aReturn = $this->genericPut('prod_immo', 'granulometrie', 'id_granulometrie'); + return $aReturn['sMessage']; + } + + /** + * @SWG\Delete(path="/granulometries", + * tags={"granulométrie"}, + * summary="delete granulométrie", + * description="Request to delete granulométrie", + * operationId="DELETE", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="idList", + * in="query", + * description="id of the granulométrie", + * required=true, + * type="string" + * ), + * @SWG\Response( + * response=200, + * description="granulométrie Response", + * @SWG\Schema(ref="#/definitions/granulometries") + * ) + * ) + */ + /** + * @SWG\Delete(path="/granulometries/{id_granulometrie}", + * tags={"granulométrie"}, + * summary="delete granulométrie", + * description="Request to delete granulométrie", + * operationId="DELETE", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="Traitement token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="id_granulometrie", + * in="path", + * description="id of the granulométrie", + * required=true, + * type="integer", + * format = "int32" + * ), + * @SWG\Response( + * response=200, + * description="Poprerties Response", + * @SWG\Schema(ref="#/definitions/granulometries") + * ) + * ) + */ + + /** + * delete granulometries + * @return id of granulometries deleted or error object if a granulometries is not deleted + */ + function DELETE() { + $aReturn = $this->genericDelete('prod_immo', 'granulometrie', 'id_granulometrie'); + return $aReturn['sMessage']; + } +} + +?> \ No newline at end of file diff --git a/src/module_suivi_prod_immo/web_service/ws/Hotel_commerce_service.class.inc b/src/module_suivi_prod_immo/web_service/ws/Hotel_commerce_service.class.inc new file mode 100644 index 00000000..f0c94b3e --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/Hotel_commerce_service.class.inc @@ -0,0 +1,57 @@ +<?php + +require_once __DIR__ . '/Suivi_prod_immo.class.inc'; +require_once __DIR__ . '/../../../vitis/vas/rest/class/vitis_lib/Connection.class.inc'; + +/** + * \file Suivi_prod_immo.class.inc + * \class Suivi_prod_immo + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Suivi_prod_immo php class + * + * This class defines hotel_commerce_service for one Suivi_prod_immo + * + */ + +class Hotel_commerce_service extends Suivi_prod_immo { + + public $oError; + + /** + * construct + * @param type $aPath url of the request + * @param type $aValues parameters of the request + * @param type $properties properties + * @param type $oConnection connection object + */ + function __construct($aPath, $aValues, $properties) { + $this->aValues = $aValues; + $this->aPath = $aPath; + $this->aProperties = $properties; + $this->oConnection = new Connection($this->aValues, $this->aProperties); + } + + /** + * get informations about hotel_commerce_service + */ + function GET() { + $this->aFields = $this->getFields('prod_immo', "hotel_commerce_service", "id_hotel_commerce_service"); + } + + /** + * delete a hotel_commerce_service + */ + function DELETE() { + $this->oConnection->oBd->delete('prod_immo', 'hotel_commerce_service', 'id_hotel_commerce_service', $this->aValues["my_vitis_id"], 'integer'); + if ($this->oConnection->oBd->enErreur()) { + $this->oError = new VitisError(1, $this->oConnection->oBd->getBDMessage()); + } else { + $this->aFields["id_hotel_commerce_service"] = $this->aValues["my_vitis_id"]; + } + } + +} + +?> \ No newline at end of file diff --git a/src/module_suivi_prod_immo/web_service/ws/Hotel_commerce_services.class.inc b/src/module_suivi_prod_immo/web_service/ws/Hotel_commerce_services.class.inc new file mode 100644 index 00000000..eab05ae7 --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/Hotel_commerce_services.class.inc @@ -0,0 +1,313 @@ +<?php + +/** + * \file Hotel_commerce_services.class.inc + * \class Hotel_commerce_services + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Hotel_commerce_services php class + * + * This class defines Rest Api to Vitis Hotel_commerce_services + * + */ +require_once __DIR__ . '/Suivi_prod_immo.class.inc'; +require_once 'Hotel_commerce_service.class.inc'; + + +class Hotel_commerce_services extends Suivi_prod_immo { + /** + * @SWG\Definition( + * definition="/hotel_commerce_services", + * allOf={ + * @SWG\Schema(ref="#/definitions/hotel_commerce_services") + * } + * ) + * * @SWG\Tag( + * name="Hotel_commerce_services", + * description="Hotel_commerce_services about Hotel_commerce_services" + * ) + */ + + /** + * construct + * @param type $aPath url of the request + * @param type $aValues parameters of the request + * @param type $properties properties + */ + function __construct($aPath, $aValues, $properties) { + $this->aValues = $aValues; + $this->aPath = $aPath; + $this->aProperties = $properties; + $this->oConnection = new Connection($this->aValues, $properties); + } + + /** + * @SWG\Get(path="/hotel_commerce_services", + * tags={"Hotel_commerce_services"}, + * summary="Get Hotel_commerce_services", + * description="Request to get Hotel_commerce_services", + * operationId="GET", + * produces={"application/xml", "application/json", "application/x-vm-json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="user token", + * required=true, + * type="string" + * ), + * @SWG\Parameter( + * name="order_by", + * in="query", + * description="list of ordering fields", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="sort_order", + * in="query", + * description="sort_order", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="limit", + * in="query", + * description="number of element", + * required=false, + * type="integer", + * format="int32" + * ), + * @SWG\Parameter( + * name="offset", + * in="query", + * description="index of first element", + * required=false, + * type="string", + * format="int32" + * ), + * @SWG\Parameter( + * name="attributs", + * in="query", + * description="list of attributs", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="filter", + * in="query", + * description="filter results", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="distinct", + * in="query", + * description="delete duplicates", + * required=false, + * type="boolean" + * ), + * @SWG\Response( + * response=200, + * description="traitement Response", + * @SWG\Schema(ref="#/definitions/hotel_commerce_services") + * ) + * ) + */ + + /** + * get Hotel_commerce_services + * @return Hotel_commerce_services + */ + function GET() { + $aReturn = $this->genericGet('prod_immo', "hotel_commerce_service", "id_hotel_commerce_service"); + $aHotel_commerce_services=json_decode($aReturn['sMessage'],true); + if(isset($aHotel_commerce_services['hotel_commerce_services'])){ + $aHotel_commerce_servicesData=$aHotel_commerce_services['hotel_commerce_services']; + $sDataArrayName="hotel_commerce_services"; + }elseif (isset($aHotel_commerce_services['data'])){ + $aHotel_commerce_servicesData=$aHotel_commerce_services['data']; + $sDataArrayName="data"; + }else{ + return $aReturn['sMessage']; + } + if(isset($aHotel_commerce_servicesData)){ + // error_log(print_r($aHotel_commerce_services,true)); + $aHotel_commerce_services2=array(); + foreach ($aHotel_commerce_servicesData as $aHotel_commerce_service){ + $aHotel_commerce_service['indicateur_hotel_commerce_service']= $this->getIndicateur_hotel_commerce_service($aHotel_commerce_service['id_indicateur_hotel_commerce_service']); + $aHotel_commerce_services2[count($aHotel_commerce_services2)]=$aHotel_commerce_service; + } + $sHotel_commerce_services=json_encode(array($sDataArrayName=>$aHotel_commerce_services2,"list_count"=>$aHotel_commerce_services['list_count'],"total_row_number"=>$aHotel_commerce_services['total_row_number'],"status"=>$aHotel_commerce_services['status'])); + //error_log($sHotel_commerce_services); + return $sHotel_commerce_services; + } + } + + /** + * get indicateur_hotel_commerce_service of hotel_commerce_service + */ + function getIndicateur_hotel_commerce_service($iIndicateurHotel_commerce_service) { + if(isset($iIndicateurHotel_commerce_service) and !is_null($iIndicateurHotel_commerce_service)){ + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'prod_immo', 'type' => 'schema_name'); + $aParams['id_indicateur_hotel_commerce_service'] = array('value' => $iIndicateurHotel_commerce_service, 'type' => 'string'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getIndicateur_hotel_commerce_service'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + return $aLigne["indicateur_hotel_commerce_service"]; + }else{ + return null; + } + } + + /** + * @SWG\Post(path="/hotel_commerce_services", + * tags={"hotel_commerce_service"}, + * summary="Add hotel_commerce_service", + * description="Request to add hotel_commerce_service", + * operationId="POST", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="user token", + * required=true, + * type="string" + * ), + * @SWG\Response( + * response=200, + * description="hotel_commerce_service Response", + * @SWG\Schema(ref="#/definitions/hotel_commerce_services") + * ) + * ) + */ + + /** + * insert hotel_commerce_service + * @return id of the hotel_commerce_service created + */ + function POST(){ + require $this->sRessourcesFile; + // get value sequence from suivi_prod_immo database to set id + $oConnexion = new PDO('pgsql:host=\'srv-postgres\' port=5432 dbname=\'suivi_prod_immo\'', $_SESSION["ses_Login"], trim(des(rtrim(utf8_decode($_SESSION["ses_Login"])), hexToString(rtrim($_SESSION["ses_Password"])), 0, 0, null))); + $oPDOresult = $oConnexion->query($aSql['getSequenceHotel_commerce_service']); + if (!$oPDOresult) { + $aError=$oConnexion->errorInfo(); + error_log($aError[2]); + }else{ + $aResult = $oPDOresult->fetch(PDO::FETCH_ASSOC); + $this->aValues['id_hotel_commerce_service'] = $aResult['nextval']; + } + $aReturn = $this->genericPost('prod_immo', 'hotel_commerce_service', null, 'id_hotel_commerce_service'); + return $aReturn['sMessage']; + } + + /** + * @SWG\Put(path="/hotel_commerce_services/{id_hotel_commerce_service}", + * tags={"hotel_commerce_service"}, + * summary="update hotel_commerce_service", + * description="Request to update hotel_commerce_service", + * operationId="PUT", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="id_hotel_commerce_service", + * in="path", + * description="id of the hotel_commerce_service", + * required=true, + * type="integer", + * format = "int32" + * ), + * @SWG\Response( + * response=200, + * description="Poprerties Response", + * @SWG\Schema(ref="#/definitions/hotel_commerce_services") + * ) + * ) + */ + + /** + * update hotel_commerce_services + * @return id of hotel_commerce_services updated or error object if a hotel_commerce_services is not updated + */ + function PUT() { + $aReturn = $this->genericPut('prod_immo', 'hotel_commerce_service', 'id_hotel_commerce_service'); + return $aReturn['sMessage']; + } + + /** + * @SWG\Delete(path="/hotel_commerce_services", + * tags={"hotel_commerce_service"}, + * summary="delete hotel_commerce_service", + * description="Request to delete hotel_commerce_service", + * operationId="DELETE", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="idList", + * in="query", + * description="id of the hotel_commerce_service", + * required=true, + * type="string" + * ), + * @SWG\Response( + * response=200, + * description="hotel_commerce_service Response", + * @SWG\Schema(ref="#/definitions/hotel_commerce_services") + * ) + * ) + */ + /** + * @SWG\Delete(path="/hotel_commerce_services/{id_hotel_commerce_service}", + * tags={"hotel_commerce_service"}, + * summary="delete hotel_commerce_service", + * description="Request to delete hotel_commerce_service", + * operationId="DELETE", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="Traitement token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="id_hotel_commerce_service", + * in="path", + * description="id of the hotel_commerce_service", + * required=true, + * type="integer", + * format = "int32" + * ), + * @SWG\Response( + * response=200, + * description="Poprerties Response", + * @SWG\Schema(ref="#/definitions/hotel_commerce_services") + * ) + * ) + */ + + /** + * delete hotel_commerce_services + * @return id of hotel_commerce_services deleted or error object if a hotel_commerce_services is not deleted + */ + function DELETE() { + $aReturn = $this->genericDelete('prod_immo', 'hotel_commerce_service', 'id_hotel_commerce_service'); + return $aReturn['sMessage']; + } +} + +?> \ No newline at end of file diff --git a/src/module_suivi_prod_immo/web_service/ws/Ilots.class.inc b/src/module_suivi_prod_immo/web_service/ws/Ilots.class.inc index 113033e1..11e4c973 100644 --- a/src/module_suivi_prod_immo/web_service/ws/Ilots.class.inc +++ b/src/module_suivi_prod_immo/web_service/ws/Ilots.class.inc @@ -119,12 +119,60 @@ class Ilots extends Suivi_prod_immo { * get Ilots * @return Ilots */ - function GET() { - $aReturn = $this->genericGet('prod_immo', "ilot", "id_ilot"); - $sMessage = $aReturn['sMessage']; - return $sMessage; + function GET(){ + if($this->setRestriction()){ + $aReturn = $this->genericGet('prod_immo', "ilot", "id_ilot"); + $sMessage = $aReturn['sMessage']; + return $sMessage; + }else{ + // si pas d'autorisation, on retourne une liste vide + return json_encode(array("list_count"=>0,"total_row_number"=>0,"status"=>1)); + } } + + /** + * set filter restriction for user connected + */ + function setRestriction(){ + require $this->sRessourcesFile; + $aParams = array(); + $aParams['sSchemaFramework'] = array('value' => 'prod_immo', 'type' => 'schema_name'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getRestrictionUpdate'], $aParams); + if($oPDOresult->rowCount()==1){ + // le user existe dans la table de restriction + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + $oPDOresult2 = $this->oConnection->oBd->executeWithParams($aSql['getRestrictionUpdateIdOperation'], $aParams); + if($oPDOresult2->rowCount()>0){ + // il y a un ou plusieurs ID pour le user, on filtre + $aID=array(); + while ($aIdOperation = $this->oConnection->oBd->ligneSuivante($oPDOresult2)){ + $aID[] = $aIdOperation["id_operation"]; + } + $oPDOresult2 = $this->oConnection->oBd->fermeResultat(); + // injection du filtre + if (isset($this->aValues['filter'])){ + // il existe déjà un filtre + $aFilter=json_decode($this->aValues['filter'],true); + $aOperators=$aFilter['operators']; + $aOperators[]=array("column"=>"id_operation","compare_operator"=>"IN","value"=>$aID); + $aFilter['operators']=$aOperators; + $this->aValues['filter']=json_encode($aFilter); + }else{ + // il n'y a pas de filtre, on le crée + $this->aValues['filter']=json_encode(array('relation'=>'AND','operators'=>array(array("column"=>"id_operation","compare_operator"=>"IN","value"=>$aID)))); + } + return true; + }else{ + return false; + } + }else{ + // le user n'existe pas dans la table de restriction, on affiche rien + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + error_log("Aucunes opérations autorisées en saisie, ajouter l'utilisateur dans la table prod_immo.user_restriction ."); + return false; + } + } /** * @SWG\Post(path="/ilots", * tags={"Ilots"}, diff --git a/src/module_suivi_prod_immo/web_service/ws/Logement_familliaux_accession.class.inc b/src/module_suivi_prod_immo/web_service/ws/Logement_familliaux_accession.class.inc new file mode 100644 index 00000000..0ac51c26 --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/Logement_familliaux_accession.class.inc @@ -0,0 +1,57 @@ +<?php + +require_once __DIR__ . '/Suivi_prod_immo.class.inc'; +require_once __DIR__ . '/../../../vitis/vas/rest/class/vitis_lib/Connection.class.inc'; + +/** + * \file Suivi_prod_immo.class.inc + * \class Suivi_prod_immo + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Suivi_prod_immo php class + * + * This class defines logement_familliaux_accession for one Suivi_prod_immo + * + */ + +class Logement_familliaux_accession extends Suivi_prod_immo { + + public $oError; + + /** + * construct + * @param type $aPath url of the request + * @param type $aValues parameters of the request + * @param type $properties properties + * @param type $oConnection connection object + */ + function __construct($aPath, $aValues, $properties) { + $this->aValues = $aValues; + $this->aPath = $aPath; + $this->aProperties = $properties; + $this->oConnection = new Connection($this->aValues, $this->aProperties); + } + + /** + * get informations about logement_familliaux_accession + */ + function GET() { + $this->aFields = $this->getFields('prod_immo', "logement_familliaux_accession", "id_logement_familliaux_accession"); + } + + /** + * delete a logement_familliaux_accession + */ + function DELETE() { + $this->oConnection->oBd->delete('prod_immo', 'logement_familliaux_accession', 'id_logement_familliaux_accession', $this->aValues["my_vitis_id"], 'integer'); + if ($this->oConnection->oBd->enErreur()) { + $this->oError = new VitisError(1, $this->oConnection->oBd->getBDMessage()); + } else { + $this->aFields["id_logement_familliaux_accession"] = $this->aValues["my_vitis_id"]; + } + } + +} + +?> \ No newline at end of file diff --git a/src/module_suivi_prod_immo/web_service/ws/Logement_familliaux_accessions.class.inc b/src/module_suivi_prod_immo/web_service/ws/Logement_familliaux_accessions.class.inc new file mode 100644 index 00000000..10b4b6d2 --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/Logement_familliaux_accessions.class.inc @@ -0,0 +1,313 @@ +<?php + +/** + * \file Logement_familliaux_accessions.class.inc + * \class Logement_familliaux_accessions + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Logement_familliaux_accessions php class + * + * This class defines Rest Api to Vitis Logement_familliaux_accessions + * + */ +require_once __DIR__ . '/Suivi_prod_immo.class.inc'; +require_once 'Logement_familliaux_accession.class.inc'; + + +class Logement_familliaux_accessions extends Suivi_prod_immo { + /** + * @SWG\Definition( + * definition="/logement_familliaux_accessions", + * allOf={ + * @SWG\Schema(ref="#/definitions/logement_familliaux_accessions") + * } + * ) + * * @SWG\Tag( + * name="Logement_familliaux_accessions", + * description="Logement_familliaux_accessions about Logement_familliaux_accessions" + * ) + */ + + /** + * construct + * @param type $aPath url of the request + * @param type $aValues parameters of the request + * @param type $properties properties + */ + function __construct($aPath, $aValues, $properties) { + $this->aValues = $aValues; + $this->aPath = $aPath; + $this->aProperties = $properties; + $this->oConnection = new Connection($this->aValues, $properties); + } + + /** + * @SWG\Get(path="/logement_familliaux_accessions", + * tags={"Logement_familliaux_accessions"}, + * summary="Get Logement_familliaux_accessions", + * description="Request to get Logement_familliaux_accessions", + * operationId="GET", + * produces={"application/xml", "application/json", "application/x-vm-json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="user token", + * required=true, + * type="string" + * ), + * @SWG\Parameter( + * name="order_by", + * in="query", + * description="list of ordering fields", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="sort_order", + * in="query", + * description="sort_order", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="limit", + * in="query", + * description="number of element", + * required=false, + * type="integer", + * format="int32" + * ), + * @SWG\Parameter( + * name="offset", + * in="query", + * description="index of first element", + * required=false, + * type="string", + * format="int32" + * ), + * @SWG\Parameter( + * name="attributs", + * in="query", + * description="list of attributs", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="filter", + * in="query", + * description="filter results", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="distinct", + * in="query", + * description="delete duplicates", + * required=false, + * type="boolean" + * ), + * @SWG\Response( + * response=200, + * description="traitement Response", + * @SWG\Schema(ref="#/definitions/logement_familliaux_accessions") + * ) + * ) + */ + + /** + * get Logement_familliaux_accessions + * @return Logement_familliaux_accessions + */ + function GET() { + $aReturn = $this->genericGet('prod_immo', "logement_familliaux_accession", "id_logement_familliaux_accession"); + $aLogement_familliaux_accessions=json_decode($aReturn['sMessage'],true); + if(isset($aLogement_familliaux_accessions['logement_familliaux_accessions'])){ + $aLogement_familliaux_accessionsData=$aLogement_familliaux_accessions['logement_familliaux_accessions']; + $sDataArrayName="logement_familliaux_accessions"; + }elseif (isset($aLogement_familliaux_accessions['data'])){ + $aLogement_familliaux_accessionsData=$aLogement_familliaux_accessions['data']; + $sDataArrayName="data"; + }else{ + return $aReturn['sMessage']; + } + if(isset($aLogement_familliaux_accessionsData)){ + // error_log(print_r($aLogement_familliaux_accessions,true)); + $aLogement_familliaux_accessions2=array(); + foreach ($aLogement_familliaux_accessionsData as $aLogement_familliaux_accession){ + $aLogement_familliaux_accession['indicateur_logement_familliaux_accession']= $this->getIndicateur_logement_familliaux_accession($aLogement_familliaux_accession['id_indicateur_logement_familliaux_accession']); + $aLogement_familliaux_accessions2[count($aLogement_familliaux_accessions2)]=$aLogement_familliaux_accession; + } + $sLogement_familliaux_accessions=json_encode(array($sDataArrayName=>$aLogement_familliaux_accessions2,"list_count"=>$aLogement_familliaux_accessions['list_count'],"total_row_number"=>$aLogement_familliaux_accessions['total_row_number'],"status"=>$aLogement_familliaux_accessions['status'])); + //error_log($sLogement_familliaux_accessions); + return $sLogement_familliaux_accessions; + } + } + + /** + * get indicateur_logement_familliaux_accession of logement_familliaux_accession + */ + function getIndicateur_logement_familliaux_accession($sCodeTypeGranulometrie) { + if(isset($sCodeTypeGranulometrie) and !is_null($sCodeTypeGranulometrie)){ + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'prod_immo', 'type' => 'schema_name'); + $aParams['id_indicateur_logement_familliaux_accession'] = array('value' => $sCodeTypeGranulometrie, 'type' => 'number'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getIndicateur_logement_familliaux_accession'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + return $aLigne["indicateur_logement_familliaux_accession"]; + }else{ + return null; + } + } + + /** + * @SWG\Post(path="/logement_familliaux_accessions", + * tags={"logement familliaux en accession"}, + * summary="Add logement_familliaux_accession", + * description="Request to add logement familliaux en accession", + * operationId="POST", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="user token", + * required=true, + * type="string" + * ), + * @SWG\Response( + * response=200, + * description="logement_familliaux_accession Response", + * @SWG\Schema(ref="#/definitions/logement_familliaux_accessions") + * ) + * ) + */ + + /** + * insert logement_familliaux_accession + * @return id of the logement_familliaux_accession created + */ + function POST(){ + require $this->sRessourcesFile; + // get value sequence from suivi_prod_immo database to set id + $oConnexion = new PDO('pgsql:host=\'srv-postgres\' port=5432 dbname=\'suivi_prod_immo\'', $_SESSION["ses_Login"], trim(des(rtrim(utf8_decode($_SESSION["ses_Login"])), hexToString(rtrim($_SESSION["ses_Password"])), 0, 0, null))); + $oPDOresult = $oConnexion->query($aSql['getSequenceLogement_familliaux_accession']); + if (!$oPDOresult) { + $aError=$oConnexion->errorInfo(); + error_log($aError[2]); + }else{ + $aResult = $oPDOresult->fetch(PDO::FETCH_ASSOC); + $this->aValues['id_logement_familliaux_accession'] = $aResult['nextval']; + } + $aReturn = $this->genericPost('prod_immo', 'logement_familliaux_accession', null, 'id_logement_familliaux_accession'); + return $aReturn['sMessage']; + } + + /** + * @SWG\Put(path="/logement_familliaux_accessions/{id_logement_familliaux_accession}", + * tags={"logement familliaux en accession"}, + * summary="update logement familliaux en accession", + * description="Request to update logement familliaux en accession", + * operationId="PUT", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="id_logement_familliaux_accession", + * in="path", + * description="id of the logement familliaux en accession", + * required=true, + * type="integer", + * format = "int32" + * ), + * @SWG\Response( + * response=200, + * description="Poprerties Response", + * @SWG\Schema(ref="#/definitions/logement_familliaux_accessions") + * ) + * ) + */ + + /** + * update logement_familliaux_accessions + * @return id of logement_familliaux_accessions updated or error object if a logement_familliaux_accessions is not updated + */ + function PUT() { + $aReturn = $this->genericPut('prod_immo', 'logement_familliaux_accession', 'id_logement_familliaux_accession'); + return $aReturn['sMessage']; + } + + /** + * @SWG\Delete(path="/logement_familliaux_accessions", + * tags={"logement familliaux en accession"}, + * summary="delete logement familliaux en accession", + * description="Request to delete logement familliaux en accession", + * operationId="DELETE", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="idList", + * in="query", + * description="id of the logement familliaux en accession", + * required=true, + * type="string" + * ), + * @SWG\Response( + * response=200, + * description="logement familliaux en accession Response", + * @SWG\Schema(ref="#/definitions/logement_familliaux_accessions") + * ) + * ) + */ + /** + * @SWG\Delete(path="/logement_familliaux_accessions/{id_logement_familliaux_accession}", + * tags={"logement familliaux en accession"}, + * summary="delete logement familliaux en accession", + * description="Request to delete logement familliaux en accession", + * operationId="DELETE", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="Traitement token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="id_logement_familliaux_accession", + * in="path", + * description="id of the logement familliaux en accession", + * required=true, + * type="integer", + * format = "int32" + * ), + * @SWG\Response( + * response=200, + * description="Poprerties Response", + * @SWG\Schema(ref="#/definitions/logement_familliaux_accessions") + * ) + * ) + */ + + /** + * delete logement_familliaux_accessions + * @return id of logement_familliaux_accessions deleted or error object if a logement_familliaux_accessions is not deleted + */ + function DELETE() { + $aReturn = $this->genericDelete('prod_immo', 'logement_familliaux_accession', 'id_logement_familliaux_accession'); + return $aReturn['sMessage']; + } +} + +?> \ No newline at end of file diff --git a/src/module_suivi_prod_immo/web_service/ws/Operation.class.inc b/src/module_suivi_prod_immo/web_service/ws/Operation.class.inc index 6a5cd28f..bfdd2d49 100644 --- a/src/module_suivi_prod_immo/web_service/ws/Operation.class.inc +++ b/src/module_suivi_prod_immo/web_service/ws/Operation.class.inc @@ -39,8 +39,8 @@ class Operation extends Suivi_prod_immo { function GET() { $this->aFields = $this->getFields('prod_immo', "operation", "id_operation"); $this->getCommunes(); - $this->getPerimetre(); $this->getCTM(); + $this->getPerimetres(); $this->getModeFinancement(); $this->getAvancement(); $this->getContexteUrbain(); @@ -100,6 +100,30 @@ class Operation extends Suivi_prod_immo { $this->aFields['ctms'] = $sListCTMId; $this->aFields['ctms_label'] = implode(',', $aListCTMNom); } + + /** + * get perimetres of operation + */ + function getPerimetres() { + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'prod_immo', 'type' => 'schema_name'); + $aParams['id_operation'] = array('value' => $this->aValues["my_vitis_id"], 'type' => 'number'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getOperationPerimetre'], $aParams); + $sListPerimetreId = ""; + $aListPerimetreNom = array(); + while ($aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult)) { + if ($sListPerimetreId == "") { + $sListPerimetreId = $aLigne["id_perimetre"]; + } else { + $sListPerimetreId .= "|" . $aLigne["id_perimetre"]; + } + $aListPerimetreNom[] = $aLigne["nom_perimetre"]; + } + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + $this->aFields['perimetres'] = $sListPerimetreId; + $this->aFields['perimetres_label'] = implode(',', $aListPerimetreNom); + + } /** * get Modes financement of operation @@ -127,7 +151,7 @@ class Operation extends Suivi_prod_immo { /** * get perimetre projet urbain of programme */ - function getPerimetre() { + /*function getPerimetre() { if(isset($this->aFields['id_perimetre']) and !is_null($this->aFields['id_perimetre'])){ require $this->sRessourcesFile; $aParams['sSchemaFramework'] = array('value' => 'prod_immo', 'type' => 'schema_name'); @@ -137,7 +161,7 @@ class Operation extends Suivi_prod_immo { $this->aFields['nom_perimetre'] = $aLigne["nom_perimetre"]." (".$aLigne["type_perimetre"].")"; $oPDOresult = $this->oConnection->oBd->fermeResultat(); } - } + }*/ /** * get avancement of programme 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 index bc87f2e1..4e81b74d 100644 --- a/src/module_suivi_prod_immo/web_service/ws/OperationLastUpdate.class.inc +++ b/src/module_suivi_prod_immo/web_service/ws/OperationLastUpdate.class.inc @@ -46,8 +46,8 @@ class OperationLastUpdate extends Suivi_prod_immo { /** * @SWG\Get(path="/operationlastupdate/{iIdOperation}/{sAttributeName}", * tags={"Parcelle"}, - * summary="Get the tooltip "last update" content", - * description="Request to get tooltip "last update" content", + * summary="Get the tooltip 'last update' content", + * description="Request to get tooltip 'last update' content", * operationId="GET", * produces={"application/json"}, * @SWG\Parameter( @@ -69,7 +69,7 @@ class OperationLastUpdate extends Suivi_prod_immo { * in="path", * description="sAttributeName", * required=true, - * type="sting" + * type="string" * ), * @SWG\Response( * response=200, diff --git a/src/module_suivi_prod_immo/web_service/ws/Operations.class.inc b/src/module_suivi_prod_immo/web_service/ws/Operations.class.inc index 2a6a16d3..75252785 100644 --- a/src/module_suivi_prod_immo/web_service/ws/Operations.class.inc +++ b/src/module_suivi_prod_immo/web_service/ws/Operations.class.inc @@ -122,17 +122,25 @@ class Operations extends Suivi_prod_immo { * @return Operations */ function GET() { - $aReturn = $this->genericGet('prod_immo', "v_operation", "id_operation"); - $sMessage = $aReturn['sMessage']; - $aOperations=json_decode($aReturn['sMessage'],true); - $aOperations2=array(); - foreach ($aOperations['operations'] as $aOperation){ - unset($aOperation['geom']); - $aOperation['nom_commune']= $this->getCommunes($aOperation['id_operation']); - $aOperations2[count($aOperations2)]=$aOperation; + if($this->setRestriction()){ + $aReturn = $this->genericGet('prod_immo', "v_operation", "id_operation"); + $aOperations=json_decode($aReturn['sMessage'],true); + if(isset($aOperations['operations'])){ + $aOperations2=array(); + foreach ($aOperations['operations'] as $aOperation){ + unset($aOperation['geom']); + $aOperation['nom_commune']= $this->getCommunes($aOperation['id_operation']); + $aOperations2[count($aOperations2)]=$aOperation; + } + $sOperations=json_encode(array("operations"=>$aOperations2,"list_count"=>$aOperations['list_count'],"total_row_number"=>$aOperations['total_row_number'],"status"=>$aOperations['status'])); + }else{ + $sOperations=$aReturn['sMessage']; + } + return $sOperations; + }else{ + // si pas d'autorisation, on retourne une liste vide + return json_encode(array("list_count"=>0,"total_row_number"=>0,"status"=>1)); } - $sOperations=json_encode(array("operations"=>$aOperations2,"list_count"=>$aOperations['list_count'],"total_row_number"=>$aOperations['total_row_number'],"status"=>$aOperations['status'])); - return $sOperations; } /** @@ -149,9 +157,51 @@ class Operations extends Suivi_prod_immo { } $oPDOresult = $this->oConnection->oBd->fermeResultat(); return implode(',', $aListCommuneNom); - } + /** + * set filter restriction for user connected + */ + function setRestriction(){ + require $this->sRessourcesFile; + $aParams = array(); + $aParams['sSchemaFramework'] = array('value' => 'prod_immo', 'type' => 'schema_name'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getRestrictionUpdate'], $aParams); + if($oPDOresult->rowCount()==1){ + // le user existe dans la table de restriction + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + $oPDOresult2 = $this->oConnection->oBd->executeWithParams($aSql['getRestrictionUpdateIdOperation'], $aParams); + if($oPDOresult2->rowCount()>0){ + // il y a un ou plusieurs ID pour le user, on filtre + $aID=array(); + while ($aIdOperation = $this->oConnection->oBd->ligneSuivante($oPDOresult2)){ + $aID[] = $aIdOperation["id_operation"]; + } + $oPDOresult2 = $this->oConnection->oBd->fermeResultat(); + // injection du filtre + if (isset($this->aValues['filter'])){ + // il existe déjà un filtre + $aFilter=json_decode($this->aValues['filter'],true); + $aOperators=$aFilter['operators']; + $aOperators[]=array("column"=>"id_operation","compare_operator"=>"IN","value"=>$aID); + $aFilter['operators']=$aOperators; + $this->aValues['filter']=json_encode($aFilter); + }else{ + // il n'y a pas de filtre, on le crée + $this->aValues['filter']=json_encode(array('relation'=>'AND','operators'=>array(array("column"=>"id_operation","compare_operator"=>"IN","value"=>$aID)))); + } + return true; + }else{ + return false; + } + }else{ + // le user n'existe pas dans la table de restriction, on affiche rien + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + error_log("Aucunes opérations autorisées en saisie, ajouter l'utilisateur dans la table prod_immo.user_restriction ."); + return false; + } + } + /** * @SWG\Post(path="/operations", * tags={"Operations"}, @@ -229,7 +279,8 @@ class Operations extends Suivi_prod_immo { if ($aReturn['sStatus'] == 1) { $aXmlRacineAttribute['status'] = 1; $sMessage = $this->asDocument('', 'vitis', $this->aValues['sEncoding'], True, $aXmlRacineAttribute, $this->aValues['sSourceEncoding'], $this->aValues['output']); - $oOperation = new Operation($this->aPath, $this->aValues, $this->aProperties, $this->oConnection); + // ces deux lignes ne servent à rien - tester sans ! + $oOperation = new Operation($this->aPath, $this->aValues, $this->aProperties, $this->oConnection); $oOperation->GET(); //***** communes *****// // Le paramètre "communes" est passé dans la requête ? @@ -264,6 +315,22 @@ class Operations extends Suivi_prod_immo { } } } + //***** Périmètres *****// + // Le paramètre "perimetres" est passé dans la requête ? + if ($this->aValues['perimetres'] !== NULL) { + $this->oConnection->oBd->delete('prod_immo', 'operation_perimetre', 'id_operation', $this->aValues["my_vitis_id"]); + if (!empty($this->aValues['perimetres'])) { + require $this->sRessourcesFile; + $aPerimetres = explode('|', $this->aValues['perimetres']); + foreach ($aPerimetres as $iPerimetreId) { + $aParams = array(); + $aParams['sSchemaFramework'] = array('value' => 'prod_immo', 'type' => 'schema_name'); + $aParams['id_perimetre'] = array('value' => $iPerimetreId, 'type' => 'number'); + $aParams['id_operation'] = array('value' => $this->aValues["my_vitis_id"], 'type' => 'number'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['insertOperationPerimetre'], $aParams); + } + } + } //***** Modes financement *****// // Le paramètre "mode_financements" est passé dans la requête ? //error_log($this->aValues['mode_financements']); @@ -286,7 +353,7 @@ class Operations extends Suivi_prod_immo { } return $sMessage; - return $aReturn['sMessage']; + // return $aReturn['sMessage']; } /** diff --git a/src/module_suivi_prod_immo/web_service/ws/Perimetre.class.inc b/src/module_suivi_prod_immo/web_service/ws/Perimetre.class.inc new file mode 100644 index 00000000..d843f093 --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/Perimetre.class.inc @@ -0,0 +1,45 @@ +<?php + +require_once __DIR__ . '/Suivi_prod_immo.class.inc'; +require_once __DIR__ . '/../../../vitis/vas/rest/class/vitis_lib/Connection.class.inc'; + +/** + * \file Suivi_prod_immo.class.inc + * \class Suivi_prod_immo + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Suivi_prod_immo php class + * + * This class defines perimetre for one Suivi_prod_immo + * + */ + +class Perimetre extends Suivi_prod_immo { + + public $oError; + + /** + * construct + * @param type $aPath url of the request + * @param type $aValues parameters of the request + * @param type $properties properties + * @param type $oConnection connection object + */ + function __construct($aPath, $aValues, $properties) { + $this->aValues = $aValues; + $this->aPath = $aPath; + $this->aProperties = $properties; + $this->oConnection = new Connection($this->aValues, $this->aProperties); + } + + /** + * get informations about perimetre + */ + function GET() { + $this->aFields = $this->getFields('prod_immo', "perimetre", "id_perimetre"); + } + +} + +?> \ No newline at end of file diff --git a/src/module_suivi_prod_immo/web_service/ws/Perimetres.class.inc b/src/module_suivi_prod_immo/web_service/ws/Perimetres.class.inc new file mode 100644 index 00000000..1912b200 --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/Perimetres.class.inc @@ -0,0 +1,131 @@ +<?php + +/** + * \file Perimetres.class.inc + * \class Perimetres + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Perimetres php class + * + * This class defines Rest Api to Vitis Perimetres + * + */ +require_once __DIR__ . '/Suivi_prod_immo.class.inc'; +require_once 'Perimetre.class.inc'; + + +class Perimetres extends Suivi_prod_immo { + /** + * @SWG\Definition( + * definition="/perimetres", + * allOf={ + * @SWG\Schema(ref="#/definitions/perimetres") + * } + * ) + * * @SWG\Tag( + * name="Perimetres", + * description="Perimetres about Perimetres" + * ) + */ + + /** + * construct + * @param type $aPath url of the request + * @param type $aValues parameters of the request + * @param type $properties properties + */ + function __construct($aPath, $aValues, $properties) { + $this->aValues = $aValues; + $this->aPath = $aPath; + $this->aProperties = $properties; + $this->oConnection = new Connection($this->aValues, $properties); + } + + /** + * @SWG\Get(path="/perimetres", + * tags={"Perimetres"}, + * summary="Get Perimetres", + * description="Request to get Perimetres", + * operationId="GET", + * produces={"application/xml", "application/json", "application/x-vm-json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="user token", + * required=true, + * type="string" + * ), + * @SWG\Parameter( + * name="order_by", + * in="query", + * description="list of ordering fields", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="sort_order", + * in="query", + * description="sort_order", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="limit", + * in="query", + * description="number of element", + * required=false, + * type="integer", + * format="int32" + * ), + * @SWG\Parameter( + * name="offset", + * in="query", + * description="index of first element", + * required=false, + * type="string", + * format="int32" + * ), + * @SWG\Parameter( + * name="attributs", + * in="query", + * description="list of attributs", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="filter", + * in="query", + * description="filter results", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="distinct", + * in="query", + * description="delete duplicates", + * required=false, + * type="boolean" + * ), + * @SWG\Response( + * response=200, + * description="traitement Response", + * @SWG\Schema(ref="#/definitions/perimetres") + * ) + * ) + */ + + /** + * get Perimetres + * @return Perimetres + */ + function GET() { + $aReturn = $this->genericGet('prod_immo', "perimetre", "id_perimetre"); + $sMessage = $aReturn['sMessage']; + return $sMessage; + } + + +} + +?> \ No newline at end of file diff --git a/src/module_suivi_prod_immo/web_service/ws/Profil_acheteur_accession_libre.class.inc b/src/module_suivi_prod_immo/web_service/ws/Profil_acheteur_accession_libre.class.inc new file mode 100644 index 00000000..6a2ff113 --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/Profil_acheteur_accession_libre.class.inc @@ -0,0 +1,57 @@ +<?php + +require_once __DIR__ . '/Suivi_prod_immo.class.inc'; +require_once __DIR__ . '/../../../vitis/vas/rest/class/vitis_lib/Connection.class.inc'; + +/** + * \file Suivi_prod_immo.class.inc + * \class Suivi_prod_immo + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Suivi_prod_immo php class + * + * This class defines profil_acheteur_accession_libre for one Suivi_prod_immo + * + */ + +class Profil_acheteur_accession_libre extends Suivi_prod_immo { + + public $oError; + + /** + * construct + * @param type $aPath url of the request + * @param type $aValues parameters of the request + * @param type $properties properties + * @param type $oConnection connection object + */ + function __construct($aPath, $aValues, $properties) { + $this->aValues = $aValues; + $this->aPath = $aPath; + $this->aProperties = $properties; + $this->oConnection = new Connection($this->aValues, $this->aProperties); + } + + /** + * get informations about profil_acheteur_accession_libre + */ + function GET() { + $this->aFields = $this->getFields('prod_immo', "profil_acheteur_accession_libre", "id_profil_acheteur_accession_libre"); + } + + /** + * delete a profil_acheteur_accession_libre + */ + function DELETE() { + $this->oConnection->oBd->delete('prod_immo', 'profil_acheteur_accession_libre', 'id_profil_acheteur_accession_libre', $this->aValues["my_vitis_id"], 'integer'); + if ($this->oConnection->oBd->enErreur()) { + $this->oError = new VitisError(1, $this->oConnection->oBd->getBDMessage()); + } else { + $this->aFields["id_profil_acheteur_accession_libre"] = $this->aValues["my_vitis_id"]; + } + } + +} + +?> \ No newline at end of file diff --git a/src/module_suivi_prod_immo/web_service/ws/Profil_acheteur_accession_libres.class.inc b/src/module_suivi_prod_immo/web_service/ws/Profil_acheteur_accession_libres.class.inc new file mode 100644 index 00000000..08327f6d --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/Profil_acheteur_accession_libres.class.inc @@ -0,0 +1,313 @@ +<?php + +/** + * \file Profil_acheteur_accession_libres.class.inc + * \class Profil_acheteur_accession_libres + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Profil_acheteur_accession_libres php class + * + * This class defines Rest Api to Vitis Profil_acheteur_accession_libres + * + */ +require_once __DIR__ . '/Suivi_prod_immo.class.inc'; +require_once 'Profil_acheteur_accession_libre.class.inc'; + + +class Profil_acheteur_accession_libres extends Suivi_prod_immo { + /** + * @SWG\Definition( + * definition="/profil_acheteur_accession_libres", + * allOf={ + * @SWG\Schema(ref="#/definitions/profil_acheteur_accession_libres") + * } + * ) + * * @SWG\Tag( + * name="Profil_acheteur_accession_libres", + * description="Profil_acheteur_accession_libres about Profil_acheteur_accession_libres" + * ) + */ + + /** + * construct + * @param type $aPath url of the request + * @param type $aValues parameters of the request + * @param type $properties properties + */ + function __construct($aPath, $aValues, $properties) { + $this->aValues = $aValues; + $this->aPath = $aPath; + $this->aProperties = $properties; + $this->oConnection = new Connection($this->aValues, $properties); + } + + /** + * @SWG\Get(path="/profil_acheteur_accession_libres", + * tags={"Profil_acheteur_accession_libres"}, + * summary="Get Profil_acheteur_accession_libres", + * description="Request to get Profil_acheteur_accession_libres", + * operationId="GET", + * produces={"application/xml", "application/json", "application/x-vm-json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="user token", + * required=true, + * type="string" + * ), + * @SWG\Parameter( + * name="order_by", + * in="query", + * description="list of ordering fields", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="sort_order", + * in="query", + * description="sort_order", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="limit", + * in="query", + * description="number of element", + * required=false, + * type="integer", + * format="int32" + * ), + * @SWG\Parameter( + * name="offset", + * in="query", + * description="index of first element", + * required=false, + * type="string", + * format="int32" + * ), + * @SWG\Parameter( + * name="attributs", + * in="query", + * description="list of attributs", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="filter", + * in="query", + * description="filter results", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="distinct", + * in="query", + * description="delete duplicates", + * required=false, + * type="boolean" + * ), + * @SWG\Response( + * response=200, + * description="traitement Response", + * @SWG\Schema(ref="#/definitions/profil_acheteur_accession_libres") + * ) + * ) + */ + + /** + * get Profil_acheteur_accession_libres + * @return Profil_acheteur_accession_libres + */ + function GET() { + $aReturn = $this->genericGet('prod_immo', "profil_acheteur_accession_libre", "id_profil_acheteur_accession_libre"); + $aProfil_acheteur_accession_libres=json_decode($aReturn['sMessage'],true); + if(isset($aProfil_acheteur_accession_libres['profil_acheteur_accession_libres'])){ + $aProfil_acheteur_accession_libresData=$aProfil_acheteur_accession_libres['profil_acheteur_accession_libres']; + $sDataArrayName="profil_acheteur_accession_libres"; + }elseif (isset($aProfil_acheteur_accession_libres['data'])){ + $aProfil_acheteur_accession_libresData=$aProfil_acheteur_accession_libres['data']; + $sDataArrayName="data"; + }else{ + return $aReturn['sMessage']; + } + if(isset($aProfil_acheteur_accession_libresData)){ + // error_log(print_r($aProfil_acheteur_accession_libres,true)); + $aProfil_acheteur_accession_libres2=array(); + foreach ($aProfil_acheteur_accession_libresData as $aProfil_acheteur_accession_libre){ + $aProfil_acheteur_accession_libre['type_acheteur_accession_libre']= $this->getType_acheteur_accession_libre($aProfil_acheteur_accession_libre['id_type_acheteur_accession_libre']); + $aProfil_acheteur_accession_libres2[count($aProfil_acheteur_accession_libres2)]=$aProfil_acheteur_accession_libre; + } + $sProfil_acheteur_accession_libres=json_encode(array($sDataArrayName=>$aProfil_acheteur_accession_libres2,"list_count"=>$aProfil_acheteur_accession_libres['list_count'],"total_row_number"=>$aProfil_acheteur_accession_libres['total_row_number'],"status"=>$aProfil_acheteur_accession_libres['status'])); + //error_log($sProfil_acheteur_accession_libres); + return $sProfil_acheteur_accession_libres; + } + } + + /** + * get type_acheteur_accession_libre of profil_acheteur_accession_libre + */ + function getType_acheteur_accession_libre($sCodeTypeProfil_acheteur_accession_libre) { + if(isset($sCodeTypeProfil_acheteur_accession_libre) and !is_null($sCodeTypeProfil_acheteur_accession_libre)){ + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'prod_immo', 'type' => 'schema_name'); + $aParams['id_type_acheteur_accession_libre'] = array('value' => $sCodeTypeProfil_acheteur_accession_libre, 'type' => 'number'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getType_acheteur_accession_libre'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + return $aLigne["type_acheteur_accession_libre"]; + }else{ + return null; + } + } + + /** + * @SWG\Post(path="/profil_acheteur_accession_libres", + * tags={"profil acheteur accession libre"}, + * summary="Add profil_acheteur_accession_libre", + * description="Request to add profil acheteur accession libre", + * operationId="POST", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="user token", + * required=true, + * type="string" + * ), + * @SWG\Response( + * response=200, + * description="profil_acheteur_accession_libre Response", + * @SWG\Schema(ref="#/definitions/profil_acheteur_accession_libres") + * ) + * ) + */ + + /** + * insert profil_acheteur_accession_libre + * @return id of the profil_acheteur_accession_libre created + */ + function POST(){ + require $this->sRessourcesFile; + // get value sequence from suivi_prod_immo database to set id + $oConnexion = new PDO('pgsql:host=\'srv-postgres\' port=5432 dbname=\'suivi_prod_immo\'', $_SESSION["ses_Login"], trim(des(rtrim(utf8_decode($_SESSION["ses_Login"])), hexToString(rtrim($_SESSION["ses_Password"])), 0, 0, null))); + $oPDOresult = $oConnexion->query($aSql['getSequenceProfil_acheteur_accession_libre']); + if (!$oPDOresult) { + $aError=$oConnexion->errorInfo(); + error_log($aError[2]); + }else{ + $aResult = $oPDOresult->fetch(PDO::FETCH_ASSOC); + $this->aValues['id_profil_acheteur_accession_libre'] = $aResult['nextval']; + } + $aReturn = $this->genericPost('prod_immo', 'profil_acheteur_accession_libre', null, 'id_profil_acheteur_accession_libre'); + return $aReturn['sMessage']; + } + + /** + * @SWG\Put(path="/profil_acheteur_accession_libres/{id_profil_acheteur_accession_libre}", + * tags={"profil acheteur accession libre"}, + * summary="update profil acheteur accession libre", + * description="Request to update profil acheteur accession libre", + * operationId="PUT", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="id_profil_acheteur_accession_libre", + * in="path", + * description="id of the profil acheteur accession libre", + * required=true, + * type="integer", + * format = "int32" + * ), + * @SWG\Response( + * response=200, + * description="Poprerties Response", + * @SWG\Schema(ref="#/definitions/profil_acheteur_accession_libres") + * ) + * ) + */ + + /** + * update profil_acheteur_accession_libres + * @return id of profil_acheteur_accession_libres updated or error object if a profil_acheteur_accession_libres is not updated + */ + function PUT() { + $aReturn = $this->genericPut('prod_immo', 'profil_acheteur_accession_libre', 'id_profil_acheteur_accession_libre'); + return $aReturn['sMessage']; + } + + /** + * @SWG\Delete(path="/profil_acheteur_accession_libres", + * tags={"profil acheteur accession libre"}, + * summary="delete profil acheteur accession libre", + * description="Request to delete profil acheteur accession libre", + * operationId="DELETE", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="idList", + * in="query", + * description="id of the profil acheteur accession libre", + * required=true, + * type="string" + * ), + * @SWG\Response( + * response=200, + * description="profil acheteur accession libre Response", + * @SWG\Schema(ref="#/definitions/profil_acheteur_accession_libres") + * ) + * ) + */ + /** + * @SWG\Delete(path="/profil_acheteur_accession_libres/{id_profil_acheteur_accession_libre}", + * tags={"profil acheteur accession libre"}, + * summary="delete profil acheteur accession libre", + * description="Request to delete profil acheteur accession libre", + * operationId="DELETE", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="Traitement token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="id_profil_acheteur_accession_libre", + * in="path", + * description="id of the profil acheteur accession libre", + * required=true, + * type="integer", + * format = "int32" + * ), + * @SWG\Response( + * response=200, + * description="Poprerties Response", + * @SWG\Schema(ref="#/definitions/profil_acheteur_accession_libres") + * ) + * ) + */ + + /** + * delete profil_acheteur_accession_libres + * @return id of profil_acheteur_accession_libres deleted or error object if a profil_acheteur_accession_libres is not deleted + */ + function DELETE() { + $aReturn = $this->genericDelete('prod_immo', 'profil_acheteur_accession_libre', 'id_profil_acheteur_accession_libre'); + return $aReturn['sMessage']; + } +} + +?> \ No newline at end of file diff --git a/src/module_suivi_prod_immo/web_service/ws/Programme.class.inc b/src/module_suivi_prod_immo/web_service/ws/Programme.class.inc index 67f3d6ba..5fd111e4 100644 --- a/src/module_suivi_prod_immo/web_service/ws/Programme.class.inc +++ b/src/module_suivi_prod_immo/web_service/ws/Programme.class.inc @@ -16,7 +16,7 @@ require_once dirname($_SERVER['SCRIPT_FILENAME']) . '/class/vitis_lib/Connection */ class Programme extends Suivi_prod_immo { - + public $oError; /** @@ -42,6 +42,8 @@ class Programme extends Suivi_prod_immo { $this->getCommune(); $this->getTypeOperateur(); $this->getModeConsultation(); + $this->getLogementFamLocation(); + $this->getHabitatSpecifique(); // Date de mise à jour $date_mise_a_jour = new DateTime($this->aFields['date_mise_a_jour']); $this->aFields['date_mise_a_jour'] = $date_mise_a_jour->format('d/m/Y'); @@ -115,6 +117,40 @@ class Programme extends Suivi_prod_immo { $oPDOresult = $this->oConnection->oBd->fermeResultat(); } } + + /** + * get logement fammilliaux location of programme + */ + function getLogementFamLocation(){ + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'prod_immo', 'type' => 'schema_name'); + $aParams['id_programme'] = array('value' => $this->aFields['id_programme'], 'type' => 'number'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getLogementFamLocation'], $aParams); + if($oPDOresult!=false){ + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $this->aFields['logement_familliaux_location_nom_bailleur'] = $aLigne["nom_bailleur"]; + $this->aFields['logement_familliaux_location_nom_investisseur'] = $aLigne["nom_investisseur"]; + $this->aFields['id_logement_familliaux_location'] = $aLigne["id_logement_familliaux_location"]; + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + } + } + + /** + * get habitat spécifique of programme + */ + function getHabitatSpecifique(){ + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'prod_immo', 'type' => 'schema_name'); + $aParams['id_programme'] = array('value' => $this->aFields['id_programme'], 'type' => 'number'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getHabitatSpecifique'], $aParams); + if($oPDOresult!=false){ + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $this->aFields['habitat_specifique_nom_bailleur'] = $aLigne["nom_bailleur"]; + $this->aFields['habitat_specifique_nom_gestionnaire'] = $aLigne["nom_gestionnaire"]; + $this->aFields['id_habitat_specifique'] = $aLigne["id_habitat_specifique"]; + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + } + } function replaceOuiNonLes2($sValue){ switch ($sValue) { 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 index 59c0640f..17dcde91 100644 --- a/src/module_suivi_prod_immo/web_service/ws/ProgrammeLastUpdate.class.inc +++ b/src/module_suivi_prod_immo/web_service/ws/ProgrammeLastUpdate.class.inc @@ -45,10 +45,9 @@ class ProgrammeLastUpdate extends Suivi_prod_immo { /** * @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", + * tags={"Programme"}, + * summary="Get the tooltip 'last update' content", + * description="Request to get tooltip 'last update' content", * produces={"application/json"}, * @SWG\Parameter( * name="token", @@ -69,7 +68,7 @@ class ProgrammeLastUpdate extends Suivi_prod_immo { * in="path", * description="sAttributeName", * required=true, - * type="sting" + * type="string" * ), * @SWG\Response( * response=200, diff --git a/src/module_suivi_prod_immo/web_service/ws/Programmes.class.inc b/src/module_suivi_prod_immo/web_service/ws/Programmes.class.inc index 1a70c95d..886f3561 100644 --- a/src/module_suivi_prod_immo/web_service/ws/Programmes.class.inc +++ b/src/module_suivi_prod_immo/web_service/ws/Programmes.class.inc @@ -120,20 +120,23 @@ class Programmes extends Suivi_prod_immo { * @return Programmes */ function GET() { - $aReturn = $this->genericGet('prod_immo', "programme_immobilier", "id_programme"); - $sMessage = $aReturn['sMessage']; - $aProgrammes=json_decode($aReturn['sMessage'],true); - $aProgrammes2=array(); - foreach ($aProgrammes['programmes'] as $aProgramme){ - unset($aProgramme['geom']); - $aProgramme['nom_commune']= $this->getCommune($aProgramme['id_commune']); - $aProgramme['nom_ilot']= $this->getIlot($aProgramme['id_ilot']); - $aProgramme['nom_operation']= $this->getOperation($aProgramme['id_ilot']); - $aProgrammes2[count($aProgrammes2)]=$aProgramme; + if($this->setRestriction()){ + $aReturn = $this->genericGet('prod_immo', "programme_immobilier", "id_programme"); + $aProgrammes=json_decode($aReturn['sMessage'],true); + $aProgrammes2=array(); + foreach ($aProgrammes['programmes'] as $aProgramme){ + unset($aProgramme['geom']); + $aProgramme['nom_commune']= $this->getCommune($aProgramme['id_commune']); + $aProgramme['nom_ilot']= $this->getIlot($aProgramme['id_ilot']); + $aProgramme['nom_operation']= $this->getOperation($aProgramme['id_ilot']); + $aProgrammes2[count($aProgrammes2)]=$aProgramme; + } + $sProgrammes=json_encode(array("programmes"=>$aProgrammes2,"list_count"=>$aProgrammes['list_count'],"total_row_number"=>$aProgrammes['total_row_number'],"status"=>$aProgrammes['status'])); + return $sProgrammes; + }else{ + // si pas d'autorisation, on retourne une liste vide + return json_encode(array("list_count"=>0,"total_row_number"=>0,"status"=>1)); } - $sProgrammes=json_encode(array("programmes"=>$aProgrammes2,"list_count"=>$aProgrammes['list_count'],"total_row_number"=>$aProgrammes['total_row_number'],"status"=>$aProgrammes['status'])); - //error_log($sProgrammes); - return $sProgrammes; } /** @@ -187,10 +190,53 @@ class Programmes extends Suivi_prod_immo { } } + /** + * set filter restriction for user connected + */ + function setRestriction(){ + require $this->sRessourcesFile; + $aParams = array(); + $aParams['sSchemaFramework'] = array('value' => 'prod_immo', 'type' => 'schema_name'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getRestrictionUpdate'], $aParams); + if($oPDOresult->rowCount()==1){ + // le user existe dans la table de restriction + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + $oPDOresult2 = $this->oConnection->oBd->executeWithParams($aSql['getRestrictionUpdateIdIlot'], $aParams); + if($oPDOresult2->rowCount()>0){ + // il y a un ou plusieurs ID pour le user, on filtre + $aID=array(); + while ($aIdIlot=$this->oConnection->oBd->ligneSuivante($oPDOresult2)){ + $aID[]=$aIdIlot["id_ilot"]; + } + $oPDOresult2=$this->oConnection->oBd->fermeResultat(); + // injection du filtre + if (isset($this->aValues['filter'])){ + // il existe déjà un filtre + $aFilter=json_decode($this->aValues['filter'],true); + $aOperators=$aFilter['operators']; + $aOperators[]=array("column"=>"id_ilot","compare_operator"=>"IN","value"=>$aID); + $aFilter['operators']=$aOperators; + $this->aValues['filter']=json_encode($aFilter); + }else{ + // il n'y a pas de filtre, on le crée + $this->aValues['filter']=json_encode(array('relation'=>'AND','operators'=>array(array("column"=>"id_ilot","compare_operator"=>"IN","value"=>$aID)))); + } + return true; + }else{ + return false; + } + }else{ + // le user n'existe pas dans la table de restriction, on affiche rien + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + error_log("Aucunes opérations autorisées en saisie, ajouter l'utilisateur dans la table prod_immo.user_restriction ."); + return false; + } + } + /** * @SWG\Post(path="/programmes", * tags={"Programmes"}, - * summary="Add traitement", + * summary="Add programme", * description="Request to add Programmes", * operationId="POST", * produces={"application/xml", "application/json"}, @@ -203,15 +249,15 @@ class Programmes extends Suivi_prod_immo { * ), * @SWG\Response( * response=200, - * description="traitement Response", + * description= Response", * @SWG\Schema(ref="#/definitions/programmes") * ) * ) */ /** - * insert traitement - * @return id of the traitement created + * insert programme + * @return id of the programme created */ function POST() { //$this->aValues['create'] = $_SESSION["ses_Login"]; @@ -255,10 +301,53 @@ class Programmes extends Suivi_prod_immo { * @return id of programmes updated or error object if a programmes is not updated */ function PUT() { - /*if (empty($this->aValues['maj'])) - $this->aValues['maj'] = $_SESSION["ses_Login"]; - if (empty($this->aValues['maj_date'])) - $this->aValues['maj_date'] = date('Y-m-d');*/ + require $this->sRessourcesFile; + $oConnection=$this->oConnection->oBd; + $aParams['sSchemaFramework'] = array('value' => 'prod_immo', 'type' => 'schema_name'); + $aParams['id_programme'] = array('value' => $this->aValues['my_vitis_id'], 'type' => 'number'); + if(isset($this->aValues['logement_familliaux_location_nom_bailleur'])){ + $aParams['nom_bailleur'] = array('value' => $this->aValues['logement_familliaux_location_nom_bailleur'], 'type' => 'string'); + $oPDOresult = $oConnection->executeWithParams($aSql['setLogementFamilliauxLocationNomBailleur'], $aParams); + if (!$oPDOresult){ + $aError=$oConnection->errorInfo(); + error_log($aError[2]); + } + $oPDOresult = $oConnection->fermeResultat(); + unset($this->aValues['logement_familliaux_location_nom_bailleur']); + unset($aParams['nom_bailleur']); + } + if(isset($this->aValues['logement_familliaux_location_nom_investisseur'])){ + $aParams['nom_investisseur'] = array('value' => $this->aValues['logement_familliaux_location_nom_investisseur'], 'type' => 'string'); + $oPDOresult = $oConnection->executeWithParams($aSql['setLogementFamilliauxLocationNomInvestisseur'], $aParams); + if (!$oPDOresult){ + $aError=$oConnection->errorInfo(); + error_log($aError[2]); + } + $oPDOresult = $oConnection->fermeResultat(); + unset($this->aValues['logement_familliaux_location_nom_investisseur']); + unset($aParams['nom_investisseur']); + } + if(isset($this->aValues['habitat_specifique_nom_bailleur'])){ + $aParams['nom_bailleur'] = array('value' => $this->aValues['habitat_specifique_nom_bailleur'], 'type' => 'string'); + $oPDOresult = $oConnection->executeWithParams($aSql['setHabitatSpecifiqueNomBailleur'], $aParams); + if (!$oPDOresult){ + $aError=$oConnection->errorInfo(); + error_log($aError[2]); + } + $oPDOresult = $oConnection->fermeResultat(); + unset($this->aValues['habitat_specifique_nom_bailleur']); + unset($aParams['nom_bailleur']); + } + if(isset($this->aValues['habitat_specifique_nom_gestionnaire'])){ + $aParams['nom_gestionnaire'] = array('value' => $this->aValues['habitat_specifique_nom_gestionnaire'], 'type' => 'string'); + $oPDOresult = $oConnection->executeWithParams($aSql['setHabitatSpecifiqueNomGestionnaire'], $aParams); + if (!$oPDOresult){ + $aError=$oConnection->errorInfo(); + error_log($aError[2]); + } + $oPDOresult = $oConnection->fermeResultat(); + unset($this->aValues['habitat_specifique_nom_gestionnaire']); + } $aReturn = $this->genericPut('prod_immo', 'programme_immobilier', 'id_programme'); return $aReturn['sMessage']; } @@ -280,13 +369,13 @@ class Programmes extends Suivi_prod_immo { * * @SWG\Parameter( * name="idList", * in="query", - * description="id of the traitement", + * description="id of the programme", * required=true, * type="string" * ), * @SWG\Response( * response=200, - * description="traitement Response", + * description="Response", * @SWG\Schema(ref="#/definitions/programmes") * ) * ) @@ -301,7 +390,7 @@ class Programmes extends Suivi_prod_immo { * @SWG\Parameter( * name="token", * in="query", - * description="Traitement token", + * description="token", * required=true, * type="string" * ), diff --git a/src/module_suivi_prod_immo/web_service/ws/Repartition_type_logement.class.inc b/src/module_suivi_prod_immo/web_service/ws/Repartition_type_logement.class.inc new file mode 100644 index 00000000..c6ea5739 --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/Repartition_type_logement.class.inc @@ -0,0 +1,57 @@ +<?php + +require_once __DIR__ . '/Suivi_prod_immo.class.inc'; +require_once __DIR__ . '/../../../vitis/vas/rest/class/vitis_lib/Connection.class.inc'; + +/** + * \file Suivi_prod_immo.class.inc + * \class Suivi_prod_immo + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Suivi_prod_immo php class + * + * This class defines repartition_type_logement for one Suivi_prod_immo + * + */ + +class Repartition_type_logement extends Suivi_prod_immo { + + public $oError; + + /** + * construct + * @param type $aPath url of the request + * @param type $aValues parameters of the request + * @param type $properties properties + * @param type $oConnection connection object + */ + function __construct($aPath, $aValues, $properties) { + $this->aValues = $aValues; + $this->aPath = $aPath; + $this->aProperties = $properties; + $this->oConnection = new Connection($this->aValues, $this->aProperties); + } + + /** + * get informations about repartition_type_logement + */ + function GET() { + $this->aFields = $this->getFields('prod_immo', "repartition_type_logement", "id_repartition_type_logement"); + } + + /** + * delete a repartition_type_logement + */ + function DELETE() { + $this->oConnection->oBd->delete('prod_immo', 'repartition_type_logement', 'id_repartition_type_logement', $this->aValues["my_vitis_id"], 'integer'); + if ($this->oConnection->oBd->enErreur()) { + $this->oError = new VitisError(1, $this->oConnection->oBd->getBDMessage()); + } else { + $this->aFields["id_repartition_type_logement"] = $this->aValues["my_vitis_id"]; + } + } + +} + +?> \ No newline at end of file diff --git a/src/module_suivi_prod_immo/web_service/ws/Repartition_type_logements.class.inc b/src/module_suivi_prod_immo/web_service/ws/Repartition_type_logements.class.inc new file mode 100644 index 00000000..4e3af863 --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/Repartition_type_logements.class.inc @@ -0,0 +1,328 @@ +<?php + +/** + * \file Repartition_type_logements.class.inc + * \class Repartition_type_logements + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Repartition_type_logements php class + * + * This class defines Rest Api to Vitis Repartition_type_logements + * + */ +require_once __DIR__ . '/Suivi_prod_immo.class.inc'; +require_once 'Repartition_type_logement.class.inc'; + + +class Repartition_type_logements extends Suivi_prod_immo { + /** + * @SWG\Definition( + * definition="/repartition_type_logements", + * allOf={ + * @SWG\Schema(ref="#/definitions/repartition_type_logements") + * } + * ) + * * @SWG\Tag( + * name="Repartition_type_logements", + * description="Repartition_type_logements about Repartition_type_logements" + * ) + */ + + /** + * construct + * @param type $aPath url of the request + * @param type $aValues parameters of the request + * @param type $properties properties + */ + function __construct($aPath, $aValues, $properties) { + $this->aValues = $aValues; + $this->aPath = $aPath; + $this->aProperties = $properties; + $this->oConnection = new Connection($this->aValues, $properties); + } + + /** + * @SWG\Get(path="/repartition_type_logements", + * tags={"Repartition_type_logements"}, + * summary="Get Repartition_type_logements", + * description="Request to get Repartition_type_logements", + * operationId="GET", + * produces={"application/xml", "application/json", "application/x-vm-json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="user token", + * required=true, + * type="string" + * ), + * @SWG\Parameter( + * name="order_by", + * in="query", + * description="list of ordering fields", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="sort_order", + * in="query", + * description="sort_order", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="limit", + * in="query", + * description="number of element", + * required=false, + * type="integer", + * format="int32" + * ), + * @SWG\Parameter( + * name="offset", + * in="query", + * description="index of first element", + * required=false, + * type="string", + * format="int32" + * ), + * @SWG\Parameter( + * name="attributs", + * in="query", + * description="list of attributs", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="filter", + * in="query", + * description="filter results", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="distinct", + * in="query", + * description="delete duplicates", + * required=false, + * type="boolean" + * ), + * @SWG\Response( + * response=200, + * description="traitement Response", + * @SWG\Schema(ref="#/definitions/repartition_type_logements") + * ) + * ) + */ + + /** + * get Repartition_type_logements + * @return Repartition_type_logements + */ + function GET() { + $aReturn = $this->genericGet('prod_immo', "repartition_type_logement", "id_repartition_type_logement"); + // $sMessage = $aReturn['sMessage']; + $aRepartitionTypeLogements=json_decode($aReturn['sMessage'],true); + if(isset($aRepartitionTypeLogements['repartition_type_logements'])){ + $aRepartitionTypeLogementsData=$aRepartitionTypeLogements['repartition_type_logements']; + $sDataArrayName="repartition_type_logements"; + }else{ + $aRepartitionTypeLogementsData=$aRepartitionTypeLogements['data']; + $sDataArrayName="data"; + } + // error_log(print_r($aRepartitionTypeLogements,true)); + $aRepartitionTypeLogements2=array(); + foreach ($aRepartitionTypeLogementsData as $aRepartitionTypeLogement){ + $aRepartitionTypeLogement['repartition']= $this->getRepartition($aRepartitionTypeLogement['code_repartition']); + $aRepartitionTypeLogement['type_logement']= $this->getTypeLogement($aRepartitionTypeLogement['code_type_logement']); + $aRepartitionTypeLogements2[count($aRepartitionTypeLogements2)]=$aRepartitionTypeLogement; + } + $sRepartitionTypeLogements=json_encode(array($sDataArrayName=>$aRepartitionTypeLogements2,"list_count"=>$aRepartitionTypeLogements['list_count'],"total_row_number"=>$aRepartitionTypeLogements['total_row_number'],"status"=>$aRepartitionTypeLogements['status'])); + //error_log($sRepartitionTypeLogements); + return $sRepartitionTypeLogements; + } + + /** + * get repartition of repartition_type_logement + */ + function getRepartition($sCodeRepartition) { + if(isset($sCodeRepartition) and !is_null($sCodeRepartition)){ + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'prod_immo', 'type' => 'schema_name'); + $aParams['code_repartition'] = array('value' => $sCodeRepartition, 'type' => 'string'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getRepartition'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + return $aLigne["repartition"]; + }else{ + return null; + } + } + + /** + * get type_logement of repartition_type_logement + */ + function getTypeLogement($sCodeTypeLogement) { + if(isset($sCodeTypeLogement) and !is_null($sCodeTypeLogement)){ + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'prod_immo', 'type' => 'schema_name'); + $aParams['code_type_logement'] = array('value' => $sCodeTypeLogement, 'type' => 'string'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getTypeLogement'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + return $aLigne["type_logement"]; + }else{ + return null; + } + } + + /** + * @SWG\Post(path="/repartition_type_logements", + * tags={"Repartition type logements"}, + * summary="Add repartition_type_logement", + * description="Request to add Repartition type logements", + * operationId="POST", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="user token", + * required=true, + * type="string" + * ), + * @SWG\Response( + * response=200, + * description="repartition_type_logement Response", + * @SWG\Schema(ref="#/definitions/repartition_type_logements") + * ) + * ) + */ + + /** + * insert repartition_type_logement + * @return id of the repartition_type_logement created + */ + function POST(){ + require $this->sRessourcesFile; + // get value sequence from suivi_prod_immo database to set id + $oConnexion = new PDO('pgsql:host=\'srv-postgres\' port=5432 dbname=\'suivi_prod_immo\'', $_SESSION["ses_Login"], trim(des(rtrim(utf8_decode($_SESSION["ses_Login"])), hexToString(rtrim($_SESSION["ses_Password"])), 0, 0, null))); + $oPDOresult = $oConnexion->query($aSql['getSequenceRepartition_type_logement']); + if (!$oPDOresult) { + $aError=$oConnexion->errorInfo(); + error_log($aError[2]); + }else{ + $aResult = $oPDOresult->fetch(PDO::FETCH_ASSOC); + $this->aValues['id_repartition_type_logement'] = $aResult['nextval']; + } + $aReturn = $this->genericPost('prod_immo', 'repartition_type_logement', null, 'id_repartition_type_logement'); + return $aReturn['sMessage']; + } + + /** + * @SWG\Put(path="/repartition_type_logements/{id_repartition_type_logement}", + * tags={"Répartitions"}, + * summary="update Répartitions", + * description="Request to update Répartitions", + * operationId="PUT", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="id_repartition_type_logement", + * in="path", + * description="id of the Répartitions", + * required=true, + * type="integer", + * format = "int32" + * ), + * @SWG\Response( + * response=200, + * description="Poprerties Response", + * @SWG\Schema(ref="#/definitions/repartition_type_logements") + * ) + * ) + */ + + /** + * update repartition_type_logements + * @return id of repartition_type_logements updated or error object if a repartition_type_logements is not updated + */ + function PUT() { + $aReturn = $this->genericPut('prod_immo', 'repartition_type_logement', 'id_repartition_type_logement'); + return $aReturn['sMessage']; + } + + /** + * @SWG\Delete(path="/repartition_type_logements", + * tags={"Répartitions"}, + * summary="delete Répartitions", + * description="Request to delete Répartitions", + * operationId="DELETE", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="idList", + * in="query", + * description="id of the traitement", + * required=true, + * type="string" + * ), + * @SWG\Response( + * response=200, + * description="traitement Response", + * @SWG\Schema(ref="#/definitions/repartition_type_logements") + * ) + * ) + */ + /** + * @SWG\Delete(path="/repartition_type_logements/{id_repartition_type_logement}", + * tags={"Répartitions"}, + * summary="delete Répartitions", + * description="Request to delete Répartitions", + * operationId="DELETE", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="Traitement token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="id_repartition_type_logement", + * in="path", + * description="id of the Répartitions", + * required=true, + * type="integer", + * format = "int32" + * ), + * @SWG\Response( + * response=200, + * description="Poprerties Response", + * @SWG\Schema(ref="#/definitions/repartition_type_logements") + * ) + * ) + */ + + /** + * delete repartition_type_logements + * @return id of repartition_type_logements deleted or error object if a repartition_type_logements is not deleted + */ + function DELETE() { + $aReturn = $this->genericDelete('prod_immo', 'repartition_type_logement', 'id_repartition_type_logement'); + return $aReturn['sMessage']; + } +} + +?> \ No newline at end of file diff --git a/src/module_suivi_prod_immo/web_service/ws/Stationnement.class.inc b/src/module_suivi_prod_immo/web_service/ws/Stationnement.class.inc new file mode 100644 index 00000000..e19fc6ef --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/Stationnement.class.inc @@ -0,0 +1,57 @@ +<?php + +require_once __DIR__ . '/Suivi_prod_immo.class.inc'; +require_once __DIR__ . '/../../../vitis/vas/rest/class/vitis_lib/Connection.class.inc'; + +/** + * \file Suivi_prod_immo.class.inc + * \class Suivi_prod_immo + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Suivi_prod_immo php class + * + * This class defines stationnement for one Suivi_prod_immo + * + */ + +class Stationnement extends Suivi_prod_immo { + + public $oError; + + /** + * construct + * @param type $aPath url of the request + * @param type $aValues parameters of the request + * @param type $properties properties + * @param type $oConnection connection object + */ + function __construct($aPath, $aValues, $properties) { + $this->aValues = $aValues; + $this->aPath = $aPath; + $this->aProperties = $properties; + $this->oConnection = new Connection($this->aValues, $this->aProperties); + } + + /** + * get informations about stationnement + */ + function GET() { + $this->aFields = $this->getFields('prod_immo', "stationnement", "id_stationnement"); + } + + /** + * delete a stationnement + */ + function DELETE() { + $this->oConnection->oBd->delete('prod_immo', 'stationnement', 'id_stationnement', $this->aValues["my_vitis_id"], 'integer'); + if ($this->oConnection->oBd->enErreur()) { + $this->oError = new VitisError(1, $this->oConnection->oBd->getBDMessage()); + } else { + $this->aFields["id_stationnement"] = $this->aValues["my_vitis_id"]; + } + } + +} + +?> \ No newline at end of file diff --git a/src/module_suivi_prod_immo/web_service/ws/Stationnements.class.inc b/src/module_suivi_prod_immo/web_service/ws/Stationnements.class.inc new file mode 100644 index 00000000..20aa38ca --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/Stationnements.class.inc @@ -0,0 +1,313 @@ +<?php + +/** + * \file Stationnements.class.inc + * \class Stationnements + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Stationnements php class + * + * This class defines Rest Api to Vitis Stationnements + * + */ +require_once __DIR__ . '/Suivi_prod_immo.class.inc'; +require_once 'Stationnement.class.inc'; + + +class Stationnements extends Suivi_prod_immo { + /** + * @SWG\Definition( + * definition="/stationnements", + * allOf={ + * @SWG\Schema(ref="#/definitions/stationnements") + * } + * ) + * * @SWG\Tag( + * name="Stationnements", + * description="Stationnements about Stationnements" + * ) + */ + + /** + * construct + * @param type $aPath url of the request + * @param type $aValues parameters of the request + * @param type $properties properties + */ + function __construct($aPath, $aValues, $properties) { + $this->aValues = $aValues; + $this->aPath = $aPath; + $this->aProperties = $properties; + $this->oConnection = new Connection($this->aValues, $properties); + } + + /** + * @SWG\Get(path="/stationnements", + * tags={"Stationnements"}, + * summary="Get Stationnements", + * description="Request to get Stationnements", + * operationId="GET", + * produces={"application/xml", "application/json", "application/x-vm-json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="user token", + * required=true, + * type="string" + * ), + * @SWG\Parameter( + * name="order_by", + * in="query", + * description="list of ordering fields", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="sort_order", + * in="query", + * description="sort_order", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="limit", + * in="query", + * description="number of element", + * required=false, + * type="integer", + * format="int32" + * ), + * @SWG\Parameter( + * name="offset", + * in="query", + * description="index of first element", + * required=false, + * type="string", + * format="int32" + * ), + * @SWG\Parameter( + * name="attributs", + * in="query", + * description="list of attributs", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="filter", + * in="query", + * description="filter results", + * required=false, + * type="string" + * ), + * @SWG\Parameter( + * name="distinct", + * in="query", + * description="delete duplicates", + * required=false, + * type="boolean" + * ), + * @SWG\Response( + * response=200, + * description="traitement Response", + * @SWG\Schema(ref="#/definitions/stationnements") + * ) + * ) + */ + + /** + * get Stationnements + * @return Stationnements + */ + function GET() { + $aReturn = $this->genericGet('prod_immo', "stationnement", "id_stationnement"); + $aStationnements=json_decode($aReturn['sMessage'],true); + if(isset($aStationnements['stationnements'])){ + $aStationnementsData=$aStationnements['stationnements']; + $sDataArrayName="stationnements"; + }elseif (isset($aStationnements['data'])){ + $aStationnementsData=$aStationnements['data']; + $sDataArrayName="data"; + }else{ + return $aReturn['sMessage']; + } + if(isset($aStationnementsData)){ + // error_log(print_r($aStationnements,true)); + $aStationnements2=array(); + foreach ($aStationnementsData as $aStationnement){ + $aStationnement['indicateur_stationnement']= $this->getIndicateur_stationnement($aStationnement['id_indicateur_stationnement']); + $aStationnements2[count($aStationnements2)]=$aStationnement; + } + $sStationnements=json_encode(array($sDataArrayName=>$aStationnements2,"list_count"=>$aStationnements['list_count'],"total_row_number"=>$aStationnements['total_row_number'],"status"=>$aStationnements['status'])); + //error_log($sStationnements); + return $sStationnements; + } + } + + /** + * get indicateur_stationnement of stationnement + */ + function getIndicateur_stationnement($iIndicateurStationnement) { + if(isset($iIndicateurStationnement) and !is_null($iIndicateurStationnement)){ + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'prod_immo', 'type' => 'schema_name'); + $aParams['id_indicateur_stationnement'] = array('value' => $iIndicateurStationnement, 'type' => 'string'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getIndicateur_stationnement'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + return $aLigne["indicateur_stationnement"]; + }else{ + return null; + } + } + + /** + * @SWG\Post(path="/stationnements", + * tags={"stationnement"}, + * summary="Add stationnement", + * description="Request to add stationnement", + * operationId="POST", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="user token", + * required=true, + * type="string" + * ), + * @SWG\Response( + * response=200, + * description="stationnement Response", + * @SWG\Schema(ref="#/definitions/stationnements") + * ) + * ) + */ + + /** + * insert stationnement + * @return id of the stationnement created + */ + function POST(){ + require $this->sRessourcesFile; + // get value sequence from suivi_prod_immo database to set id + $oConnexion = new PDO('pgsql:host=\'srv-postgres\' port=5432 dbname=\'suivi_prod_immo\'', $_SESSION["ses_Login"], trim(des(rtrim(utf8_decode($_SESSION["ses_Login"])), hexToString(rtrim($_SESSION["ses_Password"])), 0, 0, null))); + $oPDOresult = $oConnexion->query($aSql['getSequenceStationnement']); + if (!$oPDOresult) { + $aError=$oConnexion->errorInfo(); + error_log($aError[2]); + }else{ + $aResult = $oPDOresult->fetch(PDO::FETCH_ASSOC); + $this->aValues['id_stationnement'] = $aResult['nextval']; + } + $aReturn = $this->genericPost('prod_immo', 'stationnement', null, 'id_stationnement'); + return $aReturn['sMessage']; + } + + /** + * @SWG\Put(path="/stationnements/{id_stationnement}", + * tags={"stationnement"}, + * summary="update stationnement", + * description="Request to update stationnement", + * operationId="PUT", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="id_stationnement", + * in="path", + * description="id of the stationnement", + * required=true, + * type="integer", + * format = "int32" + * ), + * @SWG\Response( + * response=200, + * description="Poprerties Response", + * @SWG\Schema(ref="#/definitions/stationnements") + * ) + * ) + */ + + /** + * update stationnements + * @return id of stationnements updated or error object if a stationnements is not updated + */ + function PUT() { + $aReturn = $this->genericPut('prod_immo', 'stationnement', 'id_stationnement'); + return $aReturn['sMessage']; + } + + /** + * @SWG\Delete(path="/stationnements", + * tags={"stationnement"}, + * summary="delete stationnement", + * description="Request to delete stationnement", + * operationId="DELETE", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="idList", + * in="query", + * description="id of the stationnement", + * required=true, + * type="string" + * ), + * @SWG\Response( + * response=200, + * description="stationnement Response", + * @SWG\Schema(ref="#/definitions/stationnements") + * ) + * ) + */ + /** + * @SWG\Delete(path="/stationnements/{id_stationnement}", + * tags={"stationnement"}, + * summary="delete stationnement", + * description="Request to delete stationnement", + * operationId="DELETE", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="Traitement token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="id_stationnement", + * in="path", + * description="id of the stationnement", + * required=true, + * type="integer", + * format = "int32" + * ), + * @SWG\Response( + * response=200, + * description="Poprerties Response", + * @SWG\Schema(ref="#/definitions/stationnements") + * ) + * ) + */ + + /** + * delete stationnements + * @return id of stationnements deleted or error object if a stationnements is not deleted + */ + function DELETE() { + $aReturn = $this->genericDelete('prod_immo', 'stationnement', 'id_stationnement'); + return $aReturn['sMessage']; + } +} + +?> \ 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 fa773e4a..1008084c 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 @@ -15,6 +15,9 @@ $aSql['insertOperationCommunes'] = "INSERT INTO [sSchemaFramework].operation_com // CTM $aSql['getOperationCTM'] = "SELECT operation_ctm.id_ctm, \"conference_territoriale_maire\".nom_ctm FROM [sSchemaFramework].operation_ctm LEFT JOIN [sSchemaFramework].conference_territoriale_maire ON operation_ctm.id_ctm = \"conference_territoriale_maire\".id_ctm WHERE operation_ctm.id_operation = [id_operation]"; $aSql['insertOperationCTM'] = "INSERT INTO [sSchemaFramework].operation_ctm(id_ctm, id_operation) VALUES([id_ctm], [id_operation])"; +// Perimetres +$aSql['getOperationPerimetre'] = "SELECT operation_perimetre.id_perimetre, \"perimetre\".nom_perimetre FROM [sSchemaFramework].operation_perimetre LEFT JOIN [sSchemaFramework].perimetre ON operation_perimetre.id_perimetre = \"perimetre\".id_perimetre WHERE operation_perimetre.id_operation = [id_operation]"; +$aSql['insertOperationPerimetre'] = "INSERT INTO [sSchemaFramework].operation_perimetre(id_perimetre, id_operation) VALUES([id_perimetre], [id_operation])"; // Modes financement $aSql['getOperationModesFinancement'] = "SELECT operation_tr_financement_equ_public.code_financement_equ_public, \"tr_financement_equ_public\".financement_equ_public FROM [sSchemaFramework].operation_tr_financement_equ_public LEFT JOIN [sSchemaFramework].tr_financement_equ_public ON operation_tr_financement_equ_public.code_financement_equ_public = \"tr_financement_equ_public\".code_financement_equ_public WHERE operation_tr_financement_equ_public.id_operation = [id_operation]"; $aSql['insertOperationModesFinancement'] = "INSERT INTO [sSchemaFramework].operation_tr_financement_equ_public(code_financement_equ_public, id_operation) VALUES([code_financement_equ_public], [id_operation])"; @@ -40,10 +43,54 @@ $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]"; +// Logement Familliaux Location +$aSql['getLogementFamLocation'] = "SELECT nom_bailleur, nom_investisseur, id_logement_familliaux_location FROM [sSchemaFramework].logement_familliaux_location WHERE id_programme=[id_programme]"; +// Logement Habitat spécifique +$aSql['getHabitatSpecifique'] = "SELECT nom_bailleur, nom_gestionnaire, id_habitat_specifique FROM [sSchemaFramework].habitat_specifique WHERE id_programme =[id_programme]"; +// Répartition logement +$aSql['getRepartition'] = "SELECT repartition FROM prod_immo.repartition WHERE code_repartition =[code_repartition]"; +$aSql['getTypeLogement'] = "SELECT type_logement FROM prod_immo.type_logement WHERE code_type_logement =[code_type_logement]"; +$aSql['getSequenceRepartition_type_logement'] = "SELECT nextval('prod_immo.repartition_type_logement_id_repartition_type_logement_seq')"; +// Granulométrie +$aSql['getCompositionProgramme'] = "SELECT composition_programme FROM prod_immo.composition_programme WHERE code_composition_programme =[code_composition_programme]"; +$aSql['getTypeGranulometrie'] = "SELECT type_granulometrie FROM prod_immo.type_granulometrie WHERE code_type_granulometrie =[code_type_granulometrie]"; +$aSql['getSequenceGranulometrie'] = "SELECT nextval('prod_immo.granulometrie_id_granulometrie_seq')"; +// Logement familliaux en accession +$aSql['getIndicateur_logement_familliaux_accession'] = "SELECT indicateur_logement_familliaux_accession FROM prod_immo.indicateur_logement_familliaux_accession WHERE id_indicateur_logement_familliaux_accession =[id_indicateur_logement_familliaux_accession]"; +$aSql['getSequenceLogement_familliaux_accession'] = "SELECT nextval('prod_immo.logement_familliaux_accession_id_logement_familliaux_access_seq')"; +// Profil acheteur accession libre +$aSql['getType_acheteur_accession_libre'] = "SELECT type_acheteur_accession_libre FROM prod_immo.type_acheteur_accession_libre WHERE id_type_acheteur_accession_libre =[id_type_acheteur_accession_libre]"; +$aSql['getSequenceProfil_acheteur_accession_libre'] = "SELECT nextval('prod_immo.profil_acheteur_accession_lib_id_profil_acheteur_accession__seq')"; +// Logement familliaux en location +$aSql['getIndicateur_logement_familliaux_location'] = "SELECT indicateur_logement_familliaux_location FROM prod_immo.indicateur_logement_familliaux_location WHERE id_indicateur_logement_familliaux_location =[id_indicateur_logement_familliaux_location]"; +$aSql['getSequenceComposition_logement_familliaux_location_cp'] = "SELECT nextval('prod_immo.composition_logement_famillia_id_composition_logement_famil_seq')"; +$aSql['setLogementFamilliauxLocationNomBailleur'] = "UPDATE [sSchemaFramework].logement_familliaux_location SET nom_bailleur=[nom_bailleur] WHERE id_programme=[id_programme]"; +$aSql['setLogementFamilliauxLocationNomInvestisseur'] = "UPDATE [sSchemaFramework].logement_familliaux_location SET nom_investisseur=[nom_investisseur] WHERE id_programme=[id_programme]"; +// Habitat spécifique +$aSql['getIndicateur_habitat_specifique'] = "SELECT indicateur_habitat_specifique FROM prod_immo.indicateur_habitat_specifique WHERE id_indicateur_habitat_specifique =[id_indicateur_habitat_specifique]"; +$aSql['getSequenceComposition_habitat_specifique_cp'] = "SELECT nextval('prod_immo.composition_habitat_specifiqu_id_composition_habitat_specif_seq')"; +$aSql['setHabitatSpecifiqueNomBailleur'] = "UPDATE [sSchemaFramework].habitat_specifique SET nom_bailleur=[nom_bailleur] WHERE id_programme=[id_programme]"; +$aSql['setHabitatSpecifiqueNomGestionnaire'] = "UPDATE [sSchemaFramework].habitat_specifique SET nom_gestionnaire=[nom_gestionnaire] WHERE id_programme=[id_programme]"; +// Activité et industrie +$aSql['getIndicateur_activite_industrie'] = "SELECT indicateur_activite_industrie FROM prod_immo.indicateur_activite_industrie WHERE id_indicateur_activite_industrie =[id_indicateur_activite_industrie]"; +$aSql['getSequenceActivite_industrie'] = "SELECT nextval('prod_immo.activite_industrie_id_activite_industrie_seq')"; +// Bureau +$aSql['getIndicateur_bureau'] = "SELECT indicateur_bureau FROM prod_immo.indicateur_bureau WHERE id_indicateur_bureau =[id_indicateur_bureau]"; +$aSql['getSequenceBureau'] = "SELECT nextval('prod_immo.bureau_id_bureau_seq')"; +// Equipement de superstructure +$aSql['getIndicateur_equipement_structure'] = "SELECT indicateur_equipement_structure FROM prod_immo.indicateur_equipement_structure WHERE id_indicateur_equipement_structure =[id_indicateur_equipement_structure]"; +$aSql['getSequenceEquipement_structure'] = "SELECT nextval('prod_immo.equipement_structure_id_equipement_structure_seq')"; +// Hotel commerce service +$aSql['getIndicateur_hotel_commerce_service'] = "SELECT indicateur_hotel_commerce_service FROM prod_immo.indicateur_hotel_commerce_service WHERE id_indicateur_hotel_commerce_service =[id_indicateur_hotel_commerce_service]"; +$aSql['getSequenceHotel_commerce_service'] = "SELECT nextval('prod_immo.hotel_commerce_service_id_hotel_commerce_service_seq')"; +// Stationnement +$aSql['getIndicateur_stationnement'] = "SELECT indicateur_stationnement FROM prod_immo.indicateur_stationnement WHERE id_indicateur_stationnement =[id_indicateur_stationnement]"; +$aSql['getSequenceStationnement'] = "SELECT nextval('prod_immo.stationnement_id_stationnement_seq')"; // 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]"; +$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"; +// Restriction +$aSql['getRestrictionUpdate'] = 'SELECT restriction_update FROM [sSchemaFramework].user_restriction WHERE login::name = "current_user"()'; +$aSql['getRestrictionUpdateIdOperation'] = 'SELECT id_operation FROM [sSchemaFramework].operation WHERE id_operation::text ~ similar_escape(( SELECT restriction_update FROM [sSchemaFramework].user_restriction WHERE login::name = "current_user"()), NULL::text);'; +$aSql['getRestrictionUpdateIdIlot'] = 'SELECT id_ilot FROM [sSchemaFramework].ilot WHERE id_operation::text ~ similar_escape(( SELECT restriction_update FROM [sSchemaFramework].user_restriction WHERE login::name = "current_user"()), NULL::text);'; ?> \ No newline at end of file diff --git a/src/module_vmap/web_service/ws/Querys.class.inc b/src/module_vmap/web_service/ws/Querys.class.inc index 41656427..b62667d9 100755 --- a/src/module_vmap/web_service/ws/Querys.class.inc +++ b/src/module_vmap/web_service/ws/Querys.class.inc @@ -579,7 +579,7 @@ class Querys extends Vmap { * @return array */ function queryBusinessObject($type, $bOnlyResult = false) { - require $this->sRessourcesFile; + require $this->sRessourcesFile; if (!empty($this->oConnection->oError)) { $aXmlRacineAttribute['status'] = 0; @@ -732,7 +732,6 @@ class Querys extends Vmap { // Execute la requête $this->aValues['my_vitis_id'] = ""; - $oResult = $this->oConnection->oBd->executeWithParams($sSql, $aParams); if ($this->oConnection->oBd->enErreur()) { @@ -742,9 +741,8 @@ class Querys extends Vmap { } else { if (!$this->oConnection->oBd->enErreur() && $this->oConnection->oBd->nombreLigne($oResult) > 0) { while ($aLigne = $this->oConnection->oBd->ligneSuivante($oResult)) { - + if ($type !== 'table') { - // Image à la une if ($get_image === true || $get_image === 'true') { if (isset($aLigne['[bo_image]'])) { @@ -782,7 +780,6 @@ class Querys extends Vmap { $aLigne = $aResult; } else { - // Récupère le forulaire JSON if ($type === 'form') { $jsonContent = file_get_contents($this->aProperties['ws_data_dir'] . '/vmap/business_object/' . $bo_id . '/forms/published.json'); diff --git a/src/vitis/client/css/icons/style.css b/src/vitis/client/css/icons/style.css index 354d19d6..3345c4aa 100755 --- a/src/vitis/client/css/icons/style.css +++ b/src/vitis/client/css/icons/style.css @@ -1062,6 +1062,9 @@ .icon-suivi_prod_immo_saisie:before { content: "\e94e"; } +.icon-patrimoine_saisie:before { + content: "\f015"; +} .icon-suivi_prod_immo_bi:before { content: "\f043"; } \ No newline at end of file diff --git a/src/vitis/client/javascript/externs/formReader/formReaderDrtv.js b/src/vitis/client/javascript/externs/formReader/formReaderDrtv.js index 1f06b763..d1d861d5 100755 --- a/src/vitis/client/javascript/externs/formReader/formReaderDrtv.js +++ b/src/vitis/client/javascript/externs/formReader/formReaderDrtv.js @@ -3066,6 +3066,7 @@ formReader.appSubformGridDrtv = function ($timeout, $translate, propertiesSrvc, } } } + var sFilter = formReaderService['parseFilter'](oSearchValues); /** * Fonction qui permet d'ajouter un enregistrement de l'objet métier en question @@ -3110,7 +3111,7 @@ formReader.appSubformGridDrtv = function ($timeout, $translate, propertiesSrvc, $('#' + sModalId).modal('hide'); // Rafraichit la grille setTimeout(function () { - formReaderService['getSectionRessourceData'](scope['oSection']['ressource_id']).then(function (oNewResult) { + formReaderService['getSectionRessourceData'](scope['oSection']['ressource_id'], sFilter).then(function (oNewResult) { scope['gridOptions']['data'] = oNewResult; }); }); @@ -3151,7 +3152,7 @@ formReader.appSubformGridDrtv = function ($timeout, $translate, propertiesSrvc, formReaderService['deleteSectionElements'](scope['oSection']['ressource_id'], aIds).then(function (oResponse) { // Rafraichit la grille setTimeout(function () { - formReaderService['getSectionRessourceData'](scope['oSection']['ressource_id']).then(function (oNewResult) { + formReaderService['getSectionRessourceData'](scope['oSection']['ressource_id'], sFilter).then(function (oNewResult) { scope['gridOptions']['data'] = oNewResult; }); }); @@ -3245,7 +3246,7 @@ formReader.appSubformGridDrtv = function ($timeout, $translate, propertiesSrvc, formReaderService['getSectionRessourceTab'](scope['oSection']['ressource_id']).then(function (oRessourceTab) { scope['oRessourceTab'] = oRessourceTab; - formReaderService['getSectionRessourceData'](scope['oSection']['ressource_id']).then(function (aRessourceData) { + formReaderService['getSectionRessourceData'](scope['oSection']['ressource_id'],sFilter).then(function (aRessourceData) { scope['aRessourceData'] = aRessourceData; formReaderService['getSectionForm'](scope['oSection'], true).then(function (oSubformDefinition) { @@ -3336,7 +3337,7 @@ formReader.appSubformGridDrtv = function ($timeout, $translate, propertiesSrvc, $('#' + sModalId).modal('hide'); // Rafraichit la grille setTimeout(function () { - formReaderService['getSectionRessourceData'](scope['oSection']['ressource_id']).then(function (oNewResult) { + formReaderService['getSectionRessourceData'](scope['oSection']['ressource_id'], sFilter).then(function (oNewResult) { scope['gridOptions']['data'] = oNewResult; }); }); diff --git a/src/vitis/client/javascript/externs/formReader/formReaderSrvc.js b/src/vitis/client/javascript/externs/formReader/formReaderSrvc.js index 93574a2a..48653b93 100755 --- a/src/vitis/client/javascript/externs/formReader/formReaderSrvc.js +++ b/src/vitis/client/javascript/externs/formReader/formReaderSrvc.js @@ -1881,15 +1881,15 @@ formReader.formReaderService = function ($translate, $rootScope, $q, $log, $time }, "success": function (response) { if (!goog.isDef(response['data'])) { - $translate('NO_VALUES_RETURNED').then(function (sTranslation) { + /*$translate('NO_VALUES_RETURNED').then(function (sTranslation) { bootbox.alert(sTranslation); - }); + });*/ return 0; } if (!goog.isDef(response['data']['data'])) { - $translate('NO_VALUES_RETURNED').then(function (sTranslation) { + /*$translate('NO_VALUES_RETURNED').then(function (sTranslation) { bootbox.alert(sTranslation); - }); + });*/ return 0; } if (!goog.isDef(response['data']['data'][0])) { diff --git a/src/vitis/vas/doc/sport/club.php b/src/vitis/vas/doc/sport/club.php new file mode 100644 index 00000000..846b16da --- /dev/null +++ b/src/vitis/vas/doc/sport/club.php @@ -0,0 +1,140 @@ +<?php +//https://geo.urbalyon.org/doc/sport/club.php?numequipement=E001I693870013 +//https://geo.urbalyon.org/doc/sport/club.php?numequipement=E001I693860017 +require_once("../../rest/conf/properties.inc"); +require_once("properties_sport.inc"); +require_once("lib_sport.inc"); + + +try{ + $oConn = new PDO('pgsql:host=srv-postgres;port=5432;dbname='.$properties['db_sport'], $properties['db_user_sport'], $properties['db_pass_sport']); + + if($oConn){ + if (isset($_REQUEST["numequipement"])){ + $numequipement = $_REQUEST["numequipement"]; + // get data Equipement + $oResult = $oConn->prepare("SELECT equipement.*, adresse, codepostal, commune FROM (".$properties['schema_res'].".equipement INNER JOIN ".$properties['schema_res'].".installation ON equipement.numinstallation=installation.numinstallation) INNER JOIN ".$properties['schema_sport'].".commune ON commune.codeinsee=installation.codeinsee WHERE numequipement='".$numequipement."'"); + $oResult->execute(); + + if ($oResult->rowCount()>0){ + $aEquipements = $oResult->fetchAll(); + $sEquipement = $aEquipements[0]["nomequipement"]; + // get data Club + $oResultClub = $oConn->prepare("SELECT club.* FROM ".$properties['schema_sport'].".club WHERE numequipement_1='".$numequipement."' ORDER BY numequipement_1"); + $oResultClub->execute(); + $aClubs = $oResultClub->fetchAll(); + include ('header_club.html'); + echo '<div class="row"><div class="col-4 font-weight-bold">Club(s) associé(s) à l\'équipement :</div></div>'; + echo '<div class="row"><div class="col-4" style="font-size: 12px"><ion-icon name="information-circle" style="font-size: 20px; color: blue;"></ion-icon> Cliquer sur un nom de club pour faire apparaitre les données sur les licenciés.</div></div>'; + echo '<div class="row"><div class="col-4"><div class="list-group" id="list-tab" role="tablist">'; + foreach ($aClubs as $aClub){ + echo '<a class="list-group-item list-group-item-action list-group-item-success" id="list-'.$aClub["id_club"].'-list" data-toggle="list" href="#list-'.$aClub["id_club"].'" role="tab" aria-controls="'.$aClub["id_club"].'">'.$aClub["nom"].'</a>'; + } + echo '</div></div>'; + echo '<div class="col-8"><div class="tab-content" id="nav-tabContent">'; + + foreach ($aClubs as $aClub){ + echo '<div class="tab-pane fade" id="list-'.$aClub["id_club"].'" role="tabpanel" aria-labelledby="list-'.$aClub["id_club"].'-list"><b>Licenciés du club "'.$aClub["nom"].'" :</b><br>'; + // echo '<div class="row"><div class="col-8" style="font-size: 12px"><ion-icon name="information-circle" style="font-size: 20px; color: blue;"></ion-icon> Cliquer sur le nom de l\'équipement pour afficher la fiche complète de l\'équipement.</div></div>'; + echo '<div class="row"><div class="col-8" style="font-size: 12px">Nombre de licencié(s) : '.$aClub["nb_licencie"].'</div></div>'; + echo '<div class="list-group">'; + // get data Licencié + $oResultLicencie = $oConn->prepare("SELECT licencie.*,commune FROM ".$properties['schema_sport'].".licencie INNER JOIN ".$properties['schema_sport'].".commune ON licencie.codeinsee=commune.codeinsee WHERE id_club=".$aClub["id_club"]); + $oResultLicencie->execute(); + $aLicencies = $oResultLicencie->fetchAll(); + $iNbHomme=0; + $iNbFemme=0; + $aCommunes=array(); + $aCommunesNom=array(); + foreach ($aLicencies as $aLicencie){ + if ($aLicencie['sexe']=='F') $iNbFemme+=1; + if ($aLicencie['sexe']=='M') $iNbHomme+=1; + if ($aLicencie['codeinsee']!=""){ + $aCommunesNom[$aLicencie['codeinsee']]=str_replace("'", "",$aLicencie['commune']); + if ( isset($aCommunes[$aLicencie['codeinsee']])) + $aCommunes[$aLicencie['codeinsee']]+=1; + else + $aCommunes[$aLicencie['codeinsee']]=1; + } + } + arsort($aCommunes); + // echo '<div class="row"><div class="col-8" style="font-size: 12px">Nombre de licencié(s) associé(s) : '.$oResultLicencie->rowCount().'</div></div>'; + // Pie chart sexe + echo '<div class="row"><div class="col-8" style="font-size: 12px"><b>Répartition des licenciés selon le sexe</b></div></div>'; + echo '<canvas height="70px" id="oChart_sexe_'.$aClub["id_club"].'"></canvas>'; + echo "<script type='text/javascript'> + var pie_ctx_".$aClub["id_club"]." = document.getElementById('oChart_sexe_".$aClub["id_club"]."').getContext('2d'); + var pie_chart_".$aClub["id_club"]." = new Chart(pie_ctx_".$aClub["id_club"].", { + type: 'pie', + data: { + labels: ['Homme', 'Femme'], + datasets: [{ + backgroundColor: [ + 'rgb(132, 195, 255)', + 'rgb(255, 144, 203)', + ], + label: 'Répartition des licenciés selon le sexe', + borderColor: 'rgb(107, 107, 107)', + data: [".$iNbHomme.", ".$iNbFemme."] + }] + }, + options: {} + }); + </script>"; + // Bar chart commune + $sCommunes=''; + $sValues=''; + $sColor=''; + foreach ($aCommunes as $iCodeInsee => $iNb){ + if ($sCommunes=='') + $sCommunes=$aCommunesNom[$iCodeInsee]; + else + $sCommunes=$sCommunes."','".$aCommunesNom[$iCodeInsee]; + if ($sValues=='') + $sValues=$iNb; + else + $sValues=$sValues.",".$iNb; + if ($sColor=='') + $sColor='dynamicColors()'; + else + $sColor=$sColor.',dynamicColors()'; + + } + echo '<div class="row"><div class="col-8" style="font-size: 12px"><b>Nombre de licencié dans la commune</b></div></div>'; + echo '<canvas height="150px" id="oChart_commune_'.$aClub["id_club"].'"></canvas>'; + echo "<script type='text/javascript'> + var bar_ctx_".$aClub["id_club"]." = document.getElementById('oChart_commune_".$aClub["id_club"]."').getContext('2d'); + var bar_chart_".$aClub["id_club"]." = new Chart(bar_ctx_".$aClub["id_club"].", { + type: 'bar', + data: { + labels: ['".$sCommunes."'], + datasets: [{ + backgroundColor: [".$sColor."], + label: 'Répartition des licenciés selon la commune', + borderColor: 'rgb(107, 107, 107)', + data: [".$sValues."] + }] + }, + options: {legend: {display: false}} + }); + </script>"; + echo '</div></div>'; + } + + echo '</div></div>'; + echo '</div><br>'; + + include ('footer_club.html'); + + }else{ + echo "Erreur : ".$oResult->rowCount()." équipement(s) trouvé(s) avec le numéro d'équipement : ".$numequipement; + } + }else{ + echo "Erreur : pas de numéro d'équipement passé en paramètre !"; + } + } +}catch (PDOException $e){ + echo "ERROR : ".$e->getMessage(); +} + +?> \ No newline at end of file diff --git a/src/vitis/vas/doc/sport/equipement.php b/src/vitis/vas/doc/sport/equipement.php index 5111781b..79a2b7b2 100644 --- a/src/vitis/vas/doc/sport/equipement.php +++ b/src/vitis/vas/doc/sport/equipement.php @@ -12,7 +12,7 @@ try{ if (isset($_REQUEST["numequipement"])){ $numequipement = $_REQUEST["numequipement"]; // get data Equipement - $oResult = $oConn->prepare('SELECT equipement.*, typequipement FROM '.$properties['schema_sport'].'.equipement INNER JOIN '.$properties['schema_sport'].'.typequipement ON equipement.codetypequipement=typequipement.codetypequipement WHERE numequipement=\''.$numequipement.'\''); + $oResult = $oConn->prepare('SELECT equipement.*, typequipement FROM '.$properties['schema_res'].'.equipement INNER JOIN '.$properties['schema_res'].'.typequipement ON equipement.codetypequipement=typequipement.codetypequipement WHERE numequipement=\''.$numequipement.'\''); $oResult->execute(); if ($oResult->rowCount()==1){ @@ -26,12 +26,12 @@ try{ $aEquipement['type_erp_etablissement']='Aucun'; } - $oResult2 = $oConn->prepare('SELECT installation.*, commune FROM '.$properties['schema_sport'].'.installation INNER JOIN sport.commune ON installation.codeinsee=commune.codeinsee WHERE numinstallation=\''.$aEquipement["numinstallation"].'\''); + $oResult2 = $oConn->prepare('SELECT installation.*, commune FROM '.$properties['schema_res'].'.installation INNER JOIN sport.commune ON installation.codeinsee=commune.codeinsee WHERE numinstallation=\''.$aEquipement["numinstallation"].'\''); $oResult2->execute(); $aInstallation = $oResult2->fetchAll(); $aInstallation=$aInstallation[0]; - $oResult3 = $oConn->prepare('SELECT activite_equipement.*, activite FROM '.$properties['schema_sport'].'.activite_equipement INNER JOIN '.$properties['schema_sport'].'.activite ON activite_equipement.codeactivite=activite.codeactivite WHERE numequipement=\''.$numequipement.'\''); + $oResult3 = $oConn->prepare('SELECT activite_equipement.*, activite FROM '.$properties['schema_res'].'.activite_equipement INNER JOIN '.$properties['schema_res'].'.activite ON activite_equipement.codeactivite=activite.codeactivite WHERE numequipement=\''.$numequipement.'\''); $oResult3->execute(); $aActivites = $oResult3->fetchAll(); diff --git a/src/vitis/vas/doc/sport/equipement_commune.php b/src/vitis/vas/doc/sport/equipement_commune.php index 314cfa4d..bb2c5f70 100644 --- a/src/vitis/vas/doc/sport/equipement_commune.php +++ b/src/vitis/vas/doc/sport/equipement_commune.php @@ -11,7 +11,7 @@ try{ if (isset($_REQUEST["codeinsee"])){ $codeinsee = $_REQUEST["codeinsee"]; // get data Installation - $oResult = $oConn->prepare('SELECT installation.*, commune FROM '.$properties['schema_sport'].'.installation INNER JOIN sport.commune ON installation.codeinsee=commune.codeinsee WHERE installation.codeinsee='.$codeinsee.' ORDER BY installation.nominstallation'); + $oResult = $oConn->prepare('SELECT installation.*, commune FROM '.$properties['schema_res'].'.installation INNER JOIN sport.commune ON installation.codeinsee=commune.codeinsee WHERE installation.codeinsee='.$codeinsee.' ORDER BY installation.nominstallation'); $oResult->execute(); if ($oResult->rowCount()>0){ @@ -31,7 +31,7 @@ try{ echo '<div class="tab-pane fade" id="list-'.$aInstallation["numinstallation"].'" role="tabpanel" aria-labelledby="list-'.$aInstallation["numinstallation"].'-list"><b>Équipement(s) de l\'installation "'.$aInstallation["nominstallation"].'" :</b><br>'; echo '<div class="row"><div class="col-8" style="font-size: 12px"><ion-icon name="information-circle" style="font-size: 20px; color: blue;"></ion-icon> Cliquer sur le nom de l\'équipement pour afficher la fiche complète de l\'équipement.</div></div>'; echo '<div class="list-group">'; - $oResult2 = $oConn->prepare('SELECT equipement.*, typequipement FROM '.$properties['schema_sport'].'.equipement INNER JOIN '.$properties['schema_sport'].'.typequipement ON equipement.codetypequipement=typequipement.codetypequipement WHERE numinstallation=\''.$aInstallation["numinstallation"].'\' ORDER BY nomequipement'); + $oResult2 = $oConn->prepare('SELECT equipement.*, typequipement FROM '.$properties['schema_res'].'.equipement INNER JOIN '.$properties['schema_res'].'.typequipement ON equipement.codetypequipement=typequipement.codetypequipement WHERE numinstallation=\''.$aInstallation["numinstallation"].'\' ORDER BY nomequipement'); $oResult2->execute(); $aEquipements = $oResult2->fetchAll(); foreach ($aEquipements as $aEquipement) { diff --git a/src/vitis/vas/doc/sport/equipement_commune_complet.php b/src/vitis/vas/doc/sport/equipement_commune_complet.php index 2e3bde6c..77b56ce1 100644 --- a/src/vitis/vas/doc/sport/equipement_commune_complet.php +++ b/src/vitis/vas/doc/sport/equipement_commune_complet.php @@ -12,7 +12,7 @@ try{ if (isset($_REQUEST["codeinsee"])){ $codeinsee = $_REQUEST["codeinsee"]; // get data Installation - $oResult = $oConn->prepare('SELECT installation.*, commune FROM '.$properties['schema_sport'].'.installation INNER JOIN sport.commune ON installation.codeinsee=commune.codeinsee WHERE installation.codeinsee='.$codeinsee); + $oResult = $oConn->prepare('SELECT installation.*, commune FROM '.$properties['schema_res'].'.installation INNER JOIN sport.commune ON installation.codeinsee=commune.codeinsee WHERE installation.codeinsee='.$codeinsee); $oResult->execute(); if ($oResult->rowCount()>0){ @@ -20,7 +20,7 @@ try{ $aInstallations = $oResult->fetchAll(); foreach ($aInstallations as $aInstallation) { include ('installation.html'); - $oResult2 = $oConn->prepare('SELECT equipement.*, typequipement FROM '.$properties['schema_sport'].'.equipement INNER JOIN '.$properties['schema_sport'].'.typequipement ON equipement.codetypequipement=typequipement.codetypequipement WHERE numinstallation=\''.$aInstallation["numinstallation"].'\''); + $oResult2 = $oConn->prepare('SELECT equipement.*, typequipement FROM '.$properties['schema_res'].'.equipement INNER JOIN '.$properties['schema_res'].'.typequipement ON equipement.codetypequipement=typequipement.codetypequipement WHERE numinstallation=\''.$aInstallation["numinstallation"].'\''); $oResult2->execute(); $aEquipements = $oResult2->fetchAll(); foreach ($aEquipements as $aEquipement) { @@ -31,7 +31,7 @@ try{ $aEquipement['type_erp_etablissement']='Aucun'; } - $oResult3 = $oConn->prepare('SELECT activite_equipement.*, activite FROM '.$properties['schema_sport'].'.activite_equipement INNER JOIN '.$properties['schema_sport'].'.activite ON activite_equipement.codeactivite=activite.codeactivite WHERE numequipement=\''.$aEquipement["numequipement"].'\''); + $oResult3 = $oConn->prepare('SELECT activite_equipement.*, activite FROM '.$properties['schema_res'].'.activite_equipement INNER JOIN '.$properties['schema_res'].'.activite ON activite_equipement.codeactivite=activite.codeactivite WHERE numequipement=\''.$aEquipement["numequipement"].'\''); $oResult3->execute(); $aActivites = $oResult3->fetchAll(); diff --git a/src/vitis/vas/doc/sport/footer_club.html b/src/vitis/vas/doc/sport/footer_club.html new file mode 100644 index 00000000..051190aa --- /dev/null +++ b/src/vitis/vas/doc/sport/footer_club.html @@ -0,0 +1,11 @@ + + + </div> + <!-- Optional JavaScript --> + <!-- jQuery first, then Popper.js, then Bootstrap JS --> + <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> + <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script> + <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script> + <script src="https://unpkg.com/ionicons@4.5.10-0/dist/ionicons.js"></script> + </body> +</html> \ No newline at end of file diff --git a/src/vitis/vas/doc/sport/header_club.html b/src/vitis/vas/doc/sport/header_club.html new file mode 100644 index 00000000..07700dea --- /dev/null +++ b/src/vitis/vas/doc/sport/header_club.html @@ -0,0 +1,31 @@ +<!doctype html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + <title>Équipement / Fiche Club</title> + <script src="https://cdn.jsdelivr.net/npm/chart.js@2.8.0"></script> + <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> + <link rel="stylesheet" href="style.css"> + <script type='text/javascript'> + var dynamicColors = function() { + var r = Math.floor(Math.random() * 255); + var g = Math.floor(Math.random() * 255); + var b = Math.floor(Math.random() * 255); + return "rgb(" + r + "," + g + "," + b + ")"; + } + </script> +</head> +<body> + <div class="container"> + <div class="row pt-2 header_fiche"><div class="col"><img src="images/grand_lyon.png" width="150px"></div></div> + <div class="row"> + <div class="col-sm title_fiche"><h3>Équipement "<?php echo $sEquipement; ?>"</h3></div> + </div> + <div class="row"> + <div class="col-sm title_fiche">"<?php echo $aEquipements[0]["famille"]; ?>"</div> + </div> + <div class="row"> + <div class="col-sm title_fiche"><?php echo $aEquipements[0]["adresse"]." ".$aEquipements[0]["codepostal"]." ".$aEquipements[0]["commune"]; ?></div> + </div> + <br> diff --git a/src/vitis/vas/doc/sport/properties_sport.inc b/src/vitis/vas/doc/sport/properties_sport.inc index 9904f112..c1491cf9 100644 --- a/src/vitis/vas/doc/sport/properties_sport.inc +++ b/src/vitis/vas/doc/sport/properties_sport.inc @@ -3,7 +3,8 @@ $properties['db_sport']='sport'; $properties['db_user_sport']='sport'; $properties['db_pass_sport']='Urbalyon35*'; -$properties['schema_sport']='res_2019'; +$properties['schema_res']='res_2019'; +$properties['schema_sport']='sport'; ?> \ No newline at end of file diff --git a/src/vitis/vas/doc/suivi_prod_immo/form_3_porteur.html b/src/vitis/vas/doc/suivi_prod_immo/form_3_porteur.html index d462fc18..20f71cad 100644 --- a/src/vitis/vas/doc/suivi_prod_immo/form_3_porteur.html +++ b/src/vitis/vas/doc/suivi_prod_immo/form_3_porteur.html @@ -59,7 +59,7 @@ <select class="form-control" id="l_amenageur"> <option></option> <?php foreach($aAmenageurs as $iKey=>$aValue): ?> - <option value="<?php echo urlencode($aValue['nom_amenageur']); ?>"><?php echo $aValue['nom_amenageur']." (".$aValue['count'].")"; ?></option> + <option value="<?php echo urlencode($aValue['concessionnaire_amenagement']); ?>"><?php echo $aValue['concessionnaire_amenagement']." (".$aValue['count'].")"; ?></option> <?php endforeach; ?> </select> <small class="form-text text-muted"><span data-feather="info" style="color:blue"></span> Le nombre d'opération de l'opérateur est affiché entre parenthèse.</small> diff --git a/src/vitis/vas/doc/suivi_prod_immo/form_3_porteur.php b/src/vitis/vas/doc/suivi_prod_immo/form_3_porteur.php index f657e618..d4263ae5 100644 --- a/src/vitis/vas/doc/suivi_prod_immo/form_3_porteur.php +++ b/src/vitis/vas/doc/suivi_prod_immo/form_3_porteur.php @@ -15,7 +15,7 @@ if(isset($_REQUEST['token']) && isset($_SESSION['token_bd_prod_immo'])){ if($oConn){ // get data CTM - $oResult=$oConn->prepare('SELECT DISTINCT nom_amenageur, count(nom_amenageur) FROM '.$properties['schema_prod_immo'].'.operation WHERE nom_amenageur IS NOT NULL GROUP BY nom_amenageur ORDER BY count DESC, nom_amenageur'); + $oResult=$oConn->prepare('SELECT DISTINCT concessionnaire_amenagement, count(concessionnaire_amenagement) FROM '.$properties['schema_prod_immo'].'.operation WHERE concessionnaire_amenagement IS NOT NULL GROUP BY concessionnaire_amenagement ORDER BY count DESC, concessionnaire_amenagement'); $oResult->execute(); if ($oResult->rowCount()>0){ $aAmenageurs = $oResult->fetchAll(); diff --git a/src/vitis/vas/doc/suivi_prod_immo/get_1_operation.html b/src/vitis/vas/doc/suivi_prod_immo/get_1_operation.html index 310338a1..f736348e 100644 --- a/src/vitis/vas/doc/suivi_prod_immo/get_1_operation.html +++ b/src/vitis/vas/doc/suivi_prod_immo/get_1_operation.html @@ -26,7 +26,7 @@ <div class="container-fluid border"> <div class="row"><div class="col-sm subtitle">Acteurs et mode opératoire</div></div> <div class="row mt-3"><div class="col-sm-4 line_table" style="text-align: right;">Type d'opération :</div><div class="col-sm-8 pl-0 line_table"><b><?php echo $aOperation['procedure_amenagement']; ?></b></div></div> - <div class="row"><div class="col-sm-4 line_table" style="text-align: right;">Opérateur :</div><div class="col-sm-8 pl-0 line_table"><b><?php echo $aOperation['nom_amenageur']; ?></b></div></div> + <div class="row"><div class="col-sm-4 line_table" style="text-align: right;">Opérateur :</div><div class="col-sm-8 pl-0 line_table"><b><?php echo $aOperation['concessionnaire_amenagement']; ?></b></div></div> <div class="row"><div class="col-sm-5 line_table" style="text-align: right;">Dates (prévisionnelles) :</div><div class="col-sm-7 pl-0 line_table"><b><?php echo $aOperation['annee_init']."-".$aOperation['annee_achevement']; ?></b></div></div> <div class="row"><div class="col-sm-5 line_table" style="text-align: right;">Chef de projet DMOU :</div><div class="col-sm-7 pl-0 line_table"><b><?php echo $aOperation['cdp_mo']; ?></b></div></div> </div> @@ -127,8 +127,9 @@ <div class="col-sm-2 text-center border-top border-bottom"> <div class="row"><div class="col-sm-12 text-center border-bottom"><b>Activités - Industrie</b></div></div> <div class="row" style="height: 110px;"> - <div class="col-sm-6 h-100 d-inline-block text-center border-right" style="writing-mode: vertical-rl;text-orientation: mixed;">Production<br>Industrie<br>Logistique</div> - <div class="col-sm-6 h-100 d-inline-block text-center" style="writing-mode: vertical-rl;text-orientation: mixed;">Autres<br>activités</div> + <div class="col-sm-4 h-100 d-inline-block text-center border-right" style="writing-mode: vertical-rl;text-orientation: mixed;">Production<br>Industrie</div> + <div class="col-sm-4 h-100 d-inline-block text-center border-right" style="writing-mode: vertical-rl;text-orientation: mixed;">Logistique</div> + <div class="col-sm-4 h-100 d-inline-block text-center" style="writing-mode: vertical-rl;text-orientation: mixed;">Autres<br>activités</div> </div> </div> <div class="col-sm-1 text-center border-left border-top border-bottom"><b>Équipements publics de superstructure</b></div> @@ -179,8 +180,9 @@ </div> <div class="col-sm-2 text-center"> <div class="row"> - <div class="col-sm-6 border-right"><?php if (isset($iSdpProd)) echo $iSdpProd.' m²'; ?></div> - <div class="col-sm-6 border-right"><?php if (isset($iSdpActAutre)) echo $iSdpActAutre.' m²'; ?></div> + <div class="col-sm-4 border-right"><?php if (isset($iSdpProd)) echo $iSdpProd.' m²'; ?></div> + <div class="col-sm-4 border-right"><?php if (isset($iSdpLogistique)) echo $iSdpLogistique.' m²'; ?></div> + <div class="col-sm-4 border-right"><?php if (isset($iSdpActAutre)) echo $iSdpActAutre.' m²'; ?></div> </div> </div> <div class="col-sm-1 text-center"><?php if (isset($iSdpEquipement)) echo $iSdpEquipement.' m²'; ?></div> @@ -231,8 +233,9 @@ </div> <div class="col-sm-2 border-right text-center"> <div class="row"> - <div class="col-sm-6 border-right"><?php if (isset($iPrixVenteProd)) echo $iPrixVenteProd.' €/m²'; ?></div> - <div class="col-sm-6 border-right"><?php if (isset($iPrixVenteActAutre)) echo $iPrixVenteActAutre.' €/m²'; ?></div> + <div class="col-sm-4 border-right"><?php if (isset($iPrixVenteProd)) echo $iPrixVenteProd.' €/m²'; ?></div> + <div class="col-sm-4 border-right"><?php if (isset($iPrixVenteLogistique)) echo $iPrixVenteLogistique.' €/m²'; ?></div> + <div class="col-sm-4 border-right"><?php if (isset($iPrixVenteActAutre)) echo $iPrixVenteActAutre.' €/m²'; ?></div> </div> </div> <div class="col-sm-1 hachure"></div> @@ -257,8 +260,9 @@ </div> <div class="col-sm-2 border-right text-center"> <div class="row"> - <div class="col-sm-6 border-right"><?php if (isset($iCFProd) && $iCFProd>0) echo $iCFProd.' €/m²'; ?></div> - <div class="col-sm-6 border-right"><?php if (isset($iCFActAutre) && $iCFActAutre>0) echo $iCFActAutre.' €/m²'; ?></div> + <div class="col-sm-4 border-right"><?php if (isset($iCFProd) && $iCFProd>0) echo $iCFProd.' €/m²'; ?></div> + <div class="col-sm-4 border-right"><?php if (isset($iCFLogistique) && $iCFLogistique>0) echo $iCFLogistique.' €/m²'; ?></div> + <div class="col-sm-4 border-right"><?php if (isset($iCFActAutre) && $iCFActAutre>0) echo $iCFActAutre.' €/m²'; ?></div> </div> </div> <div class="col-sm-1 hachure"></div> diff --git a/src/vitis/vas/doc/suivi_prod_immo/get_1_operation.php b/src/vitis/vas/doc/suivi_prod_immo/get_1_operation.php index 80cd62e8..ae14f6b4 100644 --- a/src/vitis/vas/doc/suivi_prod_immo/get_1_operation.php +++ b/src/vitis/vas/doc/suivi_prod_immo/get_1_operation.php @@ -69,7 +69,7 @@ if(isset($_REQUEST['token']) && isset($_SESSION['token_bd_prod_immo'])){ // get accession libre aidee - $sSql8="SELECT id_indicateur_logement_familliaux_accession, round(sum(accession_libre)::numeric) AS sum_accession_libre, round(coalesce(sum(accession_abordable),0)+coalesce(sum(accesion_sociale_securise),0)+coalesce(sum(psla),0)) AS sum_accession_aide, round(avg(accession_libre)::numeric) AS avg_accession_libre, round(avg(accession_abordable)) AS avg_accession_abordable, round(avg(accesion_sociale_securise)) AS avg_accesion_sociale_securise, round(avg(psla)) AS avg_psla FROM ".$sSchema.".logement_familliaux_accession".$sWhereIdProgramme." AND id_indicateur_logement_familliaux_accession IN (1,2,4,5,8,9) GROUP BY id_indicateur_logement_familliaux_accession"; + $sSql8="SELECT id_indicateur_logement_familliaux_accession, round(sum(accession_libre::numeric)) AS sum_accession_libre, round(coalesce(sum(accession_abordable::numeric),0)+coalesce(sum(accession_sociale_securise ::numeric),0)+coalesce(sum(psla::numeric),0)) AS sum_accession_aide, round(avg(accession_libre::numeric)) AS avg_accession_libre, round(avg(accession_abordable::numeric)) AS avg_accession_abordable, round(avg(accession_sociale_securise ::numeric)) AS avg_accession_sociale_securise , round(avg(psla::numeric)) AS avg_psla FROM ".$sSchema.".logement_familliaux_accession".$sWhereIdProgramme." AND id_indicateur_logement_familliaux_accession IN (1,2,4,5,8,9) GROUP BY id_indicateur_logement_familliaux_accession"; foreach ($oConn->query($sSql8) as $aRow){ if ($aRow['id_indicateur_logement_familliaux_accession']==1){ isset($iNbLgtFam) ? $iNbLgtFam=$iNbLgtFam+$aRow['sum_accession_libre'] : $iNbLgtFam=$aRow['sum_accession_libre']; @@ -84,7 +84,7 @@ if(isset($_REQUEST['token']) && isset($_SESSION['token_bd_prod_immo'])){ if(!is_null($aRow['avg_accession_libre'])) array_push($aCFAccessionLibre,$aRow['avg_accession_libre']); if(!isset($aCFAccessionAidee)) $aCFAccessionAidee=array(); if(!is_null($aRow['avg_accession_abordable'])) array_push($aCFAccessionAidee,$aRow['avg_accession_abordable']); - if(!is_null($aRow['avg_accesion_sociale_securise'])) array_push($aCFAccessionAidee,$aRow['avg_accesion_sociale_securise']); + if(!is_null($aRow['avg_accession_sociale_securise '])) array_push($aCFAccessionAidee,$aRow['avg_accession_sociale_securise ']); if(!is_null($aRow['avg_psla'])) array_push($aCFAccessionAidee,$aRow['avg_psla']); } if ($aRow['id_indicateur_logement_familliaux_accession']==8 or $aRow['id_indicateur_logement_familliaux_accession']==9){ @@ -92,7 +92,7 @@ if(isset($_REQUEST['token']) && isset($_SESSION['token_bd_prod_immo'])){ if(!is_null($aRow['avg_accession_libre'])) array_push($aPVAccessionLibre,$aRow['avg_accession_libre']); if(!isset($aPVAccessionAidee)) $aPVAccessionAidee=array(); if(!is_null($aRow['avg_accession_abordable'])) array_push($aPVAccessionAidee,$aRow['avg_accession_abordable']); - if(!is_null($aRow['avg_accesion_sociale_securise'])) array_push($aPVAccessionAidee,$aRow['avg_accesion_sociale_securise']); + if(!is_null($aRow['avg_accession_sociale_securise '])) array_push($aPVAccessionAidee,$aRow['avg_accession_sociale_securise ']); if(!is_null($aRow['avg_psla'])) array_push($aPVAccessionAidee,$aRow['avg_psla']); } } @@ -175,22 +175,26 @@ if(isset($_REQUEST['token']) && isset($_SESSION['token_bd_prod_immo'])){ if (isset($aCFCommerce)) $iCFCommerce = round(array_sum($aCFCommerce)/count($aCFCommerce)); if (isset($aCFHotel)) $iCFHotel = round(array_sum($aCFHotel)/count($aCFHotel)); //get prod/activite - $sSql7="SELECT id_indicateur_activite_industrie, round(sum(production_industrie_logistique)) AS sum_production_industrie_logistique, round(sum(autre)) AS sum_autre, round(avg(production_industrie_logistique)) AS avg_production_industrie_logistique, round(avg(autre)) AS avg_autre FROM ".$sSchema.".activite_industrie".$sWhereIdProgramme." AND id_indicateur_activite_industrie IN (2,3,4,7) GROUP BY id_indicateur_activite_industrie"; + $sSql7="SELECT id_indicateur_activite_industrie, round(sum(production_industrie)) AS sum_production_industrie, round(sum(logistique)) AS sum_logistique, round(sum(autre)) AS sum_autre, round(avg(production_industrie)) AS avg_production_industrie, round(avg(logistique)) AS avg_logistique, round(avg(autre)) AS avg_autre FROM ".$sSchema.".activite_industrie".$sWhereIdProgramme." AND id_indicateur_activite_industrie IN (2,3,4,7) GROUP BY id_indicateur_activite_industrie"; foreach ($oConn->query($sSql7) as $aRow){ if ($aRow['id_indicateur_activite_industrie']==2){ - $iSdpProd=$aRow['sum_production_industrie_logistique']; + $iSdpProd=$aRow['sum_production_industrie']; + $iSdpLogistique=$aRow['sum_logistique']; $iSdpActAutre=$aRow['avg_autre']; } if ($aRow['id_indicateur_activite_industrie']==3 or $aRow['id_indicateur_activite_industrie']==4){ - isset($iCFProd) ? array_push($iCFProd,$aRow['avg_production_industrie_logistique']) : $iCFProd=array($aRow['avg_production_industrie_logistique']); + isset($iCFProd) ? array_push($iCFProd,$aRow['avg_production_industrie']) : $iCFProd=array($aRow['avg_production_industrie']); + isset($iCFLogistique) ? array_push($iCFProd,$aRow['avg_logistique']) : $iCFProd=array($aRow['avg_logistique']); isset($iCFActAutre) ? array_push($iCFActAutre,$aRow['avg_autre']) : $iCFActAutre=array($aRow['avg_autre']); } if ($aRow['id_indicateur_activite_industrie']==7){ - $iPrixVenteProd = $aRow['avg_production_industrie_logistique']; + $iPrixVenteProd = $aRow['avg_production_industrie']; + $iPrixVenteLogistique = $aRow['avg_logistique']; $iPrixVenteActAutre = $aRow['avg_autre']; } } if (isset($iCFProd)) $iCFProd = round(array_sum($iCFProd)/count($iCFProd)); + if (isset($iCFLogistique)) $iCFLogistique = round(array_sum($iCFLogistique)/count($iCFLogistique)); if (isset($iCFActAutre)) $iCFActAutre = round(array_sum($iCFActAutre)/count($iCFActAutre)); // get equipement $oResult5 = $oConn->prepare("SELECT round(sum(sdp)::numeric) AS sdp FROM ".$sSchema.".equipement_structure".$sWhereIdProgramme); diff --git a/src/vitis/vas/doc/suivi_prod_immo/get_2_type.php b/src/vitis/vas/doc/suivi_prod_immo/get_2_type.php index 188fd230..7584b67d 100644 --- a/src/vitis/vas/doc/suivi_prod_immo/get_2_type.php +++ b/src/vitis/vas/doc/suivi_prod_immo/get_2_type.php @@ -74,13 +74,13 @@ if(isset($_REQUEST['token']) && isset($_SESSION['token_bd_prod_immo'])){ // echo $sCommand; $output = shell_exec($sCommand);/**/ $sUrlMapImage=$properties['web_server_name']."/ws_data/vm4ms/map/tmp/".$sNameMapImage; - $sSql="SELECT code_financement_equ_public, count(DISTINCT id_programme), array_to_string(array_agg(id_programme), ',') AS id_programme, round(avg(charge_fonciere_moy)) AS charge_fonciere_moy FROM (SELECT id_programme, CASE WHEN operation_tr_financement_equ_public.code_financement_equ_public='PUP' THEN operation_tr_financement_equ_public.code_financement_equ_public WHEN operation_tr_financement_equ_public.code_financement_equ_public='FINZAC' THEN operation_tr_financement_equ_public.code_financement_equ_public WHEN operation_tr_financement_equ_public.code_financement_equ_public='TA' THEN operation_tr_financement_equ_public.code_financement_equ_public WHEN operation_tr_financement_equ_public.code_financement_equ_public='TAM' THEN operation_tr_financement_equ_public.code_financement_equ_public WHEN operation_tr_financement_equ_public.code_financement_equ_public='AUT' THEN operation_tr_financement_equ_public.code_financement_equ_public WHEN operation_tr_financement_equ_public.code_financement_equ_public='PEPE' THEN operation_tr_financement_equ_public.code_financement_equ_public ELSE 'ND' END AS code_financement_equ_public, charge_fonciere_moy FROM (((".$sSchema.".operation LEFT JOIN ".$sSchema.".operation_tr_financement_equ_public ON operation.id_operation=operation_tr_financement_equ_public.id_operation) INNER JOIN ".$sSchema.".ilot ON ilot.id_operation=operation.id_operation) INNER JOIN ".$sSchema.".programme_immobilier ON programme_immobilier.id_ilot=ilot.id_ilot) INNER JOIN ".$sSchema.".operation_ctm ON operation_ctm.id_operation=operation.id_operation ".$sWhereClause2.") AS t GROUP BY code_financement_equ_public"; + $sSql="SELECT code_financement_equ_public, count(DISTINCT id_programme), array_to_string(array_agg(id_programme), ',') AS id_programme, round(avg(charge_fonciere_moy::numeric)) AS charge_fonciere_moy FROM (SELECT id_programme, CASE WHEN operation_tr_financement_equ_public.code_financement_equ_public='PUP' THEN operation_tr_financement_equ_public.code_financement_equ_public WHEN operation_tr_financement_equ_public.code_financement_equ_public='FINZAC' THEN operation_tr_financement_equ_public.code_financement_equ_public WHEN operation_tr_financement_equ_public.code_financement_equ_public='TA' THEN operation_tr_financement_equ_public.code_financement_equ_public WHEN operation_tr_financement_equ_public.code_financement_equ_public='TAM' THEN operation_tr_financement_equ_public.code_financement_equ_public WHEN operation_tr_financement_equ_public.code_financement_equ_public='AUT' THEN operation_tr_financement_equ_public.code_financement_equ_public WHEN operation_tr_financement_equ_public.code_financement_equ_public='PEPE' THEN operation_tr_financement_equ_public.code_financement_equ_public ELSE 'ND' END AS code_financement_equ_public, charge_fonciere_moy FROM (((".$sSchema.".operation LEFT JOIN ".$sSchema.".operation_tr_financement_equ_public ON operation.id_operation=operation_tr_financement_equ_public.id_operation) INNER JOIN ".$sSchema.".ilot ON ilot.id_operation=operation.id_operation) INNER JOIN ".$sSchema.".programme_immobilier ON programme_immobilier.id_ilot=ilot.id_ilot) INNER JOIN ".$sSchema.".operation_ctm ON operation_ctm.id_operation=operation.id_operation ".$sWhereClause2.") AS t GROUP BY code_financement_equ_public"; // echo $sSql; $aPourcCFPV=$aPV=$aCF=$aNb=array(); foreach ($oConn->query($sSql) as $aRow){ if(!is_null($aRow['count'])) $aNb[$aRow['code_financement_equ_public']]=$aRow['count']; if(!is_null($aRow['charge_fonciere_moy'])) $aCF[$aRow['code_financement_equ_public']]=$aRow['charge_fonciere_moy']; - $oResult3 = $oConn->prepare("SELECT round((COALESCE(avg1, 0) + COALESCE(avg2, 0) + COALESCE(avg3, 0) + COALESCE(avg4)) / ( CASE WHEN avg1 IS NULL THEN 0 ELSE 1 END + CASE WHEN avg2 IS NULL THEN 0 ELSE 1 END + CASE WHEN avg3 IS NULL THEN 0 ELSE 1 END + CASE WHEN avg4 IS NULL THEN 0 ELSE 1 END)) AS pv_moy FROM (SELECT round(avg(accession_libre)) AS avg1, round(avg(accession_abordable)) AS avg2, round(avg(accesion_sociale_securise)) AS avg3, round(avg(psla)) AS avg4 FROM ".$sSchema.".logement_familliaux_accession WHERE id_programme IN (".$aRow['id_programme'].") AND id_indicateur_logement_familliaux_accession IN (8,9)) AS t"); + $oResult3 = $oConn->prepare("SELECT round((COALESCE(avg1, 0) + COALESCE(avg2, 0) + COALESCE(avg3, 0) + COALESCE(avg4)) / ( CASE WHEN avg1 IS NULL THEN 0 ELSE 1 END + CASE WHEN avg2 IS NULL THEN 0 ELSE 1 END + CASE WHEN avg3 IS NULL THEN 0 ELSE 1 END + CASE WHEN avg4 IS NULL THEN 0 ELSE 1 END)) AS pv_moy FROM (SELECT round(avg(accession_libre::numeric)) AS avg1, round(avg(accession_abordable::numeric)) AS avg2, round(avg(accession_sociale_securise::numeric)) AS avg3, round(avg(psla::numeric)) AS avg4 FROM ".$sSchema.".logement_familliaux_accession WHERE id_programme IN (".$aRow['id_programme'].") AND id_indicateur_logement_familliaux_accession IN (8,9)) AS t"); $oResult3->execute(); $aPrixVenteMoy = $oResult3->fetchAll(); if (isset($aPrixVenteMoy[0])) $aPV[$aRow['code_financement_equ_public']]=$aPrixVenteMoy[0]['pv_moy']; diff --git a/src/vitis/vas/doc/suivi_prod_immo/get_3_porteur.html b/src/vitis/vas/doc/suivi_prod_immo/get_3_porteur.html index 5bc3833e..a5369873 100644 --- a/src/vitis/vas/doc/suivi_prod_immo/get_3_porteur.html +++ b/src/vitis/vas/doc/suivi_prod_immo/get_3_porteur.html @@ -14,7 +14,7 @@ <div class="col-sm-8 "></div> </div> <div class="row mt-4"> - <div class="col-sm-4 date_maj" style="color:black"><?php echo $sTitle; ?> : <b><?php echo $_REQUEST['nom_amenageur']; ?></b></div> + <div class="col-sm-4 date_maj" style="color:black"><?php echo $sTitle; ?> : <b><?php echo $_REQUEST['concessionnaire_amenagement']; ?></b></div> <div class="col-sm-8 "></div> </div> <div class="row"><div class="col-sm-12 ">nombre d'opération : <?php echo $iNbOperation; ?></div></div> diff --git a/src/vitis/vas/doc/suivi_prod_immo/get_3_porteur.php b/src/vitis/vas/doc/suivi_prod_immo/get_3_porteur.php index eaa4aa37..1a86a244 100644 --- a/src/vitis/vas/doc/suivi_prod_immo/get_3_porteur.php +++ b/src/vitis/vas/doc/suivi_prod_immo/get_3_porteur.php @@ -1,12 +1,12 @@ <?php -// https://geo.urbalyon.org/doc/suivi_prod_immo/get_1_operation.php?id_operation=1041 +// https://geo.urbalyon.org/doc/suivi_prod_immo/get_3_porteur.php?concessionnaire_amenagement=1041 session_start(); if (isset($_REQUEST['login'])) $_SESSION['login_bd_prod_immo']=$_REQUEST['login']; if(isset($_REQUEST['token']) && isset($_SESSION['token_bd_prod_immo'])){ if($_REQUEST['token']==$_SESSION['token_bd_prod_immo']){ - if (isset($_REQUEST['nom_amenageur']) && !is_null($_REQUEST['nom_amenageur'])){ + if (isset($_REQUEST['concessionnaire_amenagement']) && !is_null($_REQUEST['concessionnaire_amenagement'])){ require_once("../../rest/conf/properties.inc"); require_once("properties_suivi_prod_immo.inc"); $sSchema=$properties['schema_prod_immo']; @@ -18,7 +18,7 @@ if(isset($_REQUEST['token']) && isset($_SESSION['token_bd_prod_immo'])){ if($oConn){ // get data Opérations - $sWhereAmenageur=" WHERE nom_amenageur='".$_REQUEST['nom_amenageur']."'"; + $sWhereAmenageur=" WHERE concessionnaire_amenagement='".$_REQUEST['concessionnaire_amenagement']."'"; $oResult = $oConn->prepare("SELECT * FROM ".$sSchema.".v_operation_layer".$sWhereAmenageur); $oResult->execute(); @@ -30,7 +30,7 @@ if(isset($_REQUEST['token']) && isset($_SESSION['token_bd_prod_immo'])){ $aIdOperation=array(); foreach ($aOperations as $aOperation) array_push($aIdOperation, $aOperation["id_operation"]); - $sNameMapImage=strtolower(preg_replace("#[^a-zA-Z]#", "", str_replace(' ', '_', $_REQUEST['nom_amenageur'])))."_porteur.png"; + $sNameMapImage=strtolower(preg_replace("#[^a-zA-Z]#", "", str_replace(' ', '_', $_REQUEST['concessionnaire_amenagement'])))."_porteur.png"; $oResult2 = $oConn->prepare("SELECT round(st_xmin(st_buffer(st_envelope(st_union(geom)),150))) AS xmin, round(st_ymin(st_buffer(st_envelope(st_union(geom)),150))) AS ymin, round(st_ymax(st_buffer(st_envelope(st_union(geom)),150))) AS ymax, round(st_xmax(st_buffer(st_envelope(st_union(geom)),150))) AS xmax FROM ".$sSchema.".operation".$sWhereAmenageur); $oResult2->execute(); $aOperations2 = $oResult2->fetchAll(); @@ -46,7 +46,7 @@ if(isset($_REQUEST['token']) && isset($_SESSION['token_bd_prod_immo'])){ foreach ($oConn->query($sSql) as $aRow){ if(!is_null($aRow['count'])) $aNb[$aRow['code_financement_equ_public']]=$aRow['count']; if(!is_null($aRow['charge_fonciere_moy'])) $aCF[$aRow['code_financement_equ_public']]=$aRow['charge_fonciere_moy']; - $oResult3 = $oConn->prepare("SELECT round((COALESCE(avg1, 0) + COALESCE(avg2, 0) + COALESCE(avg3, 0) + COALESCE(avg4)) / ( CASE WHEN avg1 IS NULL THEN 0 ELSE 1 END + CASE WHEN avg2 IS NULL THEN 0 ELSE 1 END + CASE WHEN avg3 IS NULL THEN 0 ELSE 1 END + CASE WHEN avg4 IS NULL THEN 0 ELSE 1 END)) AS pv_moy FROM (SELECT round(avg(accession_libre)) AS avg1, round(avg(accession_abordable)) AS avg2, round(avg(accesion_sociale_securise)) AS avg3, round(avg(psla)) AS avg4 FROM ".$sSchema.".logement_familliaux_accession WHERE id_programme IN (".$aRow['id_programme'].") AND id_indicateur_logement_familliaux_accession IN (8,9)) AS t"); + $oResult3 = $oConn->prepare("SELECT round((COALESCE(avg1, 0) + COALESCE(avg2, 0) + COALESCE(avg3, 0) + COALESCE(avg4)) / ( CASE WHEN avg1 IS NULL THEN 0 ELSE 1 END + CASE WHEN avg2 IS NULL THEN 0 ELSE 1 END + CASE WHEN avg3 IS NULL THEN 0 ELSE 1 END + CASE WHEN avg4 IS NULL THEN 0 ELSE 1 END)) AS pv_moy FROM (SELECT round(avg(accession_libre::numeric)) AS avg1, round(avg(accession_abordable::numeric)) AS avg2, round(avg(accession_sociale_securise::numeric)) AS avg3, round(avg(psla::numeric)) AS avg4 FROM ".$sSchema.".logement_familliaux_accession WHERE id_programme IN (".$aRow['id_programme'].") AND id_indicateur_logement_familliaux_accession IN (8,9)) AS t"); $oResult3->execute(); $aPrixVenteMoy = $oResult3->fetchAll(); if (isset($aPrixVenteMoy[0])) $aPV[$aRow['code_financement_equ_public']]=$aPrixVenteMoy[0]['pv_moy']; @@ -76,15 +76,15 @@ if(isset($_REQUEST['token']) && isset($_SESSION['token_bd_prod_immo'])){ $aPromoteurs=array("Cogedim", "Vinci Immobilier"); $aAmenageurs=array("SERL", "LMH"); $aRegies=array("Métropole de Lyon"); - if (in_array($_REQUEST['nom_amenageur'], $aPromoteurs)) $sTitle="Promoteur immobilier"; - if (in_array($_REQUEST['nom_amenageur'], $aAmenageurs)) $sTitle="Aménageur"; - if (in_array($_REQUEST['nom_amenageur'], $aRegies)) $sTitle="Opération(s) suivi en régie"; + if (in_array($_REQUEST['concessionnaire_amenagement'], $aPromoteurs)) $sTitle="Promoteur immobilier"; + if (in_array($_REQUEST['concessionnaire_amenagement'], $aAmenageurs)) $sTitle="Aménageur"; + if (in_array($_REQUEST['concessionnaire_amenagement'], $aRegies)) $sTitle="Opération(s) suivi en régie"; include ('get_3_porteur.html'); }else{ - $sError="Erreur : ".$oResult->rowCount()." opération(s) trouvée(s) pour l'aménageur ".$_REQUEST['nom_amenageur']."."; + $sError="Erreur : ".$oResult->rowCount()." opération(s) trouvée(s) pour l'aménageur ".$_REQUEST['concessionnaire_amenagement']."."; $oResult->closeCursor(); include ('get_error.html'); } diff --git a/src/vitis/vas/doc/suivi_prod_immo/get_3_porteur_excel.php b/src/vitis/vas/doc/suivi_prod_immo/get_3_porteur_excel.php index 40c99666..493b862f 100644 --- a/src/vitis/vas/doc/suivi_prod_immo/get_3_porteur_excel.php +++ b/src/vitis/vas/doc/suivi_prod_immo/get_3_porteur_excel.php @@ -6,7 +6,7 @@ if (isset($_REQUEST['login'])) $_SESSION['login_bd_prod_immo']=$_REQUEST['login' if(isset($_REQUEST['token']) && isset($_SESSION['token_bd_prod_immo'])){ if($_REQUEST['token']==$_SESSION['token_bd_prod_immo']){ - if (isset($_REQUEST['nom_amenageur']) && !is_null($_REQUEST['nom_amenageur'])){ + if (isset($_REQUEST['concessionnaire_amenagement']) && !is_null($_REQUEST['concessionnaire_amenagement'])){ require_once("../../rest/conf/properties.inc"); require_once("properties_suivi_prod_immo.inc"); $sSchema=$properties['schema_prod_immo']; @@ -18,7 +18,7 @@ if(isset($_REQUEST['token']) && isset($_SESSION['token_bd_prod_immo'])){ if($oConn){ // get data Opérations - $sWhereAmenageur=" WHERE nom_amenageur='".$_REQUEST['nom_amenageur']."'"; + $sWhereAmenageur=" WHERE concessionnaire_amenagement='".$_REQUEST['concessionnaire_amenagement']."'"; $oResult = $oConn->prepare("SELECT * FROM ".$sSchema.".v_operation_layer".$sWhereAmenageur); $oResult->execute(); @@ -30,7 +30,7 @@ if(isset($_REQUEST['token']) && isset($_SESSION['token_bd_prod_immo'])){ $aIdOperation=array(); foreach ($aOperations as $aOperation) array_push($aIdOperation, $aOperation["id_operation"]); - $sNameMapImage=strtolower(preg_replace("#[^a-zA-Z]#", "", str_replace(' ', '_', $_REQUEST['nom_amenageur'])))."_porteur.png"; + $sNameMapImage=strtolower(preg_replace("#[^a-zA-Z]#", "", str_replace(' ', '_', $_REQUEST['concessionnaire_amenagement'])))."_porteur.png"; $oResult2 = $oConn->prepare("SELECT round(st_xmin(st_buffer(st_envelope(st_union(geom)),150))) AS xmin, round(st_ymin(st_buffer(st_envelope(st_union(geom)),150))) AS ymin, round(st_ymax(st_buffer(st_envelope(st_union(geom)),150))) AS ymax, round(st_xmax(st_buffer(st_envelope(st_union(geom)),150))) AS xmax FROM ".$sSchema.".operation".$sWhereAmenageur); $oResult2->execute(); $aOperations2 = $oResult2->fetchAll(); @@ -69,13 +69,13 @@ if(isset($_REQUEST['token']) && isset($_SESSION['token_bd_prod_immo'])){ if (count($aPourcCFPV)>0) $aPourcCFPV['MOY']=round($iCFPVTotal/$aNb['TOTAL'],3); // Python - $data = array('nom_amenageur'=>$_REQUEST['nom_amenageur'], - 'nom_amenageur_file'=>strtolower(preg_replace("#[^a-zA-Z]#", "", str_replace(' ', '_', $_REQUEST['nom_amenageur']))), + $data = array('concessionnaire_amenagement'=>$_REQUEST['concessionnaire_amenagement'], + 'nom_amenageur_file'=>strtolower(preg_replace("#[^a-zA-Z]#", "", str_replace(' ', '_', $_REQUEST['concessionnaire_amenagement']))), 'map'=>array('xmin'=>$aOperations2['xmin'], 'ymin'=>$aOperations2['ymin'], 'xmax'=>$aOperations2['xmax'], 'ymax'=>$aOperations2['ymax'], 'filter'=>implode(",", $aIdOperation)), 'NB'=>$aNb, 'CF'=>$aCF, 'PV'=>$aPV, 'PourcCFPV'=>$aPourcCFPV, 'nb_operation'=>$iNbOperation); // var_dump(json_encode($data)); - // echo mb_detect_encoding($_REQUEST['nom_amenageur']); + // echo mb_detect_encoding($_REQUEST['concessionnaire_amenagement']); echo 'python get_excel_3_porteur.py '.escapeshellarg(json_encode($data)); $sResult = shell_exec('python get_excel_3_porteur.py '.escapeshellarg(json_encode($data))); $aResultData = json_decode($sResult, true); @@ -104,7 +104,7 @@ if(isset($_REQUEST['token']) && isset($_SESSION['token_bd_prod_immo'])){ } }else{ - $sError="Erreur : ".$oResult->rowCount()." opération(s) trouvée(s) pour l'aménageur ".$_REQUEST['nom_amenageur']."."; + $sError="Erreur : ".$oResult->rowCount()." opération(s) trouvée(s) pour l'aménageur ".$_REQUEST['concessionnaire_amenagement']."."; $oResult->closeCursor(); include ('get_error.html'); } diff --git a/src/vitis/vas/doc/suivi_prod_immo/get_4_logement.php b/src/vitis/vas/doc/suivi_prod_immo/get_4_logement.php index 7b39e3a0..647b0ecc 100644 --- a/src/vitis/vas/doc/suivi_prod_immo/get_4_logement.php +++ b/src/vitis/vas/doc/suivi_prod_immo/get_4_logement.php @@ -161,7 +161,7 @@ if(isset($_REQUEST['token']) && isset($_SESSION['token_bd_prod_immo'])){ $oResult4->closeCursor(); // logement accession - $oResult5=$oConn->prepare("SELECT id_programme, id_indicateur_logement_familliaux_accession, CASE WHEN id_indicateur_logement_familliaux_accession=1 THEN sum(COALESCE(accession_libre,0)) ELSE avg(COALESCE(accession_libre,0)) END AS accession_libre, CASE WHEN id_indicateur_logement_familliaux_accession=1 THEN sum(COALESCE(accession_abordable,0)) ELSE avg(COALESCE(accession_abordable,0)) END AS accession_abordable, CASE WHEN id_indicateur_logement_familliaux_accession=1 THEN sum(COALESCE(accesion_sociale_securise,0)) ELSE avg(COALESCE(accesion_sociale_securise,0)) END AS accesion_sociale_securise, CASE WHEN id_indicateur_logement_familliaux_accession=1 THEN sum(COALESCE(psla,0)) ELSE avg(COALESCE(psla,0)) END AS psla FROM ".$sSchema.".logement_familliaux_accession WHERE id_programme=".$iIdProgramme." AND id_indicateur_logement_familliaux_accession IN (1,4,5,8,9) GROUP BY id_programme, id_indicateur_logement_familliaux_accession"); + $oResult5=$oConn->prepare("SELECT id_programme, id_indicateur_logement_familliaux_accession, CASE WHEN id_indicateur_logement_familliaux_accession=1 THEN sum(COALESCE(accession_libre::numeric,0)) ELSE avg(COALESCE(accession_libre::numeric,0)) END AS accession_libre, CASE WHEN id_indicateur_logement_familliaux_accession=1 THEN sum(COALESCE(accession_abordable::numeric,0)) ELSE avg(COALESCE(accession_abordable::numeric,0)) END AS accession_abordable, CASE WHEN id_indicateur_logement_familliaux_accession=1 THEN sum(COALESCE(accession_sociale_securise::numeric,0)) ELSE avg(COALESCE(accession_sociale_securise::numeric,0)) END AS accession_sociale_securise, CASE WHEN id_indicateur_logement_familliaux_accession=1 THEN sum(COALESCE(psla::numeric,0)) ELSE avg(COALESCE(psla::numeric,0)) END AS psla FROM ".$sSchema.".logement_familliaux_accession WHERE id_programme=".$iIdProgramme." AND id_indicateur_logement_familliaux_accession IN (1,4,5,8,9) GROUP BY id_programme, id_indicateur_logement_familliaux_accession"); $oResult5->execute(); if($oResult5->rowCount()>0){ $aLogAccessions=$oResult5->fetchAll(); @@ -180,10 +180,10 @@ if(isset($_REQUEST['token']) && isset($_SESSION['token_bd_prod_immo'])){ $aProgramme2['nb_accession_abordable']=$aLogAccession['accession_abordable']; $aTotaux['nb_accession_abordable']=$aTotaux['nb_accession_abordable']+$aLogAccession['accession_abordable']; } - if($aLogAccession['accesion_sociale_securise']>0){ + if($aLogAccession['accession_sociale_securise']>0){ $bSetAccessionSecurisee=true; - $aProgramme2['nb_accession_sociale_securise']=$aLogAccession['accesion_sociale_securise']; - $aTotaux['nb_accession_sociale_securise']=$aTotaux['nb_accession_sociale_securise']+$aLogAccession['accesion_sociale_securise']; + $aProgramme2['nb_accession_sociale_securise']=$aLogAccession['accession_sociale_securise']; + $aTotaux['nb_accession_sociale_securise']=$aTotaux['nb_accession_sociale_securise']+$aLogAccession['accession_sociale_securise']; } if($aLogAccession['psla']>0) $aProgramme2['nb_psla']=$aLogAccession['psla']; break; @@ -199,10 +199,10 @@ if(isset($_REQUEST['token']) && isset($_SESSION['token_bd_prod_immo'])){ $aCFIAccessionAbordable[count($aCFIAccessionAbordable)]=$aLogAccession['accession_abordable']; $aTotaux['cfi_accession_abordable'][count($aTotaux['cfi_accession_abordable'])]=$aLogAccession['accession_abordable']; } - if(!is_null($aLogAccession['accesion_sociale_securise']) and $aLogAccession['accesion_sociale_securise']>0){ + if(!is_null($aLogAccession['accession_sociale_securise']) and $aLogAccession['accession_sociale_securise']>0){ $bSetAccessionSecurisee=true; - $aCFIAccessionSocialeSecurise[count($aCFIAccessionSocialeSecurise)]=$aLogAccession['accesion_sociale_securise']; - $aTotaux['cfi_accession_sociale_securise'][count($aTotaux['cfi_accession_sociale_securise'])]=$aLogAccession['accesion_sociale_securise']; + $aCFIAccessionSocialeSecurise[count($aCFIAccessionSocialeSecurise)]=$aLogAccession['accession_sociale_securise']; + $aTotaux['cfi_accession_sociale_securise'][count($aTotaux['cfi_accession_sociale_securise'])]=$aLogAccession['accession_sociale_securise']; } break; case 8: @@ -217,10 +217,10 @@ if(isset($_REQUEST['token']) && isset($_SESSION['token_bd_prod_immo'])){ $aPVAccessionAbordable[count($aPVAccessionAbordable)]=$aLogAccession['accession_abordable']; $aTotaux['pv_accession_abordable'][count($aTotaux['pv_accession_abordable'])]=$aLogAccession['accession_abordable']; } - if(!is_null($aLogAccession['accesion_sociale_securise']) and $aLogAccession['accesion_sociale_securise']>0){ + if(!is_null($aLogAccession['accession_sociale_securise']) and $aLogAccession['accession_sociale_securise']>0){ $bSetAccessionSecurisee=true; - $aPVAccessionSocialeSecurise[count($aPVAccessionSocialeSecurise)]=$aLogAccession['accesion_sociale_securise']; - $aTotaux['pv_accession_sociale_securise'][count($aTotaux['pv_accession_sociale_securise'])]=$aLogAccession['accesion_sociale_securise']; + $aPVAccessionSocialeSecurise[count($aPVAccessionSocialeSecurise)]=$aLogAccession['accession_sociale_securise']; + $aTotaux['pv_accession_sociale_securise'][count($aTotaux['pv_accession_sociale_securise'])]=$aLogAccession['accession_sociale_securise']; } break; } diff --git a/src/vitis/vas/doc/suivi_prod_immo/js/form.js b/src/vitis/vas/doc/suivi_prod_immo/js/form.js index b9f2cc94..9ca4a21d 100644 --- a/src/vitis/vas/doc/suivi_prod_immo/js/form.js +++ b/src/vitis/vas/doc/suivi_prod_immo/js/form.js @@ -37,11 +37,11 @@ $(document).ready(function(){ } }); $("#get_porteur").on('click', function(event) { - var sNomAmenageur = $("#l_amenageur").val(); - if(sNomAmenageur==''){ + var sConcessionnaireAmenagement = $("#l_amenageur").val(); + if(sConcessionnaireAmenagement==''){ alert('Veuillez sélectioner un aménageur dans la liste.'); }else{ - window.open('https://geo.urbalyon.org/doc/suivi_prod_immo/get_3_porteur.php?token='+sToken+'&nom_amenageur='+sNomAmenageur); + window.open('https://geo.urbalyon.org/doc/suivi_prod_immo/get_3_porteur.php?token='+sToken+'&concessionnaire_amenagement='+sConcessionnaireAmenagement); } }); $("#get_logement").on('click', function(event) { @@ -68,11 +68,11 @@ $(document).ready(function(){ } }); $("#get_porteur_excel").on('click', function(event) { - var sNomAmenageur = $("#l_amenageur").val(); - if(sNomAmenageur==''){ + var sConcessionnaireAmenagement = $("#l_amenageur").val(); + if(sConcessionnaireAmenagement==''){ alert('Veuillez sélectioner un aménageur dans la liste.'); }else{ - window.open('https://geo.urbalyon.org/doc/suivi_prod_immo/get_3_porteur_excel.php?token='+sToken+'&nom_amenageur='+sNomAmenageur); + window.open('https://geo.urbalyon.org/doc/suivi_prod_immo/get_3_porteur_excel.php?token='+sToken+'&concessionnaire_amenagement='+sConcessionnaireAmenagement); } }); diff --git a/src/vitis/vas/doc/suivi_prod_immo/properties_suivi_prod_immo.inc b/src/vitis/vas/doc/suivi_prod_immo/properties_suivi_prod_immo.inc index 6f248733..8e27ade3 100644 --- a/src/vitis/vas/doc/suivi_prod_immo/properties_suivi_prod_immo.inc +++ b/src/vitis/vas/doc/suivi_prod_immo/properties_suivi_prod_immo.inc @@ -8,7 +8,7 @@ $properties['schema_prod_immo']='prod_immo'; // page d'acceuil $properties['access_page']='form_1_operation.php'; -$properties['server'] = 'srv-postgres'; +$properties['server'] = '192.168.2.114'; $properties['port'] = 5432; ?> \ No newline at end of file diff --git a/src/vitis/vas/rest/class/vitis_lib/Connection.class.inc b/src/vitis/vas/rest/class/vitis_lib/Connection.class.inc index fa801dc5..bb3bc4f6 100755 --- a/src/vitis/vas/rest/class/vitis_lib/Connection.class.inc +++ b/src/vitis/vas/rest/class/vitis_lib/Connection.class.inc @@ -235,6 +235,7 @@ class Connection { 'sSchema' => array('value' => $sSchema, 'type' => 'column_name'), 'sTable' => array('value' => $sTable, 'type' => 'column_name') ); + $sSql = "SELECT has_table_privilege('\"[sSchema]\".\"[sTable]\"','insert') AS \"INSERT\", has_table_privilege('\"[sSchema]\".\"[sTable]\"','select') AS \"SELECT\", -- GitLab