Closed migueldiaz closed 13 years ago
en teoría hay un usuario asociación que ve las opciones de asociación un usuario proyecto_joven que ve las opciones de proyecto_joven n usuarios equipo_proyecto_joven que ve las opciones de su equipo_proyecto_joven un usuario proyecto_mujer que ve las opciones de proyecto_mujer n usuarios equipo_proyecto_mujer que ve las opciones de su equipo_proyecto_mujer
¿oki?
Tio, eso puede ser un infierno, los usuarios estan vinculados a los sitios, rehago el require_login existente para que ademas comprueba que se esta en el sitio en cuestion. Esto va a ser en cada vista mantener el @sitio disponible para hacer la comprobacion. Lo dejo para despues de cenar y si te veo te comento.
ok! tranqui! hablamos ahora!
El 22 de agosto de 2011 20:41, migueldiaz < reply@reply.github.com>escribi:
Tio, eso puede ser un infierno, los usuarios estan vinculados a los sitios, rehago el require_login existente para que ademas comprueba que se esta en el sitio en cuestion. Esto va a ser en cada vista mantener el @sitio disponible para hacer la comprobacion. Lo dejo para despues de cenar y si te veo te comento.
Reply to this email directly or view it on GitHub:
https://github.com/migueldiaz/quartiersRedise-o/issues/21#issuecomment-1873021
Juan Antonio Ruz
enJava.com = programacin gil http://enJava.com info@enjava.com juanantonioruz@gmail.com
El sitio es complicado obtenerlo para compararlo con el usuario, va a haber que hacer metodos del tipo usuario_presentacion y dentro del controller a traves del request acceder a la presentacion en cuestion si no es del usuario redirigir a la suya. Idem para red, contactos,... asi serian en torno a 8 los metodos y serian practicamente identicos.
Rails ofrece una opcion que es:
<%= link_to_unless(CONDICION, PATH) %>
que nos puede dar un apaño rapido mientras se acaba de hacer, este metodo desactiva el link y lo muestra como texto si se da la condicion
En local en sitio#show esto hace lo que queremos, habria que incluirlo en todas las opciones (presentacion,.agenda,...) subo ya al menos para que mañana la entrada del login no se comporte raro
def validausuariositio(sitio)
if current_user.tipo!='admin' && current_user.tipo!='traductor' && current_user.sitio!=sitio
redirect_to trafico_url
end
end
El metodo se aplica ya en los index de la mayoria de controladores, hay algunas opciones en las que no se aplica, Requiere tener @sitio en la zona
Quito el urgente, ya solo son detalles lo que tengo pendiente
He creado un usuario dentro de asociacion, user: asociacion clave lo mismo. Este usuario a traves de los links de la plantilla tiene acceso a todas las opciones de los proyectos, Cuando unicamente deberia ver las de la parte central (presentacion,...) Lo mismo con los de los equipos y los de proyectos.
Tenemos la opcion de ocultarle esos accesos por la plantillas o hago un :requiere_usuario_sitio que compruebe que la presentacion, la agenda,.. o lo que se muestre pertenece al mismo sitio que el usuario.