diff --git a/conf/Gruntfile.js b/conf/Gruntfile.js index 2968b96a4e1ed39f07063a1bd8e043b7fd920b41..d30c6c9d3432013d2b8587084f901e7aa35560de 100755 --- a/conf/Gruntfile.js +++ b/conf/Gruntfile.js @@ -42,7 +42,8 @@ module.exports = function (grunt) { // Fichiers vMap4MapServer sHome + 'modules/vm4ms/javascript/**/*.js', // Fichiers ANC - sHome + 'modules/anc/javascript/**/*.js' + sHome + 'modules/anc/javascript/**/*.js', + sHome + 'modules/suivi_prod_immo/javascript/**/*.js' ] }, options: { @@ -125,6 +126,7 @@ module.exports = function (grunt) { '"' + sHome + 'modules/vm4ms/javascript ' + sClosureDepsHome + 'modules/vm4ms/javascript"', // Fichiers vMap4MapServer '"' + sHome + 'modules/anc/javascript ' + sClosureDepsHome + 'modules/anc/javascript"', + '"' + sHome + 'modules/suivi_prod_immo/javascript ' + sClosureDepsHome + 'modules/suivi_prod_immo/javascript"', // Closure library '"' + sHome + 'conf/node_modules/google-closure-library/closure/goog ' + sClosureDepsHome + 'conf/node_modules/google-closure-library/closure/goog"' ] diff --git a/conf/requires/requiresApp.js b/conf/requires/requiresApp.js index 616d38dad7241cdb3244ecd921ad501b04792ec2..f78b803e439e35e4abda4e23283515ad59e53a99 100755 --- a/conf/requires/requiresApp.js +++ b/conf/requires/requiresApp.js @@ -9,4 +9,5 @@ goog.provide('vitis.application.requires'); goog.require('vmap.script_module'); goog.require('vmap.vm4ms.script_module'); -goog.require('vmap.anc.script_module'); \ No newline at end of file +goog.require('vmap.anc.script_module'); +goog.require('vmap.suivi_prod_immo.script_module'); \ No newline at end of file diff --git a/src/module_suivi_prod_immo/module/javascript/script_module.js b/src/module_suivi_prod_immo/module/javascript/script_module.js new file mode 100644 index 0000000000000000000000000000000000000000..c11531c33a0b54e30abf954b5b08566daecadde9 --- /dev/null +++ b/src/module_suivi_prod_immo/module/javascript/script_module.js @@ -0,0 +1,63 @@ +/* global vitisApp, goog, angular, bootbox, oVFB */ + +'use strict'; +goog.provide('vmap.suivi_prod_immo.script_module'); +vitisApp.on('appMainDrtvLoaded', function () { + + /** + * loadSuiviProdImmoRepartitionLogControl function. + * Chargement de la section "Prétraitement" de l'onglet "Contrôle". + */ + angular.element(vitisApp.appMainDrtv).scope()["loadSuiviProdImmoRepartitionLogControl"] = 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_suivi_prod_immo/web_service/ws/Commune.class.inc b/src/module_suivi_prod_immo/web_service/ws/Commune.class.inc new file mode 100644 index 0000000000000000000000000000000000000000..721f6370fb36e0ecb24256fe47f48f88524f7225 --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/Commune.class.inc @@ -0,0 +1,45 @@ +<?php + +require_once __DIR__ . '/Suivi_prod_immo.class.inc'; +require_once __DIR__ . '/../../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 commune for one Suivi_prod_immo + * + */ + +class Commune 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 commune + */ + function GET() { + $this->aFields = $this->getFields('prod_immo', "commune", "id_commune"); + } + +} + +?> \ No newline at end of file diff --git a/src/module_suivi_prod_immo/web_service/ws/Communes.class.inc b/src/module_suivi_prod_immo/web_service/ws/Communes.class.inc new file mode 100644 index 0000000000000000000000000000000000000000..65af9cd08baad0be69428b36edc54af245fff619 --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/Communes.class.inc @@ -0,0 +1,131 @@ +<?php + +/** + * \file Communes.class.inc + * \class Communes + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Communes php class + * + * This class defines Rest Api to Vitis Communes + * + */ +require_once __DIR__ . '/Suivi_prod_immo.class.inc'; +require_once 'Commune.class.inc'; + + +class Communes extends Suivi_prod_immo { + /** + * @SWG\Definition( + * definition="/communes", + * allOf={ + * @SWG\Schema(ref="#/definitions/communes") + * } + * ) + * * @SWG\Tag( + * name="Communes", + * description="Communes about Communes" + * ) + */ + + /** + * 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="/communes", + * tags={"Communes"}, + * summary="Get Communes", + * description="Request to get Communes", + * 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/communes") + * ) + * ) + */ + + /** + * get Communes + * @return Communes + */ + function GET() { + $aReturn = $this->genericGet('prod_immo', "commune", "id_commune"); + $sMessage = $aReturn['sMessage']; + return $sMessage; + } + + +} + +?> \ No newline at end of file diff --git a/src/module_suivi_prod_immo/web_service/ws/Ctm.class.inc b/src/module_suivi_prod_immo/web_service/ws/Ctm.class.inc new file mode 100644 index 0000000000000000000000000000000000000000..64d183c9df8415512b7c229849efe9b984e85c9b --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/Ctm.class.inc @@ -0,0 +1,45 @@ +<?php + +require_once __DIR__ . '/Suivi_prod_immo.class.inc'; +require_once __DIR__ . '/../../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 conference_territoriale_maire for one Suivi_prod_immo + * + */ + +class Ctm 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 conference_territoriale_maire + */ + function GET() { + $this->aFields = $this->getFields('prod_immo', "conference_territoriale_maire", "id_ctm"); + } + +} + +?> \ No newline at end of file diff --git a/src/module_suivi_prod_immo/web_service/ws/Ctms.class.inc b/src/module_suivi_prod_immo/web_service/ws/Ctms.class.inc new file mode 100644 index 0000000000000000000000000000000000000000..e71c2675b1fba3147e41f87c71320f346a921a68 --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/Ctms.class.inc @@ -0,0 +1,130 @@ +<?php + +/** + * \file Ctms.class.inc + * \class Ctms + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the conference_territoriale_maire php class + * + * This class defines Rest Api to Vitis Ctms + * + */ +require_once __DIR__ . '/Suivi_prod_immo.class.inc'; +require_once 'Ctm.class.inc'; + + +class Ctms extends Suivi_prod_immo { + /** + * @SWG\Definition( + * definition="/ctms", + * allOf={ + * @SWG\Schema(ref="#/definitions/ctms") + * } + * ) + * * @SWG\Tag( + * name="Ctms", + * description="Ctms about Ctms" + * ) + */ + + /** + * 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="/ctms", + * tags={"Ctms"}, + * summary="Get Ctms", + * description="Request to get Ctms", + * 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/ctms") + * ) + * ) + */ + + /** + * get Ctms + * @return Ctms + */ + function GET() { + $aReturn = $this->genericGet('prod_immo', "conference_territoriale_maire", "id_ctm"); + return $aReturn['sMessage']; + } + + +} + +?> \ No newline at end of file diff --git a/src/module_suivi_prod_immo/web_service/ws/Ilot.class.inc b/src/module_suivi_prod_immo/web_service/ws/Ilot.class.inc new file mode 100644 index 0000000000000000000000000000000000000000..9dbc5fd663ce8a040065f35220bb2b4397753721 --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/Ilot.class.inc @@ -0,0 +1,57 @@ +<?php + +require_once __DIR__ . '/Suivi_prod_immo.class.inc'; +require_once __DIR__ . '/../../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 ilot for one Suivi_prod_immo + * + */ + +class Ilot 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 ilot + */ + function GET() { + $this->aFields = $this->getFields('prod_immo', "ilot", "id_ilot"); + } + + /** + * delete a ilot + */ + function DELETE() { + $this->oConnection->oBd->delete('prod_immo', 'ilot', 'id_ilot', $this->aValues["my_vitis_id"], 'integer'); + if ($this->oConnection->oBd->enErreur()) { + $this->oError = new VitisError(1, $this->oConnection->oBd->getBDMessage()); + } else { + $this->aFields["id_ilot"] = $this->aValues["my_vitis_id"]; + } + } + +} + +?> \ 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 new file mode 100644 index 0000000000000000000000000000000000000000..113033e12353b3ce2c2a70a3a376b487f37c4e2d --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/Ilots.class.inc @@ -0,0 +1,274 @@ +<?php + +/** + * \file Ilots.class.inc + * \class Ilots + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Ilots php class + * + * This class defines Rest Api to Vitis Ilots + * + */ +require_once __DIR__ . '/Suivi_prod_immo.class.inc'; +require_once 'Ilot.class.inc'; + + +class Ilots extends Suivi_prod_immo { + /** + * @SWG\Definition( + * definition="/ilots", + * allOf={ + * @SWG\Schema(ref="#/definitions/ilots") + * } + * ) + * * @SWG\Tag( + * name="Ilots", + * description="Ilots about Ilots" + * ) + */ + + /** + * 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="/ilots", + * tags={"Ilots"}, + * summary="Get Ilots", + * description="Request to get Ilots", + * 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/ilots") + * ) + * ) + */ + + /** + * get Ilots + * @return Ilots + */ + function GET() { + $aReturn = $this->genericGet('prod_immo', "ilot", "id_ilot"); + $sMessage = $aReturn['sMessage']; + return $sMessage; + } + + /** + * @SWG\Post(path="/ilots", + * tags={"Ilots"}, + * summary="Add traitement", + * description="Request to add Ilots", + * 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="traitement Response", + * @SWG\Schema(ref="#/definitions/ilots") + * ) + * ) + */ + + /** + * insert traitement + * @return id of the traitement created + */ + function POST() { + //$this->aValues['create'] = $_SESSION["ses_Login"]; + //$this->aValues['create_date'] = date('Y-m-d'); + $aReturn = $this->genericPost('prod_immo', 'ilot', 'prod_immo.ilot_id_ilot_seq', 'id_ilot'); + return $aReturn['sMessage']; + } + + /** + * @SWG\Put(path="/ilots/{id_ilot}", + * tags={"Ilots"}, + * summary="update Ilots", + * description="Request to update Ilots", + * operationId="PUT", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="Traitement token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="id_ilot", + * in="path", + * description="id of the Ilots", + * required=true, + * type="integer", + * format = "int32" + * ), + * @SWG\Response( + * response=200, + * description="Poprerties Response", + * @SWG\Schema(ref="#/definitions/ilots") + * ) + * ) + */ + + /** + * update ilots + * @return id of ilots updated or error object if a ilots 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');*/ + $aReturn = $this->genericPut('prod_immo', 'ilot', 'id_ilot'); + return $aReturn['sMessage']; + } + + /** + * @SWG\Delete(path="/ilots", + * tags={"Ilots"}, + * summary="delete Ilots", + * description="Request to delete Ilots", + * 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/ilots") + * ) + * ) + */ + /** + * @SWG\Delete(path="/ilots/{id_ilot}", + * tags={"Ilots"}, + * summary="delete Ilots", + * description="Request to delete Ilots", + * operationId="DELETE", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="Traitement token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="id_ilot", + * in="path", + * description="id of the Ilots", + * required=true, + * type="integer", + * format = "int32" + * ), + * @SWG\Response( + * response=200, + * description="Poprerties Response", + * @SWG\Schema(ref="#/definitions/ilots") + * ) + * ) + */ + + /** + * delete ilots + * @return id of ilots deleted or error object if a ilots is not deleted + */ + function DELETE() { + $aReturn = $this->genericDelete('prod_immo', 'ilot', 'id_ilot'); + return $aReturn['sMessage']; + } + + +} + +?> \ No newline at end of file diff --git a/src/module_suivi_prod_immo/web_service/ws/Mode_financement.class.inc b/src/module_suivi_prod_immo/web_service/ws/Mode_financement.class.inc new file mode 100644 index 0000000000000000000000000000000000000000..2ca2732d4078f9e7f81ca961dd0028dce4c431e5 --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/Mode_financement.class.inc @@ -0,0 +1,45 @@ +<?php + +require_once __DIR__ . '/Suivi_prod_immo.class.inc'; +require_once __DIR__ . '/../../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 mode financement for one Suivi_prod_immo + * + */ + +class Mode_financement 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 mode financement + */ + function GET() { + $this->aFields = $this->getFields('prod_immo', "tr_financement_equ_public", "code_financement_equ_public"); + } + +} + +?> \ No newline at end of file diff --git a/src/module_suivi_prod_immo/web_service/ws/Mode_financements.class.inc b/src/module_suivi_prod_immo/web_service/ws/Mode_financements.class.inc new file mode 100644 index 0000000000000000000000000000000000000000..e80fcc653883bf83f37433f407262937409ec8a5 --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/Mode_financements.class.inc @@ -0,0 +1,131 @@ +<?php + +/** + * \file Mode_financements.class.inc + * \class Mode_financements + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Mode_financements php class + * + * This class defines Rest Api to Vitis Mode_financements + * + */ +require_once __DIR__ . '/Suivi_prod_immo.class.inc'; +require_once 'Mode_financement.class.inc'; + + +class Mode_financements extends Suivi_prod_immo { + /** + * @SWG\Definition( + * definition="/mode_financements", + * allOf={ + * @SWG\Schema(ref="#/definitions/mode_financements") + * } + * ) + * * @SWG\Tag( + * name="Mode_financements", + * description="Mode_financements about Mode_financements" + * ) + */ + + /** + * 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="/mode_financements", + * tags={"Mode_financements"}, + * summary="Get Mode_financements", + * description="Request to get Mode_financements", + * 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/mode_financements") + * ) + * ) + */ + + /** + * get Mode_financements + * @return Mode_financements + */ + function GET() { + $aReturn = $this->genericGet('prod_immo', "tr_financement_equ_public", "code_financement_equ_public"); + $sMessage = $aReturn['sMessage']; + return $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 new file mode 100644 index 0000000000000000000000000000000000000000..916a05595e936a6cd0899b2e23f6d21f96ef1f3c --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/Operation.class.inc @@ -0,0 +1,247 @@ +<?php + +require_once __DIR__ . '/Suivi_prod_immo.class.inc'; +require_once __DIR__ . '/../../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 operation for one Suivi_prod_immo + * + */ + +class Operation 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 operation + */ + function GET() { + $this->aFields = $this->getFields('prod_immo', "operation", "id_operation"); + $this->getCommunes(); + $this->getPerimetre(); + $this->getCTM(); + $this->getModeFinancement(); + $this->getAvancement(); + $this->getContexteUrbain(); + $this->getSuivi(); + $this->getProcedureAmenagement(); + $this->getVocation(); + //$this->getRepartitionTypeLogement(); + // 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'); + $this->aFields['recette_part_publique_ttc_label'] = $this->aFields['recette_part_publique_ttc'] == 'true' ? 'TTC' : 'HT'; + } + + /** + * get communes of operation + */ + function getCommunes() { + 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['getOperationCommunes'], $aParams); + $sListCommuneId = ""; + $aListCommuneNom = array(); + while ($aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult)) { + if ($sListCommuneId == "") { + $sListCommuneId = $aLigne["id_commune"]; + } else { + $sListCommuneId .= "|" . $aLigne["id_commune"]; + } + $aListCommuneNom[] = $aLigne["nom_commune"]; + } + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + $this->aFields['communes'] = $sListCommuneId; + $this->aFields['communes_label'] = implode(',', $aListCommuneNom); + + } + + /** + * get CTM of operation + */ + function getCTM() { + 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['getOperationCTM'], $aParams); + $sListCTMId = ""; + $aListCTMNom = array(); + while ($aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult)) { + if ($sListCTMId == "") { + $sListCTMId = $aLigne["id_ctm"]; + } else { + $sListCTMId .= "|" . $aLigne["id_ctm"]; + } + $aListCTMNom[] = $aLigne["nom_ctm"]; + } + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + $this->aFields['ctms'] = $sListCTMId; + $this->aFields['ctms_label'] = implode(',', $aListCTMNom); + } + + /** + * get Modes financement of operation + */ + function getModeFinancement() { + 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['getOperationModesFinancement'], $aParams); + $sListCodeFinancement = ""; + $sListFinancement = array(); + while ($aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult)) { + if ($sListCodeFinancement == "") { + $sListCodeFinancement = $aLigne["code_financement_equ_public"]; + } else { + $sListCodeFinancement .= "|" . $aLigne["code_financement_equ_public"]; + } + $sListFinancement[] = $aLigne["financement_equ_public"]; + } + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + $this->aFields['mode_financements'] = $sListCodeFinancement; + $this->aFields['mode_financements_label'] = implode(',', $sListFinancement); + } + + /** + * get perimetre projet urbain of programme + */ + 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'); + $aParams['id_perimetre'] = array('value' => $this->aFields['id_perimetre'], 'type' => 'number'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getPerimetre'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $this->aFields['nom_perimetre'] = $aLigne["nom_perimetre"]." (".$aLigne["type_perimetre"].")"; + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + } + } + + /** + * get avancement of programme + */ + function getAvancement() { + if(isset($this->aFields['code_avancement']) and !is_null($this->aFields['code_avancement'])){ + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'prod_immo', 'type' => 'schema_name'); + $aParams['code_avancement'] = array('value' => $this->aFields['code_avancement'], 'type' => 'string'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getAvancement'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $this->aFields['avancement'] = $aLigne["avancement"]; + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + } + } + + /** + * get contexte urbain of programme + */ + function getContexteUrbain() { + if(isset($this->aFields['code_contexte_urbain']) and !is_null($this->aFields['code_contexte_urbain'])){ + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'prod_immo', 'type' => 'schema_name'); + $aParams['code_contexte_urbain'] = array('value' => $this->aFields['code_contexte_urbain'], 'type' => 'string'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getContexteUrbain'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $this->aFields['contexte_urbain'] = $aLigne["contexte_urbain"]; + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + } + } + + /** + * get suivi of programme + */ + function getSuivi() { + if(isset($this->aFields['code_suivi']) and !is_null($this->aFields['code_suivi'])){ + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'prod_immo', 'type' => 'schema_name'); + $aParams['code_suivi'] = array('value' => $this->aFields['code_suivi'], 'type' => 'string'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getSuivi'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $this->aFields['suivi'] = $aLigne["suivi"]; + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + } + } + + /** + * get procedure d'amenagement of programme + */ + function getProcedureAmenagement() { + if(isset($this->aFields['code_procedure_amenagement']) and !is_null($this->aFields['code_procedure_amenagement'])){ + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'prod_immo', 'type' => 'schema_name'); + $aParams['code_procedure_amenagement'] = array('value' => $this->aFields['code_procedure_amenagement'], 'type' => 'string'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getProcedureAmenagement'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $this->aFields['procedure_amenagement'] = $aLigne["procedure_amenagement"]; + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + } + } + + /** + * get vocation of programme + */ + function getVocation() { + if(isset($this->aFields['code_vocation']) and !is_null($this->aFields['code_vocation'])){ + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'prod_immo', 'type' => 'schema_name'); + $aParams['code_vocation'] = array('value' => $this->aFields['code_vocation'], 'type' => 'string'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getVocation'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $this->aFields['vocation'] = $aLigne["vocation"]; + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + } + } + + /** + * get répartition type logement of programme DEPRECATED + */ + /*function getRepartitionTypeLogement(){ + 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['getRepartitionTypeLogement'], $aParams); + $aRepartition = array(); + while ($aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult)) { + $aRepartition[] = $aLigne["type_logement"].' : '.$aLigne["repartition"]; + } + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + $this->aFields['repartition_type_logement'] = implode('<br>', $aRepartition); + }*/ + + /** + * delete a operation + */ + function DELETE() { + $this->oConnection->oBd->delete('prod_immo', 'operation', 'id_operation', $this->aValues["my_vitis_id"], 'integer'); + if ($this->oConnection->oBd->enErreur()) { + $this->oError = new VitisError(1, $this->oConnection->oBd->getBDMessage()); + } else { + $this->aFields["id_operation"] = $this->aValues["my_vitis_id"]; + } + } + +} + +?> \ No newline at end of file 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 new file mode 100644 index 0000000000000000000000000000000000000000..2a6a16d3b8a382badb8b57cbcd7f5ae6784ac17f --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/Operations.class.inc @@ -0,0 +1,362 @@ +<?php + +/** + * \file Operations.class.inc + * \class Operations + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Operations php class + * + * This class defines Rest Api to Vitis Operations + * + */ +require_once __DIR__ . '/Suivi_prod_immo.class.inc'; +require_once 'Operation.class.inc'; + + +class Operations extends Suivi_prod_immo { + /** + * @SWG\Definition( + * definition="/operations", + * allOf={ + * @SWG\Schema(ref="#/definitions/operations") + * } + * ) + * * @SWG\Tag( + * name="Operations", + * description="Operations about Operations" + * ) + */ + + /** + * 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; + /*$properties2 = $properties; + $properties2['database']='suivi_prod_immo';*/ + $this->oConnection = new Connection($this->aValues, $properties); + } + + /** + * @SWG\Get(path="/operations", + * tags={"Operations"}, + * summary="Get Operations", + * description="Request to get Operations", + * 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/operations") + * ) + * ) + */ + + /** + * get Operations + * @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; + } + $sOperations=json_encode(array("operations"=>$aOperations2,"list_count"=>$aOperations['list_count'],"total_row_number"=>$aOperations['total_row_number'],"status"=>$aOperations['status'])); + return $sOperations; + } + + /** + * get communes of operation + */ + function getCommunes($iId) { + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'prod_immo', 'type' => 'schema_name'); + $aParams['id_operation'] = array('value' => $iId, 'type' => 'number'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getOperationCommunes'], $aParams); + $aListCommuneNom = array(); + while ($aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult)) { + $aListCommuneNom[] = $aLigne["nom_commune"]; + } + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + return implode(',', $aListCommuneNom); + + } + + /** + * @SWG\Post(path="/operations", + * tags={"Operations"}, + * summary="Add traitement", + * description="Request to add Operations", + * 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="traitement Response", + * @SWG\Schema(ref="#/definitions/operations") + * ) + * ) + */ + + /** + * insert traitement + * @return id of the traitement created + */ + function POST() { + $aReturn = $this->genericPost('prod_immo', 'operation', 'prod_immo.traitement_id_operation_seq', 'id_operation'); + return $aReturn['sMessage']; + } + + /** + * @SWG\Put(path="/operations/{id_operation}", + * tags={"Operations"}, + * summary="update Operations", + * description="Request to update Operations", + * operationId="PUT", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="Traitement token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="id_operation", + * in="path", + * description="id of the Operations", + * required=true, + * type="integer", + * format = "int32" + * ), + * @SWG\Response( + * response=200, + * description="Poprerties Response", + * @SWG\Schema(ref="#/definitions/operations") + * ) + * ) + */ + + /** + * update operations + * @return id of operations updated or error object if a operations is not updated + */ + function PUT() { + $aValues=$this->aValues; + if (isset($aValues["code_avancement"]) and $aValues["code_avancement"]=='') $aValues["code_avancement"]=null; + if (isset($aValues["code_contexte_urbain"]) and $aValues["code_contexte_urbain"]=='') $aValues["code_contexte_urbain"]=null; + if (isset($aValues["code_suivi"]) and $aValues["code_suivi"]=='') $aValues["code_suivi"]=null; + if (isset($aValues["code_procedure_amenagement"]) and $aValues["code_procedure_amenagement"]=='') $aValues["code_procedure_amenagement"]=null; + if (isset($aValues["code_vocation"]) and $aValues["code_vocation"]=='') $aValues["code_vocation"]=null; + $this->aValues=$aValues; + $aReturn = $this->genericPut('prod_immo', 'operation', 'id_operation'); + 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); + $oOperation->GET(); + //***** communes *****// + // Le paramètre "communes" est passé dans la requête ? + if ($this->aValues['communes'] !== NULL) { + $this->oConnection->oBd->delete('prod_immo', 'operation_commune', 'id_operation', $this->aValues["my_vitis_id"]); + // Commune(s) à rattacher au groupe ? + if (!empty($this->aValues['communes'])) { + require $this->sRessourcesFile; + $aCommunes = explode('|', $this->aValues['communes']); + foreach ($aCommunes as $iCommuneId) { + $aParams = array(); + $aParams['sSchemaFramework'] = array('value' => 'prod_immo', 'type' => 'schema_name'); + $aParams['id_commune'] = array('value' => $iCommuneId, 'type' => 'number'); + $aParams['id_operation'] = array('value' => $this->aValues["my_vitis_id"], 'type' => 'number'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['insertOperationCommunes'], $aParams); + } + } + } + //***** CTMs *****// + // Le paramètre "ctms" est passé dans la requête ? + if ($this->aValues['ctms'] !== NULL) { + $this->oConnection->oBd->delete('prod_immo', 'operation_ctm', 'id_operation', $this->aValues["my_vitis_id"]); + if (!empty($this->aValues['ctms'])) { + require $this->sRessourcesFile; + $aCTMs = explode('|', $this->aValues['ctms']); + foreach ($aCTMs as $iCTMId) { + $aParams = array(); + $aParams['sSchemaFramework'] = array('value' => 'prod_immo', 'type' => 'schema_name'); + $aParams['id_ctm'] = array('value' => $iCTMId, 'type' => 'number'); + $aParams['id_operation'] = array('value' => $this->aValues["my_vitis_id"], 'type' => 'number'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['insertOperationCTM'], $aParams); + } + } + } + //***** Modes financement *****// + // Le paramètre "mode_financements" est passé dans la requête ? + //error_log($this->aValues['mode_financements']); + if ($this->aValues['mode_financements'] !== NULL) { + $this->oConnection->oBd->delete('prod_immo', 'operation_tr_financement_equ_public', 'id_operation', $this->aValues["my_vitis_id"]); + if (!empty($this->aValues['mode_financements'])) { + require $this->sRessourcesFile; + $aModesFinancement = explode('|', $this->aValues['mode_financements']); + foreach ($aModesFinancement as $cModeFinancementId) { + $aParams = array(); + $aParams['sSchemaFramework'] = array('value' => 'prod_immo', 'type' => 'schema_name'); + $aParams['code_financement_equ_public'] = array('value' => $cModeFinancementId, 'type' => 'string'); + $aParams['id_operation'] = array('value' => $this->aValues["my_vitis_id"], 'type' => 'number'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['insertOperationModesFinancement'], $aParams); + } + } + } + } else { + $sMessage = $aReturn['sMessage']; + } + return $sMessage; + + return $aReturn['sMessage']; + } + + /** + * @SWG\Delete(path="/operations", + * tags={"Operations"}, + * summary="delete Operations", + * description="Request to delete Operations", + * 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/operations") + * ) + * ) + */ + /** + * @SWG\Delete(path="/operations/{id_operation}", + * tags={"Operations"}, + * summary="delete Operations", + * description="Request to delete Operations", + * operationId="DELETE", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="Traitement token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="id_operation", + * in="path", + * description="id of the Operations", + * required=true, + * type="integer", + * format = "int32" + * ), + * @SWG\Response( + * response=200, + * description="Poprerties Response", + * @SWG\Schema(ref="#/definitions/operations") + * ) + * ) + */ + + /** + * delete operations + * @return id of operations deleted or error object if a operations is not deleted + */ + function DELETE() { + $aReturn = $this->genericDelete('prod_immo', 'operation', 'id_operation'); + 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 new file mode 100644 index 0000000000000000000000000000000000000000..595fa6dafd33d12512186e77767c66f47b54315d --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/Programme.class.inc @@ -0,0 +1,149 @@ +<?php + +require_once __DIR__ . '/Suivi_prod_immo.class.inc'; +require_once __DIR__ . '/../../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 programme for one Suivi_prod_immo + * + */ + +class Programme 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 programme + */ + function GET() { + $this->aFields = $this->getFields('prod_immo', "programme_immobilier", "id_programme"); + $this->getOperationIlot(); + $this->getCommune(); + $this->getTypeOperateur(); + $this->getModeConsultation(); + // 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'); + // Booléen + $this->aFields['aire_influence_tc'] = $this->aFields['aire_influence_tc'] ? 'Oui' : $this->aFields['aire_influence_tc']; + $this->aFields['aire_influence_tc'] = !$this->aFields['aire_influence_tc'] ? 'Non' : $this->aFields['aire_influence_tc']; + // + $this->aFields['cahier_prescription_archi_urb_paysagere_label']=$this->replaceOuiNonLes2($this->aFields['cahier_prescription_archi_urb_paysagere']); + $this->aFields['charge_fonciere_imposee_fixee_label']=$this->replaceOuiNonLes2($this->aFields['charge_fonciere_imposee_fixee']); + $this->aFields['prix_sortie_encadree_label']=$this->replaceOuiNonLes2($this->aFields['prix_sortie_encadree']); + } + + + /** + * get operation / ilot of programme + */ + function getOperationIlot() { + if(isset($this->aFields['id_ilot']) and !is_null($this->aFields['id_ilot'])){ + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'prod_immo', 'type' => 'schema_name'); + $aParams['id_ilot'] = array('value' => $this->aFields['id_ilot'], 'type' => 'number'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getOperationIlot'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $this->aFields['nom_ilot'] = $aLigne["nom_ilot"]; + $this->aFields['nom_operation'] = $aLigne["nom_operation"]; + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + } + } + + /** + * get commune of programme + */ + function getCommune() { + if(isset($this->aFields['id_commune']) and !is_null($this->aFields['id_commune'])){ + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'prod_immo', 'type' => 'schema_name'); + $aParams['id_commune'] = array('value' => $this->aFields['id_commune'], '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 type opérateur of programme + */ + function getTypeOperateur() { + if(isset($this->aFields['code_type_operateur']) and !is_null($this->aFields['code_type_operateur'])){ + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'prod_immo', 'type' => 'schema_name'); + $aParams['code_type_operateur'] = array('value' => $this->aFields['code_type_operateur'], 'type' => 'string'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getTypeOperateur'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $this->aFields['type_operateur'] = $aLigne["type_operateur"]; + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + } + } + + /** + * get mode consultation of programme + */ + function getModeConsultation() { + if(isset($this->aFields['code_consultation']) and !is_null($this->aFields['code_consultation'])){ + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'prod_immo', 'type' => 'schema_name'); + $aParams['code_consultation'] = array('value' => $this->aFields['code_consultation'], 'type' => 'string'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getModeConsultation'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $this->aFields['consultation'] = $aLigne["consultation"]; + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + } + } + + function replaceOuiNonLes2($sValue){ + switch ($sValue) { + case 'O': + return 'Oui'; + break; + case 'N': + return 'Non'; + break; + case 'les 2': + return 'Les 2'; + break; + default: + return $sValue; + } + } + + /** + * delete a programme + */ + function DELETE() { + $this->oConnection->oBd->delete('prod_immo', 'programme_immobilier', 'id_programme', $this->aValues["my_vitis_id"], 'integer'); + if ($this->oConnection->oBd->enErreur()) { + $this->oError = new VitisError(1, $this->oConnection->oBd->getBDMessage()); + } else { + $this->aFields["id_programme"] = $this->aValues["my_vitis_id"]; + } + } + +} + +?> \ No newline at end of file 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 new file mode 100644 index 0000000000000000000000000000000000000000..1a70c95d76369f621d4932a0978cd3bad670972e --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/Programmes.class.inc @@ -0,0 +1,336 @@ +<?php + +/** + * \file Programmes.class.inc + * \class Programmes + * + * \author Fabien Marty <f.marty@urbalyon.org>. + * + * \brief This file contains the Programmes php class + * + * This class defines Rest Api to Vitis Programmes + * + */ +require_once __DIR__ . '/Suivi_prod_immo.class.inc'; +require_once 'Programme.class.inc'; + + +class Programmes extends Suivi_prod_immo { + /** + * @SWG\Definition( + * definition="/programmes", + * allOf={ + * @SWG\Schema(ref="#/definitions/programmes") + * } + * ) + * * @SWG\Tag( + * name="Programmes", + * description="Programmes about Programmes" + * ) + */ + + /** + * 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="/programmes", + * tags={"Programmes"}, + * summary="Get Programmes", + * description="Request to get Programmes", + * 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/programmes") + * ) + * ) + */ + + /** + * get Programmes + * @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; + } + $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; + } + + /** + * get commune of programme + */ + function getCommune($iId) { + if(isset($iId) and !is_null($iId)){ + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'prod_immo', 'type' => 'schema_name'); + $aParams['id_commune'] = array('value' => $iId, '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"]; + }else{ + return null; + } + } + + /** + * get ilot of programme + */ + function getIlot($iId) { + if(isset($iId) and !is_null($iId)){ + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'prod_immo', 'type' => 'schema_name'); + $aParams['id_ilot'] = array('value' => $iId, 'type' => 'number'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getIlot'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + return $aLigne["nom_ilot"]; + }else{ + return null; + } + } + + /** + * get operation of programme + */ + function getOperation($iId) { + if(isset($iId) and !is_null($iId)){ + require $this->sRessourcesFile; + $aParams['sSchemaFramework'] = array('value' => 'prod_immo', 'type' => 'schema_name'); + $aParams['id_ilot'] = array('value' => $iId, 'type' => 'number'); + $oPDOresult = $this->oConnection->oBd->executeWithParams($aSql['getOperationIlot'], $aParams); + $aLigne = $this->oConnection->oBd->ligneSuivante($oPDOresult); + $oPDOresult = $this->oConnection->oBd->fermeResultat(); + return $aLigne["nom_operation"]; + }else{ + return null; + } + } + + /** + * @SWG\Post(path="/programmes", + * tags={"Programmes"}, + * summary="Add traitement", + * description="Request to add Programmes", + * 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="traitement Response", + * @SWG\Schema(ref="#/definitions/programmes") + * ) + * ) + */ + + /** + * insert traitement + * @return id of the traitement created + */ + function POST() { + //$this->aValues['create'] = $_SESSION["ses_Login"]; + //$this->aValues['create_date'] = date('Y-m-d'); + $aReturn = $this->genericPost('prod_immo', 'programme_immobilier', 'prod_immo.programme_immobilier_id_programme_seq', 'id_programme'); + return $aReturn['sMessage']; + } + + /** + * @SWG\Put(path="/programmes/{id_programme}", + * tags={"Programmes"}, + * summary="update Programmes", + * description="Request to update Programmes", + * operationId="PUT", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="Traitement token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="id_programme", + * in="path", + * description="id of the Programmes", + * required=true, + * type="integer", + * format = "int32" + * ), + * @SWG\Response( + * response=200, + * description="Poprerties Response", + * @SWG\Schema(ref="#/definitions/programmes") + * ) + * ) + */ + + /** + * update programmes + * @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');*/ + $aReturn = $this->genericPut('prod_immo', 'programme_immobilier', 'id_programme'); + return $aReturn['sMessage']; + } + + /** + * @SWG\Delete(path="/programmes", + * tags={"Programmes"}, + * summary="delete Programmes", + * description="Request to delete Programmes", + * 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/programmes") + * ) + * ) + */ + /** + * @SWG\Delete(path="/programmes/{id_programme}", + * tags={"Programmes"}, + * summary="delete Programmes", + * description="Request to delete Programmes", + * operationId="DELETE", + * produces={"application/xml", "application/json"}, + * @SWG\Parameter( + * name="token", + * in="query", + * description="Traitement token", + * required=true, + * type="string" + * ), + * * @SWG\Parameter( + * name="id_programme", + * in="path", + * description="id of the Programmes", + * required=true, + * type="integer", + * format = "int32" + * ), + * @SWG\Response( + * response=200, + * description="Poprerties Response", + * @SWG\Schema(ref="#/definitions/programmes") + * ) + * ) + */ + + /** + * delete programmes + * @return id of programmes deleted or error object if a programmes is not deleted + */ + function DELETE() { + $aReturn = $this->genericDelete('prod_immo', 'programme_immobilier', 'id_programme'); + return $aReturn['sMessage']; + } + + +} + +?> \ No newline at end of file diff --git a/src/module_suivi_prod_immo/web_service/ws/Suivi_prod_immo.class.inc b/src/module_suivi_prod_immo/web_service/ws/Suivi_prod_immo.class.inc new file mode 100644 index 0000000000000000000000000000000000000000..ebb0186930029837b32f9dd91967c6f274d6d761 --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/Suivi_prod_immo.class.inc @@ -0,0 +1,13 @@ +<?php + +require_once __DIR__ . "/../../class/vitis_lib/DbClass.class.inc"; +require_once __DIR__ . '/../vitis/Vitis.class.inc'; +require_once 'vmlib/logUtil.inc'; + +class Suivi_prod_immo extends Vitis { + + //Chemin du fichier de ressources contenant les requêtes SQL + var $sRessourcesFile = 'ws/suivi_prod_immo/Suivi_prod_immo.class.sql.inc'; + +} +?> \ 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 new file mode 100644 index 0000000000000000000000000000000000000000..c7e40aae2e7aed3cb647eb3df1a9766548b5cf4c --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/Suivi_prod_immo.class.sql.inc @@ -0,0 +1,45 @@ +<?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]\''; +// Communes +$aSql['getOperationCommunes'] = "SELECT operation_commune.id_commune, \"commune\".nom_commune FROM [sSchemaFramework].operation_commune LEFT JOIN [sSchemaFramework].commune ON operation_commune.id_commune = \"commune\".id_commune WHERE operation_commune.id_operation = [id_operation]"; +$aSql['insertOperationCommunes'] = "INSERT INTO [sSchemaFramework].operation_commune(id_commune, id_operation) VALUES([id_commune], [id_operation])"; +// 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])"; +// 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])"; +// Commune +$aSql['getCommune'] = "SELECT \"commune\".id_commune, \"commune\".nom_commune FROM [sSchemaFramework].commune WHERE id_commune = [id_commune]"; +// Type opérateur +$aSql['getTypeOperateur'] = "SELECT \"tr_type_operateur\".code_type_operateur, \"tr_type_operateur\".type_operateur FROM [sSchemaFramework].tr_type_operateur WHERE code_type_operateur = [code_type_operateur]"; +// Mode consultation +$aSql['getModeConsultation'] = "SELECT \"tr_consultation\".code_consultation, \"tr_consultation\".consultation FROM [sSchemaFramework].tr_consultation WHERE code_consultation = [code_consultation]"; +// Opération / Ilot +$aSql['getOperationIlot'] = "SELECT nom_ilot, nom_operation FROM [sSchemaFramework].ilot INNER JOIN [sSchemaFramework].operation ON ilot.id_operation=operation.id_operation WHERE id_ilot=[id_ilot]"; +// Ilot +$aSql['getIlot'] = "SELECT nom_ilot FROM [sSchemaFramework].ilot WHERE id_ilot=[id_ilot]"; +// Perimetre projet urbain +$aSql['getPerimetre'] = "SELECT \"perimetre\".id_perimetre, \"perimetre\".nom_perimetre, \"perimetre\".type_perimetre FROM [sSchemaFramework].perimetre WHERE id_perimetre = [id_perimetre]"; +// Avancement +$aSql['getAvancement'] = "SELECT \"tr_avancement\".code_avancement, \"tr_avancement\".avancement FROM [sSchemaFramework].tr_avancement WHERE code_avancement = [code_avancement]"; +// Contexte urbain +$aSql['getContexteUrbain'] = "SELECT \"tr_contexte_urbain\".code_contexte_urbain, \"tr_contexte_urbain\".contexte_urbain FROM [sSchemaFramework].tr_contexte_urbain WHERE code_contexte_urbain = [code_contexte_urbain]"; +// Suivi de l'opération +$aSql['getSuivi'] = "SELECT \"tr_suivi\".code_suivi, \"tr_suivi\".suivi FROM [sSchemaFramework].tr_suivi WHERE code_suivi = [code_suivi]"; +// Procédure d'aménagement +$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]"; +// Répartition type logement DEPRECATED +// $aSql['getRepartitionTypeLogement'] = "SELECT type_logement, repartition FROM [sSchemaFramework].v_repartion_type_logement WHERE id_operation=[id_operation]"; +?> \ No newline at end of file diff --git a/src/module_suivi_prod_immo/web_service/ws/overview.phtml b/src/module_suivi_prod_immo/web_service/ws/overview.phtml new file mode 100644 index 0000000000000000000000000000000000000000..040892fd61361e36e14a610a7db8e0b98e2536bb --- /dev/null +++ b/src/module_suivi_prod_immo/web_service/ws/overview.phtml @@ -0,0 +1,24 @@ +<?php +/** + * @SWG\Swagger( + * basePath="/[service_alias]/suivi_prod_immo", + * host="[server]", + * schemes={"[protocol]"}, + * produces={ + * "application/json", + "application/xml", + "text/html" + * }, + * @SWG\Info( + * version="1.0.0", + * title="Suivi prod immo Test Rest", + * description="All fetaures to access server operation for suivi_prod_immo", + * ) + * ) + */ +?> + +<h1 class="titleOverview">Service Suivi prod immo</h1> +<p> + <a class="linkOverview" href="javascript:sService='suivi_prod_immo';LoadApi()">Suivi prod immo</a>: this is the most comprehensive service which should be used as a preference when developing applications communicating with Suivi prod immo. Those services allow you to administrate Suivi prod immo applications. +</p> \ No newline at end of file