def create_data_account():
    role_admin = Role.objects(name="admin").first()
    role_academic = Role.objects(name="academic").first()
    role_cashier = Role.objects(name="cashier").first()

    list_admin = User.objects(role=role_admin)
    list_academic = User.objects(role=role_academic)
    list_cashier = User.objects(role=role_cashier)

    hashed_password = bcrypt.generate_password_hash("1").decode('utf-8')

    num = 1
    for item in list_admin:
        Account(username="******" + str(num),
                password=hashed_password,
                user=item).save()
        num += 1

    num = 1
    for item in list_academic:
        Account(username="******" + str(num),
                password=hashed_password,
                user=item).save()
        num += 1

    num = 1
    for item in list_cashier:
        Account(username="******" + str(num),
                password=hashed_password,
                user=item).save()
        num += 1
def create_data_course():
    role_teacher = Role.objects(name='teacher').first()
    list_teacher = User.objects(role=role_teacher)
    role_student = Role.objects(name='student').first()
    list_student = User.objects(role=role_student)
    list_shift = Shift.objects.all()
    Course(id_course="SD-001",
           name="Word - Excel - Power Point",
           tuition=120,
           teacher=list_teacher[0],
           shift=list_shift[0]).save()
    Course(id_course="DB-001",
           name="DataBase System",
           tuition=199,
           teacher=list_teacher[1],
           shift=list_shift[1]).save()
    Course(id_course="WEB-001",
           name="Web Interface",
           tuition=149,
           teacher=list_teacher[2],
           shift=list_shift[2]).save()
    Course(id_course="JAVA-001",
           name="Java Application",
           tuition=299,
           teacher=list_teacher[3],
           shift=list_shift[0]).save()
    Course(id_course="RJ-001",
           name="React - Redux JavaScript",
           tuition=289,
           teacher=list_teacher[4],
           shift=list_shift[2]).save()
Beispiel #3
0
def staff_removed(page):    
    if current_user.user.role.name != 'admin': 
        flash('You\'re not admin. You can not access this page')
        return redirect(url_for('main.index'))
    activate = list(range(10))
    activate[4] = "active"  
    page = int(page) 
    role_academic = Role.objects(name='academic').first()
    role_cashier = Role.objects(name='cashier').first() 
    if page is None or page == 1:
        page = request.args.get('page', 1, type=int) 
        users_1 = User.objects(role=role_academic,is_activate=False).limit(5) 
        users_2 = User.objects(role=role_cashier,is_activate=False).limit(5) 
        print(users_2)
    elif page <=-1:
        page = int((User.objects(role=role,is_activate=False).count()-10) /10) + 2  
        num_skip= User.objects(role=role).count()-5
        if num_skip < 0: num_skip = 0
        users_1 = User.objects(role=role_academic,is_activate=False).skip(num_skip)
        users_2 = User.objects(role=role_cashier,is_activate=False).skip(num_skip)
    else:
        users_1 = User.objects(role=role_academic,is_activate=False).skip(page*5-5).limit(5)
        users_2 = User.objects(role=role_cashier,is_activate=False).skip(page*5-5).limit(5)  
     
    users = list()
    for item in users_1:
        users.append(item)

    for item in users_2:
        users.append(item)  
    return render_template('staff_removed.html', title='Staff',activate=activate,staffs=users,page_num=page)  
Beispiel #4
0
def index(page):
    if current_user.is_authenticated:
        activate = list(range(10))
        activate[1] = "active"
        page = int(page)
        role = Role.objects(name='student').first()
        if page is None or page == 1:
            page = request.args.get('page', 1, type=int)
            students = User.objects(role=role, is_activate=True).limit(10)
        elif page <= -1:
            page = int(
                (User.objects(role=role, is_activate=True).count() - 10) /
                10) + 2
            num_skip = User.objects(role=role).count() - 10
            if num_skip < 0: num_skip = 0
            students = User.objects(role=role, is_activate=True).skip(num_skip)
        else:
            students = User.objects(
                role=role, is_activate=True).skip(page * 10 - 10).limit(10)
        return render_template('student.html',
                               title='Student',
                               activate=activate,
                               students=students,
                               page_num=page)
    return redirect(url_for('users.login'))
Beispiel #5
0
def create():
    activate = list(range(10))
    activate[1] = "active"
    form = UpdateUserForm()
    if form.validate_on_submit():
        if form.picture.data:
            picture_file = save_picture(form.picture.data)
            image_file = picture_file
        first_name = form.first_name.data
        last_name = form.last_name.data
        phone = form.phone.data
        email = form.email.data
        address = form.address.data
        birth = form.birth.data
        gender = form.gender.data
        role = Role.objects(name='student').first()
        user = User(first_name=first_name,
                    last_name=last_name,
                    phone=phone,
                    email=email,
                    address=address,
                    birth=birth,
                    gender=gender,
                    role=role)
        user.save()
        flash('Student has been created!', 'success')
        return redirect(url_for('student.student_info', id=user.id))
    return render_template('student_create.html',
                           title='Create Student\'s Info',
                           activate=activate,
                           form=form)
Beispiel #6
0
def staff_info(id):  
    if current_user.user.role.name == 'admin' or current_user.user.role.name == 'cashier': 
        activate = list(range(10))
        activate[4] = "active"
        is_activate = True
        if current_user.is_authenticated:
            user = User.objects(id=id,is_activate=True).first()  
            form = UpdateStaffForm()  
            if id is None or user is None:
                return redirect(url_for('staff.index',page=1))  
            if form.validate_on_submit():
                if form.picture.data:
                    picture_file = save_picture(form.picture.data)
                    user.image_file = picture_file
                user.first_name=form.first_name.data 
                user.last_name=form.last_name.data 
                user.phone =form.phone.data 
                user.email =form.email.data
                user.salary =form.salary.data
                user.address =form.address.data
                user.birth =form.birth.data 
                user.gender = form.gender.data  
                role = form.role.data
                if role == 'cashier' or role == 'academic':
                    role = Role.objects(name=role).first()
                    # print(role.name)  
                    user.role = role
                    # print(user.role.id,role.id)
                else:  
                    flash('Can\'t find role, please reload page', 'danger')
                    return redirect(url_for('staff.staff_info',id=id))
                    
                user.save()
                flash('Staff has been updated!', 'success')
                return redirect(url_for('staff.staff_info',id=id))
            elif request.method == 'GET':
                form.first_name.data = user.first_name
                form.last_name.data = user.last_name
                form.phone.data = user.phone
                form.email.data = user.email
                form.salary.data = user.salary
                form.address.data = user.address 
                form.gender.data = user.gender 
                form.birth.data = user.birth
                form.role.data = user.role 
            receipts = PaymentReceipt.objects(staff=user)
            account = Account.objects(user=user).first()
            if account and account.is_activate == False:
                flash('Account of staff hasn\'t been acitved yet !!', 'info')  
                is_activate = False
            return render_template('staff_info.html', title='Staff Info',activate=activate,staff=user,form=form,receipts=receipts,is_activate = is_activate)
        return redirect(url_for('staff.index',page=1))
    else:
        flash('You\'re not admin. You can not access this page')
        return redirect(url_for('main.index'))
Beispiel #7
0
def staff_inactived(page):    
    if current_user.user.role.name != 'admin': 
        flash('You\'re not admin. You can not access this page')
        return redirect(url_for('main.index'))
    activate = list(range(10))
    activate[4] = "active"  
    page = int(page) 
    role_academic = Role.objects(name='academic').first()
    role_cashier = Role.objects(name='cashier').first() 
    if page is None or page == 1:
        page = request.args.get('page', 1, type=int) 
        accounts = Account.objects(is_activate=False).limit(10)
    elif page <=-1:
        page = int((Account.objects(is_activate=False).count()-10) /10) + 2   
        accounts = Account.objects(is_activate=False).skip(Account.objects().count()-10) 
    else:
        accounts = Account.objects(is_activate=False).skip(page*10-10).limit(10) 
     
    users = list()
    for item in accounts: 
        users.append(item.user)
    return render_template('staff_inactived.html', title='Staff Inactive Yet',activate=activate,staffs=users,page_num=page)  
Beispiel #8
0
def restore(id):
    activate = list(range(10))
    activate[2] = "active"
    role = Role.objects(name="teacher").first()
    teacher = User.objects(role=role, id=id, is_activate=False).first()
    if teacher:
        teacher.is_activate = True
        teacher.save()
        flash('Teacher restore success !!', 'success')
        return redirect(url_for('teacher.teacher_removed', page=1))
    else:
        flash('Teacher with id ' + id + ' can\'t find  !!', 'danger')
    return redirect(url_for('teacher.teacher_removed', page=1))
Beispiel #9
0
def restore(id):
    activate = list(range(10))
    activate[1] = "active"
    role = Role.objects(name="student").first()
    student = User.objects(role=role, id=id, is_activate=False).first()
    if student:
        student.is_activate = True
        student.save()
        flash('Student restore success !!', 'success')
        return redirect(url_for('student.student_removed', page=1))
    else:
        flash('Student with id ' + id + ' can\'t find  !!', 'danger')
    return redirect(url_for('student.student_removed', page=1))
Beispiel #10
0
def remove(id):
    activate = list(range(10))
    activate[2] = "active"
    role = Role.objects(name="teacher").first()
    teacher = User.objects(role=role, id=id, is_activate=True).first()
    if teacher:
        receipts = PaymentReceipt.objects(staff=teacher)
        if len(receipts) > 0:
            flash('Teacher can\'t remove !!', 'danger')
            return redirect(url_for('teacher.teacher_info', id=teacher.id))
        teacher.is_activate = False
        teacher.save()
        flash('Teacher delete success !!', 'success')
    return redirect(url_for('teacher.index', page=1))
Beispiel #11
0
def remove(id):
    activate = list(range(10))
    activate[1] = "active"
    role = Role.objects(name="student").first()
    student = User.objects(role=role, id=id, is_activate=True).first()
    if student:
        receipts = TuitionReceipt.objects(student=student)
        if len(receipts) > 0:
            flash('Student can\'t remove !!', 'danger')
            return redirect(url_for('student.student_info', id=student.id))
        student.is_activate = False
        student.save()
        flash('Student delete success !!', 'success')
    return redirect(url_for('student.index', page=1))
Beispiel #12
0
def educate_info(id):
    if current_user.is_authenticated:
        activate = list(range(10))
        activate[3] = "active"
        form = UpdateCourseForm()
        if id is None:
            return redirect(url_for('educate.index'))
        course = Course.objects(id=id).first_or_404()
        if form.validate_on_submit():
            role_teacher = Role.objects(name='teacher').first()
            list_teacher = User.objects(role=role_teacher, is_activate=True)
            course.name = form.name.data
            course.start_date = form.start_date.data
            course.finish_date = form.finish_date.data
            course.tuition = float(form.tuition.data)
            shift = Shift.objects(name=form.shift.data).first()
            course.shift = shift
            for item in list_teacher:
                if item.first_name + ' ' + item.last_name == form.teacher.data:
                    course.teacher = item
                    break

            if form.status.data == 'True':
                course.status = True
            else:
                course.status = False
            course.save()
            flash('Course has been updated!', 'success')
            return redirect(url_for('educate.educate_info', id=id))
        elif request.method == 'GET':
            form.id_course.data = course.id_course
            form.name.data = course.name
            form.start_date.data = course.start_date
            form.finish_date.data = course.finish_date
            form.tuition.data = course.tuition

            form.shift.data = course.shift.name
            form.teacher.data = course.teacher.first_name + ' ' + course.teacher.last_name

            form.status.data = course.status
            TuitionReceipts = TuitionReceipt.objects(course=course)
        return render_template('educate_info.html',
                               title='Educate Info',
                               activate=activate,
                               form=form,
                               students=course.list_student,
                               id_course=id,
                               TuitionReceipts=TuitionReceipts)
    return redirect(url_for('users.login'))
Beispiel #13
0
def create_data_user(num_admin=2,
                     num_academic=5,
                     num_cashier=5,
                     num_teacher=10):
    num = 0
    with open('it_center/data/user.json') as f:
        list_user = json.load(f)
        roles = ["admin", "academic", "cashier", "teacher", "student"]
        ro = dict()
        num_role = 4
        for item in list_user:
            if ro.get('admin') and ro.get('admin') == num_admin:
                num_admin = 0
                roles.pop(roles.index('admin'))
                num_role -= 1
            if ro.get('academic') and ro['academic'] == num_academic:
                num_academic = 0
                roles.pop(roles.index('academic'))
                num_role -= 1
            if ro.get('cashier') and ro['cashier'] == num_cashier:
                num_cashier = 0
                roles.pop(roles.index('cashier'))
                num_role -= 1
            if ro.get('teacher') and ro['teacher'] == num_teacher:
                num_teacher = 0
                roles.pop(roles.index('teacher'))
                num_role -= 1
            num = random.randint(0, num_role)
            if ro.get(roles[num]):
                count = ro[roles[num]] + 1
            else:
                count = 1
            ro[roles[num]] = count
            role = Role.objects(name=roles[num]).first()
            birth = datetime.datetime.strptime(item['birth']['$date'],
                                               '%Y-%m-%dT%H:%M:%S.%fZ')
            if role:
                num += 1
                User(first_name=item['first_name'],
                     last_name=item['last_name'],
                     email=item['email'],
                     phone=item['phone'],
                     role=role,
                     birth=birth,
                     address=item['address'],
                     gender=item['gender'],
                     image_file=item['image_file']).save()
    print("create success", num, "data user")
Beispiel #14
0
 def validate_teacher(self, teacher):
     if current_user.user.role.name == 'admin' or current_user.user.role.name == 'academic':
         flag = False
         role_teacher = Role.objects(name='teacher').first()
         list_teacher = User.objects(role=role_teacher, is_activate=True)
         for item in list_teacher:
             if item.first_name + ' ' + item.last_name == teacher.data:
                 flag = True
                 break
         if flag == False:
             raise ValidationError(
                 'Name teacher isn\'t exist. Please reload page and input again'
             )
     else:
         raise ValidationError(
             'You\'re not a member of system. Please contact to manager.')
Beispiel #15
0
def remove(id): 
    activate = list(range(10))
    activate[4] = "active"  
    role = Role.objects(name="staff").first()
    staff = User.objects(id=id,is_activate=True).first()
    account = Account.objects(user=staff).first()
    
    if staff and account:
        TuitionReceipts = TuitionReceipt.objects(student=staff)
        if len(TuitionReceipts) > 0:
            flash('Staff can\'t remove !!', 'danger')
            return redirect(url_for('staff.staff_info',id=staff.id)) 
        staff.is_activate = False 
        account.is_activate = False
        staff.save()  
        account.save()
        flash('Staff delete success !!', 'success') 
        return redirect(url_for('staff.index',page=1))
    flash('Can\'t find staff !!', 'danger')
    return redirect(url_for('staff.index',page=1))
Beispiel #16
0
def create():
    activate = list(range(10))
    activate[3] = "active"
    if current_user.is_authenticated:
        form = CreateCourseForm()
        if form.validate_on_submit():
            id_course = form.id_course.data
            course = Course.objects(id_course=id_course).first()
            if course is None:

                name = form.name.data

                start_date = form.start_date.data
                finish_date = form.finish_date.data
                tuition = float(form.tuition.data)
                shift = Shift.objects(name=form.shift.data).first()
                role_teacher = Role.objects(name='teacher').first()
                list_teacher = User.objects(role=role_teacher,
                                            is_activate=True)
                for item in list_teacher:
                    if item.first_name + ' ' + item.last_name == form.teacher.data:
                        teacher = item
                        break
                course = Course(id_course=id_course,
                                name=name,
                                start_date=start_date,
                                finish_date=finish_date,
                                tuition=tuition,
                                shift=shift,
                                teacher=teacher)
                course.save()
                flash('Course has been created!', 'success')
                return redirect(url_for('educate.educate_info', id=course.id))
            flash('Course is exist!, please check again', 'danger')
            return redirect(url_for('educate.create'))

        return render_template('educate_create.html',
                               title='Educate Create Course',
                               activate=activate,
                               form=form)
    return redirect(url_for('users.login'))
Beispiel #17
0
def student_removed(page):
    activate = list(range(10))
    activate[1] = "active"
    page = int(page)
    role = Role.objects(name='student').first()
    if page is None or page == 1:
        page = request.args.get('page', 1, type=int)
        students = User.objects(role=role, is_activate=False).limit(10)
    elif page <= -1:
        page = int(
            (User.objects(role=role, is_activate=False).count() - 10) / 10) + 2
        num_skip = User.objects(role=role).count() - 10
        if num_skip < 0: num_skip = 0
        students = User.objects(role=role, is_activate=False).skip(num_skip)
    else:
        students = User.objects(
            role=role, is_activate=False).skip(page * 10 - 10).limit(10)
    return render_template('student_removed.html',
                           title='Removed Student',
                           activate=activate,
                           students=students,
                           page_num=page)
Beispiel #18
0
def index(page):
    activate = list(range(10))
    activate[2] = "active"
    page = int(page)
    role = Role.objects(name='teacher').first()
    if page is None or page == 1:
        page = request.args.get('page', 1, type=int)
        teachers = User.objects(role=role, is_activate=True).limit(10)
    elif page <= -1:
        page = int(
            (User.objects(role=role, is_activate=True).count() - 10) / 10) + 2
        num_skip = User.objects(role=role).count() - 10
        if num_skip < 0: num_skip = 0
        teachers = User.objects(role=role, is_activate=True).skip(num_skip)
    else:
        teachers = User.objects(role=role, is_activate=True).skip(page * 10 -
                                                                  10).limit(10)
    return render_template('teacher.html',
                           title='Teacher',
                           activate=activate,
                           teachers=teachers,
                           page_num=page)
Beispiel #19
0
def create():  
    if current_user.user.role.name != 'admin': 
        flash('You\'re not admin. You can not access this page')
        return redirect(url_for('main.index'))
    activate = list(range(10))
    activate[4] = "active"  
    form = CreateStaffForm()  
    image_file = ""
    if id is None:
        return redirect(url_for('staff.index',page=1))

    if form.validate_on_submit():
        if form.picture.data:
            picture_file = save_picture(form.picture.data)
            image_file = picture_file
        first_name=form.first_name.data 
        last_name=form.last_name.data 
        phone =form.phone.data
        salary = form.salary.data 
        email =form.email.data
        address =form.address.data
        birth =form.birth.data 
        gender = form.gender.data  
        if form.role.data == 'cashier' or form.role.data == 'academic' or form.role.data == 'admin':
            role = Role.objects(name=form.role.data).first() 
        else:  
            flash('Can\'t find role, please reload page', 'danger')
            return redirect(url_for('staff.create'))
        if image_file == "":
            user = User(first_name=first_name,last_name=last_name,phone=phone,email=email,gender=gender,address=address,birth=birth,role=role,image_file=image_file,salary=salary).save()
        else:
            user = User(first_name=first_name,last_name=last_name,phone=phone,email=email,gender=gender,address=address,birth=birth,role=role,salary=salary).save()
        account = Account(username=phone,password="******",user=user,is_activate=False).save()
        send_reset_email(user)  
        flash('Staff has been created! Your account is also created, please use phone to login to system. Verify is sending to your gmail, please wait a few minutes. Within 3 hour, you must login to system to change your new password', 'success')
        return redirect(url_for('staff.staff_info',id=user.id)) 
    return render_template('staff_create.html', title='Staff Create Staff\'s Info',activate=activate,form=form)
Beispiel #20
0
def get_removed_student(key_word):
    if current_user.is_authenticated:
        data = list()
        role = Role.objects(name='student').first()
        if key_word == 'all':
            students = User.objects(role=role, is_activate=False).limit(10)
            if students:
                for item in students:
                    ele = {
                        "id": str(item.id),
                        "address": item.address,
                        "birth": item.birth.strftime("%m-%d-%Y"),
                        "email": item.email,
                        "first_name": item.first_name,
                        "gender": item.gender,
                        "image_file": item.image_file,
                        "last_name": item.last_name,
                        "phone": item.phone,
                        "is_activate": item.is_activate
                    }
                    data.append(ele)
                response = {
                    'status': True,
                    'message': 'Get Students Success',
                    'data': data
                }
        else:
            students = User.objects(role=role,
                                    is_activate=False,
                                    first_name__istartswith=key_word).limit(5)
            if students:
                for item in students:
                    ele = {
                        "id": str(item.id),
                        "address": item.address,
                        "birth": item.birth.strftime("%m-%d-%Y"),
                        "email": item.email,
                        "first_name": item.first_name,
                        "gender": item.gender,
                        "image_file": item.image_file,
                        "last_name": item.last_name,
                        "phone": item.phone,
                        "is_activate": item.is_activate
                    }
                    data.append(ele)

            students = User.objects(role=role,
                                    is_activate=False,
                                    last_name__istartswith=key_word).limit(5)
            if students:
                for item in students:
                    flag = False
                    for ele in data:
                        if ele['id'] == item.id:
                            flag = True
                            break
                    if flag == False:
                        ele = {
                            "id": str(item.id),
                            "address": item.address,
                            "birth": item.birth.strftime("%m-%d-%Y"),
                            "email": item.email,
                            "first_name": item.first_name,
                            "gender": item.gender,
                            "image_file": item.image_file,
                            "last_name": item.last_name,
                            "phone": item.phone,
                            "is_activate": item.is_activate
                        }
                        data.append(ele)
            students = User.objects(role=role,
                                    is_activate=False,
                                    phone__istartswith=key_word).limit(5)
            if students:
                for item in students:
                    flag = False
                    for ele in data:
                        if ele['id'] == item.id:
                            flag = True
                            break
                    if flag == False:
                        ele = {
                            "id": str(item.id),
                            "address": item.address,
                            "birth": item.birth.strftime("%m-%d-%Y"),
                            "email": item.email,
                            "first_name": item.first_name,
                            "gender": item.gender,
                            "image_file": item.image_file,
                            "last_name": item.last_name,
                            "phone": item.phone,
                            "is_activate": item.is_activate
                        }
                        data.append(ele)
            students = User.objects(role=role,
                                    is_activate=False,
                                    email__istartswith=key_word).limit(5)
            if students:
                for item in students:
                    flag = False
                    for ele in data:
                        if ele['id'] == item.id:
                            flag = True
                            break
                    if flag == False:
                        ele = {
                            "id": str(item.id),
                            "address": item.address,
                            "birth": item.birth.strftime("%m-%d-%Y"),
                            "email": item.email,
                            "first_name": item.first_name,
                            "gender": item.gender,
                            "image_file": item.image_file,
                            "last_name": item.last_name,
                            "phone": item.phone,
                            "is_activate": item.is_activate
                        }
                        data.append(ele)
            response = {
                'status': True,
                'message': 'Get Students Success',
                'data': data
            }
    else:
        response = {
            'status': False,
            'message': 'Get Students Failed',
            'data': None
        }
    return response
Beispiel #21
0
def statistic():
    if current_user.user.role.name != 'admin':
        flash('You\'re not admin. You can not access this page')
        return redirect(url_for('main.index'))
    activate = list(range(10))
    activate[6] = "active"
    legend = 'Monthly Payment Data'
    labels = [
        "January", "February", "March", "April", "May", "June", "July",
        "August", "September", "October", "November", "December"
    ]
    salaries = PaymentReceipt.objects.all()
    money_monthly = dict()
    payment_values = list()
    tuition_values = list()
    year = 2019
    for i in range(1, 13, 1):
        money_monthly[i] = 0
    for key, value in money_monthly.items():
        for item in salaries:
            if item.created_date.month == key and item.created_date.year == year:
                value = money_monthly[item.created_date.month]
                money_monthly[item.created_date.month] = item.money + value

    for i in list(money_monthly.items()):
        payment_values.append(i[1])

    for i in range(1, 13, 1):
        money_monthly[i] = 0
    tuitions = TuitionReceipt.objects.all()
    for key, value in money_monthly.items():
        for item in tuitions:
            for element in item.list_detail:
                if element.created_date.month == key and element.created_date.year == year:
                    value = money_monthly[element.created_date.month]
                    money_monthly[element.created_date.month] = (
                        element.tuition - element.money_return) + value
    for i in list(money_monthly.items()):
        tuition_values.append(i[1])

    now = datetime.utcnow()
    role = Role.objects(name='student').first()
    student_in_system = User.objects(role=role).all()
    student_in_class = list()
    class_in_active = list()
    for item in tuitions:
        if item.course.finish_date >= now and item.course.start_date <= now:
            if item.student in student_in_class:
                continue
            student_in_class.append(item.student)

    class_in_system = Course.objects.all()
    for item in class_in_system:
        if item.finish_date >= now:
            class_in_active.append(item)
    now = datetime.utcnow()
    print(payment_values, int(now.month))
    now_payment_values = payment_values[int(now.month) - 1]
    now_tuition_values = tuition_values[int(now.month) - 1]
    colors = [
        '#a991ff', '#f48fff', '#61ffdd', '#00a879', '#73ff9f', '#ff6395',
        '#ffcdbf', '#7857ff', '#b1b0b5', '#362a69', '#659476', '#ffa578'
    ]
    return render_template('statistic.html',
                           title='Statistic',
                           activate=activate,
                           now_payment_values=now_payment_values,
                           now_tuition_values=now_tuition_values,
                           payment_values=payment_values,
                           tuition_values=tuition_values,
                           colors=colors,
                           labels=labels,
                           now=now,
                           legend=legend,
                           class_in_system=class_in_system,
                           class_in_active=class_in_active,
                           student_in_class=student_in_class,
                           student_in_system=student_in_system)
Beispiel #22
0
from flask_wtf import FlaskForm
from flask_wtf.file import FileField, FileAllowed
from wtforms import StringField, PasswordField, SubmitField, BooleanField, SelectField, widgets, FieldList, FormField
from wtforms.validators import DataRequired, Email, Length, EqualTo, ValidationError
from flask_login import current_user
from it_center.models import Course, User, Shift, Role
from wtforms.fields.html5 import DateField

list_shift = Shift.objects.all()
shift_choices = [(str(c['name']), c['name']) for c in list_shift]

role_teacher = Role.objects(name='teacher').first()
list_teacher = User.objects(role=role_teacher, is_activate=True)
teacher_choices = [(c['first_name'] + ' ' + c['last_name'],
                    c['first_name'] + ' ' + c['last_name'])
                   for c in list_teacher]


class UpdateCourseForm(FlaskForm):
    id_course = StringField('Code',
                            validators=[DataRequired(),
                                        Length(min=2, max=30)])
    name = StringField('Course Name',
                       validators=[DataRequired(),
                                   Length(min=2, max=50)])
    start_date = DateField('Start Date', validators=[DataRequired()])
    finish_date = DateField('Finish Date', validators=[DataRequired()])
    tuition = StringField('Tuition', validators=[DataRequired()])
    shift = SelectField('Shift',
                        choices=shift_choices,
                        validators=[DataRequired()])