Cómo hacer un picklist para conceder permisos de usuarios

768 views
Skip to first unread message

Lucho Flores

unread,
Jun 6, 2013, 6:14:43 PM6/6/13
to djan...@googlegroups.com
Cómo puedo hacer un picklist de forma manual (en un template), para que sea similar al que viene en el del admin de django, cuando proporcionamos permisos a un grupo de usuarios.
Nota: adjunto la imagen de lo que deseo hacer de forma manual:




Diego Uribe Gamez

unread,
Jun 6, 2013, 7:02:24 PM6/6/13
to djan...@googlegroups.com
en el modelo:

class Basededatos(model.Models)
    ......
    # Permisos
    class Meta:
        permissions = (
            ("permiso_personalizado", "Describe el permiso"),
        )


en la vista:

    return render_to_response('template.html', {'var':var}, context_instance=RequestContext(request) )

en el template:

                {% if perms.miapp.permiso_personalizado %}
                <p>listo</p>
                {% endif %}






--
--
Ha recibido este mensaje porque está suscrito a Grupo "Grupo de Usuarios del Framework Django de habla hispana" de Grupos de Google.
Si quieres publicar en este grupo, envía un mensaje de correo
electrónico a djan...@googlegroups.com
Para anular la suscripción a este grupo, envíe un mensaje a django-es-...@googlegroups.com
Para obtener más opciones, visita este grupo en http://groups.google.com.bo/group/django-es.
---
Has recibido este mensaje porque estás suscrito al grupo "Django-es" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a django-es+...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 



--
  Diego Alonso Uribe Gamez

Desarrollador web

Twitter: @DiegoUG

Google+: http://gplus.to/diegoug



Diego Uribe Gamez

unread,
Jun 6, 2013, 7:04:59 PM6/6/13
to djan...@googlegroups.com
recuerda que:

si eres super usuario administrador, tu siempre veras el contenido sobre el template, solo puedes ver el resultado con usuario no super.

Lucho Flores

unread,
Jun 6, 2013, 7:58:05 PM6/6/13
to djan...@googlegroups.com
Muchas gracias Diego, ya entendí en la parte del servidor lo que se debe hacer y en los templates también. Ahora mi duda sigue quedando a nivel visual, puedo hacer un picklist similar al de django con algún plugin de jquery, porque de momento se me renderiza en una selección múltiple como muestra la siguiente imagen: 

Diego Uribe Gamez

unread,
Jun 6, 2013, 8:39:00 PM6/6/13
to djan...@googlegroups.com

Diego Uribe Gamez

unread,
Jun 6, 2013, 8:42:58 PM6/6/13
to djan...@googlegroups.com
esto ultimo es un poco mas complicado, pero no imposible, tienes que hacer cosas del lado del formulario y del lado del template colocar los media de django, yo en algún momento hice esto con date y time widget échale ojo, sobre de como colocar los permisos tienes que investigar mas.

este es otro tema, creería que este ya esta cerrado.

Saludos :D

Diego Uribe Gamez

unread,
Jun 6, 2013, 8:44:44 PM6/6/13
to djan...@googlegroups.com
O lo puedes hacer a mano, creería que es mas rápido, hacer el widget con jquery a mano. este no es tema de esta lista ya.

Lucho Flores

unread,
Jun 6, 2013, 9:04:10 PM6/6/13
to djan...@googlegroups.com
Ok una vez más gracias por tu ayuda, ahora me surge una duda más. Cargué los permisos como tú me indicaste, dentro de una clase meta, con su respectiva clave y nombre. 

Meta:
    permissions = (
                              ('mipermiso', 'permiso personalizado')
                          )


Ahora bien hice un formulario de la siguiente manera: 

from django.contrib.auth.models import Group 

class GroupForm(ModelForm):
      model = Group


Hago mis vistas respectivas para crear, actualizar.

Ahora bien, cuando renderizo mi template sólo me salen los permisos que se crean por default mas no los permisos personalizados que yo estoy creando. Segun entiendo mis permisos deberían aparecer dentro de la lista de selección o estoy equivocado

Hiko hitokiri

unread,
Jun 7, 2013, 1:44:22 AM6/7/13
to djan...@googlegroups.com

Lucho Flores

unread,
Jun 8, 2013, 9:56:18 AM6/8/13
to djan...@googlegroups.com
Bueno, paré el servidor local, ejecuté syncdb, reinicié el servidor y aparecieron mis permisos personalizados. Muchas gracias a todos por su ayuda
Reply all
Reply to author
Forward
0 new messages