Implement bookmarklet

This commit is contained in:
Sascha Ißbrücker
2019-07-05 22:29:21 +02:00
parent 4f8a66b3bd
commit 312ab3db17
10 changed files with 90 additions and 10 deletions

View File

@@ -35,16 +35,27 @@ def bookmarks_index(request):
@login_required
def bookmarks_new(request):
initial_url = request.GET.get('url')
initial_auto_close = 'auto_close' in request.GET
if request.method == 'POST':
form = BookmarkForm(request.POST)
auto_close = form.data['auto_close']
if form.is_valid():
current_user = request.user
create_bookmark(form, current_user)
return HttpResponseRedirect(reverse('bookmarks:index'))
if auto_close:
return HttpResponseRedirect(reverse('bookmarks:close'))
else:
return HttpResponseRedirect(reverse('bookmarks:index'))
else:
form = BookmarkForm()
if initial_url:
form.initial['url'] = initial_url
if initial_auto_close:
form.initial['auto_close'] = 'true'
return render(request, 'bookmarks/new.html', {'form': form})
return render(request, 'bookmarks/new.html', {'form': form, 'auto_close': initial_auto_close})
@login_required
@@ -67,3 +78,15 @@ def bookmarks_remove(request, bookmark_id: int):
bookmark = Bookmark.objects.get(pk=bookmark_id)
bookmark.delete()
return HttpResponseRedirect(reverse('bookmarks:index'))
@login_required
def bookmarks_bookmarklet(request):
return render(request, 'bookmarks/bookmarklet.html', {
'application_url': request.build_absolute_uri("/bookmarks/new")
})
@login_required
def bookmarks_close(request):
return render(request, 'bookmarks/close.html')