migueldiaz / quartiersRedise-o

2 stars 0 forks source link

Permisos de acceso a zona de administracion en función de usuario #21

Closed migueldiaz closed 13 years ago

migueldiaz commented 13 years ago

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.

tangrammer commented 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?

migueldiaz commented 13 years ago

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.

tangrammer commented 13 years ago

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

migueldiaz commented 13 years ago

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.

migueldiaz commented 13 years ago

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

migueldiaz commented 13 years ago

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
migueldiaz commented 13 years ago

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

migueldiaz commented 13 years ago

Quito el urgente, ya solo son detalles lo que tengo pendiente