コード例 #1
0
    def parse_line(self, lnr, line):
        m = self.pattern.match(line)
        if not m:
            raise TeachersParserError("Line is not matching: %d. %s" \
                               % (lnr, line))
        title, last, first, gender = m.groups()

        if gender == 'M':
            is_male = True
        else:
            is_male = False

        return Educator(title, first, last, is_male)
コード例 #2
0
ファイル: schedule.py プロジェクト: kuba/SIS
    def teachers(self):
        """
        Render full currently active teachers schedule table
        (every teacher and every weekday).

        """
        schedule = Schedule.current()
        q = Educator.query_active(schedule_id=schedule.id).\
                     order_by(Educator.last_name)
        educators = []
        for e in q.all():
            s = e.schedule()
            educators.append((e, s))

        c.year = schedule.year
        c.educators = educators
        return render('schedule/teacher/full_table.xml')
コード例 #3
0
ファイル: schedule.py プロジェクト: kuba/SIS
    def teachers(self):
        """
        Render full currently active teachers schedule table
        (every teacher and every weekday).

        """
        schedule = Schedule.current()
        q = Educator.query_active(schedule_id=schedule.id).\
                     order_by(Educator.last_name)
        educators = []
        for e in q.all():
            s = e.schedule()
            educators.append((e, s))

        c.year = schedule.year
        c.educators = educators
        return render('schedule/teacher/full_table.xml')
コード例 #4
0
ファイル: schedule.py プロジェクト: kuba/SIS
    def index(self):
        """
        Render schedule management control panel. Handle POST redirects.

        """
        day = request.params.get('day', None)
        group_name = request.params.get('group_name', None)
        course_name = request.params.get('course_name', None)
        teacher_last_name = request.params.get('teacher_last_name', None)
        if group_name is not None:
            if course_name is not None:
                if day == 'week':
                    redirect(
                        url('schedule_group_course_week',
                            group_name=group_name,
                            course_name=course_name))
                elif day is not None:
                    redirect(
                        url('schedule_group_course',
                            day_name=day,
                            group_name=group_name,
                            course_name=course_name))
                else:
                    redirect(
                        url('schedule_group_course_today',
                            group_name=group_name,
                            course_name=course_name))
            else:
                if day == 'week':
                    redirect(url('schedule_group_week', group_name=group_name))
                elif day is not None:
                    redirect(
                        url('schedule_group',
                            day_name=day,
                            group_name=group_name))
                else:
                    redirect(url('schedule_group_today',
                                 group_name=group_name))
        if teacher_last_name is not None:
            if day == 'week':
                redirect(
                    url('schedule_teacher_week',
                        teacher_name=teacher_last_name))
            elif day is not None:
                redirect(
                    url('schedule_teacher',
                        day_name=day,
                        teacher_name=request.params.get('teacher_last_name')))
            else:
                redirect(
                    url('schedule_teacher_today',
                        teacher_name=request.params.get('teacher_last_name')))

        schedule = Schedule.current()
        c.year = schedule.year

        groups = Group.query_active(schedule.id).\
                         join((SchoolYear, Group.year_id == SchoolYear.id)).\
                         order_by(desc(SchoolYear.start), Group.name).all()
        courses = []
        classes = []
        for g in groups:
            if len(g.name) == 1 and g.name not in courses:
                courses.append(g.name)
            elif len(g.name) != 1 and g.name not in classes:
                classes.append(g.full_name(schedule.year))
        courses.sort()
        classes.sort()

        teachers = Educator.query_active(schedule.id).\
                               order_by(Educator.last_name).all()

        c.groups = groups
        c.courses = courses
        c.classes = classes
        c.teachers = teachers
        return render('schedule/index.xml')
コード例 #5
0
ファイル: schedule.py プロジェクト: kuba/SIS
    def index(self):
        """
        Render schedule management control panel. Handle POST redirects.

        """
        day = request.params.get('day', None)
        group_name = request.params.get('group_name', None)
        course_name = request.params.get('course_name', None)
        teacher_last_name = request.params.get('teacher_last_name', None)
        if group_name is not None:
            if course_name is not None:
                if day == 'week':
                    redirect(url('schedule_group_course_week',
                            group_name=group_name, course_name=course_name))
                elif day is not None:
                    redirect(url('schedule_group_course', day_name=day,
                            group_name=group_name, course_name=course_name))
                else:
                    redirect(url('schedule_group_course_today',
                        group_name=group_name, course_name=course_name))
            else:
                if day == 'week':
                    redirect(url('schedule_group_week', group_name=group_name))
                elif day is not None:
                    redirect(url('schedule_group', day_name=day,
                                 group_name=group_name))
                else:
                    redirect(url('schedule_group_today',
                        group_name=group_name))
        if teacher_last_name is not None:
            if day == 'week':
                redirect(url('schedule_teacher_week',
                        teacher_name=teacher_last_name))
            elif day is not None:
                redirect(url('schedule_teacher', day_name=day,
                        teacher_name=request.params.get('teacher_last_name')))
            else:
                redirect(url('schedule_teacher_today',
                        teacher_name=request.params.get('teacher_last_name')))

        schedule = Schedule.current()
        c.year = schedule.year

        groups = Group.query_active(schedule.id).\
                         join((SchoolYear, Group.year_id == SchoolYear.id)).\
                         order_by(desc(SchoolYear.start), Group.name).all()
        courses = []
        classes = []
        for g in groups:
            if len(g.name) == 1 and g.name not in courses:
                courses.append(g.name)
            elif len(g.name) != 1 and g.name not in classes:
                classes.append(g.full_name(schedule.year))
        courses.sort()
        classes.sort()

        teachers = Educator.query_active(schedule.id).\
                               order_by(Educator.last_name).all()

        c.groups = groups
        c.courses = courses
        c.classes = classes
        c.teachers = teachers
        return render('schedule/index.xml')