コード例 #1
0
def new_student():
    if _login != 0 and _password != '':
        form = StudentForm()
        db = PostgresDb()

        if request.method == 'POST':
            student_obj = Student(
                student_id=db.sqlalchemy_session.query(func.max(Student.student_id) + 1),
                student_name=form.student_name.data,
                student_surname=form.student_surname.data,
                student_age=form.student_age.data,
                student_spec=form.student_spec.data,
                student_course=form.student_course.data,
                student_group=form.student_group.data,
                student_password=form.student_password.data)

            db = PostgresDb()
            db.sqlalchemy_session.add(student_obj)
            db.sqlalchemy_session.commit()

            return redirect(url_for('student'))

        return render_template('student_form.html', form=form, form_name="New student", action="new_student")
    else:
        return render_template('login_exception.html')
コード例 #2
0
ファイル: app.py プロジェクト: khl1956/coursework1610
def edit_user():
    if check(admin_page=True):
        return render_template('login.html',
                               error="no rights, login another way")

    form = UserForm()

    if request.method == 'GET':

        id = request.args.get('id')
        db = PostgresDb()
        user_obj = db.sqlalchemy_session.query(User).filter(
            User.id == id).one()

        # fill form and send to user
        form.id.data = user_obj.id
        form.name.data = user_obj.name
        form.surname.data = user_obj.surname
        form.login.data = user_obj.login
        form.password.data = user_obj.password

        return render_template('user_form.html',
                               form=form,
                               form_name="Edit user",
                               action="edit_user")

    else:
        form.strip()

        if not form.validate():
            return render_template('user_form.html',
                                   form=form,
                                   form_name="Edit user",
                                   action="edit_user")
        else:
            db = PostgresDb()

            if db.sqlalchemy_session.query(User).filter(
                    User.login == form.login.data,
                    User.id != form.id.data).all():
                return render_template(
                    'user_form.html',
                    form=form,
                    form_name="Edit user",
                    action="edit_user",
                    msg="Cant edit this record. Use another login")
            # find professor
            user_obj = db.sqlalchemy_session.query(User).filter(
                User.id == form.id.data).one()

            # update fields from form data
            user_obj.professor_id = form.id.data
            user_obj.login = form.login.data
            user_obj.password = form.password.data
            user_obj.name = form.name.data
            user_obj.surname = form.surname.data

            db.sqlalchemy_session.commit()

            return redirect(url_for('index_user'))
コード例 #3
0
ファイル: app.py プロジェクト: khl1956/coursework1610
def edit_exercise():
    if check(admin_page=True):
        return render_template('login.html',
                               error="no rights, login another way")

    form = ExerciseForm()

    if request.method == 'GET':

        id = request.args.get('id')
        db = PostgresDb()
        exercise = db.sqlalchemy_session.query(Exercise).filter(
            Exercise.id == id).one()

        # fill form and send to student
        form.id.data = exercise.id
        form.title.data = exercise.title
        form.muscle_type.data = exercise.muscle_type
        form.description.data = exercise.description

        return render_template('exercise_form.html',
                               form=form,
                               form_name="Edit exercise",
                               action="edit_exercise")

    else:
        form.strip()
        if not form.validate():
            return render_template('exercise_form.html',
                                   form=form,
                                   form_name="Edit exercise",
                                   action="edit_exercise")
        else:
            db = PostgresDb()
            if db.sqlalchemy_session.query(Exercise).filter(
                    Exercise.title == form.title.data,
                    Exercise.id != form.id.data).all():
                return render_template(
                    'exercise_form.html',
                    form=form,
                    form_name="Edit exercise",
                    action="edit_exercise",
                    msg="Cant edit this record. Use another title")

            exercise = db.sqlalchemy_session.query(Exercise).filter(
                Exercise.id == form.id.data).one()

            # update fields from form data
            exercise.id = form.id.data
            exercise.title = form.title.data
            exercise.muscle_type = form.muscle_type.data
            exercise.description = form.description.data

            db.sqlalchemy_session.commit()

            return redirect(url_for('index_exercise'))
コード例 #4
0
ファイル: app.py プロジェクト: khl1956/coursework1610
def edit_plan():
    if check(admin_page=True):
        return render_template('login.html',
                               error="no rights, login another way")

    form = PlanForm()

    if request.method == 'GET':

        id = request.args.get('id')
        db = PostgresDb()

        discipline = db.sqlalchemy_session.query(Plan).filter(
            Plan.id == id).one()

        # fill form and send to discipline
        form.id.data = id
        form.title.data = discipline.title

        return render_template('plan_form.html',
                               form=form,
                               form_name="Edit plan",
                               action="edit_plan")

    else:
        form.strip()
        if not form.validate():
            return render_template('plan_form.html',
                                   form=form,
                                   form_name="Edit plan",
                                   action="edit_plan")
        else:
            db = PostgresDb()

            if db.sqlalchemy_session.query(Plan).filter(
                    Plan.title == form.title.data,
                    Plan.id != form.id.data).all():
                return render_template(
                    'plan_form.html',
                    form=form,
                    form_name="Edit plan",
                    action="edit_plan",
                    msg="Cant edit this record. Use another title")

            # find
            plan = db.sqlalchemy_session.query(Plan).filter(
                Plan.id == int(form.id.data)).one()

            # update fields from form data
            plan.id = int(form.id.data)
            plan.title = form.title.data

            db.sqlalchemy_session.commit()

            return redirect(url_for('index_plan'))
コード例 #5
0
ファイル: app.py プロジェクト: khl1956/coursework1610
def edit_plan_exercises():
    if check(admin_page=True):
        return render_template('login.html',
                               error="no rights, login another way")

    form = PlanExercisesForm()
    db = PostgresDb()

    if request.method == 'GET':

        id = request.args.get('id')
        db = PostgresDb()

        plan_obj = db.sqlalchemy_session.query(Plan_exercises).filter(
            Plan_exercises.id == id).one()

        # fill form
        form.id.data = id
        form.plan_fk.data = plan_obj.plan_fk
        form.exercise_id.data = plan_obj.exercise_id
        form.weight.data = plan_obj.weight
        form.count.data = plan_obj.count

        return render_template('plan_exercises_form.html',
                               form=form,
                               form_name="Edit plan exercise",
                               action="edit_plan_exercises")

    else:
        if not form.validate():
            return render_template('plan_exercises_form.html',
                                   form=form,
                                   form_name="Edit plan exercise",
                                   action="edit_plan_exercises")
        else:
            # find discipline
            plan_obj = db.sqlalchemy_session.query(Plan_exercises).filter(
                Plan_exercises.id == int(form.id.data)).one()

            # update fields from form data
            plan_obj.id = int(form.id.data)
            plan_obj.plan_fk = form.plan_fk.data
            plan_obj.exercise_id = form.exercise_id.data
            plan_obj.weight = form.weight.data
            plan_obj.count = form.count.data

            db.sqlalchemy_session.commit()

            return redirect(url_for('index_plan_exercises'))
コード例 #6
0
ファイル: app.py プロジェクト: esedinin/lab22_8
def new_discipline():
    form = DisciplineForm()
    db = PostgresDb()

    if request.method == 'POST':
        if not form.validate():
            return render_template('discipline_form.html',
                                   form=form,
                                   form_name="New discipline",
                                   action="new_discipline")
        else:
            id = list(
                db.sqlalchemy_session.query(func.max(
                    Discipline.discipline_id)))[0][0]
            discipline_obj = Discipline(
                discipline_id=id + 1,
                discipline_group=form.discipline_group.data,
                discipline_name=form.discipline_name.data)

            db.sqlalchemy_session.add(discipline_obj)
            db.sqlalchemy_session.commit()

            return redirect(url_for('index_discipline'))

    return render_template('discipline_form.html',
                           form=form,
                           form_name="New discipline",
                           action="new_discipline")
コード例 #7
0
def discipline():
    if _login != 0 and _password != '':
        db = PostgresDb()
        disciplines = db.sqlalchemy_session.query(Discipline).all()
        return render_template('discipline.html', disciplines=disciplines)
    else:
        return render_template('login_exception.html')
コード例 #8
0
ファイル: app.py プロジェクト: esedinin/lab22_8
def new_house():
    form = HouseForm()
    db = PostgresDb()

    if request.method == 'POST':
        if not form.validate():
            return render_template('house_form.html',
                                   form=form,
                                   form_name="New house",
                                   action="new_house")
        else:
            id = list(db.sqlalchemy_session.query(func.max(
                House.house_id)))[0][0]
            house_obj = House(house_id=id + 1,
                              address=form.address.data,
                              price=form.price.data,
                              floor_count=form.floor_count.data,
                              year=form.year.data)

            db.sqlalchemy_session.add(house_obj)
            db.sqlalchemy_session.commit()

            return redirect(url_for('index_house'))

    return render_template('house_form.html',
                           form=form,
                           form_name="New house",
                           action="new_house")
コード例 #9
0
    def search(self, method):
        db = PostgresDb()
        result, labels = [], []

        query = db.sqlalchemy_session.query(Student.student_university, Student.student_faculty).distinct(
            Student.student_university, Student.student_faculty)

        if method == 'POST':
            if self.university.data and self.university.data != "None":
                query = query.filter(Student.student_university == self.university.data)
            if self.faculty.data and self.faculty.data != "None":
                query = query.filter(Student.student_faculty == self.faculty.data)

        student_uni_and_faculty_set = query.all()

        for uni, faculty in student_uni_and_faculty_set:

            query = db.sqlalchemy_session.query(Student.student_group, func.count(Student.student_group)).group_by(
                Student.student_group).filter(Student.student_university == uni, Student.student_faculty == faculty)

            if method == "POST":
                if self.group.data and self.group.data != "None":
                    query = query.filter(Student.student_group == self.group.data)
                if self.name.data and self.name.data != "None":
                    query = query.filter(Student.student_name == self.name.data)
            result.append(query.all())
            labels.append(f'university {uni}, faculty {faculty}')
        return result, labels
コード例 #10
0
ファイル: app.py プロジェクト: khl1956/coursework1610
def index_training():
    if check(admin_page=False):
        return render_template('login.html',
                               error="no rights, login another way")

    db = PostgresDb()

    show = bool(request.args.get("show"))
    if not show:
        train_query = db.sqlalchemy_session.query(Training).filter(
            Training.user_id == session['user_id'],
            Training.date >= datetime.date.today()).all()
    else:
        train_query = db.sqlalchemy_session.query(Training).filter(
            Training.user_id == session['user_id']).all()

    train = {}
    for item in train_query:

        if item.date not in train:
            train[item.date] = [item]
        else:
            train[item.date].append(item)

    if request.args.get("msg"):
        return render_template('training.html',
                               trainings=train,
                               msg=str(request.args.get("msg")),
                               show=show)
    else:
        return render_template('training.html',
                               trainings=train,
                               msg=0,
                               show=show)
コード例 #11
0
ファイル: app.py プロジェクト: esedinin/lab22_8
def new_student():
    form = StudentForm()
    db = PostgresDb()

    if request.method == 'POST':
        if not form.validate():
            return render_template('student_form.html',
                                   form=form,
                                   form_name="New student",
                                   action="new_student")
        else:
            id = list(db.sqlalchemy_session.query(func.max(
                Student.student_id)))[0][0]
            student_obj = Student(
                student_id=id + 1,
                student_university=form.student_university.data,
                student_faculty=form.student_faculty.data,
                student_group=form.student_group.data,
                student_name=form.student_name.data)

            db.sqlalchemy_session.add(student_obj)
            db.sqlalchemy_session.commit()

            return redirect(url_for('index_student'))

    return render_template('student_form.html',
                           form=form,
                           form_name="New student",
                           action="new_student")
コード例 #12
0
ファイル: app.py プロジェクト: evgenpatrushev/flask_lab
def install():
    db = PostgresDb()

    uni1 = Univer(name="new_uni_1",
                  address="new_uni_1",
                  year=date.today(),
                  degree="uni")

    uni2 = Univer(name="new_uni_2",
                  address="new_uni_2",
                  year=date.today(),
                  degree="uni")

    uni3 = Univer(name="new_uni_3",
                  address="new_uni_3",
                  year=date.today(),
                  degree="uni")

    session = db.sqlalchemy_session
    session.add_all([uni1, uni2, uni3])
    session.commit()

    # delete from "Univer" where id=4;
    # delete from "Univer" where id=5;
    # delete from "Univer" where id=6;

    return redirect(url_for('root'))
コード例 #13
0
ファイル: app.py プロジェクト: khl1956/coursework1610
def new_plan():
    if check(admin_page=True):
        return render_template('login.html',
                               error="no rights, login another way")

    form = PlanForm()
    if request.method == 'POST':
        form.strip()
        if not form.validate():
            return render_template('plan_form.html',
                                   form=form,
                                   form_name="New plan",
                                   action="new_plan")
        else:
            db = PostgresDb()
            if db.sqlalchemy_session.query(Plan).filter(
                    Plan.title == form.title.data).all():
                return render_template(
                    'plan_form.html',
                    form=form,
                    form_name="New plan",
                    action="new_plan",
                    msg="Cant add this record. Use another title")
            plan_obj = Plan(title=form.title.data, user_created=False)

            db.sqlalchemy_session.add(plan_obj)
            db.sqlalchemy_session.commit()

            return redirect(url_for('index_plan'))

    return render_template('plan_form.html',
                           form=form,
                           form_name="New plan",
                           action="new_plan")
コード例 #14
0
ファイル: app.py プロジェクト: khl1956/coursework1610
def new_admin():
    if check(admin_page=True):
        return render_template('login.html',
                               error="no rights, login another way")

    form = AdminForm()
    if request.method == 'POST':
        form.strip()
        if not form.validate():
            return render_template('admin_form.html',
                                   form=form,
                                   form_name="New admin",
                                   action="new_admin")
        else:
            admin_obj = Admin(login=form.login.data,
                              password=form.password.data)

            db = PostgresDb()
            db.sqlalchemy_session.add(admin_obj)
            db.sqlalchemy_session.commit()

            return redirect(url_for('index_admin'))

    return render_template('admin_form.html',
                           form=form,
                           form_name="New admin",
                           action="new_admin")
コード例 #15
0
ファイル: app.py プロジェクト: khl1956/coursework1610
def delete_plan():
    if check(admin_page=True):
        return render_template('login.html',
                               error="no rights, login another way")

    id = request.args.get('id')

    db = PostgresDb()

    if db.sqlalchemy_session.query(Training).filter(
            Training.plan_id == id).all():
        return redirect(
            url_for(
                'index_plan',
                msg=
                "Cant delete this record. Use this record at Training entity"))

    if db.sqlalchemy_session.query(Plan_exercises).filter(
            Plan_exercises.plan_fk == id).all():
        db.sqlalchemy_session.query(Plan_exercises).filter(
            Plan_exercises.plan_fk == id).delete()

    result = db.sqlalchemy_session.query(Plan).filter(Plan.id == id).one()
    db.sqlalchemy_session.delete(result)

    db.sqlalchemy_session.commit()

    return redirect(url_for('index_plan'))
コード例 #16
0
ファイル: app.py プロジェクト: khl1956/coursework1610
def new_plan_exercises():
    if check(admin_page=True):
        return render_template('login.html',
                               error="no rights, login another way")

    form = PlanExercisesForm()
    if request.method == 'POST':
        if not form.validate():
            return render_template('plan_exercises_form.html',
                                   form=form,
                                   form_name="New plan exercise",
                                   action="new_plan_exercises")
        else:
            plan_obj = Plan_exercises(plan_fk=form.plan_fk.data,
                                      exercise_id=form.exercise_id.data,
                                      weight=form.weight.data,
                                      count=form.count.data)

            db = PostgresDb()
            db.sqlalchemy_session.add(plan_obj)
            db.sqlalchemy_session.commit()

            return redirect(url_for('index_plan_exercises'))

    return render_template('plan_exercises_form.html',
                           form=form,
                           form_name="New plan exercise",
                           action="new_plan_exercises")
コード例 #17
0
ファイル: app.py プロジェクト: evgenpatrushev/flask_lab
def plot():
    pie_labels = []
    data = {}
    db = PostgresDb()

    # scatter plot ---------------------------------------------------------------------------------------------------
    query = db.sqlalchemy_session.query(func.count(Univer.id), Univer.year).group_by(Univer.year).order_by(Univer.year).all()
    count, year_l = [], []
    i = 0

    for count_uni, year in query:
        i += count_uni
        count.append(i)
        year_l.append(year)



    bar = go.Scatter(
        x=year_l,
        y=count
        # mode='markers'
    )

    data["bar"] = [bar]

    json_data = json.dumps(data, cls=plotly.utils.PlotlyJSONEncoder)

    return render_template('plot.html', json=json_data)
コード例 #18
0
ファイル: app.py プロジェクト: evgenpatrushev/flask_lab
def edit_discipline():
    form = DisciplineForm()

    if request.method == 'GET':

        discipline_university, discipline_faculty, discipline_name = request.args.get('discipline_university'), \
                                                                     request.args.get('discipline_faculty'), \
                                                                     request.args.get('discipline_name')
        db = PostgresDb()

        discipline = db.sqlalchemy_session.query(Discipline).filter(
            Discipline.discipline_university == discipline_university,
            Discipline.discipline_faculty == discipline_faculty,
            Discipline.discipline_name == discipline_name).one()

        # fill form and send to discipline
        form.discipline_university.data = discipline.discipline_university
        form.discipline_faculty.data = discipline.discipline_faculty
        form.discipline_name.data = discipline.discipline_name
        form.discipline_exam.data = discipline.discipline_exam
        form.discipline_hours_for_semester.data = discipline.discipline_hours_for_semester

        return render_template('discipline_form.html', form=form, form_name="Edit discipline", action="edit_discipline")

    else:

        if not form.validate():
            return render_template('discipline_form.html', form=form, form_name="Edit discipline",
                                   action="edit_discipline")
        else:
            db = PostgresDb()
            # find discipline
            discipline = db.sqlalchemy_session.query(Discipline).filter(
                Discipline.discipline_university == form.discipline_university.data,
                Discipline.discipline_faculty == form.discipline_faculty.data,
                Discipline.discipline_name == form.discipline_name.data).one()

            # update fields from form data
            discipline.discipline_university = form.discipline_university.data
            discipline.discipline_faculty = form.discipline_faculty.data
            discipline.discipline_name = form.discipline_name.data
            discipline.discipline_exam = form.discipline_exam.data
            discipline.discipline_hours_for_semester = form.discipline_hours_for_semester.data

            db.sqlalchemy_session.commit()

            return redirect(url_for('index_discipline'))
コード例 #19
0
ファイル: app.py プロジェクト: khl1956/coursework1610
def edit_training():
    if check(admin_page=False):
        return render_template('login.html',
                               error="no rights, login another way")

    form = TrainingForm(user_id=session['user_id'], edit=True)

    if request.method == 'GET':

        id = request.args.get('id')
        db = PostgresDb()

        training_obj = db.sqlalchemy_session.query(Training).filter(
            Training.id == id).one()

        # fill form
        form.id.data = id
        form.plan_id.data = training_obj.plan_id
        form.date.data = training_obj.date

        return render_template('training_form.html',
                               form=form,
                               form_name="Edit training",
                               action="edit_training")

    else:
        if not form.validate():
            return render_template('training_form.html',
                                   form=form,
                                   form_name="Edit training",
                                   action="edit_training")
        else:
            db = PostgresDb()
            # find discipline
            training_obj = db.sqlalchemy_session.query(Training).filter(
                Training.id == int(form.id.data)).one()

            # update fields from form data
            training_obj.id = int(form.id.data)
            training_obj.plan_id = form.plan_id.data
            training_obj.date = form.date.data
            training_obj.user_id = session['user_id']

            db.sqlalchemy_session.commit()

            return redirect(url_for('index_training'))
コード例 #20
0
def student():
    if _login != 0 and _password != '':
        db = PostgresDb()
        students = db.sqlalchemy_session.query(Student).filter(Student.student_id != 1001).all()
        #print(students)
        return render_template('student.html', students=students)
    else:
        return render_template('login_exception.html')
コード例 #21
0
ファイル: app.py プロジェクト: esedinin/lab22_8
def edit_student():
    form = StudentForm()

    if request.method == 'GET':

        student_id = request.args.get('student_id')
        db = PostgresDb()
        student = db.sqlalchemy_session.query(Student).filter(
            Student.student_id == student_id).one()

        # fill form and send to student
        form.student_id.data = student.student_id
        form.student_name.data = student.student_name
        form.student_group.data = student.student_group
        form.student_university.data = student.student_university
        form.student_faculty.data = student.student_faculty

        return render_template('student_form.html',
                               form=form,
                               form_name="Edit student",
                               action="edit_student")

    else:

        if not form.validate():
            return render_template('student_form.html',
                                   form=form,
                                   form_name="Edit student",
                                   action="edit_student")
        else:
            db = PostgresDb()
            # find student
            student = db.sqlalchemy_session.query(Student).filter(
                Student.student_id == form.student_id.data).one()

            # update fields from form data
            student.student_id = form.student_id.data
            student.student_university = form.student_university.data
            student.student_faculty = form.student_faculty.data
            student.student_group = form.student_group.data
            student.student_name = form.student_name.data

            db.sqlalchemy_session.commit()

            return redirect(url_for('index_student'))
コード例 #22
0
ファイル: app.py プロジェクト: khl1956/coursework1610
def edit_admin():
    if check(admin_page=True):
        return render_template('login.html',
                               error="no rights, login another way")

    form = AdminForm()

    if request.method == 'GET':

        admin_id = request.args.get('admin_id')
        db = PostgresDb()
        admin = db.sqlalchemy_session.query(Admin).filter(
            Admin.id == admin_id).one()

        # fill form and send to student
        form.id.data = admin.id
        form.login.data = admin.login
        form.password.data = admin.password

        return render_template('admin_form.html',
                               form=form,
                               form_name="Edit admin",
                               action="edit_admint")

    else:
        form.strip()
        if not form.validate():
            return render_template('admin_form.html',
                                   form=form,
                                   form_name="Edit admin",
                                   action="edit_admin")
        else:
            db = PostgresDb()
            # find student
            admin = db.sqlalchemy_session.query(Admin).filter(
                Admin.id == form.id.data).one()

            # update fields from form data
            admin.id = form.id.data
            admin.login = form.login.data
            admin.password = form.password.data

            db.sqlalchemy_session.commit()

            return redirect(url_for('index_admin'))
コード例 #23
0
ファイル: app.py プロジェクト: esedinin/lab22_8
def edit_house():
    form = HouseForm()

    if request.method == 'GET':

        house_id = request.args.get('house_id')
        db = PostgresDb()
        house = db.sqlalchemy_session.query(House).filter(
            House.house_id == house_id).one()

        # fill form and send to house
        form.house_id.data = house.house_id
        form.address.data = house.address
        form.price.data = house.price
        form.floor_count.data = house.floor_count
        form.year.data = house.year

        return render_template('house_form.html',
                               form=form,
                               form_name="Edit house",
                               action="edit_house")

    else:

        if not form.validate():
            return render_template('house_form.html',
                                   form=form,
                                   form_name="Edit house",
                                   action="edit_house")
        else:
            db = PostgresDb()
            # find house
            house = db.sqlalchemy_session.query(House).filter(
                House.house_id == form.house_id.data).one()

            # update fields from form data
            house.house_id = form.house_id.data
            house.address = form.address.data
            house.price = form.price.data
            house.floor_count = form.floor_count.data
            house.year = form.year.data

            db.sqlalchemy_session.commit()

            return redirect(url_for('index_house'))
コード例 #24
0
ファイル: app.py プロジェクト: khl1956/coursework1610
def new_training():
    if check(admin_page=False):
        return render_template('login.html',
                               error="no rights, login another way")

    db = PostgresDb()
    form = TrainingForm(user_id=session['user_id'])

    if request.method == 'POST':
        if not form.validate():
            return render_template(
                'training_form.html',
                form=form,
                action="new_training",
                form_name="New training with plan name: {}".format(
                    form.new_plan_name.data))
        else:
            plan_obj = Plan(title=form.new_plan_name.data, user_created=True)
            db.sqlalchemy_session.add(plan_obj)
            db.sqlalchemy_session.commit()

            exercises = db.sqlalchemy_session.query(Plan_exercises).filter(
                Plan_exercises.plan_fk == form.plan_id.data).all()

            plan_obj = db.sqlalchemy_session.query(Plan).filter(
                Plan.title == form.new_plan_name.data).one()
            for exercise in exercises:
                plan_exercise = Plan_exercises(
                    plan_fk=plan_obj.id,
                    exercise_id=exercise.exercise_id,
                    weight=exercise.weight,
                    count=exercise.count)
                db.sqlalchemy_session.add(plan_exercise)

            training_obj = Training(
                user_id=session['user_id'],
                plan_id=plan_obj.id,
                date=form.date.data.strftime("%d-%b-%y"),
            )

            db.sqlalchemy_session.add(training_obj)
            db.sqlalchemy_session.commit()

            return redirect(url_for('index_training'))

    user = db.sqlalchemy_session.query(User).filter(
        User.id == session['user_id']).one()
    new_plan_name = "{}_{}".format(
        user.login,
        datetime.datetime.now().strftime("%d/%m/%Y_%H:%M:%S"))
    form.new_plan_name.data = new_plan_name

    return render_template(
        'training_form.html',
        form=form,
        form_name="New training with plan name: {}".format(new_plan_name),
        action="new_training")
コード例 #25
0
ファイル: app.py プロジェクト: evgenpatrushev/flask_lab
def edit_professor():
    form = ProfessorForm()

    if request.method == 'GET':

        professor_id = request.args.get('professor_id')
        db = PostgresDb()
        professor_obj = db.sqlalchemy_session.query(Professor).filter(Professor.professor_id == professor_id).one()

        # fill form and send to user
        form.professor_id.data = professor_obj.professor_id
        form.professor_university.data = professor_obj.professor_university
        form.professor_department.data = professor_obj.professor_department
        form.professor_name.data = professor_obj.professor_name
        form.professor_surname.data = professor_obj.professor_surname
        form.professor_birthday.data = professor_obj.professor_birthday
        form.professor_date_enrollment.data = professor_obj.professor_date_enrollment
        form.professor_degree.data = professor_obj.professor_degree

        return render_template('professor_form.html', form=form, form_name="Edit professor", action="edit_professor")

    else:
        if not form.validate():
            return render_template('professor_form.html', form=form, form_name="Edit professor",
                                   action="edit_professor")
        else:
            db = PostgresDb()
            # find professor
            professor_obj = db.sqlalchemy_session.query(Professor).filter(Professor.professor_id ==
                                                                          form.professor_id.data).one()

            # update fields from form data
            professor_obj.professor_id = form.professor_id.data
            professor_obj.professor_university = form.professor_university.data
            professor_obj.professor_department = form.professor_department.data
            professor_obj.professor_name = form.professor_name.data
            professor_obj.professor_surname = form.professor_surname.data
            professor_obj.professor_birthday = form.professor_birthday.data
            professor_obj.professor_date_enrollment = form.professor_date_enrollment.data.strftime("%d-%b-%y")
            professor_obj.professor_degree = form.professor_degree.data

            db.sqlalchemy_session.commit()

            return redirect(url_for('index_professor'))
コード例 #26
0
def edit_discipline():
    if _login != 0 and _password != '':
        form = DisciplineForm()

        if request.method == 'GET':

            discipline_id = request.args.get('discipline_id')
            db = PostgresDb()
            discipline = db.sqlalchemy_session.query(Discipline).filter(Discipline.discipline_id == discipline_id).one()

            form.discipline_id.data = discipline.discipline_id
            form.discipline_name.data = discipline.discipline_name
            form.discipline_data.data = discipline.discipline_data
            form.programming_tag.data = discipline.tag_programming
            form.algorithm_tag.data = discipline.tag_algorithm
            form.graphics_tag.data = discipline.tag_graphics
            form.databases_tag.data = discipline.tag_databases
            form.math_tag.data = discipline.tag_math

            db.sqlalchemy_session.commit()

            return render_template('discipline_form.html', form=form, form_name="Edit discipline", action="edit_discipline")

        else:

            db = PostgresDb()

            discipline = db.sqlalchemy_session.query(Discipline).filter(Discipline.discipline_id == form.discipline_id.data).one()

            discipline.discipline_id = form.discipline_id.data
            discipline.discipline_name = form.discipline_name.data
            discipline.discipline_data = form.discipline_data.data
            discipline.tag_programming = form.programming_tag.data
            discipline.tag_algorithm = form.algorithm_tag.data
            discipline.tag_graphics = form.graphics_tag.data
            discipline.tag_databases = form.databases_tag.data
            discipline.tag_math = form.math_tag.data

            db.sqlalchemy_session.commit()

            return redirect(url_for('discipline'))
    else:
        return render_template('login_exception.html')
コード例 #27
0
ファイル: app.py プロジェクト: evgenpatrushev/flask_lab
def edit_table():
    form = TableForm()

    if request.method == 'GET':

        id = request.args.get('id')

        db = PostgresDb()
        table_obj = db.sqlalchemy_session.query(Univer).filter(Univer.id == id).one()

        # fill form and send to user
        form.id.data = id
        form.name.data = table_obj.name
        form.address.data = table_obj.address
        form.year.data = table_obj.year
        form.degree.data = table_obj.degree

        return render_template('new_form.html', form=form, form_name="Edit ", action="edit_table")

    else:
        if not form.validate():
            # form.job_name.errors.append('vova')
            return render_template('new_form.html', form=form, form_name="Edit",
                                   action="edit_table")
        else:
            if form.year.data.year < 2000 or form.year.data.year > 2019:
                form.year.errors.append('year shoud be in interval [2000-2019]')
                return render_template('new_form.html', form=form, form_name="Edit",
                                       action="edit_table")

            db = PostgresDb()

            table_obj = db.sqlalchemy_session.query(Univer).filter(Univer.id == form.id.data).one()

            # update fields from form data
            table_obj.name = form.name.data
            table_obj.address = form.address.data
            table_obj.year = form.year.data
            table_obj.degree = form.degree.data

            db.sqlalchemy_session.commit()

            return redirect(url_for('index_show'))
コード例 #28
0
def edit_student():
    if _login != 0 and _password != '':
        form = StudentForm()

        if request.method == 'GET':

            student_id = request.args.get('student_id')
            db = PostgresDb()
            student = db.sqlalchemy_session.query(Student).filter(Student.student_id == student_id).one()

            form.student_id.data = student.student_id
            form.student_name.data = student.student_name
            form.student_surname.data = student.student_surname
            form.student_age.data = student.student_age
            form.student_spec.data = student.student_spec
            form.student_course.data = student.student_course
            form.student_group.data = student.student_group
            form.student_password.data = student.student_password

            db.sqlalchemy_session.commit()

            return render_template('student_form.html', form=form, form_name="Edit student", action="edit_student")

        else:

            db = PostgresDb()

            student = db.sqlalchemy_session.query(Student).filter(Student.student_id == form.student_id.data).one()

            student.student_id = form.student_id.data
            student.student_name = form.student_name.data
            student.student_surname = form.student_surname.data
            student.student_age = form.student_age.data
            student.student_spec = form.student_spec.data
            student.student_course = form.student_course.data
            student.student_group = form.student_group.data
            student.student_password = form.student_password.data

            db.sqlalchemy_session.commit()

            return redirect(url_for('student'))
    else:
        return render_template('login_exception.html')
コード例 #29
0
ファイル: app.py プロジェクト: khl1956/coursework1610
def index_admin():
    if check(admin_page=True):
        return render_template('login.html',
                               error="no rights, login another way")

    db = PostgresDb()

    result = db.sqlalchemy_session.query(Admin).all()

    return render_template('admin.html', admins=result)
コード例 #30
0
ファイル: app.py プロジェクト: evgenpatrushev/flask_lab
def delete_student():
    student_id = request.args.get('student_id')

    db = PostgresDb()

    result = db.sqlalchemy_session.query(Student).filter(Student.student_id == student_id).one()
    result.student_date_expelled = date.today()

    db.sqlalchemy_session.commit()

    return redirect(url_for('index_student'))