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:

  • ¿Puedo definir dos roles con el mismo orden y cualquiera de los dos que autorice hace que pase al siguiente nivel?
  • Si el colaborador solicitante pertenece a una empresa X, ¿Recibe el responsable de la empresa Y el aviso de autorización (tomando en cuenta que este ultimo no tiene permisos de ver la empresa X)?
  • Si para una ruta he definido que para la empresa X habrán dos pasos y para una empresa Y solamente uno ¿qué pasa cuando se autoriza el primer paso en un flujo de la empresa Y? ¿Sabe la aplicación que ya no finalizo el flujo?

asked 03 Jul '13, 16:26

Raul's gravatar image

Raul
791273138
accept rate: 45%

edited 03 Jul '13, 17:22

sabanito's gravatar image

sabanito ♦♦
(suspended)


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:

EmpleoSolicita.Plaza.Compania.Codigo = <Codigo de Empresa>

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:

  1. No te entiendo lo del orden de los roles. Lo que si podes hacer es especificar una actividad y poner un rol como responsable y se comportaría justamente como decís: el primero que autoriza, continúa el flujo
  2. No, el sistema solo notificará a aquellos que tengan permiso de ver al empleado sujeto de la acción
  3. Esto solo lo podrías hacer con 2 rutas diferentes. Por lo que el sistema maneja el flujo diferente para cada ruta. Si solo hay un paso, con uno termina, y si para la otra empresa son 2, entonces pues serán los 2; no hay confusiones para Evolution en este punto.

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...

link

answered 03 Jul '13, 17:34

sabanito's gravatar image

sabanito ♦♦
(suspended)
accept rate: 54%

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?

(03 Jul '13, 20:11) Raul Raul's gravatar image

Correcto! Solo tené cuidado con la propiedad que seleccionas (Empleo o EmpleoSolicita)

(03 Jul '13, 20:33) sabanito ♦♦ sabanito's gravatar image

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)'

(04 Jul '13, 16:15) Danny Villalta Danny%20Villalta's gravatar image

OJO tenes que comparar con el Codigo de la Compania:

Empleo.Plaza.Compania.Codigo = 17
(04 Jul '13, 16:22) sabanito ♦♦ sabanito's gravatar image

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
(18 Oct '13, 16:38) Jimy Tobar ♦♦ Jimy%20Tobar's gravatar image

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.

(26 Feb '16, 15:29) FerdyB FerdyB's gravatar image
showing 5 of 6 show all
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Evolution en BitBucket

En este sitio puede acceder al código fuente, centro de descargas y reportar bugs, propuestas y mejoras para Evolution.

Evolution en JIRA

En este sitio puedes sugerir nueva funcionalidad para Evolution, o puedes votar por la funcionalidad ya propuesta por otros usuarios.

Tags:

×9

Asked: 03 Jul '13, 16:26

Seen: 2,542 times

Last updated: 26 Feb '16, 15:29

[Acerca de] [Preguntas Frecuentes] [Privacidad] [Soporte] [Contacto]
Copyright 2013-2018. Asesores en Informática