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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 532 - (hide annotations)
Tue Oct 23 10:43:49 2012 UTC (12 years, 3 months ago) by nhaye
File size: 6898 byte(s)
Modification de la méthode d'envoi de mail.
Agrandissement du champ valeur de la table om_parametre + régénération
Envoi de notification lors de l'ajout de consultation

1 fraynaud 3 <?php
2     //$Id$
3     //gen openMairie le 10/02/2011 20:32
4     require_once ("../gen/obj/consultation.class.php");
5    
6     class consultation extends consultation_gen {
7 vpihour 497 var $maj;
8 fraynaud 20 function consultation($id,&$db,$debug) {
9     $this->constructeur($id,$db,$debug);
10     }// fin constructeur
11    
12     function setValsousformulaire(&$form,$maj,$validation,$idxformulaire,$retourformulaire,$typeformulaire){
13     if ($validation==0) {
14     if ($maj == 0){
15 vpihour 497 $form->setVal("dossier", $idxformulaire);
16     $form->setVal("date_envoi",date('d/m/Y'));
17 fraynaud 20 }
18 vpihour 497 else
19     if ( $maj == 1 )
20     $form->setVal("date_retour",date('d/m/Y'));
21 fraynaud 20 }
22     }
23    
24     function setType(&$form,$maj) {
25 nhaye 459 parent::setType($form,$maj);
26 fraynaud 20 if ($maj < 2) { //ajouter et modifier [add and modify]
27     if($maj==0){ // add
28     $form->setType('date_envoi', 'date2');
29     $form->setType('service', 'select');
30     $form->setType('date_limite', 'hidden');
31     $form->setType('date_retour', 'hidden');
32 vpihour 497 $form->setType('avis_consultation', 'hidden');
33     $form->setType('motivation', 'hidden');
34     $form->setType('fichier', 'hidden');
35     $form->setType('lu', 'hidden');
36     $form->setType('date_reception', 'hidden');
37 fraynaud 20 }else{ // modify
38     $form->setType('date_envoi', 'hiddenstaticdate');
39 vpihour 497 $form->setType('date_limite', 'hiddenstaticdate');
40 nhaye 509 $form->setType('service', 'selecthiddenstatic');
41 fraynaud 20 $form->setType('date_retour', 'date2');
42 vpihour 497 $form->setType('avis_consultation', 'select');
43     $form->setType('motivation', 'textarea');
44     $form->setType('fichier', 'upload');
45 fraynaud 20 }
46     $form->setType('dossier', 'hiddenstatic');
47     }
48 vpihour 507 $form->setType('consultation', 'hidden');
49 nhaye 509
50     $form->setType('consultation', 'hidden');
51 fraynaud 20 }
52    
53     // TRIGGER AVANT MODIFICATION DE DONNEES
54     // trigger before modification data
55     function triggerajouter($id,&$db,$val,$DEBUG) {
56     // mise a jour instruction avec evenement [return delay]
57 nhaye 532 if ($this->valF['date_envoi']!=""){
58 fraynaud 242 $sql= "select delai from ".DB_PREFIXE."service where service ='".$this->valF['service']."'";
59 fraynaud 41 $delai = $db->getOne($sql);
60     $this->valF['date_limite'] = $this->moisdate($this->valF['date_envoi'],$delai);
61 nhaye 532 $this->addToMessage(_("delai")." ".
62 fraynaud 41 _("retour")." ".$delai." "._("mois")." -> ".
63 nhaye 532 _("retour")." ".$this->valF['date_limite']."<br>");
64     $this->valF['lu'] = true;
65 fraynaud 41 }
66 nhaye 532
67 fraynaud 20 }
68 nhaye 532
69     function triggerajouterapres($id,&$db,$val,$DEBUG) {
70    
71     // Verification de la demande de notif par mail
72     $sql= "SELECT abrege, notification_email, email FROM ".DB_PREFIXE.
73     "service WHERE service ='".$this->valF['service']."'";
74     $res=$db->query($sql);
75     $notif = $res->fetchrow(DB_FETCHMODE_ASSOC);
76     if (database :: isError($sql))die($res->getMessage()."erreur ".$sql);
77     if ($notif['notification_email']=='t') {
78    
79     // Recuperation des infos du dossier
80     $sql= "SELECT dossier, terrain_adresse, terrain_adresse_complement, terrain_cp, terrain_ville
81     FROM ".DB_PREFIXE."dossier WHERE dossier ='".$this->valF['dossier']."'";
82     $res=$db->query($sql);
83     $dossier = $res->fetchrow(DB_FETCHMODE_ASSOC);
84    
85     // Definition des parametres d'envoi du mail
86     $title=_("Consultation de services : dossier no")." ".$dossier['dossier'];
87     $corps=_("Votre service est consulte concernant le dossier no")." ".$dossier['dossier']."<br/>".
88     _("Il concerne le terrain situe a l'adresse :")." ".utf8_decode($dossier['terrain_adresse']).
89     " ".utf8_decode($dossier['terrain_adresse_complement'])." ".utf8_decode($dossier['terrain_cp'])." ".$dossier['terrain_ville']."<br/>".
90     _("Vous pouvez y acceder et rendre votre avis à l'adresse")." <a href='".$this->f->getParameter('lien_interne_vdm').
91     "scr/form.php?obj=consultation&action=3&idx=".$this->valF['consultation']."' >".
92     _("Lien interne (services VDM)")."</a> "._("ou")." <a href='".$this->f->getParameter('lien_externe').
93     "scr/form.php?obj=consultation&action=3&idx=".$this->valF['consultation']."' >".
94     _("Lien externe (hors VDM)")."</a>";
95     // Envoi du mail avec message de retour
96     if($this->f->sendMail($title, $corps, $notif['email'])) {
97     $this->addToMessage(_("Envoi d'un mail de notification au service")." ".$notif['abrege']);
98     } else {
99     $this->addToMessage(_("L'envoi du mail de notification a echoue"));
100     }
101     }
102    
103     }
104 fraynaud 20
105     // =============================================
106     // calcul de date avec ajout de mois (delais)
107     // [add months (delay) and calculation final date]
108     // limite ? => voir fonction instruction
109     // =============================================
110     function moisdate($date,$delaimois) {
111     // rajout de mois à une date (moins de 12)
112     $temp = explode("-" , $date);
113     $jour = (int) $temp[2];
114     $mois = (int) $temp[1];
115     $annee = (int) $temp[0];
116     $mois=$mois+$delaimois;
117     // calcul mois annee
118     if($mois>12){
119     $mois=$mois-12;
120     $annee=$annee+1;
121     }
122     // Calcul du nombre de jours dans le mois sélectionné
123     switch($mois) {
124     case "2":
125     if ($annee % 4 == 0 && $annee % 100 != 0 || $annee % 400 == 0)
126     $jourmax = 29;
127     else
128     $jourmax = 28;
129     break;
130     case "4":
131     case "6":
132     case "9":
133     case "11":
134     $jourmax = 30;
135     break;
136     default:
137     $jourmax = 31;
138     }
139     if ($jour > $jourmax)
140     $jour = $jourmax;
141     return $annee."-".$mois."-".$jour ;
142     }
143 vpihour 497
144     // =============================================
145     // Ajout du fielset
146     // Add fieldset
147     // =============================================
148     function setLayout(&$form, $maj){
149 nhaye 509 if ( $maj < 2 OR $maj == 3 ) {
150 vpihour 497 //Champs sur lequel s'ouvre le fieldset
151     $form->setBloc('dossier','D',"");
152     $form->setFieldset('dossier','D',_('Consultation'));
153 vpihour 494
154 vpihour 497 //Champs sur lequel se ferme le fieldset
155     $form->setFieldset('date_envoi','F','');
156     $form->setBloc('date_envoi','F');
157 nhaye 509 if ( $maj == 1 OR $maj == 3 ){
158 vpihour 497 //Champs sur lequel s'ouvre le fieldset
159     $form->setBloc('date_reception','D',"");
160     $form->setFieldset('date_reception','D',_('Retour d\'avis'));
161    
162     //Champs sur lequel se ferme le fieldset
163     $form->setFieldset('lu','F','');
164     $form->setBloc('lu','F');
165 vpihour 494 }
166     }
167 vpihour 497
168 vpihour 494 }
169    
170 fraynaud 3 }// fin classe
171 nhaye 509 ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26