Ejemplo n.º 1
0
def test_init():
    user1 = User('alice', '123', 'alice@email')
    user2 = User('admin', '123', 'admin@email')
    db.session.add(user1)
    db.session.flush()
    db.session.commit()
    user2.isAdmin = 1
    db.session.add(user2)
    db.session.flush()
    db.session.commit()
    feed1 = Feedback("msg1")
    db.session.add(feed1)
    db.session.flush()
    db.session.commit()
    feed2 = Feedback("msg2")
    db.session.add(user2)
    db.session.flush()
    db.session.commit()
    rep1 = Report(1, 1, "msg1")
    db.session.add(feed1)
    db.session.flush()
    db.session.commit()
    rep2 = Report(1, 1, "msg2")
    db.session.add(rep2)
    db.session.flush()
    db.session.commit()
    return "success"
Ejemplo n.º 2
0
def report():
    user_name = request.cookies.get("user_name")
    current_user = User.query.filter(User.username == user_name).all()[0]
    msg = request.values.get('msg', type=str, default=None)
    #被举报者id
    reported_id = request.values.get('reported_id', type=int, default=None)
    #举报内容,0,1,2,3分别代表 昵称、头像、座右铭、笔记文件
    to_report = request.values.get('to_report', type=int, default=None)
    #文件号,如果to_report=3则必填
    file_id = request.values.get('file_id', type=str, default=None)
    #是否匿名,取0 or 1
    anonymous = request.values.get('anonymous', type=int, default=None)
    return_json = {'code': 900, 'data': {}}
    #被举报者不存在
    if not User.query.get(reported_id):
        return_json['code'] = 400
        return_json['data']['msg'] = "User does not exists"
        return jsonify(return_json)
    #举报内容为文件,文件号为空
    if to_report == 3 and file_id == None:
        return_json['code'] = 900
        return_json['data']['msg'] = "Error: file_id empty"
        return jsonify(return_json)
    # msg非法
    if msg == None:
        return_json['data'][
            'msg'] = "message can not be None or Too long(over 200 bytes)"
        return jsonify(return_json)
    elif len(msg) == 0 or len(msg) > MAXMSG:
        return_json['data'][
            'msg'] = "message can not be None or Too long(over 200 bytes)"
        return jsonify(return_json)

    else:  #msg合法
        my_id = current_user.id
        if anonymous == 0:
            my_id = -1
        my_report = Report(reported_id, to_report, msg, file_id, my_id)
        try:
            db.session.add(my_report)
            db.session.flush()
            db.session.commit()
        except:
            return_json['code'] = 300
            return_json['data']['msg'] = 'Database error'
            return jsonify(return_json)
        return_json['code'] = 200
        return_json['data']['msg'] = "report success"
        return jsonify(return_json)