var params = {};
params.title = text;
params.request_id = request_id;
- $.post('/wiki/ajax/newpage/', params).done(function(data) {
+ $.post('/ajax/newpage/', params).done(function(data) {
$('a[data-request-id=' + data.request_id + ']').attr('href', data.url).removeAttr('data-request-id');
});
param = $new_link[0].outerHTML;
'<button data-action="bold" data-accel="b"><b>b</b></button>' +
'<button data-action="code" data-accel="<"><></button>' +
'<button data-action="removeFormat" data-accel="m">×</button>' +
+ '<button data-action="wiki">W</button>' +
'<button data-action="createLink">a</button>' +
'<input name="link-target"/>' +
'</div>');
),
url(r'^(?P<slug>[\w:-]+)/api-save/$', staff_member_required(views.NoteApiSaveView.as_view())),
url(r'^ajax/upload/$', staff_member_required(views.ajax_upload)),
+ url(r'^ajax/newpage/$', staff_member_required(views.ajax_new_page)),
url(r'^new-note/$', staff_member_required(views.NoteAddView.as_view(), login_url='login')),
url(r'^feeds/(?P<sub>[\w:-]+)/atom$', views.AtomFeed()),
url(r'^feed/atom$', views.AtomFeed()),
from django.core.files.storage import default_storage
from django.http import HttpResponse, Http404, JsonResponse
from django.utils.feedgenerator import Atom1Feed
+from django.utils.text import slugify
from django.views import View
from django.views.decorators.csrf import csrf_exempt
from django.views.generic import CreateView, DeleteView, DetailView, ListView, UpdateView, TemplateView
except OSError:
pass
return JsonResponse(response)
+
+
+@csrf_exempt
+def ajax_new_page(request, *args, **kwargs):
+ title = request.POST['title']
+ slug = slugify(title)
+ note, created = Note.objects.get_or_create(slug=slug)
+ if created:
+ note.title = title
+ note.text = '<p>...</p>'
+ note.save()
+ return JsonResponse(
+ {
+ 'url': '/%s/' % note.slug,
+ 'request_id': request.POST['request_id'],
+ }
+ )