adapt manage/menu.json to return pratic links (#7676)

This commit is contained in:
Frédéric Péters 2015-06-25 08:10:30 +02:00 committed by Benjamin Dauvergne
parent f7640fe9bf
commit d084ab08ce
2 changed files with 39 additions and 0 deletions

View File

@ -49,6 +49,7 @@ urlpatterns = patterns('',
url('^manage/collectivities/$', views.collectivities, name='a2-pratic-collectivities'),
url('^manage/collectivities/add/$', views.collectivity_add, name='a2-pratic-collectivity-add'),
url('^manage/collectivities/(?P<collectivity_pk>\d+)/', include(collectivity_urlpatterns)),
url('^manage/menu.json$', views.menu_json),
url('^services.json$', views.agent_homepage_jsonp, name='auth_homepage_jsonp'),
url('^user_info/$', views.user_info),
)

View File

@ -7,6 +7,7 @@ from django.contrib.auth.views import redirect_to_login
from django.contrib.auth.decorators import login_required
from django.db.models.query import Q
from django.core.urlresolvers import reverse, reverse_lazy
from django.utils.encoding import force_text
from django.views.generic import (TemplateView, UpdateView,
CreateView, DeleteView)
@ -444,3 +445,40 @@ def agent_homepage_jsonp(request):
'authentication_levels': filter(None, needed_authent.split(', ')),
})
return return_json(request, data)
@login_required
def menu_json(request):
response = HttpResponse(content_type='application/json')
menu_entries = []
if request.user.is_superuser:
menu_entries.append({
'label': force_text(_('Collectivities')),
'slug': 'roles',
'url': request.build_absolute_uri(reverse('a2-pratic-collectivities'))
})
menu_entries.append({
'label': force_text(_('Services')),
'slug': 'services',
'url': request.build_absolute_uri(reverse('a2-pratic-services'))
})
elif request.user.is_admin:
kwargs = {'collectivity_pk': request.user.collectivity.pk}
menu_entries.append({
'label': force_text(_('Agents')),
'slug': 'users',
'url': request.build_absolute_uri(
reverse('a2-pratic-users', kwargs=kwargs))
})
menu_entries.append({
'label': force_text(_('Services')),
'slug': 'services',
'url': request.build_absolute_uri(
reverse('a2-pratic-service-instances', kwargs=kwargs))
})
menu_entries.append({
'label': force_text(_('Accesses')),
'slug': 'security',
'url': request.build_absolute_uri(
reverse('a2-pratic-accesses', kwargs=kwargs))
})
return return_json(request, menu_entries)