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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 943 - (hide annotations)
Fri Nov 30 15:25:27 2012 UTC (12 years, 2 months ago) by fmichon
File size: 3878 byte(s)
Gestion de la confidentialité par division

1 mlimic 709 <?php
2     //$Id$
3     //gen openMairie le 15/11/2012 18:30
4    
5     require_once ("../gen/obj/dossier_message.class.php");
6    
7     class dossier_message extends dossier_message_gen {
8    
9    
10 mlimic 732 function dossier_message($id,&$db,$debug) {
11 mlimic 709 $this->constructeur($id,$db,$debug);
12     }// fin constructeur
13    
14 fmichon 943 // {{{ Gestion de la confidentialité des données spécifiques
15    
16     /**
17     * Surcharge pour gérer les actions disponibles dans le portlet
18     */
19     function checkAccessibility() {
20     //
21     parent::checkAccessibility();
22     // Si l'utilisateur est un intructeur qui en correspond pas à la
23     // division du dossier
24     if ($this->f->isUserInstructeur()
25     && isset($this->f->om_utilisateur["division"])
26     && $this->f->om_utilisateur["division"] != $this->getDivisionFromDossier()) {
27     //
28     $this->actions_sup = array();
29     $this->setParameter("actions", array());
30     }
31     // Si une action 'lu' est présente et que le champ lu est à true
32     // on supprime l'action
33     if (isset($this->actions_sup["lu"])
34     && isset($this->val[array_search("lu", $this->champs)])
35     && $this->val[array_search("lu", $this->champs)]== "t") {
36     unset($this->actions_sup["lu"]);
37     }
38     }
39    
40     /**
41     * Cette methode est à surcharger elle permet de tester dans chaque classe
42     * des droits des droits spécifiques en fonction des données
43     */
44     function canAccess() {
45     // Si l'utilisateur est un intructeur qui ne correspond pas à la
46     // division du dossier
47     if ($this->f->isUserInstructeur()
48     && $this->f->om_utilisateur["division"] != $this->getDivisionFromDossier()
49     && $this->getParameter("maj") != 3) {
50     //
51     return false;
52     }
53     //
54     return true;
55     }
56    
57     /**
58     * Cette méthode permet de récupérer la division d'un dossier
59     */
60     function getDivisionFromDossier() {
61     //
62     if (!isset($this->val[array_search("dossier", $this->champs)])) {
63     return NULL;
64     }
65     //
66     $sql = "select division from ".DB_PREFIXE."dossier ";
67     $sql .= " where dossier='".$this->val[array_search("dossier", $this->champs)]."'";
68     //
69     $division = $this->db->getOne($sql);
70     $this->addToLog("getDivisionFromDossier(): db->getone(\"".$sql."\")", VERBOSE_MODE);
71     database::isError($division);
72     //
73     return $division;
74     }
75    
76     // }}}
77    
78 mlimic 709 function setType(&$form,$maj) {
79     //type
80     parent::setType($form, $maj);
81    
82 mlimic 891 // seulement la modification du champ lu est possible en modification
83 mlimic 709 if ($maj==1){ //modifier
84     $form->setType('dossier','hiddenstatic');
85     $form->setType('type','hiddenstatic');
86     $form->setType('emetteur','hiddenstatic');
87 mlimic 891 $form->setType('date_emission','hiddenstatic');
88 mlimic 709 $form->setType('lu','checkbox');
89 mlimic 891 $form->setType('contenu','textareahiddenstatic');
90 mlimic 709 }// fin modifier
91     }
92    
93 mlimic 891
94     /**
95     * Utilise dans la recherche avance pour remplir le select par
96     * le type du message
97     */
98 mlimic 709 function setSelect(&$form, $maj,&$db,$debug) {
99     parent::setSelect($form, $maj,$db,$debug);
100    
101     if(file_exists ("../sql/".$db->phptype."/".$this->table.".form.inc.php"))
102     include ("../sql/".$db->phptype."/".$this->table.".form.inc.php");
103     elseif(file_exists ("../sql/".$db->phptype."/".$this->table.".form.inc"))
104     include ("../sql/".$db->phptype."/".$this->table.".form.inc");
105    
106 mlimic 891 // import depuis de la BD les types des messages disponibles pour
107     // le dossier
108 mlimic 709 $this->init_select($form, $db, $maj, $debug, "type",
109     $sql_messages_type, null, false);
110    
111     }
112 fmichon 943
113 mlimic 709 }// fin classe
114     ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26