Dynamic Custom Menu

46 views
Skip to first unread message

Danilo Miranda Gomes

unread,
Dec 17, 2014, 2:22:33 PM12/17/14
to django-ad...@googlegroups.com
Hello,

I need to make CustomMenu dynamic based on the user who is logged. Basicly i have to remove/add some MenuItems/Item.
Any tips?

Atenciosamente,

Danilo Miranda Gomes
Twitter: @self_danilo
Telefone: (82) 9935-5211

izi

unread,
Dec 18, 2014, 4:21:01 AM12/18/14
to django-ad...@googlegroups.com
Hi,

You need to first create a custom menu file:

$ python manage.py custom menu

Then declare it in your settings file:

ADMIN_TOOLS_MENU = 'yourproject.menu.CustomMenu'

Then look at the example below:

from django.core.urlresolvers import reverse
from django.utils.translation import ugettext_lazy as _

from admin_tools.menu import menus, items
from admin_tools.utils import get_admin_site_name


class CustomMenu(menus.Menu):
   
def init_with_context(self, context):
        site_name
= get_admin_site_name(context)

       
self.children += [
            items
.MenuItem(_('Dashboard'), reverse('%s:index' % site_name)),
            items
.Bookmarks(),
       
]
       
self.children.append(items.ModelList(
            _
('Your project app'),
           
['app.*',]
       
))
       
if context['request'].user.is_superuser:
           
self.children.append(items.AppList(
                _
('Administration'),
                models
=('django.contrib.*',)
           
))

--
David

Danilo Miranda Gomes

unread,
Dec 18, 2014, 9:18:17 AM12/18/14
to django-ad...@googlegroups.com
Thankz, I didnt think to pass request trougth context.

Enviado do meu iPhone
--
You received this message because you are subscribed to the Google Groups "django-admin-tools" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-admin-to...@googlegroups.com.
To post to this group, send email to django-ad...@googlegroups.com.
Visit this group at http://groups.google.com/group/django-admin-tools.
For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages