示例#1
0
def ad_tec():
    if request.method == 'GET':
        return render_template('ad_tec.html', tinfo=database.query('Teacher'))
    op = request.form.get('op')
    if op == 'new':
        attrib = {x: request.form.get(x) for x in ['tno', 'tid', 'tname', 'tsex', 'tdept', 'ttel', 'tmail']}
        attrib['tpwd'] = DFT_PWD
        database.new_cell('Teacher', **attrib)
        flash('添加成功')
        return redirect(url_for('ad_tec'))
    elif op == 'delete':
        database.delete_cell('Teacher', tno=request.form.get('tno'))
        flash('删除成功')
        return redirect(url_for('ad_tec'))
    elif op == 'tno':
        tinfo = database.query('Teacher', tno=request.form.get('tno'))
        flash('检索成功')
        return render_template('ad_tec.html', tinfo=tinfo)
    elif op == 'tname':
        tinfo = database.query('Teacher', tname=request.form.get('tname'))
        flash('检索成功')
        return render_template('ad_tec.html', tinfo=tinfo)
    elif op == 'pwd':
        database.modify_cell('Teacher', tno=request.form.get('tno'), tpwd=request.form.get('pwd'))
        flash('修改成功')
        return redirect(url_for('ad_tec'))
    else:
        raise Exception('非法操作')
示例#2
0
def ad_jw():
    if request.method == 'GET':
        return render_template('ad_jw.html', tinfo=database.query('Teacher'))
    op = request.form.get('op')
    if op == 'new':
        attrib = {x: request.form.get(x) for x in ['jno', 'jid', 'jname', 'jtel', 'jmail']}
        attrib['jpwd'] = DFT_PWD
        database.new_cell('Jiaowu', **attrib)
        flash('添加成功')
        return redirect(url_for('ad_jw'))
    elif op == 'delete':
        database.delete_cell('Jiaowu', jno=request.form.get('jno'))
        flash('删除成功')
        return redirect(url_for('ad_jw'))
    elif op == 'jno':
        jinfo = database.query('Jiaowu', jno=request.form.get('jno'))
        flash('检索成功')
        return render_template('ad_jw.html', jinfo=jinfo)
    elif op == 'jname':
        jinfo = database.query('Jiaowu', jname=request.form.get('jname'))
        flash('检索成功')
        return render_template('ad_jw.html', jinfo=jinfo)
    elif op == 'pwd':
        database.modify_cell('Jiaowu', jno=request.form.get('jno'), jpwd=request.form.get('pwd'))
        flash('修改成功')
        return redirect(url_for('ad_jw'))
    else:
        raise Exception('非法操作')
示例#3
0
def ad_stu():
    if request.method == 'GET':
        return render_template('ad_stu.html', sinfo=database.query('Student'))
    op = request.form.get('op')
    if op == 'new':
        attrib = {x: request.form.get(x) for x in ['sno', 'sid', 'sname', 'ssex', 'sdept', 'stel']}
        attrib['spwd'] = DFT_PWD
        database.new_cell('Student', **attrib)
        flash('添加成功')
        return redirect(url_for('ad_stu'))
    elif op == 'delete':
        database.delete_cell('Student', sno=request.form.get('sno'))
        flash('删除成功')
        return redirect(url_for('ad_stu'))
    elif op == 'sno':
        sinfo = database.query('Student', sno=request.form.get('sno'))
        flash('检索成功')
        return render_template('ad_stu.html', sinfo=sinfo)
    elif op == 'sname':
        sinfo = database.query('Student', sname=request.form.get('sname'))
        flash('检索成功')
        return render_template('ad_stu.html', sinfo=sinfo)
    elif op == 'pwd':
        database.modify_cell('Student', sno=request.form.get('sno'), spwd=DFT_PWD)
        flash('修改成功')
        return redirect(url_for('ad_stu'))
    else:
        raise Exception('非法操作')
示例#4
0
def ad_pwd():
    if request.method == 'GET':
        return render_template('ad_pwd.html')
    try:
        assert current_user.validate_pwd(request.form.get('old'))
        database.modify_cell('Administrator', ano=ADMIN_NAME, apwd=request.form.get('new'))
        flash('修改密码成功')
        return redirect(url_for('ad_index'))
    except Exception as e:
        info = str(e) if len(str(e)) < 8 or DEBUG else '未知错误'
        flash('修改密码失败,' + info)
        return redirect(url_for('ad_pwd'))
示例#5
0
def tec_course_stu(tno, cno):
    cno = to_int(cno)
    if request.method == 'GET':
        return render_template('tec_course_stu.html',
                               tno=tno,
                               cno=cno,
                               sinfo=database.query_course_student(cno))
    try:
        op = request.form.get('op')
    except Exception:
        flash('非法课程操作')
        return redirect(url_for('tec_course_stu', tno=tno, cno=cno))
    if op == 'sno':
        try:
            sinfo = database.query_course_student(cno,
                                                  sno=request.form.get('sno'))
            flash('检索成功')
            return render_template('tec_course_stu.html',
                                   tno=tno,
                                   cno=cno,
                                   sinfo=sinfo)
        except Exception as e:
            info = str(e) if len(str(e)) < 8 or DEBUG else '未知错误'
            flash('检索失败,' + info)
            return redirect(url_for('tec_course_stu', tno=tno, cno=cno))
    elif op == 'sname':
        try:
            sinfo = database.query_course_student(
                cno, sname=request.form.get('sname'))
            flash('检索成功')
            return render_template('tec_course_stu.html',
                                   tno=tno,
                                   cno=cno,
                                   sinfo=sinfo)
        except Exception as e:
            info = str(e) if len(str(e)) < 8 or DEBUG else '未知错误'
            flash('检索失败,' + info)
            return redirect(url_for('tec_course_stu', tno=tno, cno=cno))
    elif op == 'grade':
        try:
            database.modify_cell('SC',
                                 sno=request.form.get('sno'),
                                 cno=cno,
                                 grade=to_int(request.form.get('grade')))
            flash('打分成功')
            return redirect(url_for('tec_course_stu', tno=tno, cno=cno))
        except Exception as e:
            info = str(e) if len(str(e)) < 8 or DEBUG else '未知错误'
            flash('打分失败,' + info)
            return redirect(url_for('tec_course_stu', tno=tno, cno=cno))
    else:
        flash('非法课程操作')
        return redirect(url_for('tec_course_stu', tno=tno, cno=cno))
示例#6
0
def jw_info(jno):
    if request.method == 'GET':
        return render_template('jw_info.html', jno=jno, jinfo=database.query('Jiaowu', jno=jno)[0])
    try:
        attrib = {x: request.form.get(x) for x in ['jtel', 'jmail']}
        attrib['jno'] = jno
        database.modify_cell('Jiaowu', **attrib)
        flash('修改信息成功')
        return redirect(url_for('jw_index', jno=jno))
    except Exception as e:
        info = str(e) if len(str(e)) < 8 or DEBUG else '未知错误'
        flash('修改信息失败,' + info)
        return redirect(url_for('jw_info', jno=jno))
示例#7
0
def tec_info(tno):
    if request.method == 'GET':
        return render_template('tec_info.html', tno=tno, tinfo=database.query('Teacher', tno=tno)[0])
    try:
        attrib = {x: request.form.get(x) for x in ['tdept', 'ttel', 'tmail']}
        attrib['tno'] = tno
        database.modify_cell('Teacher', **attrib)
        flash('修改信息成功')
        return redirect(url_for('tec_index', tno=tno))
    except Exception as e:
        info = str(e) if len(str(e)) < 8 or DEBUG else '未知错误'
        flash('修改信息失败,' + info)
        return redirect(url_for('tec_info', tno=tno))
示例#8
0
def stu_info(sno):
    if request.method == 'GET':
        return render_template('stu_info.html', sno=sno, sinfo=database.query('Student', sno=sno)[0])
    try:
        attrib = {x: request.form.get(x) for x in ['stel']}
        attrib['sno'] = sno
        database.modify_cell('Student', **attrib)
        flash('修改信息成功')
        return redirect(url_for('stu_index', sno=sno))
    except Exception as e:
        info = str(e) if len(str(e)) < 8 or DEBUG else '未知错误'
        flash('修改信息失败,' + info)
        return redirect(url_for('stu_info', sno=sno))
示例#9
0
def ad_info():
    if request.method == 'GET':
        return render_template('ad_info.html', ainfo=database.query('Administrator')[0])
    try:
        attrib = {x: request.form.get(x) for x in ['atel', 'amail']}
        attrib['ano'] = ADMIN_NAME
        print(attrib)
        database.modify_cell('Administrator', **attrib)
        flash('修改信息成功')
        return redirect(url_for('ad_index'))
    except Exception as e:
        info = str(e) if len(str(e)) < 8 or DEBUG else '未知错误'
        flash('修改信息失败,' + info)
        return redirect(url_for('ad_info'))
示例#10
0
def ad_everything():
    if request.method == 'GET':
        return render_template('ad_everything.html', info=[])
    op = request.form.get('op')
    table = request.form.get('table')
    assert table in [
        'Student', 'Teacher', 'Jiaowu', 'Course', 'Book', 'Room', 'Department',
        'CPS', 'CB', 'CR', 'SC', 'TC', 'CTA'
    ]
    attrib = request.form.get('attrib')
    attrib.replace(' ', '')
    attrib = attrib.split(',')
    dic = {}
    for x in attrib:
        if x:
            x = x.split('=')
            n, v = x[0], x[1]
            if n in ['ccap', 'ccredit', 'bstore', 'rcap', 'grade']:
                v = to_int(v)
            dic[n] = v
    try:
        if op == 'new':
            database.new_cell(table, **dic)
            flash('插入成功')
            return redirect(url_for('ad_everything'))
        elif op == 'delete':
            database.delete_cell(table, **dic)
            flash('删除成功')
            return redirect(url_for('ad_everything'))
        elif op == 'modify':
            database.modify_cell(table, **dic)
            flash('修改成功')
            return redirect(url_for('ad_everything'))
        elif op == 'query':
            info = database.query(table, **dic)
            flash('查询成功')
            return render_template('ad_everything.html', info=info)
        else:
            raise Exception('非法操作')
    except Exception as e:
        info = str(e) if len(str(e)) < 8 or DEBUG else '未知错误'
        flash('操作失败,' + info)
        return redirect(url_for('ad_everything'))
示例#11
0
def ad_book():
    if request.method == 'GET':
        return render_template('ad_book.html', binfo=database.query('Book'))
    op = request.form.get('op')
    if op == 'new':
        attrib = {x: request.form.get(x) for x in ['bno', 'bname']}
        attrib['bstore'] = 0
        database.new_cell('Book', **attrib)
        flash('添加成功')
        return redirect(url_for('ad_book'))
    elif op == 'delete':
        database.delete_cell('Book', bno=request.form.get('bno'))
        flash('删除成功')
        return redirect(url_for('ad_book'))
    elif op == 'update':
        database.modify_cell('Book', bno=request.form.get('bno'), bstore=to_int(request.form.get('bstore')))
        flash('修改库存成功')
        return redirect(url_for('ad_book'))
    else:
        raise Exception('非法操作')
示例#12
0
def tec_course_info(tno, cno):
    cno=to_int(cno)
    print(cno)
    print(database.query('CB', cno=cno))
    if request.method == 'GET':
        cinfo = None
        for x in database.tec_query_course(tno):
            if x['cno'] == cno:
                cinfo = x
        return render_template('tec_course_info.html', tno=tno, cno=cno, cinfo=cinfo, binfo=database.query('CB', cno=cno), tainfo=database.query_course_ta(cno))
    try:
        op = request.form.get('op')
    except Exception:
        flash('非法课程操作')
        return redirect(url_for('tec_course_info', tno=tno, cno=cno))
    if op == 'update':
        try:
            attrib = {x: request.form.get(x) for x in ['ccap', 'ccredit', 'cdate']}
            attrib['cno'] = cno
            for x in ['ccap', 'ccredit']:
                attrib[x] = to_int(attrib[x])
            database.modify_cell('Course', **attrib)
            flash('修改信息成功')
        except Exception as e:
            info = str(e) if len(str(e)) < 8 or DEBUG else '未知错误'
            flash('修改信息失败,' + info)
        return redirect(url_for('tec_course_info', tno=tno, cno=cno))
    elif op == 'newco':
        try:
            database.new_cell('TC', tno=request.form.get('tno'), cno=cno)
            flash('添加合作教师成功')
        except Exception as e:
            info = str(e) if len(str(e)) < 8 or DEBUG else '未知错误'
            flash('添加合作教师失败,' + info)
        return redirect(url_for('tec_course_info', tno=tno, cno=cno))
    elif op == 'newbook':
        try:
            database.new_course_book(cno, request.form.get('bno'), request.form.get('bname'))
            flash('添加参考书成功')
        except Exception as e:
            info = str(e) if len(str(e)) < 8 or DEBUG else '未知错误'
            flash('添加参考书失败,' + info)
        return redirect(url_for('tec_course_info', tno=tno, cno=cno))
    elif op == 'agree':
        try:
            database.modify_cell('CTA', cno=cno, sno=request.form.get('sno'), agree='Y')
            flash('添加助教成功')
        except Exception as e:
            info = str(e) if len(str(e)) < 8 or DEBUG else '未知错误'
            flash('添加助教失败,' + info)
        return redirect(url_for('tec_course_info', tno=tno, cno=cno))
    elif op == 'deny':
        try:
            database.delete_cell('CTA', cno=cno, sno=request.form.get('sno'))
            flash('拒绝助教成功')
        except Exception as e:
            info = str(e) if len(str(e)) < 8 or DEBUG else '未知错误'
            flash('拒绝助教失败,' + info)
        return redirect(url_for('tec_course_info', tno=tno, cno=cno))
    elif op == 'deletebook':
        try:
            database.delete_course_book(cno, request.form.get('bno'))
            flash('删除参考书成功')
        except Exception as e:
            info = str(e) if len(str(e)) < 8 or DEBUG else '未知错误'
            flash('删除参考书失败,' + info)
        return redirect(url_for('tec_course_info', tno=tno, cno=cno))
    else:
        flash('非法课程操作')
        return redirect(url_for('tec_course_info', tno=tno, cno=cno))