Пример #1
0
def edit_entry(entry_id=-1):
    post = EntryForm()
    if post.validate_on_submit():
        # valid call to post, lets make our post on time
        post_on = datetime.combine(post.date.data.date(),
                                   post.time.data.time())
        try:
            # are we editing a post?
            entry = Entry.get(post.post_id.data)
        except SQLObjectNotFound:
            # not an edit -- no post found by the id presented
            entry = Entry(title=post.title.data,
                          body=post.body.data,
                          author=session.get('user_id'),
                          post_on=post_on,
                          draft=post.is_draft.data)
            if post.tags.data:
                [entry.addTag(Tag(name=t)) for t in post.tags.data.split(',')]
            flash("New entry <em>%s</em> was sucessfully added" % entry.title)
        else:
            entry.title = post.title.data
            entry.body = post.body.data
            entry.author = session.get('user_id')
            entry.post_on = post_on
            entry.last_modified = datetime.now()
            entry.draft = post.is_draft.data
            entry.deleted = post.is_deleted.data
            if post.tags.data:
                [entry.removeTag(t) for t in entry.tags]
                [entry.addTag(Tag(name=t)) for t in post.tags.data.split(',')]
            flash("<em>%s</em> was updated" % entry.title)
        return redirect(url_for('list_entries', entry_id=entry.id))
    else:
        try:
            entry = Entry.get(entry_id)
        except SQLObjectNotFound:
            entry = {
                'title': '',
                'body': '',
                'deleted': False,
                'draft': False,
                'id': 0
            }
            tags = ""
            date = datetime.now()
        else:
            date = entry.post_on
            tags = ','.join([t.name for t in entry.tags])

        return render_template('edit_entry.html',
                               data={
                                   'form': post,
                                   'date': datetime.now(),
                                   'entry': entry,
                                   'tags': tags
                               })
Пример #2
0
def edit_entry(entry_id=-1):
    post = EntryForm()
    if post.validate_on_submit():
        # valid call to post, lets make our post on time
        post_on = datetime.combine(post.date.data.date(), post.time.data.time())        
        try:
            # are we editing a post?
            entry = Entry.get(post.post_id.data)
        except SQLObjectNotFound:
            # not an edit -- no post found by the id presented
            entry = Entry(title=post.title.data,
                          body=post.body.data,
                          author=session.get('user_id'),
                          post_on=post_on,
                          draft=post.is_draft.data)
            if post.tags.data:
                [entry.addTag(Tag(name=t)) for t in post.tags.data.split(',')]
            flash("New entry <em>%s</em> was sucessfully added" % entry.title)
        else:
            entry.title = post.title.data
            entry.body = post.body.data
            entry.author = session.get('user_id')
            entry.post_on = post_on
            entry.last_modified = datetime.now()
            entry.draft = post.is_draft.data
            entry.deleted = post.is_deleted.data
            if post.tags.data:
                [entry.removeTag(t) for t in entry.tags]
                [entry.addTag(Tag(name=t)) for t in post.tags.data.split(',')]
            flash("<em>%s</em> was updated" % entry.title)
        return redirect(url_for('list_entries', entry_id=entry.id))
    else:
        try:
            entry = Entry.get(entry_id)
        except SQLObjectNotFound:
            entry = {'title': '',
                     'body': '',
                     'deleted': False,
                     'draft': False,
                     'id': 0}
            tags = ""
            date = datetime.now()
        else:
            date = entry.post_on
            tags = ','.join([t.name for t in entry.tags])
            
        return render_template('edit_entry.html',
                               data={'form': post, 
                                     'date': datetime.now(),
                                     'entry': entry,
                                     'tags': tags})