/[openfoncier]/trunk/obj/om_dbform.class.php
ViewVC logotype

Diff of /trunk/obj/om_dbform.class.php

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

revision 1548 by fmichon, Thu Mar 21 17:53:44 2013 UTC revision 1915 by fmichon, Mon May 27 14:48:03 2013 UTC
# Line 21  require_once "om_formulaire.class.php"; Line 21  require_once "om_formulaire.class.php";
21   *   *
22   */   */
23  class om_dbform extends dbForm {  class om_dbform extends dbForm {
24        
25      /**      /**
26       *       * Nom de la classe formulaire
27       */       */
28      var $om_formulaire = "om_formulaire";      var $om_formulaire = "om_formulaire";
29    
# Line 35  class om_dbform extends dbForm { Line 35  class om_dbform extends dbForm {
35       * @param boolean $DEBUG Mode debug (@deprecated)       * @param boolean $DEBUG Mode debug (@deprecated)
36       */       */
37      function constructeur($id, &$db, $DEBUG = false) {      function constructeur($id, &$db, $DEBUG = false) {
         if (defined('REST_REQUEST')) { // $this->REST  
             logger::instance()->display_log = false;  
         }  
38          //          //
39          if (isset($GLOBALS["f"])) {          if (isset($GLOBALS["f"])) {
40              $this->f = $GLOBALS["f"];              $this->f = $GLOBALS["f"];
41          }          }
         // Le framework REST est utilisee  
         $this->errors = array();  
           
42          // Affectation de l'identifiant de base de donnees dans l'attribut db          // Affectation de l'identifiant de base de donnees dans l'attribut db
43          // de l'objet          // de l'objet
44          $this->db = $db;          $this->db = $db;
# Line 178  class om_dbform extends dbForm { Line 172  class om_dbform extends dbForm {
172              // l'enregistrement n'existe pas encore donc il n'a pas              // l'enregistrement n'existe pas encore donc il n'a pas
173              // d'identifiant              // d'identifiant
174              $this->triggerajouter("", $db, $val, $DEBUG);              $this->triggerajouter("", $db, $val, $DEBUG);
175              // Execution de la requete d'insertion des donnees de l'attribut              //Traitement des fichiers uploadé
176              // valF de l'objet dans l'attribut table de l'objet              $retTraitementFichier = $this->traitementFichierUpload();
177              $res = $db->autoExecute(DB_PREFIXE.$this->table, $this->valF, DB_AUTOQUERY_INSERT);              if($retTraitementFichier === true) {
178              // Si une erreur survient                  // Execution de la requete d'insertion des donnees de l'attribut
179              if (database::isError($res, true)) {                  // valF de l'objet dans l'attribut table de l'objet
180                  // Appel de la methode de recuperation des erreurs                  $res = $db->autoExecute(DB_PREFIXE.$this->table, $this->valF, DB_AUTOQUERY_INSERT);
181                  $this->erreur_db($res->getDebugInfo(), $res->getMessage(), '');                  // Si une erreur survient
182                    if (database::isError($res, true)) {
183                        // Appel de la methode de recuperation des erreurs
184                        $this->erreur_db($res->getDebugInfo(), $res->getMessage(), '');
185                    } else {
186                        // Log
187                        $this->addToLog(_("Requete executee"), VERBOSE_MODE);
188                        // Log
189                        $message = _("Enregistrement")." ".$this->valF[$this->clePrimaire]." ";
190                        $message .= _("de la table")." \"".$this->table."\" ";
191                        $message .= "[ ".$db->affectedRows()." ";
192                        $message .= _("enregistrement(s) ajoute(s)")." ]";
193                        $this->addToLog($message, VERBOSE_MODE);
194                        // Message de validation
195                        $this->addToMessage(_("Vos modifications ont bien ete enregistrees.")."<br/>");
196                        // Mise en place du verrou pour ne pas valider plusieurs fois
197                        // le meme formulaire
198                        $this->verrouille();
199                        // Execution du trigger 'after' specifique au MODE 'insert'
200                        // Le premier parametre est vide car en MODE 'insert'
201                        // l'enregistrement n'existe pas encore donc il n'a pas
202                        // d'identifiant
203                        $this->triggerajouterapres("", $db, $val, $DEBUG);
204                    }
205              } else {              } else {
206                  // Log                  $this->correct = false;
207                  $this->addToLog(_("Requete executee"), VERBOSE_MODE);                  $this->addToMessage($retTraitementFichier);
208                  // Log                  $this->addToMessage(_("SAISIE NON ENREGISTREE"));
                 $message = _("Enregistrement")."&nbsp;".$this->valF[$this->clePrimaire]."&nbsp;";  
                 $message .= _("de la table")."&nbsp;\"".$this->table."\"&nbsp;";  
                 $message .= "[&nbsp;".$db->affectedRows()."&nbsp;";  
                 $message .= _("enregistrement(s) ajoute(s)")."&nbsp;]";  
                 $this->addToLog($message, VERBOSE_MODE);  
                 // Message de validation  
                 $this->addToMessage(_("Vos modifications ont bien ete enregistrees.")."<br/>");  
                 // Mise en place du verrou pour ne pas valider plusieurs fois  
                 // le meme formulaire  
                 $this->verrouille();  
                 // Execution du trigger 'after' specifique au MODE 'insert'  
                 // Le premier parametre est vide car en MODE 'insert'  
                 // l'enregistrement n'existe pas encore donc il n'a pas  
                 // d'identifiant  
                 $this->triggerajouterapres("", $db, $val, $DEBUG);  
209              }              }
210          } else {          } else {
211              // Message d'echec (saut d'une ligne supplementaire avant le              // Message d'echec (saut d'une ligne supplementaire avant le
# Line 242  class om_dbform extends dbForm { Line 244  class om_dbform extends dbForm {
244          if ($this->correct) {          if ($this->correct) {
245              // Execution du trigger 'before' specifique au MODE 'update'              // Execution du trigger 'before' specifique au MODE 'update'
246              $this->triggermodifier($id, $db, $val, $DEBUG);              $this->triggermodifier($id, $db, $val, $DEBUG);
247              // Execution de la requête de modification des donnees de l'attribut              //Traitement des fichiers uploadé
248              // valF de l'objet dans l'attribut table de l'objet              $retTraitementFichier = $this->traitementFichierUpload();
249              $res = $db->autoExecute(DB_PREFIXE.$this->table, $this->valF, DB_AUTOQUERY_UPDATE, $this->getCle($id));              if($retTraitementFichier === true) {
250              // Si une erreur survient                  // Execution de la requête de modification des donnees de l'attribut
251              if (database::isError($res, true)) {                  // valF de l'objet dans l'attribut table de l'objet
252                  // Appel de la methode de recuperation des erreurs                  $res = $db->autoExecute(DB_PREFIXE.$this->table, $this->valF, DB_AUTOQUERY_UPDATE, $this->getCle($id));
253                  $this->erreur_db($res->getDebugInfo(), $res->getMessage(), '');                  // Si une erreur survient
254              } else {                  if (database::isError($res, true)) {
255                  // Log                      // Appel de la methode de recuperation des erreurs
256                  $this->addToLog(_("Requete executee"), VERBOSE_MODE);                      $this->erreur_db($res->getDebugInfo(), $res->getMessage(), '');
                 // Log  
                 $message = _("Enregistrement")."&nbsp;".$id."&nbsp;";  
                 $message .= _("de la table")."&nbsp;\"".$this->table."\"&nbsp;";  
                 $message .= "[&nbsp;".$db->affectedRows()."&nbsp;";  
                 $message .= _("enregistrement(s) mis a jour")."&nbsp;]";  
                 $this->addToLog($message, VERBOSE_MODE);  
                 // Message de validation  
                 if ($db->affectedRows() == 0) {  
                     $this->addToMessage(_("Attention vous n'avez fait aucune modification.")."<br/>");  
257                  } else {                  } else {
258                      $this->addToMessage(_("Vos modifications ont bien ete enregistrees.")."<br/>");                      // Log
259                        $this->addToLog(_("Requete executee"), VERBOSE_MODE);
260                        // Log
261                        $message = _("Enregistrement")."&nbsp;".$id."&nbsp;";
262                        $message .= _("de la table")."&nbsp;\"".$this->table."\"&nbsp;";
263                        $message .= "[&nbsp;".$db->affectedRows()."&nbsp;";
264                        $message .= _("enregistrement(s) mis a jour")."&nbsp;]";
265                        $this->addToLog($message, VERBOSE_MODE);
266                        // Message de validation
267                        if ($db->affectedRows() == 0) {
268                            $this->addToMessage(_("Attention vous n'avez fait aucune modification.")."<br/>");
269                        } else {
270                            $this->addToMessage(_("Vos modifications ont bien ete enregistrees.")."<br/>");
271                        }
272                        // Mise en place du verrou pour ne pas valider plusieurs fois
273                        // le meme formulaire
274                        $this->verrouille();
275                        // Execution du trigger 'after' specifique au MODE 'update'
276                        $this->triggermodifierapres($id, $db, $val, $DEBUG);
277                  }                  }
278                  // Mise en place du verrou pour ne pas valider plusieurs fois              } else {
279                  // le meme formulaire                  $this->correct = false;
280                  $this->verrouille();                  $this->addToMessage($retTraitementFichier);
281                  // Execution du trigger 'after' specifique au MODE 'update'                  $this->addToMessage(_("SAISIE NON ENREGISTREE"));
                 $this->triggermodifierapres($id, $db, $val, $DEBUG);  
282              }              }
283          } else {          } else {
284              // Message d'echec (saut d'une ligne supplementaire avant le              // Message d'echec (saut d'une ligne supplementaire avant le
# Line 331  class om_dbform extends dbForm { Line 341  class om_dbform extends dbForm {
341                  $this->verrouille();                  $this->verrouille();
342                  // Execution du trigger 'after' specifique au MODE 'delete'                  // Execution du trigger 'after' specifique au MODE 'delete'
343                  $this->triggersupprimerapres($id, $db, $val, $DEBUG);                  $this->triggersupprimerapres($id, $db, $val, $DEBUG);
344                    //Traitement des fichiers uploadé
345                    $retTraitementFichier = $this->traitementFichierUpload();
346                    //
347                    if($retTraitementFichier !== true) {
348                        $this->correct = false;
349                        $this->addToMessage($retTraitementFichier);
350                        $this->addToMessage(_("SUPPRESSION NON EFFECTUEE"));
351                        die();
352                    }  
353              }              }
354          } else {          } else {
355              // Message d'echec (saut d'une ligne supplementaire avant le              // Message d'echec (saut d'une ligne supplementaire avant le
# Line 561  class om_dbform extends dbForm { Line 580  class om_dbform extends dbForm {
580          }          }
581      }      }
582    
   
     /**  
      *  
      */  
     function addToLog($message, $type = DEBUG_MODE) {  
         if (defined('REST_REQUEST')) { // dans le cas d'utilisation du REST  $this->REST  
             logger::instance()->log("REST request class ".get_class($this)." - ".$message, $type);  
         } else {  
             logger::instance()->log("class ".get_class($this)." - ".$message, $type);  
         }  
     }  
   
583      // }}}      // }}}
584            
585      /**      /**
      * Cette methode vide les valeurs des erreurs du tableau errors.  
      */  
     function clearErrors() {  
         foreach (array_keys($this->errors) as $key) {  
             $this->errors[$key] = '';  
         }  
     }  
   
     /**  
586       * Méthode pour convertir une date Y-m-d en d/m/Y       * Méthode pour convertir une date Y-m-d en d/m/Y
587       */       */
588      function dateDBToForm($date) {      function dateDBToForm($date) {
# Line 766  class om_dbform extends dbForm { Line 764  class om_dbform extends dbForm {
764    
765      }      }
766      // }}}      // }}}
767    
768        // {{{ GESTION DES METADONNEES
769    
770        /**
771         * Liste des métadonnées communes à l'ensemble des objets de l'application
772         */
773        var $metadata_global = array(
774            "code_produit" => "getCodeProduit",
775            "groupe" => "getGroupe",
776        );
777    
778        /**
779         * Retourne le code produit défini dans le paramétrage
780         * @return string code produit (OpenADS)
781         */
782        protected function getCodeProduit() {
783            return $this->f->getParameter("code_produit");
784        }
785    
786        /**
787         * Retourne le groupe des dossiers d'instruction géré par l'application
788         * @return string groupe (ADS)
789         */
790        protected function getGroupe() {
791            return $this->f->getParameter("groupe_instruction");
792        }
793    
794        // }}}
795    
796  }  }
797    
798  ?>  ?>

Legend:
Removed from v.1548  
changed lines
  Added in v.1915

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26