示例#1
0
def add(request):
    if request.method == "POST":
        bookmark_form = BookmarkForm(request.user, request.POST)
        if bookmark_form.is_valid():
            bookmark_instance = bookmark_form.save()

            if bookmark_form.should_redirect():
                return HttpResponseRedirect(bookmark.page.url)
            else:
                return HttpResponseRedirect(reverse("all_bookmarks"))
    else:
        initial = {}
        if "url" in request.GET:
            initial["url"] = request.GET["url"]
        if "title" in request.GET:
            initial["title"] = request.GET["title"]
        if "redirect" in request.GET:
            initial["redirect"] = request.GET["redirect"]

        if initial:
            bookmark_form = BookmarkForm(initial=initial)
        else:
            bookmark_form = BookmarkForm()

    bookmarks_add_url = "http://" + Site.objects.get_current().domain + reverse("add_bookmark")
    bookmarklet = "javascript:location.href='%s?url='+encodeURIComponent(location.href)+';title='+encodeURIComponent(document.title)+';redirect=on'" % bookmarks_add_url
    return render(request, ["bookmarks/add.html"], {
        "bookmarklet": bookmarklet,
        "bookmark_form": bookmark_form,
    })
示例#2
0
def add(request):
    if request.method == "POST":
        bookmark_form = BookmarkForm(request.user, request.POST)
        if bookmark_form.is_valid():
            bookmark_instance = bookmark_form.save()

            if bookmark_form.should_redirect():
                return HttpResponseRedirect(bookmark.page.url)
            else:
                return HttpResponseRedirect(reverse("all_bookmarks"))
    else:
        initial = {}
        if "url" in request.GET:
            initial["url"] = request.GET["url"]
        if "title" in request.GET:
            initial["title"] = request.GET["title"]
        if "redirect" in request.GET:
            initial["redirect"] = request.GET["redirect"]

        if initial:
            bookmark_form = BookmarkForm(initial=initial)
        else:
            bookmark_form = BookmarkForm()

    bookmarks_add_url = "http://" + Site.objects.get_current(
    ).domain + reverse("add_bookmark")
    bookmarklet = "javascript:location.href='%s?url='+encodeURIComponent(location.href)+';title='+encodeURIComponent(document.title)+';redirect=on'" % bookmarks_add_url
    return render(request, ["bookmarks/add.html"], {
        "bookmarklet": bookmarklet,
        "bookmark_form": bookmark_form,
    })
示例#3
0
def index(request):
	if request.method == 'POST':
		form = BookmarkForm(request.POST)
		if form.is_valid():
			new_bookmark = form.save()
			raw_tags = form.cleaned_data['tags'].split(',')
			if raw_tags:
				for raw_tag in raw_tags:
					raw_tag = raw_tag.strip().replace(' ', '-').lower()
					tag_slug = urllib.quote(raw_tag)
					tag, created = Tag.objects.get_or_create(slug=tag_slug)
					tag.save()
					tag.bookmarks.add(new_bookmark)
			if request.is_ajax():
				return render(request, 'bookmark.html', {'bookmark': new_bookmark})
			return redirect(index)
		else:
			response = 'Errors: '
			for key in form.errors.keys():
				value = form.errors[key]
				errors = ''
				for error in value:
					errors = errors + error + ' '
				response = response + ' ' + key + ': ' + errors
			return HttpResponse('<li class="error">' + response + '</li>')
	else:
		bookmarks = Bookmark.objects.all().order_by('-timestamp')[:10]
		current_user = request.user
		form = BookmarkForm(initial={'author': current_user})
		context = {
			'bookmarks': bookmarks,
			'form': form,
		}
		return render(request, 'index.html', context)
示例#4
0
def add_bookmark(request, sound_id):
    sound = get_object_or_404(Sound, id=sound_id)
    
    if request.POST:
        form = BookmarkForm(request.POST, instance=Bookmark(user=request.user, sound=sound))
        form.fields['category'].queryset = BookmarkCategory.objects.filter(user=request.user)
        if form.is_valid():
            form.save()
    
    if request.is_ajax():
        return HttpResponse()   
    
    else:
        msg = "Added new bookmark for sound \"" + sound.original_filename + "\"."
        messages.add_message(request, messages.WARNING, msg)
        
        next = request.GET.get("next","")
        if next:
            return HttpResponseRedirect(next)
        else:
            return HttpResponseRedirect(reverse("sound", args=[sound.user.username, sound.id]))
示例#5
0
def add_bookmark(request, sound_id):
    sound = get_object_or_404(Sound, id=sound_id)

    if request.POST:
        form = BookmarkForm(request.POST, instance=Bookmark(user=request.user, sound=sound))
        form.fields['category'].queryset = BookmarkCategory.objects.filter(user=request.user)
        if form.is_valid():
            form.save()

    if request.is_ajax():
        return HttpResponse()

    else:
        msg = "Added new bookmark for sound \"" + sound.original_filename + "\"."
        messages.add_message(request, messages.WARNING, msg)

        next = request.GET.get("next", "")
        if next:
            return HttpResponseRedirect(next)
        else:
            return HttpResponseRedirect(reverse("sound", args=[sound.user.username, sound.id]))
示例#6
0
def add_bookmark(request):
    if request.method == 'POST':
        form = BookmarkForm(request.POST)
        if form.is_valid():
            bookmark = form.save(commit=False)
            bookmark.author = request.user
            bookmark.save()
            return render_to_response('add_bookmark_thanks.html', 
                                        context_instance=RequestContext(request))
    else:
        form = BookmarkForm()
        
    return render_to_response('add_bookmark.html', 
                                {'form':form}, 
                                context_instance=RequestContext(request))
示例#7
0
def add(request):
    if request.method == 'POST':
        form = BookmarkForm(request.POST)
        if form.is_valid():
            bookmark = Bookmark.objects.get(url=form.cleaned_data['url'])
            profile = Profile.objects.get(user_id = request.user.id)
            if bookmark is None:
                bookmark = form.save(commit = False)
                bookmark.author = profile
                bookmark.save()
            bookmark.subscribers.add(profile)

            return redirect(reverse('bookmarks:index'))
    else:
        form = BookmarkForm()

    return render(request, 'bookmarks/add.html', {
        'form' : form
    })
示例#8
0
def modify(request, bookmark_id):
    bookmark = get_object_or_404(Bookmark, pk=bookmark_id, author=request.user)
    if request.method == 'POST':
        form = BookmarkForm(request.POST, instance=bookmark)
        if form.is_valid():
            bookmark = form.save(commit=False)
            bookmark.author = request.user
            bookmark.save()
            messages.success(request, 'Bookmark details updated.')
            return HttpResponseRedirect('/bookmark/%s/'%bookmark_id)
        else:
            return render_to_response('bookmark_modify.html', 
                                        {'bookmark_id': bookmark_id, 'form': form}, 
                                        context_instance=RequestContext(request))
    else:
        form = BookmarkForm(instance=bookmark)
        return render_to_response('bookmark_modify.html', 
                                    {'bookmark_id': bookmark_id, 'form': form}, 
                                    context_instance=RequestContext(request))