Bienvenido a los foros %s

Foro comunidad hispana Dolibarr

Identificarse Registrarse

Contactos en projectos v.3.3.2

Si cree que ha encontrado un error en una versión estable, siéntase libre de comunicarlo aquí, indicando la versión.
imase
Novato
Mensajes: 29
Registrado: Mar, 18/06/2013, 10:24

Contactos en projectos v.3.3.2

Mensaje por imase »

Version 3.3.2
Módulo Proyectos

Error:

Al definir contactos nuevos (por ejemplo: Técnico) para el módulo proyectos, si el usuario tiene (SOLO) permisos para visualizar sus proyectos (en los que es contacto), no le aparecen los proyectos.

Alternativas:

- Usar un tipo de contacto predefinido, de los que incluye la instalación
- Definir al usuario con permisos para ver todos los proyectos

NOTA: Ninguna es una alternativa efectiva.

Reproducción del error:

1. En Diccionarios, definir un tipo de contacto personalizado para el módulo de proyectos (Usuarios internos) --> En mi caso, TECHNICAL --> Técnico
2. En un proyecto existente añadir a un contacto interno ("usuario") como Técnico
3. Entrar con el "usuario"

Comprobaremos que los proyectos no aparecen pero sin embargo si aparecen las referencias a las empresas en las que está como contacto. Las tareas si aparecen y por medio de las tareas puede acceder a los proyectos pero ni en los listados ni en la pantalla principal de proyectos tiene acceso a ellos.

alienmtnez
Novato
Mensajes: 3
Registrado: Mar, 06/08/2013, 10:02

Mensaje por alienmtnez »

Hola, ese bug ya tiene una solución aunque no creo que se ha solucionado por parte del proyecto. Igual te va a pasar con los contactos externos, ellos no van a poder ver sus proyectos a no ser que los agregues como internos y sean jefes del proyecto.

La solución, copia este código: https://github.com/ilhooq/dolibarr/comm ... ff85935a14

y sustituye el contenido de htdocs/project/class/project.class.php con el que aparece en link de arriba. Por supuesto, primero guarda una copia de seguridad del archivo. A mi me funcionó de maravilla.

Igual encontré un bug de seguridad y le dí una solución medio chapucera pero eficaz. Puedes verlo aquí http://www.dolibarr.es/index.php/foro/7 ... -proyectos

Saludos, espero que te sirva

imase
Novato
Mensajes: 29
Registrado: Mar, 18/06/2013, 10:24

Mensaje por imase »

Gracias alienmtnez,

He de decir que aunque tu respuesta me ayudo, tuve que modificarla ya que yo uso tipos de contacto con nombre distintos (TECNICO, JEFE DE PROYECTO, JEFE DE EQUIPO, ...)

Con lo que me mandaste, todos los tipos de contacto deberían de tener la palabra PROJECT en su contenido. Yo deje el código así para poder usar cualquier palabra:


if ($source == 'internal' && preg_match('//', $userRole[$nblinks]['code']) && $user->id == $userRole[$nblinks]['id']) {

if ($mode == 'read' && $user->rights->projet->lire) $userAccess++;
if ($mode == 'write' && $user->rights->projet->creer) $userAccess++;
if ($mode == 'delete' && $user->rights->projet->supprimer) $userAccess++;
}
if ($source == 'external' && preg_match('//', $userRole[$nblinks]['code']) && $user->contact_id == $userRole[$nblinks]['id']){

if ($mode == 'read' && $user->rights->projet->lire) $userAccess++;
if ($mode == 'write' && $user->rights->projet->creer) $userAccess++;
if ($mode == 'delete' && $user->rights->projet->supprimer) $userAccess++;
}

No entiendo de todas formas el por qué el equipo de Dolibarr ha establecido esa limitación ya que el contacto de proyecto no debería de importar el nombre que se le ponga, al fin y al cabo, ya está filtrado por "contacto de proyecto".

Gracias nuevamente

Avatar de Usuario
marcosgdf
Jedi
Mensajes: 772
Registrado: Vie, 20/07/2012, 14:42
Ubicación: Valladolid, España

Mensaje por marcosgdf »

Hola imase:

He procedido a abrir una incidencia sobre el problema con el acceso de contactos externos a Dolibarr. Sucede también con la última 3.4.

Gracias por informar del problema.

Un saludo.
Desarrollador con categoría Almirante de Dolibarr.
¿Quiere soporte personalizado? Contacte conmigo.

Avatar de Usuario
marcosgdf
Jedi
Mensajes: 772
Registrado: Vie, 20/07/2012, 14:42
Ubicación: Valladolid, España

Mensaje por marcosgdf »

Hola de nuevo:

Será arreglado en la futura versión 3.5.0.

De todas formas, la información de "contacto" es simplemente eso, información. Para poder permitir que acceda debes configurarlo como usuario participante del proyecto.

Un saludo.
Desarrollador con categoría Almirante de Dolibarr.
¿Quiere soporte personalizado? Contacte conmigo.

imase
Novato
Mensajes: 29
Registrado: Mar, 18/06/2013, 10:24

Mensaje por imase »

De todas formas, la información de "contacto" es simplemente eso, información. Para poder permitir que acceda debes configurarlo como usuario participante del proyecto.


Marcos, cuando pones a un usuario interno como contacto del proyecto y este usuario solo puede ver sus proyectos, si le asignas un tipo de contacto nuevo (por ejemplo "Técnico") no verá ningún proyecto a no ser que realices los cambios indicados arriba, por lo que no es solo información, implica también un criterio para filtrar si puedes tener o no acceso al proyecto.

Avatar de Usuario
marcosgdf
Jedi
Mensajes: 772
Registrado: Vie, 20/07/2012, 14:42
Ubicación: Valladolid, España

Mensaje por marcosgdf »

Hola imase:

Para mí eso tiene sentido. Dolibarr sólo tiene 2 tipos de usuario de un proyecto (administrador/jefe y usuario/participante). Un usuario puede ser participante o jefe. Sin embargo un contacto puede ser lo que tú quieres que sea, y será a nivel meramente informativo, para que por ejemplo un empleado sepa a quién dirigirse en un momento concreto o para que quede constancia de ello.

No verá ningún proyecto porque no le has asignado el permiso de participante.

Coméntame tu parecer sobre esta explicación.

Un saludo.
Desarrollador con categoría Almirante de Dolibarr.
¿Quiere soporte personalizado? Contacte conmigo.

imase
Novato
Mensajes: 29
Registrado: Mar, 18/06/2013, 10:24

Mensaje por imase »

Ahhh, ahora lo entiendo. Acabo de entenderlo.

Digamos que existirían dos categorías de usuarios: Los que participan en el proyecto y los que solo aparecen como meramente informativos pero que no se quiere que accedan al proyecto.

Tiene su lógica pero un poco rebuscada (jejeje) Si se tiene en cuenta que en un proyecto pueden trabajar 20 personas, lo más normal sería saber qué rol tiene cada una. Es por ello que lo que me indicas no termina de complacerme pero para eso dolibarr es una solución abierta que puede personalizarse.

Gracias por la explicación.