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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 943 - (show 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 <?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 function dossier_message($id,&$db,$debug) {
11 $this->constructeur($id,$db,$debug);
12 }// fin constructeur
13
14 // {{{ 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 function setType(&$form,$maj) {
79 //type
80 parent::setType($form, $maj);
81
82 // seulement la modification du champ lu est possible en modification
83 if ($maj==1){ //modifier
84 $form->setType('dossier','hiddenstatic');
85 $form->setType('type','hiddenstatic');
86 $form->setType('emetteur','hiddenstatic');
87 $form->setType('date_emission','hiddenstatic');
88 $form->setType('lu','checkbox');
89 $form->setType('contenu','textareahiddenstatic');
90 }// fin modifier
91 }
92
93
94 /**
95 * Utilise dans la recherche avance pour remplir le select par
96 * le type du message
97 */
98 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 // import depuis de la BD les types des messages disponibles pour
107 // le dossier
108 $this->init_select($form, $db, $maj, $debug, "type",
109 $sql_messages_type, null, false);
110
111 }
112
113 }// fin classe
114 ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26