예제 #1
0
def admin_add():
    form = AdminForm()
    form.role_id.choices = [(0, "未选择")] + [(v.id, v.name)
                                           for v in Role.query.all()]
    if form.validate_on_submit():
        data = form.data
        admin = Admin(name=data["name"],
                      pwd=form.pwd.data,
                      role_id=data["role_id"],
                      is_super=1)
        db.session.add(admin)
        db.session.commit()
        flash("添加管理员成功!", "ok")
        oplog = Oplog(admin_id=session["admin_id"],
                      ip=request.remote_addr,
                      reason="添加新管理员:%s" % data["name"])
        db.session.add(oplog)
        db.session.commit()
        return redirect(url_for("admin.admin_add"))
    return render_template("admin/admin_add.html", form=form)
예제 #2
0
파일: views.py 프로젝트: pandatoZOE/Web-_-
def tag_edit(id):
    form = TagForm()
    tag = Tag.query.get_or_404(id)
    if form.validate_on_submit():
        data = form.data
        tag_count = Tag.query.filter_by(name=data["name"]).count()
        if tag.name != data["name"] and tag_count == 1:
            flash("名称已经存在!", "err")
            return redirect(url_for('admin.tag_edit'))
        tag.name = data["name"]
        db.session.add(tag)
        db.session.commit()
        flash("修改标签成功", "ok")
        oplog = Oplog(admin_id=session["admin_id"],
                      ip=request.remote_addr,
                      reason="修改标签%s" % data["name"])
        db.session.add(oplog)
        db.session.commit()
        return redirect(url_for('admin.tag_edit', id=id))
    return render_template("admin/tag_edit.html", form=form, tag=tag)
예제 #3
0
def preview_add():
    form = PreviewForm()

    if form.validate_on_submit():

        data = form.data
        # 变成一个安全的名称
        file_logo = secure_filename(form.logo.data.filename)

        # 如果没有这个文件夹
        if not os.path.exists(app.config['UP_DIR']):
            os.makedirs(app.config["UP_DIR"])
            os.chmod(app.config["UP_DIR"], 'rw')

        logo = change_filename(file_logo)

        # 保存
        form.logo.data.save(app.config["UP_DIR"] + logo)

        preview = Preview(
            title=data['title'],
            logo=logo,

        )
        db.session.add(preview)

        oplog = Oplog(
            ip=request.remote_addr,
            admin_id=session["admin_id"],
            reson='添加预告' + '<' + preview.title + '>',

        )
        db.session.add(oplog)
        db.session.commit()
        flash('添加电影预告成功', 'ok')
        return redirect((url_for('admin.preview_add')))
    username = get_username()
    context = {
        'username': username
    }
    return render_template("admin/preview_add.html", form=form, context=context)
예제 #4
0
def movie_add():
    form = MovieForm()
    if form.validate_on_submit():
        data = form.data
        movie_count = Tag.query.filter_by(name=data['title']).count()
        if movie_count >= 1:
            flash('片名已存在', 'err')
            return redirect(url_for('admin.movie_add'))
        file_url = secure_filename(form.url.data.filename)
        file_logo = secure_filename(form.logo.data.filename)
        if not os.path.exists(app.config['UP_DIR']):
            os.makedirs(app.config['UP_DIR'])  # 创建目录
            os.chmod(app.config['UP_DIR'], stat.S_IRWXU)  # 授权可读写
        url = change_filename(file_url)
        logo = change_filename(file_logo)
        form.url.data.save(app.config['UP_DIR'] + url)
        form.url.data.save(app.config['UP_DIR'] + logo)
        movie = Movie(
            title=data['title'],
            url=url,
            info=data['info'],
            logo=logo,
            star=int(data['star']),
            playnum=0,
            commentnum=0,
            tag_id=int(data['tag_id']),
            area=data['area'],
            release_time=data['release_time'],
            length=data['length']
        )
        oplog = Oplog(
            admin_id=session['admin_id'],
            reason='添加电影:%s' % data['title'],
            ip=request.remote_addr
        )
        db.session.add(movie)
        db.session.add(oplog)
        db.session.commit()
        flash('添加电影成功', 'ok')
        return redirect(url_for('admin.movie_add'))
    return render_template("admin/movie_add.html", form=form)
예제 #5
0
def newsinfo_add():
    form = NewsInfoForm()
    form.tag.choices = [(nt.id, nt.name) for nt in NewsTag.query.all()]
    form.remark.data = "声明:本网所刊载的所有信息,包括文字、图片、软件、声音、相片、录像、图表,广告、商业信息及电子邮件" \
                       "的全部内容,除特别标明之外,版权归中国计算机技术职业资格网所有。未经本网的明确书面许可,任何单位或" \
                       "个人不得以任何方式作全部或局部复制、转载、引用,再造或创造与该内容有关的任何派生产品,否则本网将追究其法律责任。 本网凡特别注明稿件来源的文/图等稿件为转载稿," \
                       "本网转载出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。" \
                       "如对稿件内容有疑议,请及时与我们联系。 如本网转载稿涉及版权问题,请作者在两周内速来电或来函与我们联系,我们将及时按作者意愿予以更正。"
    if form.validate_on_submit():
        data = form.data
        ni = NewsInfo.query.filter_by(title=data["title"]).count()
        if ni == 1:
            flash("此标题已经存在!不能重复添加", "err")
            return redirect(url_for("admin.newsinfo_add"))
        img = ""
        if form.img.data != "":
            info_img = secure_filename(form.img.data.filename)
            if not os.path.exists(app.config["UP_NEWS_INFO_DIR"]):  # 处理文件
                os.makedirs(app.config["UP_NEWS_INFO_DIR"])
                os.chmod(app.config["UP_NEWS_INFO_DIR"], stat.S_IRWXU)
                # stat.S_IRWXU − Read, write, and execute by owner.
            img = change_filename(info_img)  # 处理文件结束
            form.img.data.save(app.config["UP_NEWS_INFO_DIR"] + img)

        newsinfo = NewsInfo(title=data["title"],
                            content=data["info"],
                            view_num=0,
                            admin_id=1,
                            newstag_id=data["tag"],
                            img=img,
                            remark=data["remark"])
        db.session.add(newsinfo)
        db.session.commit()
        flash("添加资讯成功", "OK")
        oplog = Oplog(admin_id=session["admin_id"],
                      ip=request.remote_addr,
                      opdetail="添加了新闻资讯,名为:%s" % (data["title"]))
        db.session.add(oplog)
        db.session.commit()
        return redirect(url_for("admin.newsinfo_add"))
    return render_template("admin/newsinfo_add.html", form=form)
예제 #6
0
def movie_add():
    form = MovieForm()
    if form.validate_on_submit():
        data = form.data
        if Movie.query.filter_by(title=data["title"]).count() == 1:
            flash("影片已经存在!", "err")
            return redirect(url_for("admin.movie_add"))
        file_url = secure_filename(form.url.data.filename)  # 获取并转化为安全的电影文件名
        file_logo = secure_filename(form.logo.data.filename)
        if not os.path.exists(app.config['UP_DIR']):  # 存放目录不存在则创建
            os.makedirs(app.config['UP_DIR'])
            os.chmod(app.config['UP_DIR'], "rw")
        url = change_filename(file_url)  # 调用函数生成新的文件名
        logo = change_filename(file_logo)

        form.url.data.save(app.config['UP_DIR'] + url)  # 保存上传的数据
        form.logo.data.save(app.config['UP_DIR'] + logo)
        admin_id = session["admin_id"]
        logger.info("操作人id:{0}".format(admin_id))
        movie = Movie(title=data["title"],
                      url=url,
                      info=data["info"],
                      logo=logo,
                      star=int(data["star"]),
                      playnum=0,
                      commentnum=0,
                      tag_id=int(data["tag_id"]),
                      area=data["area"],
                      release_time=data["release_time"],
                      length=data["length"],
                      creater_id=admin_id)
        db.session.add(movie)
        db.session.commit()
        flash("添加电影成功!", "ok")
        oplog = Oplog(admin_id=session["admin_id"],
                      ip=request.remote_addr,
                      reason="添加新电影:%s" % data["title"])
        db.session.add(oplog)
        db.session.commit()
        return redirect(url_for("admin.movie_add"))
    return render_template("admin/movie_add.html", form=form)
예제 #7
0
def movie_add():
    form = MovieForm()
    if form.validate_on_submit():
        data = form.data
        # file_url = secure_filename(''.join(lazy_pinyin(form.url.data.filename)))
        # file_logo = secure_filename(''.join(lazy_pinyin(form.logo.data.filename)))
        if not os.path.exists(app.config['MOVIE_DIR']):
            os.makedirs(app.config['MOVIE_DIR'])
            os.chmod(app.config['MOVIE_DIR'], 'rw')
        if not os.path.exists(app.config['LOGO_DIR']):
            os.makedirs(app.config['LOGO_DIR'])
            os.chmod(app.config['LOGO_DIR'], 'rw')
        # url = change_filename(file_url)
        url = form.url.data.filename
        # logo = change_filename(file_logo)
        logo = form.logo.data.filename
        form.url.data.save(app.config['MOVIE_DIR'] + url)
        form.logo.data.save(app.config['LOGO_DIR'] + logo)
        movie = Movie(
            title=data['title'],
            url=url,
            info=data['info'],
            logo=logo,
            star=data['star'],
            playnum=0,
            commentnum=0,
            tag_id=data["tag_id"],
            area=data['area'],
            length=data['length'],
            release_time=data['release_time'],
        )
        db.session.add(movie)
        db.session.commit()
        flash('添加电影成功', 'ok')
        oplog = Oplog(admin_id=session['admin_id'],
                      ip=request.remote_addr,
                      reason='添加一个电影:%s' % data['title'])
        db.session.add(oplog)
        db.session.commit()
        return redirect(url_for('admin.movie_add'))
    return render_template('admin/movie_add.html', form=form)
예제 #8
0
파일: views.py 프로젝트: haha479/movie
def tag_add():
    form = TagForm()
    if form.validate_on_submit():
        data = form.data
        # 通过标签名字段查询数据库中的tag表获取一条查询集
        tag = Tag.query.filter_by(name=data["name"]).count()
        if tag == 1:
            flash("名称已经存在", "err")
            return redirect(url_for('admin.tag_add'))
        tag = Tag(name=data["name"])
        db.session.add(tag)
        db.session.commit()
        # 将此次添加标签的操作数据记录在操作日志数据库中
        oplog = Oplog(admin_id=session["admin_id"],
                      ip=request.remote_addr,
                      reason="添加标签%s" % data["name"])
        db.session.add(oplog)
        db.session.commit()
        flash("添加成功", "ok")
        redirect(url_for('admin.tag_add'))
    return render_template("admin/tag_add.html", form=form)
예제 #9
0
def auth_add():
    form = AuthForm()
    if form.validate_on_submit():
        data = form.data
        auth = Auth(
            name=data["name"],
            url=data["url"]
        )
        db.session.add(auth)
        oplog = Oplog(
            admin_id=session["admin_id"],
            ip=request.remote_addr,
            reason="添加权限控制 "
                   "name: {0} "
                   "url: {1}".format(auth.name, auth.url)
        )
        db.session.add(oplog)
        db.session.commit()
        flash("权限添加成功", "ok")
        return redirect(url_for("admin.auth_add"))
    return render_template("admin/auth_add.html", form=form)
예제 #10
0
def tag_add():
    form = TagForm()
    if form.validate_on_submit():
        data = form.data
        tag = Tag.query.filter_by(name=data["name"]).count()
        if tag == 1:
            flash("标签名称已经存在!", "err")
            return redirect(url_for("admin.tag_add"))
        tag = Tag(name=data["name"])
        db.session.add(tag)
        db.session.commit()
        flash("添加标签成功", "ok")
        # 操作添加标签日记
        oplog = Oplog(admin_id=session["admin_id"],
                      ip=request.remote_addr,
                      reason="添加标签: %s" % data["name"])
        # 添加到数据库
        db.session.add(oplog)
        db.session.commit()
        return redirect(url_for("admin.tag_add"))
    return render_template('admin/tag_add.html', form=form)
예제 #11
0
def tag_add():
    form = TagForm()
    if form.validate_on_submit():
        data = form.data
        tag = Tag.query.filter_by(name=data['name']).count()
        if tag == 1:
            flash('名称已存在', 'err')
            return redirect(url_for('admin.tag_add'))
        tag = Tag(name=data['name'])
        db.session.add(tag)
        db.session.commit()
        flash('添加标签成功', 'ok')
        oplog = Oplog(
            admin_id=session['admin_id'],
            ip=request.remote_addr,
            reason="添加标签:%s" % data['name'],
        )
        db.session.add(oplog)
        db.session.commit()
        return redirect(url_for('admin.tag_add'))
    return render_template("admin/tag_add.html", form=form)
예제 #12
0
def role_add():
    form = RoleForm()
    # 在 forms 里面查出的 auths 不会自动更新的 后期看看有没有其他方法 没有的话就用这个吧。
    # form.auths.choices = [(i.id, i.name) for i in Auth.query.all()]
    if form.validate_on_submit():
        data = form.data
        role = Role(
            name=data["name"],
            auths=",".join(map(lambda i: str(i), data["auths"]))
        )
        db.session.add(role)
        oplog = Oplog(
            admin_id=session["admin_id"],
            ip=request.remote_addr,
            reason="添加角色:{0}".format(role.name)
        )
        db.session.add(oplog)
        db.session.commit()
        flash("添加角色成功", "ok")
        return redirect(url_for("admin.role_add"))
    return render_template("admin/role_add.html", form=form)
예제 #13
0
파일: views.py 프로젝트: xudan0812/Gitflix
def tag_add():
    form = TagForm()
    if form.validate_on_submit():
        data = form.data
        tagCount = Tag.query.filter_by(name=data["tagName"]).count()
        if tagCount == 1:
            flash("Tag already exists", "err")
            return redirect(url_for("admin.tag_add"))
        tag = Tag(name=data["tagName"])
        db.session.add(tag)
        db.session.commit()
        flash("Successfully added", "ok")

        oplog = Oplog(admin_id=session["admin_id"],
                      ip=request.remote_addr,
                      reason="Tag added : %s" % data["tagName"])
        db.session.add(oplog)
        db.session.commit()

        return redirect(url_for("admin.tag_add"))
    return render_template("admin/tag_add.html", form=form)
예제 #14
0
파일: views.py 프로젝트: sjtuzyl/movie
def role_edit(id=None):
    form = RoleForm()
    role = Role.query.get_or_404(int(id))
    if request.method == 'GET':
        auths = role.auths
        form.auths.data = list(map(lambda v: int(v), auths.split(',')))
    if form.validate_on_submit():
        data = form.data
        role.name = data['name']
        role.auths = ','.join(map(lambda v: str(v), data['auths']))
        db.session.add(role)
        db.session.commit()
        oplog = Oplog(admin_id=session['admin_id'],
                      ip=request.remote_addr,
                      reason='管理员%s修改角色%s的相关信息' %
                      (session['admin'], data['name']))
        db.session.add(oplog)
        db.session.commit()
        flash('修改角色成功!', 'ok')
        return redirect(url_for('admin.role_edit', id=id))
    return render_template('admin/role_edit.html', form=form, role=role)
예제 #15
0
파일: views.py 프로젝트: sjtuzyl/movie
def preview_add():
    form = PreviewForm()
    if form.validate_on_submit():
        data = form.data
        file_logo = secure_filename(form.logo.data.filename)
        if not os.path.exists(app.config["UP_DIR"]):
            os.makedirs(app.config["UP_DIR"])
            os.chmod(app.config["UP_DIR"], "rw")
        logo = change_filename(file_logo)
        form.logo.data.save(app.config["UP_DIR"] + logo)
        preview = Preview(title=data["title"], logo=logo)
        db.session.add(preview)
        db.session.commit()
        oplog = Oplog(admin_id=session['admin_id'],
                      ip=request.remote_addr,
                      reason='管理员%s添加预告%s' % (session['admin'], data['title']))
        db.session.add(oplog)
        db.session.commit()
        flash("添加预告成功!", "ok")
        return redirect(url_for('admin.preview_add'))
    return render_template('admin/preview_add.html', form=form)
예제 #16
0
def tag_add():
    form = TagForm()
    if form.validate_on_submit():
        data = form.data
        tag = Tag.query.filter_by(name=data['name']).count()
        if tag >= 1:
            flash("名称已经存在", "err")
            return redirect(url_for('admin.tag_add'))
        tag = Tag(name=data['name'])
        db.session.add(tag)
        db.session.commit()
        flash("添加标签成功", "ok")
        oplog = Oplog(admin_id=session['admin_id'],
                      ip=request.remote_addr,
                      reason="添加标签{}".format(data['name']))
        db.session.add(oplog)
        db.session.commit()

        redirect(url_for('admin.tag_add'))

    return render_template("admin/tag_add.html", form=form)
예제 #17
0
def addrole():
    form = RoleForm()
    if form.validate_on_submit():
        data = form.data
        role = Role.query.filter_by(name=data["name"]).count()
        if role == 1:
            flash("该角色已经存在", 'err')
            return redirect(url_for('admin.addrole'))
        role = Role(name=data['name'],
                    auths=",".join(map(lambda v: str(v), data['auths'])))
        db.session.add(role)
        db.session.commit()
        flash("角色添加成功!", "ok")
        oplog = Oplog(admin_id=session['admin_id'],
                      ip=request.remote_addr,
                      reason="添加%s角色成功!" % data["name"])
        db.session.add(oplog)
        db.session.commit()
        redirect(url_for("admin.addrole"))

    return render_template('admin/add_role.html', form=form)
예제 #18
0
def add_admin():
    if not request.json or not 'name' in request.json or not 'password' in request.json:
        return jsonify({'status': 400})

    name = request.json['name']
    password = request.json['password']

    result = User.query.filter_by(name=name).count()
    if result is not 0:
        return jsonify({'flag': 'error', 'reason': '该账号已经注册', 'status': 400})

    admin = User(name=name, password=password, role=ADMINISTRATOR)
    db.session.add(admin)
    op_log = Oplog(id=g.user_id, reason='添加管理员')
    db.session.add(op_log)
    db.session.commit()

    return jsonify({
        'flag': 'success',
        'status': 200,
    })
예제 #19
0
def tag_add():
    from app.models import db
    form = TagForm()
    if form.validate_on_submit():
        data = form.data
        tag = Tag.query.filter_by(name=data["name"]).count()
        if tag == 1:
            flash("名称已经存在!", "err")
            return redirect(url_for('admin.tag_add'))
        tag = Tag(name=data["name"])
        db.session.add(tag)
        db.session.commit()
        flash("添加标签成功!", "ok")
        oplog = Oplog(admin_id=session["admin_id"],
                      ip=request.remote_addr,
                      reason="添加标签%s" % data["name"])
        db.session.add(oplog)
        db.session.commit()

        redirect(url_for('admin.tag_add'))
    return render_template("admin/tag_add.html", form=form)
예제 #20
0
def tag_add():
    form = TagForm()
    # print(form.name.errors)
    if form.validate_on_submit():
        data = form.data
        tag = Tag.query.filter_by(name=data["name"]).count()  # 数据库查找信息
        if tag == 1:
            flash("名称已经存在!", "err")
            return redirect(url_for('admin.tag_add'))
        tag = Tag(name=data["name"])
        db.session.add(tag)
        db.session.commit()
        # 添加 管理员增加标签log日志
        oplog = Oplog(admin_id=session["admin_id"],
                      ip=request.remote_addr,
                      reason="添加标签%s" % data["name"])
        db.session.add(oplog)
        db.session.commit()
        flash("标签添加成功", "ok")  # 闪现消息
        redirect(url_for("admin.tag_add"))
    return render_template("admin/tag_add.html", form=form)
예제 #21
0
def auth_edit(id=None):
    form = AuthForm()
    auth = Auth.query.get_or_404(id)
    if form.validate_on_submit():
        data = form.data
        auth_count = Auth.query.filter_by(name=data["name"]).count()
        if auth.name != data['name'] and auth_count == 1:
            flash("名称已经存在!", "err")
            return redirect(url_for('admin.auth_edit', id=id))
        auth.name = data['name']
        auth.url = data['url']
        db.session.add(auth)
        db.session.commit()
        flash("修改权限成功!", 'ok')
        oplog = Oplog(admin_id=session["admin_id"],
                      ip=request.remote_addr,
                      reason="修改权限:{}".format(data["name"], ))
        db.session.add(oplog)
        db.session.commit()
        redirect(url_for('admin.auth_edit', id=id))
    return render_template("admin/auth_edit.html", form=form, auth=auth)
예제 #22
0
def role_add():
    form = RoleForm()
    form.auths.choices = [(0, '未选择')] + [(v.id, v.name)
                                         for v in Auth.query.all()]

    print(form.auths.choices, '草草草')
    if form.validate_on_submit():
        data = form.data
        role = Role(name=data["name"],
                    auths=",".join(map(lambda v: str(v), data["auths"])))
        db.session.add(role)
        db.session.commit()
        flash("添加角色成功!", "ok")
        oplog = Oplog(admin_id=session["admin_id"],
                      ip=request.remote_addr,
                      reason="添加新角色:%s" % data["name"])
        db.session.add(oplog)
        db.session.commit()
        return redirect(url_for("admin.role_add"))

    return render_template('admin/role_add.html', form=form)
예제 #23
0
def tag_edit(id=None):
    form = TagForm()
    tag = Tag.query.get_or_404(id)
    if form.validate_on_submit():
        data = form.data
        tag_conut = Tag.query.filter_by(name=data['name']).count()
        if tag.name != data['name'] and tag_conut == 1:
            flash('标签已经存在!', 'err')
            return redirect(url_for('admin.tag_edit', id=id))
        tag_name = tag.name
        tag.name = data['name']
        db.session.add(tag)
        db.session.commit()
        flash('修改标签成功!', 'ok')
        oplog = Oplog(admin_id=session['admin_id'],
                      ip=request.remote_addr,
                      reason='标签" %s "修改为" %s "' % (tag_name, data['name']))
        db.session.add(oplog)
        db.session.commit()
        return redirect(url_for('admin.tag_edit', id=id))
    return render_template('admin/tag_edit.html', form=form, tag=tag)
예제 #24
0
def movie_del(id=None):
    if id:
        movie = Movie.query.filter_by(id=id).first_or_404()
        file_save_path = app.config['UP_DIR']  # 文件上传保存路径
        # 同时删除之前上传的文件和封面
        if os.path.exists(os.path.join(file_save_path, movie.url)):
            os.remove(os.path.join(file_save_path, movie.url))
        if os.path.exists(os.path.join(file_save_path, movie.logo)):
            os.remove(os.path.join(file_save_path, movie.logo))

        db.session.delete(movie)
        db.session.commit()
        flash('删除电影成功', category='ok')
        oplog = Oplog(
            admin_id=session['admin_id'],
            ip=request.remote_addr,
            reason='删除电影:%s' % movie.title
        )
        db.session.add(oplog)
        db.session.commit()
    return redirect(url_for('admin.movie_list', page=1))
예제 #25
0
def tag_edit(id=None):
    form = TagForm()
    tag = Tag.query.get_or_404(id)
    if form.validate_on_submit():
        data = form.data
        tag_count = Tag.query.filter_by(name=data['name']).count()
        if tag.name != data['name'] and tag_count == 1:
            flash('标签名称已存在', category='err')
            return redirect(url_for('admin.tag_edit', id=id))
        tag.name = data['name']
        db.session.commit()
        flash('标签修改成功', category='ok')
        oplog = Oplog(
            admin_id=session['admin_id'],
            ip=request.remote_addr,
            reason='修改标签:%s' % data['name']
        )
        db.session.add(oplog)
        db.session.commit()
        return redirect(url_for('admin.tag_edit', id=id))
    return render_template('admin/tag_edit.html', form=form, tag=tag)
예제 #26
0
def newstag_add():
    form = NewsTagForm()
    # 每次刷新列表
    form.category.choices = [(v.id, v.name) for v in NewsCategory.query.all()]
    if form.validate_on_submit():
        data = form.data
        nt = NewsTag.query.filter_by(name=data["name"]).count()
        if nt == 1:
            flash("此标签名已经存在!不能重复添加", "err")
            return redirect(url_for("admin.newstag_add"))
        newstag = NewsTag(name=data["name"], newscategory_id=data["category"])
        db.session.add(newstag)
        db.session.commit()
        flash("添加标签成功", "OK")
        oplog = Oplog(admin_id=session["admin_id"],
                      ip=request.remote_addr,
                      opdetail="添加了新闻标签,名为:%s" % (data["name"]))
        db.session.add(oplog)
        db.session.commit()
        return redirect(url_for("admin.newstag_add"))
    return render_template("admin/newstag_add.html", form=form)
예제 #27
0
def movieadd():
    form = MoiveForm()
    if form.validate_on_submit():
        data = form.data
        #格式化文件名
        file_url = secure_filename(form.url.data.filename)
        file_logo = secure_filename(form.logo.data.filename)

        if not os.path.exists(app.config["UP_DIR"]):  # 判断目录是否存在
            os.makedirs(app.config["UP_DIR"])
            os.chmod(app.config["UP_DIR"], "rw")
        url = change_filename(file_url)
        logo = change_filename(file_logo)

        form.url.data.save(app.config["UP_DIR"] + url)
        form.logo.data.save(app.config["UP_DIR"] + logo)

        moive = Moive(title=data["title"],
                      url=url,
                      info=data["info"],
                      logo=logo,
                      start=int(data["start"]),
                      tag_id=int(data["tag_id"]),
                      playnum=0,
                      commentnum=0,
                      area=data["area"],
                      length=data["length"],
                      release_time=data["release_time"])
        db.session.add(moive)
        db.session.commit()
        flash("电影添加成功!", "ok")
        oplog = Oplog(admin_id=session['admin_id'],
                      ip=request.remote_addr,
                      reason="添加电影成功%s" % data['title'])
        db.session.add(oplog)
        db.session.commit()

        return redirect(url_for("admin.movieadd"))

    return render_template('admin/movie_add.html', form=form)
예제 #28
0
def preview_edit(id=None):
    form = PreviewForm()
    form.logo.validators = []
    preview = Preview.query.get_or_404(id)
    page = page_data.page if page_data is not None else 1
    if form.validate_on_submit():
        data = form.data
        preview_count = Preview.query.filter_by(title=data["title"]).count()
        if preview_count == 1 and preview.title != data['title']:
            flash("预告标题已经存在!", "err")
            return redirect(url_for("admin.preview_edit", id=id))

        if not os.path.exists(app.config['UP_DIR']):
            os.makedirs(app.config['UP_DIR'])
            os.chmod(app.config['UP_DIR'], "rw")

        if form.logo.data.filename != '':
            old_logo = preview.logo
            file_logo = secure_filename(form.logo.data.filename)
            preview.logo = change_filename(file_logo)
            form.logo.data.save(app.config['UP_DIR'] + preview.logo)
            if os.path.exists(app.config['UP_DIR'] + old_logo):
                os.remove(app.config['UP_DIR'] + old_logo)

        oplog = Oplog(admin_id=session["admin_id"],
                      ip=request.remote_addr,
                      reason="修改电影预告:%s(原名:%s)" %
                      (data["title"], preview.title))
        db.session.add(oplog)
        db.session.commit()

        preview.title = data["title"]
        db.session.add(preview)
        db.session.commit()
        flash("修改预告成功!", "ok")
        return redirect(url_for("admin.preview_list", page=page))
    return render_template("admin/preview_edit.html",
                           form=form,
                           preview=preview,
                           page=page)
예제 #29
0
def auth_edit(id=None):
    auth = Auth.query.get_or_404(int(id))
    form = AuthForm()
    if form.validate_on_submit():
        data = form.data
        auth_count = Auth.query.filter_by(name=data['name']).count()
        if auth.name != data['name'] and auth_count == 1:
            flash('权限名称已存在', category='err')
            return redirect(url_for('admin.auth_edit', id=id))
        auth.name = data['name']
        auth.url = data['url']
        db.session.commit()
        flash('权限修改成功', category='ok')
        oplog = Oplog(
            admin_id=session['admin_id'],
            ip=request.remote_addr,
            reason='修改权限:%s' % data['name']
        )
        db.session.add(oplog)
        db.session.commit()
        return redirect(url_for('admin.auth_edit', id=id))
    return render_template('admin/auth_edit.html', form=form, auth=auth)
예제 #30
0
def tlevel_edit(id=None):
    form = TlevelForm()
    tlevel = Tlevel.query.get_or_404(id)
    old_level = tlevel.level
    if form.validate_on_submit():
        data = form.data
        tl = Tlevel.query.filter_by(level=data["level"]).count()
        if tlevel.level != data["level"] and tl == 1:
            flash("此级别已经存在!不能重复添加", "err")
            return redirect(url_for("admin.tlevel_edit", id=id))
        tlevel.level = data["level"]
        db.session.add(tlevel)
        db.session.commit()
        flash("修改级别成功", "OK")
        oplog = Oplog(admin_id=session["admin_id"],
                      ip=request.remote_addr,
                      opdetail="修改了考试级别,原级别名为:%s,新级别名为:%s" %
                      (old_level, data["level"]))
        db.session.add(oplog)
        db.session.commit()
        return redirect(url_for("admin.tlevel_edit", id=id))
    return render_template("admin/tlevel_edit.html", form=form, tlevel=tlevel)