-{\f124\froman\fcharset238\fprq2 Times New Roman CE;}{\f125\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f127\froman\fcharset161\fprq2 Times New Roman Greek;}{\f128\froman\fcharset162\fprq2 Times New Roman Tur;}\r
-{\f129\froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f130\froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f131\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f140\fmodern\fcharset238\fprq1 Courier New CE;}\r
-{\f141\fmodern\fcharset204\fprq1 Courier New Cyr;}{\f143\fmodern\fcharset161\fprq1 Courier New Greek;}{\f144\fmodern\fcharset162\fprq1 Courier New Tur;}{\f145\fmodern\fcharset177\fprq1 Courier New (Hebrew);}\r
-{\f146\fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f147\fmodern\fcharset186\fprq1 Courier New Baltic;}{\f348\fswiss\fcharset238\fprq2 Verdana CE;}{\f349\fswiss\fcharset204\fprq2 Verdana Cyr;}{\f351\fswiss\fcharset161\fprq2 Verdana Greek;}\r
+{\f33\froman\fcharset238\fprq2 Times New Roman CE;}{\f34\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f36\froman\fcharset161\fprq2 Times New Roman Greek;}{\f37\froman\fcharset162\fprq2 Times New Roman Tur;}\r
+{\f38\froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f39\froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f40\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f49\fmodern\fcharset238\fprq1 Courier New CE;}\r
+{\f50\fmodern\fcharset204\fprq1 Courier New Cyr;}{\f52\fmodern\fcharset161\fprq1 Courier New Greek;}{\f53\fmodern\fcharset162\fprq1 Courier New Tur;}{\f54\fmodern\fcharset177\fprq1 Courier New (Hebrew);}\r
+{\f55\fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f56\fmodern\fcharset186\fprq1 Courier New Baltic;}{\f257\fswiss\fcharset238\fprq2 Verdana CE;}{\f258\fswiss\fcharset204\fprq2 Verdana Cyr;}{\f260\fswiss\fcharset161\fprq2 Verdana Greek;}\r
\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li6480\jclisttab\tx6480 }{\listname ;}\listid1648389061}}{\*\listoverridetable{\listoverride\listid1648389061\listoverridecount0\ls1}}{\info{\title ADMINISTRACI\'d3N DE USUARIOS}\r
-{\author Dir. Gral. de Inform\'e1tica}{\operator Dir. Gral. de Inform\'e1tica}{\creatim\yr2003\mo3\dy6\hr19\min20}{\revtim\yr2003\mo3\dy24\hr12\min37}{\printim\yr2003\mo2\dy6\hr11\min4}{\version15}{\edmins21}{\nofpages7}{\nofwords513}{\nofchars2927}\r
-{\*\company Ministerio de Econom\'eda}{\nofcharsws0}{\vern8249}}\paperw11907\paperh16840\margl1134\margr1134\margt1134\margb1134 \r
+{\author Dir. Gral. de Inform\'e1tica}{\operator Dir. Gral. de Inform\'e1tica}{\creatim\yr2003\mo3\dy6\hr19\min20}{\revtim\yr2003\mo6\dy6\hr13\min33}{\printim\yr2003\mo2\dy6\hr11\min4}{\version18}{\edmins32}{\nofpages8}{\nofwords1101}{\nofchars6280}\r
+{\*\company Ministerio de Econom\'eda}{\nofcharsws7712}{\vern8249}}\paperw11907\paperh16840\margl1134\margr1134\margt1134\margb1134 \r
@@ -603,8+604,8 @@ ticamente a partir de los usuarios que se loguean en Intranet.
\par El atributo }{\i fecha}{ contiene el momento del \'faltimo logueo del usuario a Intranet. (cada login reemplaza al anterior)\r
\par De esta forma, la descentralizaci\'f3n de la asignaci\'f3n de permisos, permite que el usuario administrador de un determinado sistema asigne permisos a nuevos usuarios sin necesidad de conocer otra dato m\'e1\r
s que el login del usuario. (el resto de los datos son obtenidos de la entidad }{\i USUARIO}{, previamente cargada)\r
-\par }\pard\plain \s17\qj \li708\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin708\itap0 \f28\fs20\lang3082\langfe3082\cgrid\langnp3082\langfenp3082 {Obviamente esto im\r
-plica que los usuarios a los que se le asignen permisos deben haberse logueado previamente en Intranet.\r
\par El atributo }{\i fecha }{de la entidad }{\i USUARIO}{ es necesario porque, peri\'f3dicamente, la entidad es depurada, eliminando todos aquellos usuarios que no tengan ning\'fa\r
n permiso asignado y que no se hayan logueado a Intranet desde un determinado tiempo (por ejemplo, un mes).\r
@@ -617,8+618,8 @@ digo de dependencia deseado, permitiendo que un mismo usuario pueda ver las band
\par {\listtext\pard\plain\fs20 \hich\af0\dbch\af0\loch\f0 -\tab}}\pard \qj \fi-360\li720\ri0\widctlpar\jclisttab\tx720\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0 {Los datos del personal de la Ex \endash Coordinaci\'f3n \'c1\r
rea Desarrollo y Mantenimiento involucrado en el desarrollo de cada uno de los sistemas, forman parte de la entidad }{\i USUARIO,}{ relacionada al sistema correspondiente mediante la asignaci\'f3n de un perfil, identificando el rol que desempe\'f1\'f3\r
la persona (ejs.: programador, dise\'f1ador gr\'e1fico, analista de sistemas, etc.).\r
-\par }\pard \qj \li708\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin708\itap0 {El atributo }{\i tipo_perfil}{ de la entidad }{\i PERFIL}{ diferencia perfiles internos y externos, es decir, si se trata de perfiles d\r
-efinidos para usuarios de los sistemas, o bien de roles desempe\'f1ados durante el desarrollo del proyecto (perfiles privados).\r
+\par }\pard \qj \li708\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin708\itap0 {El atributo }{\i tipo_perfil}{ de la entidad }{\i PERFIL}{ diferencia perfiles internos y externos, es decir, si se trata de p\r
+erfiles definidos para usuarios de los sistemas, o bien de roles desempe\'f1ados durante el desarrollo del proyecto (perfiles privados).\r
\par {\listtext\pard\plain\fs20 \hich\af0\dbch\af0\loch\f0 -\tab}}\pard \qj \fi-360\li720\ri0\widctlpar\jclisttab\tx720\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0 {El atributo }{\i contacto}{ de la entidad }{\i SISTEMA}{\r
contiene todos los datos necesarios a fin de poder identificar a las personas que solicitaron el sistema.\r
@@ -631,6+632,12 @@ efinidos para usuarios de los sistemas, o bien de roles desempe\'f1ados durante
\par {\listtext\pard\plain\fs20 \hich\af0\dbch\af0\loch\f0 -\tab}}\pard \qj \fi-360\li720\ri0\widctlpar\jclisttab\tx720\aspalpha\aspnum\faauto\ls1\adjustright\rin0\lin720\itap0 {Cada una de las entidades contiene los atributos }{\i fecha}{ y }{\i responsable}{\r
que representan el momento en que se realiz\'f3 el \'faltimo cambio en el registro y el usuario que lo llev\'f3 a cabo.\r
\par }\pard \qj \li708\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin708\itap0 {Estos dos campos sirven para llevar un control de qui\'e9n y en qu\'e9 momento se asignan nuevos permisos, se crean nuevos perfiles, etc. \r
+El atributo estado de la entidad SISTEMA indica el estado en que se encuentra el sistema (activo o no). Los sistemas no pueden ser eliminados de la base de datos, sino que son dados de baja. Al dar de baja un sistema, \'e9ste deja de estar activo.\r
<UML:Class stereotype="" package="" xmi.id="207" abstract="0" documentation="Clase para el manejo de los usuarios." name="Usuario" static="0" scope="200" >
<UML:Operation stereotype="" package="" xmi.id="216" type="void" abstract="0" documentation="Constructor.Recibe como parametro opcional el login del usuario. y busca en la base la informacion referida a el." name="Usuario" static="0" scope="200" >
<UML:Class stereotype="" package="" xmi.id="208" abstract="0" documentation="Clase para el manejo de los perfies." name="Perfil" static="0" scope="200" >
- <UML:Operation stereotype="" package="" xmi.id="229" type="void" abstract="0" documentation="Constructor. Si recibe un identificador como parametro, busca la informacion en la base. No hay metodo que setee el id del perfil puesto que es autonumerico en la DB." name="Perfil" static="0" scope="200" >
+ <UML:Operation stereotype="" package="" xmi.id="229" type="void" abstract="0" documentation="Constructor. Si recibe un identificador como parametro, busca la informacion en la base. " name="Perfil" static="0" scope="200" >
<UML:Class stereotype="" package="" xmi.id="209" abstract="0" documentation="Clase para el manejo de los sistemas." name="Sistema" static="0" scope="200" >
- <UML:Operation stereotype="" package="" xmi.id="243" type="void" abstract="0" documentation="Constructor. Si recibe como parametro el identificador busca en la DB los datos. No hay metodo que setee el id del sistema puesto que es un valor autoincrementable en la DB" name="Sistema" static="0" scope="200" >
+ <UML:Operation stereotype="" package="" xmi.id="243" type="void" abstract="0" documentation="Constructor. Si recibe como parametro el identificador busca en la DB los datos. " name="Sistema" static="0" scope="200" >
<UML:Operation stereotype="" package="" xmi.id="244" type="int" abstract="0" documentation="Devuelve el identificador del sistema." name="getId" static="0" scope="200" />
<UML:Operation stereotype="" package="" xmi.id="245" type="string" abstract="0" documentation="Devuelve el nombre del sistema." name="getNombre" static="0" scope="200" />
<UML:Operation stereotype="" package="" xmi.id="246" type="string" abstract="0" documentation="Devuelve la descrpcion del sistema." name="getDescripcion" static="0" scope="200" />
- <UML:Operation stereotype="" package="" xmi.id="247" type="date" abstract="0" documentation="Devuelve la fecha de inicio del sistema." name="getFechaInicio" static="0" scope="200" />
- <UML:Operation stereotype="" package="" xmi.id="248" type="date" abstract="0" documentation="Devuelve la fecha de finalizacion del sistema." name="getFechaFin" static="0" scope="200" />
- <UML:Operation stereotype="" package="" xmi.id="249" type="date" abstract="0" documentation="Devuelve la fecha de implementacion del sistema." name="getFechaImplementacion" static="0" scope="200" />
+ <UML:Operation stereotype="" package="" xmi.id="247" type="&date" abstract="0" documentation="Devuelve la fecha de inicio del sistema." name="getFechaInicio" static="0" scope="200" />
+ <UML:Operation stereotype="" package="" xmi.id="248" type="&date" abstract="0" documentation="Devuelve la fecha de finalizacion del sistema." name="getFechaFin" static="0" scope="200" />
+ <UML:Operation stereotype="" package="" xmi.id="249" type="&date" abstract="0" documentation="Devuelve la fecha de implementacion del sistema." name="getFechaImplementacion" static="0" scope="200" />
<UML:Operation stereotype="" package="" xmi.id="250" type="string" abstract="0" documentation="Devuelve el contacto del sistema." name="getContacto" static="0" scope="200" />
<UML:Operation stereotype="" package="" xmi.id="251" type="void" abstract="0" documentation="Setea el nombre del sistema." name="setNombre" static="0" scope="200" >
<UML:Parameter stereotype="" package="" xmi.id="1" value="null" type="string" abstract="0" documentation="Texto con la informacion del contacto." name="contacto" static="0" scope="200" />
</UML:Operation>
<UML:Operation stereotype="" package="" xmi.id="263" type="void" abstract="0" documentation="Obtiene los datos del sistema de la DB." name="obtenerDatosDb" static="0" scope="201" />
+ <UML:Operation stereotype="" package="" xmi.id="288" type="void" abstract="0" documentation="Guarda la informacion del sistema en la base." name="guardarDatos" static="0" scope="200" >
+ <UML:Parameter stereotype="" package="" xmi.id="1" value="grabar" type="string" abstract="0" documentation="Accion a realizar. Grabar, modificar o eliminar" name="accion" static="0" scope="200" />
+ </UML:Operation>
+ <UML:Operation stereotype="" package="" xmi.id="290" type="string" abstract="0" documentation="Devuelve el login del responsable de los ultimos cambios" name="getResponsable" static="0" scope="200" />
+ <UML:Operation stereotype="" package="" xmi.id="291" type="void" abstract="0" documentation="Setea el login del responsable de los ultimos cambios del sistema" name="setResponsable" static="0" scope="200" >
+ <UML:Parameter stereotype="" package="" xmi.id="1" value="null" type="string" abstract="0" documentation="String con el login del responsable del cambio" name="responsable" static="0" scope="200" />
<UML:Attribute stereotype="" package="" xmi.id="241" value="" type="date" abstract="0" documentation="Fecha de implementacion del sistema." name="fecha_implementacion" static="0" scope="201" />
<UML:Attribute stereotype="" package="" xmi.id="242" value="" type="string" abstract="0" documentation="Texto con los datos del o de los contacto/s en el area usuario." name="contacto" static="0" scope="201" />
+ <UML:Attribute stereotype="" package="" xmi.id="289" value="" type="string" abstract="0" documentation="Login del responsable de los ultimos cambios del sistema." name="responsable" static="0" scope="201" />
</UML:Class>
<UML:Class stereotype="" package="" xmi.id="210" abstract="0" documentation="Clase para el manejo de los Permisos." name="Permiso" static="0" scope="200" >
- <UML:Operation stereotype="" package="" xmi.id="259" type="void" abstract="0" documentation="Constructor. Si recibe como parametro el identificador del permiso, busca la informacion en la DB. No hay metodo que setee el id puesto que es un valor autoincrementable en la DB." name="Permiso" static="0" scope="200" >
+ <UML:Operation stereotype="" package="" xmi.id="259" type="void" abstract="0" documentation="Constructor. Si recibe como parametro el identificador del permiso, busca la informacion en la DB." name="Permiso" static="0" scope="200" >
<UML:Operation stereotype="" package="" xmi.id="283" type="array(Sistema)" abstract="0" documentation="Devuleve un array con los identificadores de todos los sistemas." name="getIdSistemas" static="0" scope="201" />
<UML:Operation stereotype="" package="" xmi.id="285" type="array(Sistema)" abstract="0" documentation="Arma el array de sistemas" name="armarArraySistemas" static="0" scope="201" />
<UML:Operation stereotype="" package="" xmi.id="286" type="array(Sistema)" abstract="0" documentation="Devuelve el array de sistemas" name="getSistemas" static="0" scope="200" />
+ <UML:Operation stereotype="" package="" xmi.id="287" type="int" abstract="0" documentation="Devuelve el identificador maximo de un sistema que hay en base" name="getMaxIdSistema" static="0" scope="200" />
-INSERT INTO perfil VALUES (1,'ABM Usuarios','E',NOW());
-INSERT INTO perfil VALUES (2,'ABM Permisos','E',NOW());
-INSERT INTO perfil VALUES (3,'ABM Perfiles','E',NOW());
-INSERT INTO perfil_sist VALUES (1,1,NOW());
-INSERT INTO perfil_sist VALUES (2,1,NOW());
-INSERT INTO perfil_sist VALUES (3,1,NOW());
-INSERT INTO perfil_sist_usuario VALUES ('mdegan@mecon',1,1,NOW());
-INSERT INTO perfil_sist_usuario VALUES ('mmarre@mecon',1,1,NOW());
-INSERT INTO perfil_sist_usuario VALUES ('mmarre@mecon',2,1,NOW());
-INSERT INTO perfil_sist_usuario VALUES ('mmarre@mecon',3,1,NOW());
-INSERT INTO perm_perfil_sist VALUES (1,1,1,NOW());
-INSERT INTO perm_perfil_sist VALUES (1,3,1,NOW());
-INSERT INTO perm_perfil_sist VALUES (2,1,1,NOW());
-INSERT INTO perm_perfil_sist VALUES (3,1,1,NOW());
-INSERT INTO perm_perfil_sist VALUES (4,2,1,NOW());
-INSERT INTO perm_perfil_sist VALUES (5,2,1,NOW());
-INSERT INTO perm_perfil_sist VALUES (6,2,1,NOW());
-INSERT INTO perm_perfil_sist VALUES (7,3,1,NOW());
-INSERT INTO perm_perfil_sist VALUES (8,3,1,NOW());
-INSERT INTO perm_perfil_sist VALUES (9,3,1,NOW());
-INSERT INTO perm_sist VALUES (1,1,'',NOW());
-INSERT INTO perm_sist VALUES (2,1,'',NOW());
-INSERT INTO perm_sist VALUES (3,1,'',NOW());
-INSERT INTO perm_sist VALUES (4,1,'',NOW());
-INSERT INTO perm_sist VALUES (5,1,'',NOW());
-INSERT INTO perm_sist VALUES (6,1,'',NOW());
-INSERT INTO perm_sist VALUES (7,1,'',NOW());
-INSERT INTO perm_sist VALUES (8,1,'',NOW());
-INSERT INTO perm_sist VALUES (9,1,'',NOW());
-INSERT INTO permiso VALUES (1,'Agregar Usuario',NOW());
-INSERT INTO permiso VALUES (2,'Modificar Usuario',NOW());
-INSERT INTO permiso VALUES (3,'Eliminar Usuario',NOW());
-INSERT INTO permiso VALUES (4,'Agregar Permiso',NOW());
-INSERT INTO permiso VALUES (5,'Modificar Permiso',NOW());
-INSERT INTO permiso VALUES (6,'Eliminar Permiso',NOW());
-INSERT INTO permiso VALUES (7,'Agregar Perfil',NOW());
-INSERT INTO permiso VALUES (8,'Modificar Perfil',NOW());
-INSERT INTO permiso VALUES (9,'Eliminar Perfil',NOW());
-INSERT INTO sistema VALUES (1,'SAMURAI','Sistema de Administracion y Mantenimiento de Usuarios Relativo A Intranet','2003-03-06',NULL,NULL,'Silvina Ottonello <sotton@mecon.gov.ar>',NOW());
-INSERT INTO usuario VALUES ('mmarre',28924563,'Martin Marrese','2003-03-10 15:52:40',NOW());
+--
+-- Dumping data for table 'perfil'
+--
+INSERT INTO perfil VALUES (1,'ABM Usuarios','E',20030321132624,NULL);
+INSERT INTO perfil VALUES (2,'ABM Permisos','E',20030321132624,NULL);
+INSERT INTO perfil VALUES (3,'ABM Perfiles','E',20030321132624,NULL);
+
+--
+-- Dumping data for table 'perfil_sist'
+--
+INSERT INTO perfil_sist VALUES (1,1,20030321132624,'');
+INSERT INTO perfil_sist VALUES (2,1,20030321132624,'');
+INSERT INTO perfil_sist VALUES (3,1,20030321132624,'');
+
+--
+-- Dumping data for table 'perfil_sist_usuario'
+--
+INSERT INTO perfil_sist_usuario VALUES ('mdegan@mecon',1,1,20030321132624,'');
+INSERT INTO perfil_sist_usuario VALUES ('mmarre@mecon',1,1,20030321132624,'');
+INSERT INTO perfil_sist_usuario VALUES ('mmarre@mecon',2,1,20030321132624,'');
+INSERT INTO perfil_sist_usuario VALUES ('mmarre@mecon',3,1,20030321132624,'');
+
+--
+-- Dumping data for table 'perm_perfil_sist'
+--
+INSERT INTO perm_perfil_sist VALUES (1,1,1,20030321132624,'');
+INSERT INTO perm_perfil_sist VALUES (1,3,1,20030321132624,'');
+INSERT INTO perm_perfil_sist VALUES (2,1,1,20030321132624,'');
+INSERT INTO perm_perfil_sist VALUES (3,1,1,20030321132624,'');
+INSERT INTO perm_perfil_sist VALUES (4,2,1,20030321132624,'');
+INSERT INTO perm_perfil_sist VALUES (5,2,1,20030321132624,'');
+INSERT INTO perm_perfil_sist VALUES (6,2,1,20030321132624,'');
+INSERT INTO perm_perfil_sist VALUES (7,3,1,20030321132624,'');
+INSERT INTO perm_perfil_sist VALUES (8,3,1,20030321132624,'');
+INSERT INTO perm_perfil_sist VALUES (9,3,1,20030321132624,'');
+
+--
+-- Dumping data for table 'perm_sist'
+--
+INSERT INTO perm_sist VALUES (1,1,'',20030321132624,'');
+INSERT INTO perm_sist VALUES (2,1,'',20030321132624,'');
+INSERT INTO perm_sist VALUES (3,1,'',20030321132624,'');
+INSERT INTO perm_sist VALUES (4,1,'',20030321132624,'');
+INSERT INTO perm_sist VALUES (5,1,'',20030321132624,'');
+INSERT INTO perm_sist VALUES (6,1,'',20030321132624,'');
+INSERT INTO perm_sist VALUES (7,1,'',20030321132624,'');
+INSERT INTO perm_sist VALUES (8,1,'',20030321132624,'');
+INSERT INTO perm_sist VALUES (9,1,'',20030321132624,'');
+
+--
+-- Dumping data for table 'permiso'
+--
+INSERT INTO permiso VALUES (1,'Agregar Usuario',20030321132624,'');
+INSERT INTO permiso VALUES (2,'Modificar Usuario',20030321132624,'');
+INSERT INTO permiso VALUES (3,'Eliminar Usuario',20030321132624,'');
+INSERT INTO permiso VALUES (4,'Agregar Permiso',20030321132624,'');
+INSERT INTO permiso VALUES (5,'Modificar Permiso',20030321132624,'');
+INSERT INTO permiso VALUES (6,'Eliminar Permiso',20030321132624,'');
+INSERT INTO permiso VALUES (7,'Agregar Perfil',20030321132624,'');
+INSERT INTO permiso VALUES (8,'Modificar Perfil',20030321132624,'');
+INSERT INTO permiso VALUES (9,'Eliminar Perfil',20030321132624,'');
+
+--
+-- Dumping data for table 'sistema'
+--
+INSERT INTO sistema VALUES (1,'SAMURAI','Sistema de Administracion y Mantenimiento de Usuarios Relativo A Intranet','2003-03-06',NULL,NULL,'Silvina Ottonello <sotton@mecon.gov.ar>',20030321132624,'','');
+INSERT INTO sistema VALUES (2,'PRUEBA','Esto es para hacer pruebas',NULL,NULL,NULL,'MARTIN',20030327174008,'','');
+
+--
+-- Dumping data for table 'usuario'
+--
+INSERT INTO usuario VALUES ('mmarre',28924563,'Martin Marrese',20030321132624);
+INSERT INTO usuario VALUES ('mdegan',25943498,'Myrna Degano' ,00000000000000);
- * Constructor. Si recibe un identificador como parametro, busca la informacion en la base. No hay metodo que setee el id del perfil puesto que es autonumerico en la DB.
+ * Constructor. Si recibe un identificador como parametro, busca la informacion en la base.
- * Constructor. Si recibe como parametro el identificador del permiso, busca la informacion en la DB. No hay metodo que setee el id puesto que es un valor autoincrementable en la DB.
+ * Constructor. Si recibe como parametro el identificador del permiso, busca la informacion en la DB.
+ * Login del responsable de los ultimos cambios del sistema.
+ *
+ * @var string $responsable
+ *
+ * @access private
+ */
+ var $_responsable;
+
// ~X2C
// +X2C Operation 243
/**
- * Constructor. Si recibe como parametro el identificador busca en la DB los datos. No hay metodo que setee el id del sistema puesto que es un valor autoincrementable en la DB
+ * Constructor. Si recibe como parametro el identificador busca en la DB los datos.