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

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

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

revision 675 by nhaye, Tue Nov 13 11:23:15 2012 UTC revision 936 by mlimic, Fri Nov 30 13:20:10 2012 UTC
# Line 2  Line 2 
2  //$Id$  //$Id$
3  //gen openMairie le 10/02/2011 20:32  //gen openMairie le 10/02/2011 20:32
4  require_once ("../gen/obj/consultation.class.php");  require_once ("../gen/obj/consultation.class.php");
5    require_once("../services/outgoing/messageenqueuer.php");
6    
7  class consultation extends consultation_gen {  class consultation extends consultation_gen {
8    
# Line 212  class consultation extends consultation_ Line 213  class consultation extends consultation_
213              }              }
214          }          }
215                    
216            // s'il s'agit de la consultation ERP Secu, ERP Accessibilite, ou
217            // deenvoie un
218            // message a ERP
219            $dossier_erp = $this->getFromDB("SELECT erp FROM ".DB_PREFIXE.
220                            "dossier WHERE dossier = '" .$this->valF['dossier'] . "'");
221            $dossier_nature = $this->getFromDB("SELECT nature FROM ".DB_PREFIXE.
222                            "dossier WHERE dossier = '" . $this->valF['dossier'] . "'");
223            print '$dossier_erp:'.$dossier_erp;
224            print 'param in db:'.$this->f->getParameter('erp_dossier_nature_pc').' ';
225            print 'dossier_nature:'.$dossier_nature;
226            if ($dossier_erp == 't'
227                && substr($dossier_nature, 0, 2) == $this->f->getParameter('erp_dossier_nature_pc')) {
228                // envoi du message "Demande d'instruction d'un dossier PC pour un ERP"
229                if (($this->valF['service'] == $this->f->getParameter('erp_service_accessibilite')
230                    || $this->valF['service'] == $this->f->getParameter('erp_service_securite'))) {
231                    $msgenque = new MessageEnqueuer();
232                    $msgenque->setDossierInstructionIdentifier($this->valF['dossier']);
233                    $msgenque->setConsultationIdentifier($this->valF['consultation']);
234                    $msgenque->enqueueMessage($msgenque::$ERP_DEMANDE_INSTRUCTION_PC);
235                }
236                
237                // envoi du message "Consultation ERP pour conformite" en cas de creation de la
238                // consultation du service ERP Conformite
239                if ($this->valF['service'] == $this->f->getParameter('erp_service_conformite')) {
240                    $msgenque = new MessageEnqueuer();
241                    $msgenque->setDossierInstructionIdentifier($this->valF['dossier']);
242                    $msgenque->setConsultationIdentifier($this->valF['consultation']);
243                    $msgenque->enqueueMessage($msgenque::$ERP_CONSULTATION_CONFORMITE);                
244                }
245            }
246            
247        }
248        
249        /**
250         * Fait une requette sql pour extraire la valeur d'un champ, et retourne
251         * cette valeur
252         * @param string $sql La requete sql a executer
253         * @return La valeur du champs cherche, sinon NULL. En cas d'erreur de la BD
254         * l'execution s'arrete.
255         */
256        function getFromDB($sql) {
257            //$sql = "SELECT libelle FROM ".DB_PREFIXE."dossier WHERE dossier = '" . $dossier . "'";
258            $res = $this->db->limitquery($sql, 0, 1);
259            $this->addToLog("getDossierERPSpecification(): db->limitquery(\"".
260                            str_replace(",",", ",$sql)."\", 0, 1);", VERBOSE_MODE);
261            // Si une erreur survient on die
262            if (database::isError($res, true)) {
263                // Appel de la methode de recuperation des erreurs
264                $this->erreur_db($res->getDebugInfo(), $res->getMessage(), 'instruction');
265            }
266            // retourne la nature du dossier
267            while ($row =& $res->fetchRow()) {
268                return $row[0];
269            }
270            // la nature n'etait pas trouve, ce qui ne devrait pas se passer
271            return NULL;
272    
273        }
274    
275        
276        /**
277         * Returne la nature du dossier auquel la consultation appartient.
278         * @param string $dossier L'identifiant du dossier
279         * @return La nature du dossier si elle existe, sinon NULL. En cas
280         * d'erreur de la BD, l'execution se termine.
281         */
282        function getDossierNature($dossier) {
283            $sql = "SELECT nature FROM ".DB_PREFIXE."dossier WHERE dossier = '" . $dossier . "'";
284            $res = $this->db->limitquery($sql, 0, 1);
285            $this->addToLog("getDossierNature(): db->limitquery(\"".str_replace(",",", ",$sql)."\", 0, 1);", VERBOSE_MODE);
286            // Si une erreur survient on die
287            if (database::isError($res, true)) {
288                // Appel de la methode de recuperation des erreurs
289                $this->erreur_db($res->getDebugInfo(), $res->getMessage(), 'dossier');
290            }
291            // retourne la nature du dossier
292            while ($row =& $res->fetchRow()) {
293                return $row[0];
294            }
295            // la nature n'etait pas trouve, ce qui ne devrait pas se passer
296            return NULL;
297      }      }
298    
299      // =============================================      // =============================================
# Line 321  class consultation extends consultation_ Line 403  class consultation extends consultation_
403          echo _("Retour");          echo _("Retour");
404          //          //
405          echo "</a>\n";          echo "</a>\n";
   
406      }      }
407            
408        /**
409         * Méthode de verification d'accèssibilité de la consultation
410         * à l'utilisateur connecté
411         */
412        function canAccess() {
413            parent::canAccess();
414            if($this->f->isUserServiceExt()) {
415                // On compare l'id du service de la consultation
416                // aux id des services de utilisateur connecté
417                foreach($this->f->om_utilisateur['service'] as $service) {
418                    if($this->val[array_search("service",$this->champs)]===$service['service']) {
419                        return true;
420                    }
421                }
422                return false;
423            } else{
424                return true;
425            }
426        }
427    
428        /**
429         * Surcharge du bouton retour pour popup
430         */
431            function retoursousformulaire($idxformulaire, $retourformulaire, $val,
432                                      $objsf, $premiersf, $tricolsf, $validation,
433                                      $idx, $maj, $retour) {
434            if($retourformulaire === "demande_avis_encours") {
435                echo "\n<a class=\"retour\" ";
436                echo "href=\"";
437                echo "#";
438                echo  "\" ";
439                echo ">";
440                //
441                echo _("Retour");
442                //
443                echo "</a>\n";
444            } else {
445                parent::retoursousformulaire($idxformulaire, $retourformulaire, $val,
446                                      $objsf, $premiersf, $tricolsf, $validation,
447                                      $idx, $maj, $retour);
448            }
449        }
450  }// fin classe  }// fin classe
451  ?>  ?>

Legend:
Removed from v.675  
changed lines
  Added in v.936

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26