예제 #1
0
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))
예제 #2
0
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
예제 #3
0
def new_bookmark():
    form = BookmarkForm()
    if form.validate_on_submit():
        b = Bookmark()
        form.populate_obj(b)
        b.owner_id = g.user.id
        b.created = datetime.utcnow()
        b.tags = " ".join([t.strip() for t in form.tags.data.strip().split(",")]).lower()
        b.clicks = 0
        if not form.title.data:
            soup = BSoup(urlopen(form.url.data))
            b.title = soup.title.string
        db.session.add(b)
        db.session.commit()
        flash("New bookmark %s added" % (b.title), category="info")
        return redirect(url_for("index"))
    return render_template("new.html", title="New", form=form)
예제 #4
0
def new_bookmark():
    form = BookmarkForm()
    if form.validate_on_submit():
        b = Bookmark()
        form.populate_obj(b)
        b.owner_id = g.user.id
        b.created = datetime.utcnow()
        b.tags = ' '.join(
                      [t.strip() for t in form.tags.data.strip().split(',')])\
                    .lower()
        b.clicks = 0
        if not form.title.data:
            soup = BSoup(urlopen(form.url.data))
            b.title = soup.title.string
        db.session.add(b)
        db.session.commit()
        flash('New bookmark %s added' % (b.title), category='info')
        return redirect(url_for('index'))
    return render_template('new.html', title='New', form=form)