def ajax_save_bookmark(request, bookmark_id=False): bookmark = get_object_or_None(Bookmark, pk=bookmark_id) if request.method == "POST": if 'chart_id' not in request.POST or 'tags' not in request.POST: return HttpResponse( json.dumps({ "message": { 'type': 'error', 'text': "Can't save bookmark", }, }), 'application/json') if not bookmark: bookmark = Bookmark() bookmark.save() if 'chart_id' in request.POST: chart = get_object_or_None(Chart, pk=request.POST['chart_id']) if chart: bookmark.chart = chart if 'tags' in request.POST: for short in request.POST['tags'].split(','): tag = get_object_or_None(Tag, short=short) if tag: bookmark.tags.add(tag) if 'note_id' in request.POST: note = get_object_or_None(Note, pk=request.POST['note_id']) if note: bookmark.note = note else: bookmark.note = False bookmark.save() _bookmark = bookmark.as_json() _bookmark['url'] = 'http://' + request.get_host() + reverse( save_bookmark, args=(bookmark.id, )) return HttpResponse( json.dumps({ "message": { 'type': 'success', 'text': "Bookmark saved", }, "bookmarks": [_bookmark], }), 'application/json') return HttpResponse( json.dumps({ "message": { 'type': 'error', 'text': "Use post", }, }), 'application/json')
def save_bookmark(request, bookmark_id=False): if request.is_ajax: return ajax_save_bookmark(request, bookmark_id) form = BookmarkForm() bookmark = get_object_or_None(Bookmark, pk=bookmark_id) if bookmark: form = BookmarkForm(instance=bookmark) if not request.user.is_authenticated() or ( not request.user.is_staff and (bookmark.note.author == request.user)): return HttpResponseRedirect(reverse(list, args=(note.id, ))) if request.method == "POST": if bookmark: form = BookmarkForm(request.POST, instance=bookmark) else: form = BookmarkForm(request.POST) if form.is_valid(): if not bookmark: bookmark = Bookmark() bookmark.save() if 'text' in form.cleaned_data: bookmark.text = form.cleaned_data['text'] if 'chart' in form.cleaned_data: bookmark.chart = form.cleaned_data['chart'] if 'tags' in form.cleaned_data: bookmark.tags = form.cleaned_data['tags'] if 'note' in form.cleaned_data: bookmark.note = form.cleaned_data['note'] bookmark.save() return HttpResponseRedirect( reverse(save_bookmark, kwargs={ "bookmark_id": bookmark.id, })) return render_to_response('notes/form_page.html', {'form': form}, context_instance=RequestContext(request))
def save_bookmark_to_note(request, note): saved_bookmarks = 0 if request.method == 'POST': if 'bookmarks' in request.POST: for bookmark_id in request.POST['bookmarks'].split(","): if bookmark_id != '': bookmark = get_object_or_None(Bookmark, pk=bookmark_id) if bookmark: bookmark.note = note bookmark.save() chart = False tags = [] if 'chart_id' in request.POST: chart = get_object_or_None(Chart, pk=request.POST['chart_id']) if 'tags' in request.POST: for short in request.POST['tags'].split(','): if short != '': tag = get_object_or_None(Tag, short=short) if tag: tags.append(tag) if chart: bookmark = Bookmark() bookmark.chart = chart bookmark.note = note bookmark.save() bookmark.tags = tags return saved_bookmarks