]> git.llucax.com Git - mecon/samurai.git/blob - sistema/www/consultas/usuarios.php
Ahora sel-sistema solo muestra los sistemas a los cuales el usuario tiene acceso...
[mecon/samurai.git] / sistema / www / consultas / usuarios.php
1 <?php
2 // vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4 foldmethod=marker:
3 // +----------------------------------------------------------------------+
4 // | PHP Version 4                                                        |
5 // +----------------------------------------------------------------------+
6 // | Copyright (c) 1997-2003 The PHP Group                                |
7 // +----------------------------------------------------------------------+
8 // | This source file is subject to version 2.02 of the PHP license,      |
9 // | that is bundled with this package in the file LICENSE, and is        |
10 // | available at through the world-wide-web at                           |
11 // | http://www.php.net/license/2_02.txt.                                 |
12 // | If you did not receive a copy of the PHP license and are unable to   |
13 // | obtain it through the world-wide-web, please send a note to          |
14 // | license@php.net so we can mail you a copy immediately.               |
15 // +----------------------------------------------------------------------+
16 // | Created: jue oct  2 13:03:34 ART 2003
17 // | Author:  Martin Marrese <mmarre@mecon.gov.ar>
18 // +----------------------------------------------------------------------+
19 //
20 // $Id$
21 // 
22
23 //Require_once {{{
24     //PEAR{{{
25     require_once 'HTML/Table.php';
26     //}}}
27     //Mecon {{{
28     require_once 'MECON/HTML/Tabla.php';
29     require_once 'MECON/HTML/Image.php';
30     require_once 'MECON/HTML/Link.php';
31     require_once 'MECON/Usuario.php';
32     require_once 'MECON/Dependencia.php';
33     require_once 'MECON/HTML/QuickForm.php';
34     //}}}
35     //Samurai {{{
36     require_once 'SAMURAI/Sistema.php';
37     require_once 'SAMURAI/Usuario.php';
38     require_once 'SAMURAI/Perfil.php';
39     require_once 'SAMURAI/Permiso.php';
40     //}}}
41 //}}}
42
43 //Verifico si se tiene acceso a la pagina {{{
44     $SAMURAI_PERM->chequear(SAMURAI_PERM_DEVELOPER);
45 //}}}
46
47 //Obtengo la accion y el id del usuario {{{
48     $accion     = (@$_REQUEST['accion'])     ? $_REQUEST['accion']     : 'listado';
49     $subaccion  = (@$_REQUEST['subaccion'])  ? $_REQUEST['subaccion']  : null;
50     $login      = (@$_REQUEST['login'])      ? $_REQUEST['login']      : null; 
51     $filtro     = (@$_REQUEST['filtro'])     ? $_REQUEST['filtro']     : null; 
52     $id_sistema = (@$_REQUEST['id_sistema']) ? $_REQUEST['id_sistema'] : null; 
53     $id_perfil  = (@$_REQUEST['id_perfil'])  ? $_REQUEST['id_perfil']  : null; 
54 //}}}
55
56 //Creo la tabla volver {{{
57     $T_VOLVER     =& new HTML_Table('width="760"');
58     $IMG_VOLVER   =& new MECON_HTML_Image('/MECON/images/general_anterior.gif');
59     $LINK_VOLVER  =& new MECON_HTML_Link('', $IMG_VOLVER);
60 //}}}
61     
62 //Filtrar Usuarios {{{
63 if (@!$accion || $accion == 'filtrar') {
64     //Creo los objetos necesarios {{{
65         $FORM =& new MECON_HTML_QuickForm ('usuarios_filtrar','post','usuarios');
66         $T_USUARIOS = new MECON_HTML_Tabla ('width="400"');
67         $FORM->renderer->setTable($T_USUARIOS);
68     //}}}
69
70     //Agrego los elementos al form {{{
71         $FORM->addElement ('header', 'cabecera', 'Filtrar Usuarios');
72         $f_accion =& $FORM->addElement ('hidden', 'accion', 'listado');
73         $f_texto =& $FORM->addElement ('text', 'filtro', 'Login@Organismo', 
74                 array('size' => '20'));
75         $group[] = HTML_QuickForm::createElement('submit', 'filtrar', 'Filtrar');
76         $FORM->addGroup($group,'botones');
77     //}}}
78     
79     //Agrego la informacion al marco {{{
80         $LINK_VOLVER->setHref('consultas');
81         $MARCO->addBodyContent($FORM);
82         $MARCO->addTitle('Ver informacion de los usuarios');
83         $MARCO->addBodyContent('<BR>');
84         $T_VOLVER->addRow(array($LINK_VOLVER->toHtml()), 'align="left"');
85         $MARCO->addBodyContent($T_VOLVER);
86   //}}}
87 }
88 //}}}
89
90 //Listado de usuarios filtrados {{{
91 elseif ($accion == 'listado') {
92     //Creo los objetos necesarios {{{
93         $T_USUARIOS  =& new MECON_HTML_Tabla();
94         $IMG_SEL =& new MECON_HTML_Image('/MECON/images/general_ir4.gif');
95         $LINK_SEL =& new MECON_HTML_Link('usuarios', $IMG_SEL);
96     //}}}
97
98     //Filtro los usuarios {{{
99         $usu_res = MECON_Usuario::filtrarUsuarios($DB, $filtro, null);
100         while ($usu_res->fetchInto($row)){
101             $usu[$row['login']] = $row['nombre'];
102         }
103     //}}}
104
105     //Armo la tabla de Usuarios {{{
106         $T_USUARIOS->addRow(array('Listado de Usuarios'), 'colspan="4" cabecera
107                 align="left"');
108         $T_USUARIOS->addRow(array('Login', 'Nombre', 'Dependencia', 'Sel.'), 'titulo');
109         if (@count($usu)) {
110             foreach ($usu as $key => $value) {
111                 $u =& new MECON_Usuario(null, $key);
112                 //BUSCO EL NOMBRE DE LA DEPENDENCIA {{{
113                 $depen = MECON_Dependencia::buscarPorCodigo ($DB, $u->getCodep());
114                 while ($depen->fetchInto($row)){
115                     $dep = $row['nombre'];
116                 }
117                 //}}}
118                 $LINK_SEL->setGetVars(array('accion'=>'info_usuario', 'login'
119                             => $key));
120                 $T_USUARIOS->addRow(array($key, $value, $dep, $LINK_SEL->toHtml()));
121             }
122         }
123         else {
124             $T_USUARIOS->addRow(array('No se encontraron coincidencias.'),
125                     'colspan="4" align="left"');
126         }
127     //}}}
128
129     //Agrego la informacion al marco {{{
130         $LINK_VOLVER->setHref('usuarios');
131         $LINK_VOLVER->setGetVars(array('accion' => 'filtrar'));
132         $MARCO->addBodyContent($T_USUARIOS);
133         $MARCO->addTitle('Seleccionar Usuario');
134         $MARCO->addBodyContent('<BR>');
135         $T_VOLVER->addRow(array($LINK_VOLVER->toHtml()), 'align="left"');
136         $MARCO->addBodyContent($T_VOLVER);
137     //}}}
138 }
139 //}}}
140
141 //Informacion del usuario seleccionado {{{
142 elseif ($accion == 'info_usuario') {
143     //Creo los objetos necesarios {{{
144         $USUARIO =& new SAMURAI_Usuario($DB, $login);
145         $T_USUARIO =& new MECON_HTML_Tabla();
146         $T_SISTEMAS =& new MECON_HTML_Tabla();
147         $IMG_SEP =& new MECON_HTML_Image('../images/linea_separacion.gif');
148         $IMG_SEL =& new MECON_HTML_Image('/MECON/images/general_ir4.gif');
149         $LINK_SEL =& new MECON_HTML_Link('usuarios', $IMG_SEL);
150     //}}}
151
152     //Agrego la informacion a la tabla de usuario {{{
153         $T_USUARIO->addRow(array('Datos del Usuario'), 'colspan="3" cabecera
154                 align="left"');
155         $T_USUARIO->addRow(array('Login', 'Nombre', 'Dependencia'), 'titulo');
156         $u =& new MECON_Usuario(null, $login);
157         //BUSCO EL NOMBRE DE LA DEPENDENCIA {{{
158         $depen = MECON_Dependencia::buscarPorCodigo ($DB, $u->getCodep());
159         while ($depen->fetchInto($row)){
160             $dep = $row['nombre'];
161         }
162         //}}}
163         $T_USUARIO->addRow(array($login, $USUARIO->getNombre(),
164                     $dep));
165     //}}}
166     
167     //Obtengo la informacion de la base {{{
168         $informacion = $USUARIO->informacionGeneral();
169     //}}}
170
171     //Agrego la informacion de los sistemas {{{
172         $T_SISTEMAS->addRow(array('Sistemas en los que esta asociado el
173                     usuario'), 'colspan="4" cabecera align="left"');
174         $T_SISTEMAS->addRow(array('Id', 'Nombre', 'Descripcion', 'Perfiles'), 'titulo');
175         foreach ($informacion as $key => $value) {
176             $SISTEMA =& new SAMURAI_Sistema($DB, $key);
177             $LINK_SEL->setGetVars(array('accion' => 'info_usuario_sistema',
178                         'id_sistema'=>$key, 'login'=>$login));
179             $T_SISTEMAS->addRow(array(
180                                     $key,
181                                     $value['nombre_sistema'], 
182                                     $SISTEMA->getDescripcion(), 
183                                     $LINK_SEL->toHtml()
184                                 )
185                                );
186         }
187         $T_SISTEMAS->updateColAttributes(0, 'width="5%" align="center"');
188         $T_SISTEMAS->updateColAttributes(1, 'width="20%" align="center"');
189         $T_SISTEMAS->updateColAttributes(3, 'width="5%" align="center"');
190         $T_SISTEMAS->updateRowAttributes(0, 'align="left"');
191
192     //}}}
193     
194     //Agrego la informacion al marco {{{
195         $LINK_VOLVER->setHref('usuarios');
196         $LINK_VOLVER->setGetVars(array('accion' => 'filtrar'));
197         $MARCO->addBodyContent($T_USUARIO);
198         $MARCO->addBodyContent($IMG_SEP);
199         $MARCO->addBodyContent($T_SISTEMAS);
200         $MARCO->addTitle('Informacion Usuario');
201         $MARCO->addBodyContent('<BR>');
202         $T_VOLVER->addRow(array($LINK_VOLVER->toHtml()), 'align="left"');
203         $MARCO->addBodyContent($T_VOLVER);
204     //}}}
205 }
206 //}}}
207
208 //Informacion del usuario y sistema seleccionado {{{
209 elseif ($accion == 'info_usuario_sistema') {
210     //Creo los objetos necesarios {{{
211         $USUARIO =& new SAMURAI_Usuario($DB, $login);
212         $SISTEMA =& new SAMURAI_Sistema($DB, $id_sistema);
213         $T_USUARIO =& new MECON_HTML_Tabla();
214         $T_SISTEMA =& new MECON_HTML_Tabla();
215         $T_PERFILES =& new MECON_HTML_Tabla('width="400"');
216         $IMG_SEP =& new MECON_HTML_Image('../images/linea_separacion.gif');
217         $IMG_SEL =& new MECON_HTML_Image('/MECON/images/general_ir4.gif');
218         $LINK_SEL =& new MECON_HTML_Link('usuarios', $IMG_SEL);
219     //}}}
220
221     //Agrego la informacion a la tabla de usuario {{{
222         $T_USUARIO->addRow(array('Datos del Usuario'), 'colspan="3" cabecera
223                 align="left"');
224         $T_USUARIO->addRow(array('Login', 'Nombre', 'Dependencia'), 'titulo');
225         $u =& new MECON_Usuario(null, $login);
226         //BUSCO EL NOMBRE DE LA DEPENDENCIA {{{
227         $depen = MECON_Dependencia::buscarPorCodigo ($DB, $u->getCodep());
228         while ($depen->fetchInto($row)){
229             $dep = $row['nombre'];
230         }
231         //}}}
232         $T_USUARIO->addRow(array($login, $USUARIO->getNombre(),
233                     $dep));
234     //}}}
235    
236     //Agrego la informacion de la tabla sistema {{{
237         $T_SISTEMA->addRow(array('Datos del sistema'), 'colspan="3" cabecera align="left"');
238         $T_SISTEMA->addRow(array('Id', 'Nombre', 'Descripcion'), 'titulo');
239         $T_SISTEMA->addRow(array($id_sistema, $SISTEMA->getNombre(),
240                     $SISTEMA->getDescripcion()));
241         $T_SISTEMA->updateColAttributes(0, 'width="5%" align="center"');
242         $T_SISTEMA->updateColAttributes(1, 'width="20%" align="center"');
243         $T_SISTEMA->updateRowAttributes(0, 'align="left"');
244    //}}}
245         
246     //Obtengo la informacion de la base {{{
247         $informacion = $USUARIO->informacionGeneral();
248     //}}}
249     
250     //Agrego la informacion de los perfiles {{{
251         $T_PERFILES->addRow(array('Perfiles del usuario en este sistema'), 
252                 'colspan="3" cabecera align="left"');
253         $T_PERFILES->addRow(array('Id', 'Descripcion', 'Permisos'), 'titulo');
254         $informacion = $informacion[$id_sistema]['perfiles'];
255         foreach ($informacion as $key => $value) {
256             $PERFIL =& new SAMURAI_Perfil($DB, $key);
257             $LINK_SEL->setGetVars(array('accion' => 'info_usuario_sistema_perfil',
258                         'id_sistema'=>$id_sistema, 'login'=>$login,
259                         'id_perfil'=>$key));
260             $T_PERFILES->addRow(array(
261                                     $key,
262                                     $value['desc_perfil'], 
263                                     $LINK_SEL->toHtml()
264                                 )
265                                );
266         }
267         $T_PERFILES->updateColAttributes(0, 'width="5%" align="center"');
268         $T_PERFILES->updateColAttributes(2, 'width="5%" align="center"');
269         $T_PERFILES->updateRowAttributes(0, 'align="left"');
270
271     //}}}
272
273     //Agrego la informacion al marco {{{
274         $LINK_VOLVER->setHref('usuarios');
275         $LINK_VOLVER->setGetVars(array('accion' => 'info_usuario',
276                     'login' => $login));
277         $MARCO->addBodyContent($T_USUARIO);
278         $MARCO->addBodyContent($IMG_SEP);
279         $MARCO->addBodyContent($T_SISTEMA);
280         $MARCO->addBodyContent($IMG_SEP);
281         $MARCO->addBodyContent($T_PERFILES);
282         $MARCO->addTitle('Informacion Usuario');
283         $MARCO->addBodyContent('<BR>');
284         $T_VOLVER->addRow(array($LINK_VOLVER->toHtml()), 'align="left"');
285         $MARCO->addBodyContent($T_VOLVER);
286     //}}}
287 }
288 //}}}
289
290 //Informacion del usuario, sistema y perfli seleccionado {{{
291 elseif ($accion == 'info_usuario_sistema_perfil') {
292     //Creo los objetos necesarios {{{
293         $USUARIO =& new SAMURAI_Usuario($DB, $login);
294         $SISTEMA =& new SAMURAI_Sistema($DB, $id_sistema);
295         $PERFIL =& new SAMURAI_Perfil($DB, $id_perfil);
296         $T_USUARIO =& new MECON_HTML_Tabla();
297         $T_SISTEMA =& new MECON_HTML_Tabla();
298         $T_PERFIL =& new MECON_HTML_Tabla('width="400"');
299         $T_PERMISOS =& new MECON_HTML_Tabla('width="400"');
300         $IMG_SEP =& new MECON_HTML_Image('../images/linea_separacion.gif');
301         $IMG_SEL =& new MECON_HTML_Image('/MECON/images/general_ir4.gif');
302         $LINK_SEL =& new MECON_HTML_Link('usuarios', $IMG_SEL);
303     //}}}
304
305     //Agrego la informacion a la tabla de usuario {{{
306         $T_USUARIO->addRow(array('Datos del Usuario'), 'colspan="3" cabecera
307                 align="left"');
308         $T_USUARIO->addRow(array('Login', 'Nombre', 'Dependencia'), 'titulo');
309         $u =& new MECON_Usuario(null, $login);
310         //BUSCO EL NOMBRE DE LA DEPENDENCIA {{{
311         $depen = MECON_Dependencia::buscarPorCodigo ($DB, $u->getCodep());
312         while ($depen->fetchInto($row)){
313             $dep = $row['nombre'];
314         }
315         //}}}
316         $T_USUARIO->addRow(array($login, $USUARIO->getNombre(),
317                     $dep));
318     //}}}
319    
320     //Agrego la informacion de la tabla sistema {{{
321         $T_SISTEMA->addRow(array('Datos del sistema'), 'colspan="3" cabecera align="left"');
322         $T_SISTEMA->addRow(array('Id', 'Nombre', 'Descripcion'), 'titulo');
323         $T_SISTEMA->addRow(array($id_sistema, $SISTEMA->getNombre(),
324                     $SISTEMA->getDescripcion()));
325         $T_SISTEMA->updateColAttributes(0, 'width="5%" align="center"');
326         $T_SISTEMA->updateColAttributes(1, 'width="20%" align="center"');
327         $T_SISTEMA->updateRowAttributes(0, 'align="left"');
328    //}}}
329         
330     //Agrego la informacion de la tabla perfil {{{
331         $T_PERFIL->addRow(array('Datos del perfil'), 'colspan="2" cabecera align="left"');
332         $T_PERFIL->addRow(array('Id', 'Descripcion'), 'titulo');
333         $T_PERFIL->addRow(array($id_perfil, $PERFIL->getDescripcion()));
334         $T_PERFIL->updateColAttributes(0, 'width="5%" align="center"');
335         $T_PERFIL->updateRowAttributes(0, 'align="left"');
336    //}}}
337         
338     //Obtengo la informacion de la base {{{
339         $informacion = $USUARIO->informacionGeneral();
340     //}}}
341     
342     //Agrego la informacion de los permisos {{{
343         $T_PERMISOS->addRow(array('Permisos del usuario con este perfil'), 
344                 'colspan="3" cabecera align="left"');
345         $T_PERMISOS->addRow(array('Id', 'Descripcion', 'Observaciones'), 'titulo');
346         $informacion =
347             $informacion[$id_sistema]['perfiles'][$id_perfil]['permisos'];
348         foreach ($informacion as $key => $value) {
349             foreach ($value as $obs) {
350                 $T_PERMISOS->addRow(array(
351                                         $key,
352                                         $obs['desc_permiso'], 
353                                         $obs['observaciones']
354                                     )
355                                    );
356             }
357         }
358         $T_PERMISOS->updateColAttributes(0, 'width="5%" align="center"');
359         $T_PERMISOS->updateColAttributes(1, 'width="20%" align="center"');
360         $T_PERMISOS->updateRowAttributes(0, 'align="left"');
361
362     //}}}
363
364     //Agrego la informacion al marco {{{
365         $LINK_VOLVER->setHref('usuarios');
366         $LINK_VOLVER->setGetVars(array('accion' => 'info_usuario_sistema',
367                     'login' => $login, 'id_sistema'=>$id_sistema));
368         $MARCO->addBodyContent($T_USUARIO);
369         $MARCO->addBodyContent($IMG_SEP);
370         $MARCO->addBodyContent($T_SISTEMA);
371         $MARCO->addBodyContent($IMG_SEP);
372         $MARCO->addBodyContent($T_PERFIL);
373         $MARCO->addBodyContent($IMG_SEP);
374         $MARCO->addBodyContent($T_PERMISOS);
375         $MARCO->addTitle('Informacion Usuario');
376         $MARCO->addBodyContent('<BR>');
377         $T_VOLVER->addRow(array($LINK_VOLVER->toHtml()), 'align="left"');
378         $MARCO->addBodyContent($T_VOLVER);
379     //}}}
380 }
381 //}}}
382
383 //MUESTRO LA INFORMACION {{{
384     $MARCO->display();
385     exit;
386 //}}}
387
388 ?>