manager: export management access entry point as json (#7155)

This commit is contained in:
Frédéric Péters 2015-05-06 10:31:07 +02:00
parent b804200358
commit c667a9018a
2 changed files with 20 additions and 0 deletions

View File

@ -21,6 +21,7 @@ from . import views
urlpatterns = patterns('combo.views',
url(r'^$', views.homepage, name='combo-manager-homepage'),
url(r'^menu.json$', views.menu_json),
url(r'^site-export$', views.site_export, name='combo-manager-site-export'),
url(r'^site-import$', views.site_import, name='combo-manager-site-import'),
url(r'^pages/add/$', views.page_add, name='combo-manager-page-add'),

View File

@ -26,6 +26,7 @@ from django.core.urlresolvers import reverse, reverse_lazy
from django.http import HttpResponse, Http404
from django.shortcuts import redirect
from django.utils.translation import ugettext_lazy as _
from django.utils.encoding import force_text
from django.views.decorators.csrf import requires_csrf_token
from django.views.generic import (TemplateView, RedirectView, DetailView,
CreateView, UpdateView, ListView, DeleteView, FormView)
@ -307,3 +308,21 @@ def asset_delete(request):
raise PermissionDenied()
default_storage.delete(img_orig);
return HttpResponse(status=204)
def menu_json(request):
response = HttpResponse(content_type='application/json')
if getattr(settings, 'TEMPLATE_VARS', {}).get('site_title'):
label = _('Editing %(site_title)s') % getattr(settings, 'TEMPLATE_VARS')
else:
label = _('Content Management')
json_str = json.dumps([{'label': force_text(label),
'slug': 'portal',
'url': request.build_absolute_uri(reverse('combo-manager-homepage'))
}])
for variable in ('jsonpCallback', 'callback'):
if variable in request.GET:
json_str = '%s(%s);' % (request.GET[variable], json_str)
break
response.write(json_str)
return response