def index(page): context = base_context() page = page per_page = 5 context = base_context() admin_query = User.query.filter( (User.role == 'admin') ) context['admins'] = admin_query.paginate(page, per_page, error_out=False) context['number_records'] = len(admin_query.all()) context['per_page'] = per_page form = AddAdminForm() context['form'] = form return render_template('admin/index.html', **context)
def index(page): context = base_context() page = page per_page = 5 context = base_context() teacher_query = User.query.filter((User.role == 'teacher')) context['teachers'] = teacher_query.paginate(page, per_page, error_out=False) context['number_records'] = len(teacher_query.all()) context['per_page'] = per_page form = AddTeacherForm() context['form'] = form return render_template('teacher/index.html', **context)
def evaluate_homework_submission(submission_id): context = base_context() context['submission'] = LightHomeworkSubmission.query.get(submission_id) context['User'] = User form = AddHomeworkNoteForm() context['form'] = form return render_template('lightcourse/evaluate_homework.html', **context)
def view_certificate_request(): context = base_context() if current_user.role == 'admin': certif_requests = CertificateRequest.query.all() context['certif_requests'] = certif_requests light_certif_requests = LightCertificateRequest.query.all() context['light_certif_requests'] = light_certif_requests else: c_requests = [] for cert_request_item in CertificateRequest.query.all(): course = Course.query.get(cert_request_item.course_id) if course.teacher_id == current_user.id: c_requests.append(cert_request_item) context['certif_requests'] = c_requests light_c_requests = [] for cert_request_item in LightCertificateRequest.query.all(): course = LightCourse.query.get(cert_request_item.course_id) if course.teacher_id == current_user.id: light_c_requests.append(cert_request_item) context['light_certif_requests'] = light_c_requests context['User'] = User context['Course'] = Course return render_template('course/certificate_requests.html', **context)
def resource_add_video(subsection_id): if request.method == 'POST': subsection = SubSection.query.get(subsection_id) # check if the post request has the file part if 'file' not in request.files: flash('No file part') return redirect(request.url) file = request.files['file'] # if user does not select file, browser also # submit an empty part without filename if file.filename == '': flash('No selected file') return redirect(request.url) if file and allowed_file(file.filename): filename = secure_filename(file.filename) resource = Resource(type='video', filename=filename) subsection.resources.append(resource) subsection.update() file.save( os.path.join(current_app.config['UPLOAD_VIDEO_FOLDER'], filename)) return redirect( url_for('course.view_subsection', subsection_id=subsection_id)) context = base_context() context['subsection'] = SubSection.query.get(subsection_id) return render_template('course/add_resource_vid.html', **context)
def subsection_add_homework(subsection_id): subsection = SubSection.query.get(subsection_id) context = base_context() context['form'] = AddHomeworkForm() context['subsection'] = subsection context['subsection'] = SubSection.query.get(subsection_id) return render_template('course/add_homework.html', **context)
def add_section(course_id): context = base_context() course = Course.query.get(course_id) context['course'] = course context['author'] = User.query.get(course.teacher_id) # context['form'] = AddSectionForm() return render_template('course/add_section.html', **context)
def settings_main(): context = base_context() settings = Settings.query.all() context["settings"] = settings return render_template("settings/index.html", **context)
def view(course_id): context = base_context() course = LightCourse.query.get(course_id) form = AddLightChapterForm() context['course'] = course context['form'] = form context['User'] = User def quiz_completed(): if LightQuizHistory.query.filter( (LightQuizHistory.person_id == current_user.id) & (LightQuizHistory.light_course_id == course.id)).first(): return True return False def request_exists(): if LightCertificateRequest.query.filter( (LightCertificateRequest.course_taker_id == current_user.id) & (LightCertificateRequest.course_id == course.id)).first(): return True return False def certif_approved(): if LightCertificate.query.filter( (LightCertificate.course_taker_id == current_user.id) & (LightCertificate.course_id == course.id)).first(): return True return False context['quiz_completed'] = quiz_completed context['request_exists'] = request_exists context['certif_approved'] = certif_approved return render_template('lightcourse/view.html', **context)
def mycourses(): context = base_context() mycourses = current_user.courses context['mycourses'] = mycourses context['light_mycourses'] = current_user.light_courses context['User'] = User return render_template('course/mycourses.html', **context)
def list(): context = base_context() display_courses = Course.query.filter((Course.submitted == True)) context['courses'] = display_courses context['light_courses'] = LightCourse.query.all() context['User'] = User context['current_user'] = current_user return render_template('course/list.html', **context)
def take_quiz(section_id): context = base_context() section = Section.query.get(section_id) course_id = section.course.id context['section'] = section # https://stackoverflow.com/questions/60805/getting-random-row-through-sqlalchemy return render_template('course/take_quiz.html', **context)
def add_check(): context = base_context() if request.method == 'POST': form = AddCourseForm() course = Course(name=form.name.data, teacher_id=current_user.id) course.grade_id = form.grade.data.id course.insert() return redirect(url_for('course.add'))
def delete_check(course_id): context = base_context() course = Course.query.get(course_id) if current_user.id == course.teacher_id or current_user.role == 'admin': course.delete() else: flash(notify_danger('No permission to delete')) return redirect(url_for('course.index'))
def settings_edit(settings_name): context = base_context() s = Settings.query.get(settings_name) context["settings_name"] = settings_name context["current_value"] = s.value return render_template("settings/edit.html", **context)
def appointment_edit(ids): context = base_context() a = Appointments.query.get(ids) context["id"] = a.id context["name"] = a.name context["date"] = a.date context["time"] = a.time context["active"] = a.active return render_template("appointment/edit.html", **context)
def index(): context = base_context() context['add_logo_form'] = AddLogoForm() context['school_name'] = Setting.query.filter( Setting.name == 'school_name').first().value context['contact_mail'] = Setting.query.filter( Setting.name == 'contact_mail').first().value context['logo'] = Setting.query.filter( Setting.name == 'logo').first().value return render_template('school/index.html', **context)
def edit_check(course_id): if request.method == 'POST': context = base_context() course = Course.query.get(course_id) if current_user.id == course.teacher_id or current_user.role == 'admin': course.name = request.form['course_name'] course.update() else: return 'No permission to edit' return redirect(url_for('course.view', course_id=course_id))
def user_list(): """ **Get The List of User** Lists all users in the database. """ context = base_context() context["users"] = User.query.all() return render_template("admin/index.html", **context)
def view_chapter(chapter_id): context = base_context() chapter = LightChapter.query.get(chapter_id) context['chapter'] = chapter context['render_md'] = render_md context['add_text_form'] = AddTextForm() context['add_docs_form'] = AddDocsForm() context['add_photos_form'] = AddPhotosForm() context['add_homework_form'] = AddHomeworkForm() context['submit_homework_form'] = SubmitHomeworkForm() return render_template('lightcourse/view_chapter.html', **context)
def settings_update(): context = base_context() settings_name = request.form["settings_name"] settings_value = request.form["settings_value"] s = Settings.query.get(settings_name) s.value = settings_value db.session.commit() settings = Settings.query.all() context["settings"] = settings return render_template("settings/index.html", **context)
def appointment_add(): context = base_context() if request.method == "POST": name = request.form["name"] date = request.form["date"] active = request.form["active"] time = request.form["time"] m = Appointments(name=name, date=date, time=time, active=active) db.session.add(m) db.session.commit() return redirect("/appointment/add") return render_template("appointment/add.html", **context)
def index(): context = base_context() for module in os.listdir("modules"): if module.startswith("__"): continue if module not in ["control_panel"]: with open("modules/{}/info.json".format(module)) as f: module_info = json.load(f) all_info[module] = module_info context["all_info"] = all_info return render_template("internals/index.html", **context)
def admin_edit(id): """ **Update information for a User** :param id: id of the user :type id: int """ context = base_context() user = User.query.get(id) context['user'] = user context['user_roles'] = [r.name for r in user.roles] context['roles'] = Role.query.all() return render_template("admin/edit.html", **context)
def category_add(): context = base_context() has_category = False if request.method == "POST": name = request.form["name"] has_category = Category.category_exists(name) if has_category is False: m = Category(name=name) m.insert() return render_template("category/add.html", **context) context["has_category"] = str(has_category) return render_template("category/add.html", **context)
def index(): context = base_context() for module in os.listdir(os.path.join(current_app.config['BASE_DIR'], "modules")): if module.startswith("__"): continue if module not in ["control_panel"]: with open(os.path.join(current_app.config['BASE_DIR'], 'modules', module, 'info.json')) as f: module_info = json.load(f) all_info[module] = module_info context["all_info"] = all_info flash(notify_success('Notif test')) return render_template("control_panel/index.html", **context)
def login(): context = base_context() login_form = LoginForm() context['form'] = login_form if login_form.validate_on_submit(): username = login_form.username.data password = login_form.password.data user = User.query.filter_by(username=username).first() if user is None or not user.check_hash(password): flash("please check your user id and password") return redirect(url_for("login.login")) login_user(user) return redirect(url_for("control_panel.index")) return render_template("/login.html", **context)
def view(grade_id, page): page = page per_page = 5 context = base_context() context['grade'] = Grade.query.get(grade_id) grade = Grade.query.get(grade_id) student_query = User.query.filter((User.role == 'student') & (User.grade == grade)) context['students'] = student_query.paginate(page, per_page, error_out=False) form = AddStudentForm() context['form'] = form context['number_records'] = len(student_query.all()) context['per_page'] = per_page # context['MESSAGES'] = [request.args.get('message', default='a')] return render_template('student/view_students.html', **context)
def people_edit(id): context = base_context() a = People.query.get(id) context["id"] = a.id context["name"] = a.name context["phone"] = a.phone context["mobile"] = a.mobile context["email"] = a.email context["linkedin"] = a.linkedin context["facebook"] = a.facebook context["twitter"] = a.twitter context["age"] = a.age context["birthday"] = a.birthday context["notes"] = a.notes return render_template("people/edit.html", **context)
def add_grade_check(): if request.method == 'POST': context = base_context() form = AddGradeForm() # if form.validate_on_submit(): if not form.validate_on_submit(): flash_errors(form) return redirect(url_for('student.index')) grade = Grade.query.filter(Grade.name == form.name.data).first() if grade: flash(notify_danger('Grade already exists!')) return redirect(url_for('student.index')) grade = Grade(name=form.name.data) grade.insert() flash(notify_success('Added grade {}!'.format(form.name.data))) return redirect(url_for('student.index'))