Revision cd899cfc
Added by Frédéric Péters (de retour le 30/1) over 8 years ago
corbo/manage_urls.py | ||
---|---|---|
1 | 1 |
from django.conf.urls import patterns, include, url |
2 | 2 |
|
3 | 3 |
from .views import add_announce, edit_announce, delete_announce, \ |
4 |
add_category, edit_category, delete_category, manage |
|
4 |
add_category, edit_category, delete_category, manage, menu_json
|
|
5 | 5 |
|
6 | 6 |
urlpatterns = patterns('', |
7 | 7 |
url(r'^$', manage, name='manage'), |
... | ... | |
16 | 16 |
name='edit_category'), |
17 | 17 |
url(r'^category/delete/(?P<pk>\d+)$', delete_category, |
18 | 18 |
name='delete_category'), |
19 |
url(r'^menu.json$', menu_json), |
|
19 | 20 |
) |
corbo/views.py | ||
---|---|---|
1 | 1 |
from datetime import datetime |
2 | 2 |
import urllib |
3 |
import json |
|
3 | 4 |
|
4 | 5 |
from django.conf import settings |
5 | 6 |
from django.core import signing |
... | ... | |
8 | 9 |
ListView, TemplateView |
9 | 10 |
from django.contrib.syndication.views import Feed |
10 | 11 |
from django.shortcuts import resolve_url |
12 |
from django.utils.encoding import force_text |
|
11 | 13 |
from django.utils.feedgenerator import Atom1Feed |
12 | 14 |
from django.utils.http import urlencode |
13 |
from django.http import Http404 |
|
15 |
from django.http import HttpResponseRedirect, HttpResponse, Http404
|
|
14 | 16 |
from django.contrib.auth import logout as auth_logout |
15 | 17 |
from django.contrib.auth import views as auth_views |
16 |
from django.http import HttpResponseRedirect
|
|
18 |
from django.utils.translation import ugettext_lazy as _
|
|
17 | 19 |
|
18 | 20 |
import models |
19 | 21 |
from .forms import AnnounceForm, CategoryForm |
... | ... | |
182 | 184 |
return item.publication_time or item.mtime |
183 | 185 |
|
184 | 186 |
atom = AtomView() |
187 |
|
|
188 |
|
|
189 |
def menu_json(request): |
|
190 |
label = _('Announces') |
|
191 |
json_str = json.dumps([{'label': force_text(label), |
|
192 |
'slug': 'announces', |
|
193 |
'url': request.build_absolute_uri(reverse('manage')) |
|
194 |
}]) |
|
195 |
for variable in ('jsonpCallback', 'callback'): |
|
196 |
if variable in request.GET: |
|
197 |
response = HttpResponse(content_type='application/javascript') |
|
198 |
json_str = '%s(%s);' % (request.GET[variable], json_str) |
|
199 |
break |
|
200 |
else: |
|
201 |
response = HttpResponse(content_type='application/json') |
|
202 |
response.write(json_str) |
|
203 |
return response |
Also available in: Unified diff
misc: publish menu.json to get a menu entry into publik sidepage menu (#12508)