Esempio n. 1
0
def admin_group():
    form = GroupForm()
    form.group_specialty.choices = [(h.id, h.long_form) for h in Specialty.get_all()]
    if form.validate_on_submit():
        Group.add(form.group_number.data, form.group_course.data, form.group_specialty.data)
        flash(u'Спеціальність успішно додано')
        return redirect_back('admin_group')
    return render_template('admin_group.html', data=Group.get_all(), form=form)
Esempio n. 2
0
def index():
    return render_template('groups.html', all_groups=Group.get_all())
Esempio n. 3
0
def admin_replacement():
    form = ReplacementForm()
    choises = []
    courses = [u'Перший курс', u'Другий курс', u'Третій курс', u'Четвертий', u'Бакалаврат']
    index = 1
    for j in courses:
        tmp = [j]
        tmp.append([(h.id, unicode(h.group_number) + '-' + h.specialty.short_form) for h in Group.get_all() if
                    h.group_course == index])
        choises.append(tmp)
        index += 1
    form.group.choices = choises
    # form.finish_subject.choices = [(i.id,i.subject.title)for i in Lessons.get]
    if request.method == 'POST':
        Replacement.add(form.group.data,form.start.data,form.start_lesson.data,form.start_subject.data,form.finish.data,form.finish_lesson.data,form.finish_subject.data)
        flash(u'Заміну здійснено!')
    return render_template('admin_replacement.html', form=form)
Esempio n. 4
0
def admin_timetable():
    form = TimeTable()
    all_groups = Group.get_all()
    choises = []
    courses = [u'Перший курс', u'Другий курс', u'Третій курс', u'Четвертий', u'Бакалаврат']
    index = 1
    for j in courses:
        tmp = [j]
        tmp.append([(h.id, unicode(h.group_number) + '-' + h.specialty.short_form) for h in all_groups if
                    h.group_course == index])
        choises.append(tmp)
        index += 1
    form.group.choices = choises
    edit = EditForm()

    if form.validate_on_submit():
        group = form.group.data
        day = form.day.data
        item = None
        if group or group != 'None':
            item = Group.get_by_id(group)
        if day or day != 'None':
            item_day = getattr(item, day)
            if item_day != []:
                for i in item_day:
                    if i.week == 1:
                        if i.subject_one:
                            edit.one_lesson_one.data = i.subject_one.subject_id
                            edit.one_lesson_one_lecturer.data = i.subject_one.lecturer_id
                        if i.subject_two:
                            edit.one_lesson_two.data = i.subject_two.subject_id
                            edit.one_lesson_two_lecturer.data = i.subject_two.lecturer_id
                        if i.subject_three:
                            edit.one_lesson_three.data = i.subject_three.subject_id
                            edit.one_lesson_three_lecturer.data = i.subject_three.lecturer_id
                        if i.subject_four:
                            edit.one_lesson_four.data = i.subject_four.subject_id
                            edit.one_lesson_four_lecturer.data = i.subject_four.lecturer_id
                        if i.subject_five:
                            edit.one_lesson_five.data = i.subject_five.subject_id
                            edit.one_lesson_five_lecturer.data = i.subject_five.lecturer_id
                        if i.subject_six:
                            edit.one_lesson_six.data = i.subject_six.subject_id
                            edit.one_lesson_six_lecturer.data = i.subject_six.lecturer_id
                    if i.week == 2:
                        if i.subject_one:
                            edit.two_lesson_one.data = i.subject_one.subject_id
                            edit.two_lesson_one_lecturer.data = i.subject_one.lecturer_id
                        if i.subject_two:
                            edit.two_lesson_two.data = i.subject_two.subject_id
                            edit.two_lesson_two_lecturer.data = i.subject_two.lecturer_id
                        if i.subject_three:
                            edit.two_lesson_three.data = i.subject_three.subject_id
                            edit.two_lesson_three_lecturer.data = i.subject_three.lecturer_id
                        if i.subject_four:
                            edit.two_lesson_four.data = i.subject_four.subject_id
                            edit.two_lesson_four_lecturer.data = i.subject_four.lecturer_id
                        if i.subject_five:
                            edit.two_lesson_five.data = i.subject_five.subject_id
                            edit.two_lesson_five_lecturer.data = i.subject_five.lecturer_id
                        if i.subject_six:
                            edit.two_lesson_six.data = i.subject_six.subject_id
                            edit.two_lesson_six_lecturer.data = i.subject_six.lecturer_id
            return render_template('admin_timetable.html', form=form, edit=edit)
    elif request.method == 'POST' and edit.data:
        day = None
        group = None
        try:
            day = request.args.get('day')
            group = int(request.args.get('group'))
        except ValueError:
            pass
        if group != None and day != None:
            lessons = globals().get(day.capitalize()).get_by_group(group)
            while len(lessons) < 2:
                lessons.append(globals().get(day.capitalize())(week=len(lessons) + 1, group_id=group))
            for item in lessons:
                for i in range(1, 7):
                    if item.week == 1:
                        setattr(item, 'lesson_' + num2words(i), Lessons.get_id(
                            getattr(edit, unicode(num2words(1)) + '_lesson_' + unicode(num2words(i))).data,
                            getattr(edit, unicode(num2words(1)) + '_lesson_' + unicode(num2words(i)) + unicode(
                                '_lecturer')).data))
                    if item.week == 2:
                        setattr(item, 'lesson_' + num2words(i), Lessons.get_id(
                            getattr(edit, unicode(num2words(2)) + '_lesson_' + unicode(num2words(i))).data,
                            getattr(edit, unicode(num2words(2)) + '_lesson_' + unicode(num2words(i)) + unicode(
                                '_lecturer')).data))
                    globals().get(day.capitalize()).update(item)
            flash(u'Розклад успішно оновлено')
            form.day.errors = None
            form.group.errors = None
        return render_template('admin_timetable.html', form=form)
    else:
        return render_template('admin_timetable.html', form=form)