def stop_all_lessons(self): from model import Lesson lessons = Lesson.fetch_all(filter_expr="teacher", filter_value=self.person) for lesson in lessons: self.stop_lesson(lesson, False) self.write_response_plain_text("OK")
def delete_all_lessons(self): from model import Lesson lessons = Lesson.fetch_all(filter_expr="teacher", filter_value=self.person) for lesson in lessons: self.delete_lesson(lesson, False) self.log_out_all_students(lesson, False); self.write_response_plain_text("OK")
def get_lessons_json(self, returnAll=False): from model import Lesson import json import datetime def handler(o): if isinstance(o, datetime.datetime): return "(new Date(%d, %d, %d, %d, %d, %d))" % ( o.year, o.month - 1, # javascript months start at zero o.day, o.hour, o.minute, o.second, ) else: raise TypeError(repr(o)) if returnAll: lessons = Lesson.fetch_all(sort="title") elif self.person is not None and self.is_teacher: lessons = Lesson.fetch_all(filter_expr="teacher", filter_value=self.person, sort="title") else: lessons = Lesson.fetch_all(sort="title") lesson_infos = [] for lesson in lessons: if not lesson.is_deleted: lesson_infos.append( { "lesson_code": lesson.lesson_code, "title": lesson.title, "description": lesson.description, "class_name": lesson.class_name, "teacher_name": lesson.teacher.nickname, "start_time": lesson.start_time, "stop_time": lesson.stop_time, "tasks": lesson.tasks, "is_active": lesson.is_active, } ) lessons_json = json.dumps(lesson_infos, default=handler) return lessons_json