def edit():
    form = EditForm()
    if form.validate_on_submit():
        user_obj = g.user
        user_obj.blog_title = edit_property(user_obj.blog_title,
                                            form.blog_title.data)
        user_obj.email = edit_property(user_obj.email, form.email.data)
        if form.username.data:
            try:
                User.objects.get(username=form.username.data)
                form.username.errors.append('User Exist')
            except(DoesNotExist):
                user_obj.username = form.username.data

        if form.new.data and form.old.data:
            # so user wanted to change his password to
            if not user_obj.change_password(form.old.data, form.new.data):
                form.old.errors.append('Wrong password.')

        elif form.new.data or form.old.data:
            if form.new.data:
                form.new.errors.append('Input old password.')
            else:
                form.old.errors.append('Input new password.')

        user_obj.save()
        flash('Updated')

    return render_template('edit.html', form=form)
def edit_post(pk):
    form = EditPostForm()
    try:
        post_obj = Post.objects.get(pk=pk)
    except(DoesNotExist):
        flash('Does not exist')
        return abort(404)

    if form.validate_on_submit():
        post_obj.post_title = edit_property(post_obj.post_title,
                                            form.post_title.data)
        post_obj.description = edit_property(post_obj.description,
                                             form.description.data)
        post_obj.created_on = datetime.utcnow()
        post_obj.save()
        flash('Edited')
    return render_template('post_edit.html', form=form)