def them_lop_hoc(): if session.get("giaovien") == None: return redirect(url_for('index')) giaovien = session['giaovien'] giao_vien = Profile_Giao_Vien(giaovien) form = Form_Create_Class() ds_nien_khoa = doc_danh_sach_nien_khoa_select() ds_khoi = doc_danh_sach_khoi_select() ds_gv = doc_danh_sach_gv_select() form.Th_Nien_khoa.choices = ds_nien_khoa form.Th_Khoi.choices = ds_khoi form.Th_GV_Chu_nhiem.choices = ds_gv error = '' if form.validate_on_submit(): TenLop = request.form['Th_Lop'] DiaDiem = request.form['Th_Dia_diem'] TongSoHS = 0 NamNienKhoa = int(request.form['Th_Nien_khoa']) GV_CN = int(request.form['Th_GV_Chu_nhiem']) IDKhoi = int(request.form['Th_Khoi']) lop_hoc = Lop(TenLop=TenLop, DiaDiem=DiaDiem, TongSoHS=TongSoHS, NamNienKhoa=NamNienKhoa, GV_CN=GV_CN, IDKhoi=IDKhoi) try: db_session.add(lop_hoc) db_session.commit() return redirect(url_for('danh_sach_lop', message='Thêm lớp thành công')) except: db_session.rollback() error = 'Lớp học đã tồn tại' pass return render_template('lop_hoc/l_them_lop.html', form=form, error=error)
def them_thoi_khoa_bieu(thoi_khoa_bieu): try: db_session.add(thoi_khoa_bieu) db_session.commit() except: db_session.rollback() return False return True
def Them_Lich_Thi(lich_thi): _lich_ = db_session.query(LichThi).filter( LichThi.ID_Khoi == lich_thi.ID_Khoi, LichThi.ID_Nien_khoa == lich_thi.ID_Nien_khoa, LichThi.ID_Mon == lich_thi.ID_Mon).first() if _lich_ != None: return "Đã Tồn Môn Này Lịch Thi " else: db_session.add(lich_thi) db_session.commit() return "Đã Thêm Thành Công"
def them_hoat_dong(): if session.get("giaovien") == None: return redirect(url_for('index')) giaovien = session['giaovien'] ds_nienkhoa = doc_danh_sach_nien_khoa_select() form = Form_Them_Hoat_Dong() form.Th_Nien_khoa.choices = ds_nienkhoa if form.validate_on_submit(): ds_doi_tuong = request.form.getlist('Th_Khoi') khoi10 = 0 khoi11 = 0 khoi12 = 0 if '1' in ds_doi_tuong: khoi10 = 1 if '2' in ds_doi_tuong: khoi11 = 1 if '3' in ds_doi_tuong: khoi12 = 1 nien_khoa = request.form['Th_Nien_khoa'] tieu_de = request.form['Th_TieuDe'] noi_dung = request.form['Th_NoiDung'] thoi_han = request.form['Th_HanDangKy'] thoi_han = datetime.strptime(thoi_han, '%Y-%m-%d') thoi_han = thoi_han.strftime("%d-%m-%Y") IDHoat_Dong = db_session.query(func.max(Hoat_Dong.IDHoatDong)).first() ID = IDHoat_Dong[0] + 1 hd = Hoat_Dong(IDHoatDong=ID, GiaoVienTao=giaovien, TieuDe=tieu_de, NoiDung=noi_dung, ThoiHanDangKy=thoi_han, Khoi_10=khoi10, Khoi_11=khoi11, Khoi_12=khoi12, NienKhoa=nien_khoa, SoNguoiDaThamGia=0) db_session.add(hd) db_session.commit() message = "Đã thêm hoạt động " + hd.TieuDe return redirect(url_for('hoat_dong_gv', message_hoatdong=message)) return render_template('hoat_dong/gv_them_hoat_dong.html', form=form)
def them_hoc_sinh(lop): if session.get("giaovien") == None: return redirect(url_for('index')) giaovien = session['giaovien'] giao_vien = Profile_Giao_Vien(giaovien) form = Form_Update_Hs() error = '' message = '' if form.validate_on_submit(): HoVaTen = request.form['Th_Ho_ten'] GioiTinh = request.form['Th_Gioi_tinh'] DiaChi = request.form['Th_Dia_chi'] Email = request.form['Th_Email'] NgaySinh = request.form['Th_Ngay_sinh'] SoDienThoai = request.form['Th_Sdt'] SoDienThoaiPhuHuynh = request.form['Th_Sdt_PH'] MatKhau = request.form['Th_Mat_khau'] if MatKhau == '': MatKhau = '1234' IDLop = int(lop) nien_khoa = lay_nien_khoa_theo_lop(lop) IDNienKhoa = int(nien_khoa.ID) hoc_sinh = HocSinh(HoVaTen=HoVaTen, GioiTinh=GioiTinh, DiaChi=DiaChi, Email=Email, NgaySinh=NgaySinh, SoDienThoai=SoDienThoai, SoDienThoaiPhuHuynh=SoDienThoaiPhuHuynh, IDLop=IDLop, IDNienKhoa=IDNienKhoa, MatKhau=MatKhau) try: db_session.add(hoc_sinh) db_session.commit() if cap_nhat_si_so(lop): message += 'Đã cập nhật sỉ số lớp; ' else: error += 'Không thể cập nhật sỉ số lớp' if tao_bang_diem_cho_hoc_sinh(hoc_sinh.IDHocSinh): message += 'Đã thêm học sinh ' + HoVaTen + ';' return redirect(url_for('danh_sach_hoc_sinh', lop=lop, message=message)) else: db_session.rollback() error += 'Không thể tạo bảng điểm' pass except: error = 'Học sinh đã tồn tại' db_session.rollback() pass print(error) return render_template('hoc_sinh/hs_them_hoc_sinh.html', form=form, error=error)
def tao_bang_diem_cho_hoc_sinh(id_hoc_sinh): for mon in doc_danh_sach_mon_hoc(): IDHocSinh = id_hoc_sinh IDMon = mon[0] HocKy = None _15Phut_1_ = None _15Phut_2_ = None _15Phut_3_ = None _45Phut_1_ = None _45Phut_2_ = None _45Phut_3_ = None TrungBinhMon = None GhiChu = None bang_diem = BangDiem(IDHocSinh=IDHocSinh, IDMon=IDMon) try: db_session.add(bang_diem) db_session.commit() except: db_session.rollback() return False return True
def tham_gia_hoat_dong_hs(id_hoat_dong): if session.get("hocsinh") == None: return redirect(url_for('index')) hocsinh = session['hocsinh'] ngay_dang_ky = datetime.now() hd = db_session.query(Hoat_Dong).filter( Hoat_Dong.IDHoatDong == id_hoat_dong).first() HanDangKy = datetime.strptime(hd.ThoiHanDangKy, '%d-%m-%Y') if ngay_dang_ky > HanDangKy: return redirect( url_for('hoat_dong_hs', message_hoatdong='Đã Quá Hạn Đăng Ký')) else: ngay_dang_ky = datetime.now().date() ngay_dang_ky = ngay_dang_ky.strftime("%d-%m-%Y") thamgia = Tham_Gia_Hoat_Dong(IDHoatDong=id_hoat_dong, IDHocSinh=hocsinh, NgayDangKy=ngay_dang_ky) hd.SoNguoiDaThamGia += 1 db_session.add(thamgia) db_session.flush() db_session.commit() message = 'Đã Đăng Ký ' + hd.TieuDe return redirect(url_for('hoat_dong_hs', message_hoatdong=message))