Tengo la necesidad de definir rutas de autorización con diferentes roles de usuario dependiendo la empresa o grupo del cual sea el solicitante y me surgen las siguientes preguntas:
|
De entrada me parece que lo que tenés que hacer es configurar diferentes rutas de autorización que varíen según la empresa del empleado solicitante, porque esto te daría mas independencia. Para ayudarte mas específicamente tendría que saber que entidad es la que estás configurando, pero como ejemplo, si estuvieras configurando la Amonestación tendrías que crear rutas condicionales basado en el campo:
De esta forma, la ruta sería diferente para cada codigo de empresa del empleado solicitante. OJO estoy poniendo el caso de la amonestación, la cual tiene sujeto de acción (empleado amonestado) y solicitante (aquel que pidió se amonestara al sujeto de la acción. Es posible que para tu entidad ambos sea la misma persona, como el caso de una solicitud de vacaciones (solicitante = sujeto de acción). Contestando tus preguntas:
Importante: Solo aclarar que TODOS los flujos basan sus autorizadores en el sujeto de la acción. Lo que sucede es que hay entidades en donde casualmente éste es el mismo solicitante... Ok, creo que con crear una ruta condicional se resuelve mi problema. Según entiendo, si los criterios se cumplen entonces toma la ruta condicional, sino toma la que esta configurada como ruta de la entidad verdad? Correcto! Solo tené cuidado con la propiedad que seleccionas (Empleo o EmpleoSolicita) Estoy haciendo lo que indicas, supongamos que Raul ya tiene una ruta configurada entidad Amonestaciones y yo he creado mi propia ruta para esa entidad. En la entidad selecciono mi ruta condicional deseada y en la condicion coloco: Empleo.Plaza.Compania = 12 or Empleo.Plaza.Compania = 17 Recibo el siguiente mensaje: La regla de validación no pudo ser evaludada. Favor de verificar la expresión. Mensaje original: 'Operator '=' incompatible with operand types 'Compania' and 'Int32' (at index 22)' OJO tenes que comparar con el Codigo de la Compania:
Tomar en cuenta que debe utilizarse el operador '==' y no '=' para formar la expresión booleana. Esto por usar el lenguaje C#. Empleo.Plaza.Compania.Codigo == 17 La condicion Correcta es: EmpleoSujetoAccion.Plaza.Compania.Codigo == 17 Y si fuera para una instancia de Entidades adicionales se puede validar de la siguiente forma: ConfiguracionEntidadAdicional.Codigo==2 && EmpleoSujetoAccion.Plaza.Compania.Codigo == 17 Donde 2 es el identificador de la instancia de la entidad adicional.
showing 5 of 6
show all
|