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('非法操作')
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('非法操作')
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('非法操作')
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'))
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))
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))
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))
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))
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'))
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'))
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('非法操作')
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))