es.mcu.yingo.aplicacion.permisos
Class PermisoParaLiberarTareasPendientes

java.lang.Object
  extended by es.mcu.yingo.aplicacion.permisos.PermisoParaLiberarTareasPendientes
All Implemented Interfaces:
Permisos

public class PermisoParaLiberarTareasPendientes
extends java.lang.Object
implements Permisos

Esta clase indica si se tiene permiso o no para realizar una determinada acción. El funcionamiento es el siguiente: Si el usuario que intenta obtener el permiso posee algún rol de los que se indican en la lista "rolesPermitidos", se obtiene el permiso. El funcionamiento típico de este permiso, puede ser: "Puede ver la tarea los usuarios que posean alguno de estos roles 'administrador', 'responsable'"

Author:
carlos.garcia.h

Field Summary
private  BaseDatos baseDatos
          Objeto que contiene las acciones más comunes con la base de datos
protected  org.apache.commons.logging.Log logger
          Log de la aplicación
private  java.util.List<java.lang.String> rolesParaLiberarOtrosUsuarios
          Lista de roles que pueden liberar tareas pendientes que están asignadas a
otros usuarios Esta lista, en principio, es que vaya vacía ya que lo normal es que un usuario
unicamente pueda liberar las tareas que le estan asignadas a él
A no ser que queramos que algunos usuarios puedan LIBERAR tareas que ya están asignadas a otros usuarios, en ese caso se meten aquí los roles que pueden hacer eso
 
Constructor Summary
PermisoParaLiberarTareasPendientes()
           
 
Method Summary
 BaseDatos getBaseDatos()
          Objeto que contiene las acciones más comunes
 java.util.List<java.lang.String> getRolesParaLiberarOtrosUsuarios()
          Lista de roles que pueden liberar tareas pendientes que están asignadas a
otros usuarios Esta lista, en principio, es que vaya vacía ya que lo normal es que un usuario
unicamente pueda liberar las tareas que le estan asignadas a él
A no ser que queramos que algunos usuarios puedan LIBERAR tareas que ya están asignadas a otros usuarios, en ese caso se meten aquí los roles que pueden hacer eso
private  TareasPendientes obtenerTareaPendiente(Dao dao, java.lang.String idAplicacion, java.lang.String codexpediente, java.lang.String idTarea)
          Obtiene el objeto tarea de TareasPendientes con el id que se pasa por argumento
private  boolean puedeLiberarOtrosUsuarios(Usuario usuario)
          Devuelve true, si el usuario tiene permiso para liberar tareas que están asignadas a otros usuarios
 void setBaseDatos(BaseDatos baseDatos)
          Objeto que contiene las acciones más comunes
 void setRolesParaLiberarOtrosUsuarios(java.util.List<java.lang.String> rolesParaLiberarOtrosUsuarios)
          Lista de roles que pueden liberar tareas pendientes que están asignadas a
otros usuarios Esta lista, en principio, es que vaya vacía ya que lo normal es que un usuario
unicamente pueda liberar las tareas que le estan asignadas a él
A no ser que queramos que algunos usuarios puedan LIBERAR tareas que ya están asignadas a otros usuarios, en ese caso se meten aquí los roles que pueden hacer eso
 boolean tienePermiso(Dao dao, java.lang.String idAplicacion, java.lang.String idTareaPendiente, java.lang.String codExpediente, Usuario usuario)
          Implementación del interfaz Permisos Devuelve true si el ususario tiene permiso para liberar la tarea pendiente que se le pasa en el parámetro "idTarea"
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

rolesParaLiberarOtrosUsuarios

private java.util.List<java.lang.String> rolesParaLiberarOtrosUsuarios
Lista de roles que pueden liberar tareas pendientes que están asignadas a
otros usuarios Esta lista, en principio, es que vaya vacía ya que lo normal es que un usuario
unicamente pueda liberar las tareas que le estan asignadas a él
A no ser que queramos que algunos usuarios puedan LIBERAR tareas que ya están asignadas a otros usuarios, en ese caso se meten aquí los roles que pueden hacer eso


baseDatos

private BaseDatos baseDatos
Objeto que contiene las acciones más comunes con la base de datos


logger

protected final org.apache.commons.logging.Log logger
Log de la aplicación

Constructor Detail

PermisoParaLiberarTareasPendientes

public PermisoParaLiberarTareasPendientes()
Method Detail

tienePermiso

public boolean tienePermiso(Dao dao,
                            java.lang.String idAplicacion,
                            java.lang.String idTareaPendiente,
                            java.lang.String codExpediente,
                            Usuario usuario)
                     throws YingoException
Implementación del interfaz Permisos Devuelve true si el ususario tiene permiso para liberar la tarea pendiente que se le pasa en el parámetro "idTarea"

Specified by:
tienePermiso in interface Permisos
Parameters:
dao -
idAplicacion -
idTarea -
codExpediente -
usuario -
Returns:
boolean
Throws:
BaseDatosYingoException
YingoException

puedeLiberarOtrosUsuarios

private boolean puedeLiberarOtrosUsuarios(Usuario usuario)
                                   throws YingoException
Devuelve true, si el usuario tiene permiso para liberar tareas que están asignadas a otros usuarios

Parameters:
id -
Returns:
Throws:
YingoException

obtenerTareaPendiente

private TareasPendientes obtenerTareaPendiente(Dao dao,
                                               java.lang.String idAplicacion,
                                               java.lang.String codexpediente,
                                               java.lang.String idTarea)
                                        throws YingoException
Obtiene el objeto tarea de TareasPendientes con el id que se pasa por argumento

Parameters:
dao -
id -
Returns:
Throws:
TareaYingoException
YingoException

getBaseDatos

public BaseDatos getBaseDatos()
Objeto que contiene las acciones más comunes

Returns:
the baseDatos

setBaseDatos

public void setBaseDatos(BaseDatos baseDatos)
Objeto que contiene las acciones más comunes

Parameters:
baseDatos - the baseDatos to set

getRolesParaLiberarOtrosUsuarios

public java.util.List<java.lang.String> getRolesParaLiberarOtrosUsuarios()
Lista de roles que pueden liberar tareas pendientes que están asignadas a
otros usuarios Esta lista, en principio, es que vaya vacía ya que lo normal es que un usuario
unicamente pueda liberar las tareas que le estan asignadas a él
A no ser que queramos que algunos usuarios puedan LIBERAR tareas que ya están asignadas a otros usuarios, en ese caso se meten aquí los roles que pueden hacer eso

Returns:
the rolesParaLiberarOtrosUsuarios

setRolesParaLiberarOtrosUsuarios

public void setRolesParaLiberarOtrosUsuarios(java.util.List<java.lang.String> rolesParaLiberarOtrosUsuarios)
Lista de roles que pueden liberar tareas pendientes que están asignadas a
otros usuarios Esta lista, en principio, es que vaya vacía ya que lo normal es que un usuario
unicamente pueda liberar las tareas que le estan asignadas a él
A no ser que queramos que algunos usuarios puedan LIBERAR tareas que ya están asignadas a otros usuarios, en ese caso se meten aquí los roles que pueden hacer eso

Parameters:
rolesParaLiberarOtrosUsuarios - the rolesParaLiberarOtrosUsuarios to set