Exemple #1
0
 def post(self):
     username = request.form.get('username')
     telephone = request.form.get('telephone')
     password1 = request.form.get('password1')
     password2 = request.form.get('password2')
     remember = request.form.get('remember')
     if telephone:
         user = FrontUser.query.filter_by(telephone=telephone).first()
         if user and user.check_password(password1):
             session[FRONT_USER_ID] = user.id
             if remember:
                 # 开启session过期时间
                 session.permanent = True
             return restful.success()
         else:
             return restful.params_error()
     if username:
         user = FrontUser.query.filter_by(username=username).first()
         if user and user.check_password(password2):
             session[FRONT_USER_ID] = user.id
             if remember:
                 # 开启session过期时间
                 session.permanent = True
             return restful.success()
         else:
             return restful.params_error()
     return restful.unauth_error()
Exemple #2
0
def comment():
    if request.method == 'POST':
        comment_id = request.form.get('id')
        comment = Comment.query.get(comment_id)
        if comment:
            db.session.delete(comment)
            db.session.commit()
            return restful.success()
        else:
            return restful.params_error('这条评论不存在')

    if request.method == 'GET':
        page = request.args.get(get_parameter('p'), type=int, default=1)
        start = (page - 1) * 10
        end = start + 10
        total = Comment.query.count()
        comments = Comment.query.slice(start, end)
        pagination = Pagination(page_parameter="p",
                                p=page,
                                bs_version=3,
                                total=total,
                                outer_window=0)
        return render_template("cms/cms_comment.html",
                               comments=comments,
                               pagination=pagination)
Exemple #3
0
 def post(self):
     form = ResetEmailForm(request.form)
     if form.validate():
         email = form.email.data
         g.cms_user.email = email
         db.session.commit()
         return restful.success()
     else:
         return restful.params_error(form.get_error())
Exemple #4
0
def dplate():
    plate_id = request.form.get('id')
    plate_ = Plate.query.get(plate_id)
    if plate_:
        db.session.delete(plate_)
        db.session.commit()
        return restful.success()
    else:
        return restful.params_error('该板块不存在')
Exemple #5
0
def dbanner():
    banner_id = request.form.get('id')
    banner = Banner.query.get(banner_id)
    if banner:
        db.session.delete(banner)
        db.session.commit()
        return restful.success()
    else:
        return restful.params_error('轮播图不存在')
Exemple #6
0
def abanner():
    name = request.form.get('name')
    image = request.form.get('image')
    url = request.form.get('url')
    priority = request.form.get('priority')
    banner = Banner(name=name, image=image, url=url, priority=priority)
    db.session.add(banner)
    db.session.commit()
    return restful.success()
Exemple #7
0
 def post(self):
     newpwd = request.form.get('newpwd')
     oldpwd = request.form.get('oldpwd')
     user = g.cms_user
     if user.check_password(oldpwd):
         user.password = newpwd
         db.session.commit()
         return restful.success("密码修改成功!", )
     else:
         return restful.params_error("旧密码错误")
Exemple #8
0
def norpost():
    post_id = request.form.get('id')
    if not post_id:
        return restful.params_error('请传入帖子ID')
    post = Post.query.get(post_id)
    if post:
        post.recommend = False
        db.session.commit()
        return restful.success()
    return restful.params_error('该帖子不存在')
Exemple #9
0
def uplate():
    plate_id = request.form.get('id')
    plate_name = request.form.get('name')
    plate_ = Plate.query.get(plate_id)
    if plate_:
        plate_.name = plate_name
        db.session.commit()
        return restful.success()
    else:
        return restful.params_error("该板块不存在")
Exemple #10
0
def email_captcha():
    email = request.args.get('email')
    captcha = list(string.ascii_letters)
    captcha.extend(map(lambda x: str(x), range(0, 10)))
    captcha = ''.join(random.sample(captcha, 6))
    user = g.cms_user
    try:
        send_mail.delay("达尼论坛验证码", [email], captcha, user.username, '更改邮箱')
        memcache.set(email, captcha)
    except:
        return restful.params_error('此邮箱不存在')
    return restful.success()
Exemple #11
0
def dpost():
    post_id = request.form.get('id')
    if not post_id:
        return restful.params_error('请传入帖子ID')
    post = Post.query.get(post_id)
    if post:
        for comment in post.comments:
            db.session.delete(comment)
        db.session.delete(post)
        db.session.commit()
        return restful.success()
    return restful.params_error('该帖子不存在')
Exemple #12
0
def comment():
    content = request.form.get('content')
    post_id = request.form.get('post_id')
    post = Post.query.get(post_id)
    if post:
        comment = Comment(content=content)
        comment.post = post
        comment.author = g.front_user
        db.session.add(comment)
        db.session.commit()
        return restful.success()
    return restful.params_error('该帖子不存在')
Exemple #13
0
def ubanner():
    name = request.form.get('name')
    image = request.form.get('image')
    url = request.form.get('url')
    priority = request.form.get('priority')
    banner_id = request.form.get('id')
    banner = Banner.query.get(banner_id)
    if banner:
        banner.name = name
        banner.image = image
        banner.url = url
        banner.priority = priority
        db.session.commit()
        return restful.success()
    else:
        return restful.params_error('轮播图不存在')
Exemple #14
0
def send_sms():
    telephone = request.form.get('telephone')
    token = request.form.get("token")
    authenticate = request.form.get("authenticate")
    check_ret = yprequest.check_ticket(token, authenticate)
    user = FrontUser.query.filter_by(telephone=telephone).first()
    if not user:
        if check_ret.get("code") == 0:
            captcha = ''.join(random.sample(list(string.digits), 6))
            result = send_sms_captcha(telephone, captcha)
            memcache.set(telephone, captcha, timeout=300)
            if result.get('Code') == 'OK':
                return restful.success()
            else:
                return restful.unauth_error()
        else:
            return restful.server_error()
    return restful.params_error()
Exemple #15
0
def post():
    if request.method == 'GET':
        plates = Plate.query.all()
        return render_template('front/post.html', plates=plates)

    if request.method == 'POST':
        title = request.form.get("title")
        text = request.form.get("text")
        plate_id = request.form.get("plate_id")
        plate = Plate.query.get(plate_id)
        if plate:
            plate.post_num = plate.post_num + 1
            post = Post(title=title, content=text)
            post.author = g.front_user
            post.plate = plate
            db.session.add(post)
            db.session.commit()
            url_go = url_for('front.details', post_id=post.id)
            return restful.success(data={"url_go": url_go})
        return restful.params_error('没有这个板块')
Exemple #16
0
    def post(self):
        username = request.form.get('username')
        password = request.form.get('password')
        telephone = request.form.get('telephone')
        smscaptcha = request.form.get('smscaptcha')
        user = FrontUser.query.filter_by(username=username).first()

        if not user:
            memcached_captcha = memcache.get(telephone)
            if not memcached_captcha or smscaptcha != memcached_captcha:
                return restful.unauth_error('短信验证码错误')
            else:
                newuser = FrontUser(telephone=telephone,
                                    password=password,
                                    username=username)
                db.session.add(newuser)
                db.session.commit()
                return restful.success()
        else:
            return restful.params_error('昵称已被使用')
Exemple #17
0
def aplate():
    name = request.form.get('name')
    plate_ = Plate(name=name)
    db.session.add(plate_)
    db.session.commit()
    return restful.success()