예제 #1
0
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)
예제 #2
0
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)
예제 #3
0
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)
예제 #4
0
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)
예제 #5
0
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)
예제 #6
0
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)
예제 #7
0
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)
예제 #8
0
def settings_main():
    context = base_context()

    settings = Settings.query.all()

    context["settings"] = settings
    return render_template("settings/index.html", **context)
예제 #9
0
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)
예제 #10
0
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)
예제 #11
0
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)
예제 #12
0
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)
예제 #13
0
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'))
예제 #14
0
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'))
예제 #15
0
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)
예제 #16
0
파일: view.py 프로젝트: yaoxingqi/shopyo
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)
예제 #17
0
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)
예제 #18
0
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))
예제 #19
0
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)
예제 #20
0
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)
예제 #21
0
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)
예제 #22
0
파일: view.py 프로젝트: yaoxingqi/shopyo
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)
예제 #23
0
파일: view.py 프로젝트: yaoxingqi/shopyo
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)
예제 #24
0
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)
예제 #25
0
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)
예제 #26
0
파일: view.py 프로젝트: yaoxingqi/shopyo
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)
예제 #27
0
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)
예제 #28
0
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)
예제 #29
0
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)
예제 #30
0
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'))