/[openfoncier]/trunk/services/metier/messagesmanager.php
ViewVC logotype

Diff of /trunk/services/metier/messagesmanager.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 752 by fmichon, Mon Nov 19 14:42:23 2012 UTC revision 757 by mlimic, Mon Nov 19 17:10:59 2012 UTC
# Line 20  include_once('../obj/dossier_message.cla Line 20  include_once('../obj/dossier_message.cla
20   * @todo XXX Traduire et commenter toutes les méthodes   * @todo XXX Traduire et commenter toutes les méthodes
21   */   */
22  class MessagesManager extends MetierManager {  class MessagesManager extends MetierManager {
23        
24      /**      /**#@+
25       *       * @access static
26         * @var string
27       */       */
28      var $TYPE_COMPLETUDE_ACC = 'Mise à jour de complétude ERP ACC';      var $TYPE_COMPLETUDE_ACC = 'Mise à jour de complétude ERP ACC';
29      var $TYPE_COMPLETUDE_SECU = 'Mise à jour de complétude ERP SECU';      var $TYPE_COMPLETUDE_SECU = 'Mise à jour de complétude ERP SECU';
30      var $TYPE_QUALIFICATION_ERP = 'Mise à jour de qualification';      var $TYPE_QUALIFICATION_ERP = 'Mise à jour de qualification';
31      var $TYPE_DOSSIER_ENJEUX = 'Dossier à enjeux ERP';      var $TYPE_DOSSIER_ENJEUX = 'Dossier à enjeux ERP';
32        /**#@-*/
33        
34    
35      /**      /**
36       * Constructeur       * Constructeur
37       *       *
38         * Fait appel au constructeur de son parent.
39       * @todo XXX Ajouter la description des attributs       * @todo XXX Ajouter la description des attributs
40       */       */
41      public function __construct() {      public function __construct() {
# Line 39  class MessagesManager extends MetierMana Line 43  class MessagesManager extends MetierMana
43          // Appel du constructeur parent          // Appel du constructeur parent
44          parent::__construct();          parent::__construct();
45    
         //  
         $this->table = 'messages';  
   
46      }      }
47    
48        
49      /**      /**
50       * Destructeur       * Destructeur
51         *
52         * Fait appel au destructeur de son parent.
53       */       */
54      public function __destruct() {      public function __destruct() {
55    
# Line 54  class MessagesManager extends MetierMana Line 58  class MessagesManager extends MetierMana
58    
59      }      }
60    
61        
62        
63      /**      /**
64         * Utilise par plusieurs fonctions pour faire le traitement generique
65         * d'une demande arrive par REST
66         * @param mixed $data Le tableau contenant des donnees arrivees par le
67         * service REST.
68         * @param string $type Le type du message
69         * @param mixed $contenu_val_verif Le tableau associatif. Les clefs sont
70         * des clefs qui peuvent etre trouvees dans le tableau $data. Les valeurs
71         * sont des valeurs qui peuvent etre trouvees comme les valeurs dans le
72         * tableau $data.
73         * @return En cas de success on retourne 'OK'. Si les donnees sont
74         * erronees, on retourne 'BAD_DATA'. En cas d'echec on retourne 'KO'.
75       *       *
76       */       */
77      private function generic(&$data, $type, $contenu_strs) {      public function generic(&$data, $type, $contenu_val_verif) {
78          // check that the type of the message is good          // check that the type of the message is good
79          if ($data['type'] != $type) {          if ($data['type'] != $type) {
80              $this->setMessage('Le type de message n\'est pas correct.');              $this->setMessage('Le type de message n\'est pas correct.');
# Line 66  class MessagesManager extends MetierMana Line 83  class MessagesManager extends MetierMana
83                    
84          // verification que le dossier existe dans la BD          // verification que le dossier existe dans la BD
85          $sql = "SELECT dossier FROM ".DB_PREFIXE."dossier";          $sql = "SELECT dossier FROM ".DB_PREFIXE."dossier";
86            logger::instance()->log("REST request class ".get_class($this).
87                                    " - : db->query(.".$sql.")");
88          $res = $this->db->query($sql);          $res = $this->db->query($sql);
89          if ($this->checkDBError($res, 'Erreur lors de recuperation des dossiers')) {          if ($this->checkDBError($res, 'Erreur lors de recuperation des dossiers')) {
90                logger::instance()->log("REST request class ".
91                            get_class($this)." - ".$this->getMessage(), $type);
92              return $this->KO;              return $this->KO;
93          }          }
94    
# Line 77  class MessagesManager extends MetierMana Line 98  class MessagesManager extends MetierMana
98          }          }
99          $res->free();          $res->free();
100                    
101          // check that the decision received corresponds to a decision in DB          // verification que la decision recu dans le message est une des
102            // decisions acceptables (c'est a dire que elle existe dans la BD)
103          if (!in_array($data['dossier_instruction'], array_keys($this->dossiers))) {          if (!in_array($data['dossier_instruction'], array_keys($this->dossiers))) {
104              $this->setMessage("Le dossier spécifié dans le message n'existe pas");              $this->setMessage("Le dossier spécifié dans le message n'existe pas");
105              return $this->KO;              return $this->KO;
106          }          }
107                    
108          // create the object to hold the data to be stored in DB          // creation d'objet qui sera utilise pour sauvegarder les
109            // donnees dans la BD
110          $this->metier_instance = new dossier_message("]", $this->db, 0);          $this->metier_instance = new dossier_message("]", $this->db, 0);
111                    
112          // check that the date is correct          // verifier que la date est correcte
113          $date_db = null;          $date_db = null;
114          if (!$this->timestampValid($data['date'], $date_db, true)) {          if (!$this->timestampValid($data['date'], $date_db, true)) {
115              $this->setMessage('Le date n\'est pas correct.');              $this->setMessage('Le date n\'est pas correct.');
116              return $this->BAD_DATA;              return $this->BAD_DATA;
117          }          }
118    
119          // check that the contenu contains all elements and prepare the          // verifie que le contenu contient tous les elements et prepare l'insertion
120          // contenu          // du contenu dans la BD
121          $contenu = '';          $contenu = '';
122          $valid_contenu = true;          $valid_contenu = true;
123          foreach ($contenu_strs as $contenu_str => $possible_vals) {          foreach ($contenu_val_verif as $contenu_str => $possible_vals) {
124              $value = $data['contenu'][$contenu_str];              $value = $data['contenu'][$contenu_str];
125              if (empty($value)) {              if (empty($value)) {
126                  $valid_contenu = false;                  $valid_contenu = false;
# Line 108  class MessagesManager extends MetierMana Line 131  class MessagesManager extends MetierMana
131                  break;                  break;
132              }              }
133              $contenu .= $contenu_str.' : '.$value.'              $contenu .= $contenu_str.' : '.$value.'
134  '; // il faut que cette ligne soit comme ca pour que le \n est ajoute a la fin the $contenu  '; // il faut que cette ligne soit comme ca pour que le \n soit ajoute a la fin the $contenu
135          }          }
136          if ($valid_contenu === false) {          if ($valid_contenu === false) {
137              $this->setMessage('Le contenu du message n\'est pas correct.');              $this->setMessage('Le contenu du message n\'est pas correct.');
138              return $this->BAD_DATA;              return $this->BAD_DATA;
139          }          }
140                    
141          // do some data overwrite and duplication so that the array          // ecrasement de contenu avec le contenu formate et duplication des
142          // contains the keys searched for          // quelques valeurs parce que les valeurs dans setvalF sont cherches
143            // par les clefs predefinies
144          $data['contenu'] = $contenu;          $data['contenu'] = $contenu;
145          $data['dossier'] = $data['dossier_instruction'];          $data['dossier'] = $data['dossier_instruction'];
146          $data['date_emission'] = $date_db; // the date          $data['date_emission'] = $date_db; // le timestamp en format accepte par la BD
147    
148          return $this->OK;          return $this->OK;
149      }      }
150    
151            
152      /**      /**
153       * Called when ERP wants to indicate if the dossier d'instruction       * Appelle quand ERP voudrait indiquer que le dossier d'instruction est complet
154       * is complete with respect to services for handicapped persons.       * a propos des Accessibilite pour des Hendicapes.
155       *       *
156       * @param mixed $data The data received in the request.       * @param mixed $data Les donnees recus par une demande arrive par REST.
157       * @return string 'OK'.       * @return string En cas de success on retourne 'OK' sur success, et on retourne
158         * 'KO' autrement.
159       */       */
160      public function completude_dossier_ACC($data) {      public function completude_dossier_ACC($data) {
161                    
# Line 150  class MessagesManager extends MetierMana Line 175  class MessagesManager extends MetierMana
175            
176            
177      /**      /**
178       * Called when ERP wants to indicate if the dossier d'instruction       * Appelle quand ERP voudrait indiquer que le dossier d'instruction est complet
179       * is complete with respect to security (e.g. fire) regulations.       * a propos des securite.
180       *       *
181       * @param mixed $data The data received in the request.       * @param mixed $data Les donnees recus par une demande arrive par REST.
182       * @return string 'OK'.       * @return string En cas de success on retourne 'OK' sur success, et on retourne
183         * 'KO' autrement.
184       */           */    
185      public function completude_dossier_SECU($data) {      public function completude_dossier_SECU($data) {
186    
# Line 174  class MessagesManager extends MetierMana Line 200  class MessagesManager extends MetierMana
200            
201            
202      /**      /**
203       * Called when ERP wants to indicate if the dossier d'instruction       * Appelle quand ERP voudrait qualifier un dossier d'instruction.
      * is an ERP dossier or not.  
204       *       *
205       * @param mixed $data The data received in the request.       * @param mixed $data Les donnees recus par une demande arrive par REST.
206       * @return string 'OK'.       * @return string En cas de success on retourne 'OK' sur success, et on retourne
207         * 'KO' autrement.
208       */               */        
209      public function qualification_dossier($data) {      public function qualification_dossier($data) {
210          $key_val_pairs = array('Confirmation ERP' => array('oui', 'non'),          $key_val_pairs = array('Confirmation ERP' => array('oui', 'non'),
# Line 198  class MessagesManager extends MetierMana Line 224  class MessagesManager extends MetierMana
224            
225    
226      /**      /**
227       * Called when ERP wants to indicate if the dossier d'instruction       * Appelle quand ERP voudrait qualifier un dossier d'instruction comme
228       * is important, i.e. dossier a enjeux.       * un dossier a enjeux.
229       *       *
230       * @param mixed $data The data received in the request.       * @param mixed $data Les donnees recus par une demande arrive par REST.
231       * @return string 'OK'.       * @return string En cas de success on retourne 'OK' sur success, et on retourne
232         * 'KO' autrement.
233       */           */    
234      public function dossier_enjeux($data) {      public function dossier_enjeux($data) {
235          $key_val_pairs = array('Dossier à enjeux ERP' => array('oui', 'non'));          $key_val_pairs = array('Dossier à enjeux ERP' => array('oui', 'non'));

Legend:
Removed from v.752  
changed lines
  Added in v.757

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26