예제 #1
0
def edit(request):
    weibo_id = int(request.query.get('id', -1))
    w = Weibo.find(weibo_id)
    user = current_user(request)

    # 生成一个 edit 页面
    body = template('weibo_edit.html', weibo=w, user=user)
    return http_response(body)
예제 #2
0
def update(request):
    form = request.form()
    content = form.get('content', '')
    weibo_id = int(form.get('id', -1))
    w = Weibo.find(weibo_id)
    w.content = content
    w.save()
    # 重定向到用户的主页
    return redirect('/weibo/index')
예제 #3
0
def delete(request):
    uid = current_user(request)
    user = User.find(uid)
    # 删除微博
    weibo_id = request.query.get('id', None)
    weibo_id = int(weibo_id)
    w = Weibo.find(weibo_id)
    w.delete()
    return redirect('/weibo/index?user_id={}'.format(user.id))
예제 #4
0
def comment_add(request):
    u = current_user(request)
    # 创建微博
    form = request.form()
    c = Comment.new(form)
    c.user_id = u.id
    c.save()
    log('comment add', c, u, form)
    weibo = Weibo.find(id=int(form['weibo_id']))
    return redirect('/weibo/index?user_id={}'.format(weibo.user_id))
예제 #5
0
def edit(request):
    weibo_id = request.query.get('id', -1)
    if weibo_id is None:
        weibo_id = current_user(request)
    weibo_id = int(weibo_id)
    w = Weibo.find(weibo_id)
    if w is None:
        return error(request)
    # 生成一个 edit 页面
    body = template('weibo_edit.html', weibo=w)
    return http_response(body)
예제 #6
0
def comment_delete(request):
    u = current_user(request)
    # 删除微博
    comment_id = int(request.query.get('id', None))
    c = Comment.find(comment_id)
    log('comment_delete 1', c.user_id)
    w = Weibo.find(c.weibo_id)
    log('comment_delete 2', w.user_id)
    if c.user_id == u.id or w.user_id == u.id:
        Comment.delete(comment_id)
    return redirect('/weibo/index')
예제 #7
0
def delete():
    weibo_id = int(request.args.get('id'))
    item = Weibo.find(weibo_id)
    if same_user_required(item):
        t = Weibo.delete(weibo_id)
        comments = Comment.find_all(weibo_id=str(weibo_id))
        for c in comments:
            Comment.delete(c.id)
        return jsonify(t.json())
    else:
        pass
예제 #8
0
def update(request):
    """
    用于更新 weibo 的路由函数
    """
    if request.method == 'POST':
        # 'title=aaa' ==> {'title': 'aaa'}
        form = request.form()
        weibo_id = int(request.query.get('id', -1))
        w = Weibo.find(weibo_id)
        w.content = form.get('content', w.content)
        w.save()
    return redirect('/weibo')
예제 #9
0
def delete(request):
    uname = current_user(request)
    u = User.find_by(username=uname)
    if u is None:
        return redirect('/login')
    weibo_id = int(request.query.get('id', -1))
    w = Weibo.find(weibo_id)
    if w.user_id != u.id:
        return redirect('/login')
    if w is not None:
        w.delete()
    return redirect('/weibo')
예제 #10
0
 def f(request):
     log('same user required', request)
     u = current_user(request)
     if request.method == 'GET':
         webbo_id = int(request.query.get('id'))
     else:
         webbo_id = int(request.form().get('id'))
     w = Weibo.find(webbo_id)
     if w.is_owner(u.id):
         return route_function(request)
     else:
         return redirect('/login')
예제 #11
0
def edit(request):
    u = current_user(request)
    weibo_id = int(request.query.get('id', -1))
    w = Weibo.find(weibo_id)
    # 若当前用户为微博作者,允许编辑
    if w.user_id == u.id:
        # 生成一个 edit 页面
        body = template('weibo_edit.html',
                        weibo_id=w.id,
                        weibo_content=w.content)
        return http_response(body)
    # 重定向到用户微博的主页
    else:
        return redirect('/weibo/index')
예제 #12
0
def test_tweet():
    # 用户 1 发微博
    form = {'content': 'hello tweet'}
    t = Weibo(form, 1)
    t.save()
    # 用户 2 评论微博
    form = {'content': '楼主说得对'}
    c = Comment(form, 2)
    c.tweet_id = 1
    c.save()
    # 取出微博 1 的所有评论
    t = Weibo.find(1)
    print('comments, ', t.comments())
    pass
예제 #13
0
def update(request):
    u = current_user(request)
    form = request.form()
    content = form.get('content', '')
    weibo_id = int(form.get('id', -1))
    w = Weibo.find(weibo_id)
    # 若当前用户为微博作者,允许更新
    if w.user_id == u.id:
        w.content = content
        w.save()
        # 重定向到用户微博的主页
        return redirect('/weibo/index')
    # 否则返回 404 错误
    else:
        return error(request)
예제 #14
0
def update(request):
    uid = current_user(request)
    user = User.find_by(id=uid)
    form = request.form()
    content = form.get('content', '')
    weibo_id = int(form.get('id', -1))
    if weibo_id == -1:
        weibo_id = int(request.query.get('id', -1))
    w = Weibo.find(weibo_id)
    if user.id != w.user_id:
        return error(request)
    w.content = content
    w.save()
    # 重定向到用户的主页
    return redirect('/weibo/index?user_id={}'.format(user.id))
예제 #15
0
def edit(request):
    """
    weibo edit 的路由函数
    """
    uname = current_user(request)
    u = User.find_by(username=uname)
    if u is None:
        return redirect('/login')
    # 得到当前编辑的 weibo 的 id
    weibo_id = int(request.query.get('id', -1))
    w = Weibo.find(weibo_id)
    if w is None:
        return error(request)
    # 权限
    if w.user_id != u.id:
        return redirect('/login')
    body = template('weibo_edit.html', weibo=w)
    return http_response(body)
예제 #16
0
    def f(request):
        log('comment user required', request)
        u = current_user(request)
        if request.method == 'GET':
            comment_id = int(request.query.get('id'))
        else:
            comment_id = int(request.form().get('id'))

        c = Comment.find(comment_id)
        if route_function == comment_delete:
            if c.is_owner(u.id) or Weibo.find(c.weibo_id).user_id == u.id:
                return route_function(request)
            else:
                return redirect('/login')

        else:
            if c.is_owner(u.id):
                return route_function(request)
            else:
                return redirect('/login')
예제 #17
0
def edit(request):
    weibo_id = int(request.query.get('id', -1))
    w = Weibo.find(weibo_id)
    # 生成一个 edit 页面
    body = template('weibo_edit.html', weibo_id=w.id, weibo_content=w.content)
    return http_response(body)
예제 #18
0
파일: weibo.py 프로젝트: zjy45/weibo
def delete():
    id = int(request.args.get('id'))
    w = Weibo.find(id)
    if current_user().id == w.user_id:
        w.delete()
    return redirect(url_for('.index'))
예제 #19
0
def comment_all(request):
    weibo_id = int(request.query.get('id'))
    w = Weibo.find(weibo_id)
    comments = w.comments()
    cs = [c.json() for c in comments]
    return json_response(cs)
예제 #20
0
def edit(request):
    weibo_id = int(request.query.get('id', -1))
    w = Weibo.find(weibo_id)
    # 替换模板文件中的标记字符串
    body = template('weibo_edit.html', weibo=w)
    return http_response(body)