Пример #1
0
 def get_context_data(self):
     context = super().get_context_data()
     mapper = MapperRegistry.get_current_mapper("course")
     context["courses"] = mapper.all()
     mapper = MapperRegistry.get_current_mapper("student")
     context["students"] = mapper.all()
     return context
Пример #2
0
    def __call__(self, request):
        request_params = request["request_params"]

        try:
            name = request_params["name"]
            name = my_site.decode_value(name)
            category_id = request_params["id"]

            mapper = MapperRegistry.get_current_mapper("course")
            course = mapper.find_by_name(name, category_id)

            new_name = f"{name}_copy"

            new_obj = my_site.create_course("record", new_name, category_id)
            my_site.courses.append(new_obj)
            new_obj.mark_new()
            UnitOfWork.get_current().commit()
            # Добавляем наблюдателей на курс
            new_obj.watchers.append(email_notifier)
            new_obj.watchers.append(sms_notifier)

            mapper = MapperRegistry.get_current_mapper("category")
            category = mapper.find_by_id(category_id)
            courses = mapper.get_courses(category_id)

            return "200 OK", page_render("course_list.html", objects_list=courses,
                                         name=category.name, id=category.id)
        except KeyError:
            return "200 OK", "No courses have been added yet"
Пример #3
0
    def __call__(self, request):
        print(request)
        if request["method"] == "POST":
            # Переименуем курс
            data = request["data"]

            new_name = data["new_name"]
            new_name = my_site.decode_value(new_name)
            old_name = data["old_name"]
            old_name = my_site.decode_value(old_name)
            category_id = data["category_id"]

            mapper = MapperRegistry.get_current_mapper("course")
            course = mapper.find_by_name(old_name, category_id)
            course.new_name = new_name

            if course.new_name != course.name:
                course.mark_dirty()
                UnitOfWork.get_current().commit()
                course.notify()

            mapper = MapperRegistry.get_current_mapper("category")
            category = mapper.find_by_id(category_id)
            courses = mapper.get_courses(category_id)
            return "200 OK", page_render("course_list.html", objects_list=courses,
                                         name=category.name, id=category.id)
        else:
            request_params = request["request_params"]
            old_name = request_params["name"]
            old_name = my_site.decode_value(old_name)
            category_id = request_params["id"]

            return "200 OK", page_render("edit_course.html", name=old_name, id=category_id)
Пример #4
0
 def get_queryset(self):
     mapper = MapperRegistry.get_current_mapper("student")
     students = mapper.all()
     for person in students:
         courses = mapper.get_courses(person.id)
         person.courses = courses
     return students
Пример #5
0
 def create_obj(self, data: dict):
     course_id = data["course_id"]
     student_id = data["student_id"]
     mapper = MapperRegistry.get_current_mapper("student")
     student = mapper.find_by_id(student_id)
     student.course_id = course_id
     student.id = student_id
     student.mark_dirty()
     UnitOfWork.get_current().commit()
Пример #6
0
    def __call__(self, request):
        logger.log("Список курсов")
        try:
            mapper = MapperRegistry.get_current_mapper("category")
            category_id = int(request["request_params"]["id"])
            category = mapper.find_by_id(category_id)
            courses = mapper.get_courses(category_id)

            return "200 OK", page_render("course_list.html", objects_list=courses,
                                         name=category.name, id=category.id)
        except KeyError:
            return "200 OK", "No courses have been added yet"
Пример #7
0
    def __call__(self, request):
        if request["method"] == "POST":
            # метод пост
            data = request["data"]

            name = data["name"]
            name = my_site.decode_value(name)

            category = None
            if self.category_id != -1:
                mapper = MapperRegistry.get_current_mapper("category")
                category_id = int(self.category_id)
                category = mapper.find_by_id(category_id)
                new_obj = my_site.create_course("record", name, category_id)
                my_site.courses.append(new_obj)
                new_obj.mark_new()
                UnitOfWork.get_current().commit()
                # Добавляем наблюдателей на курс
                new_obj.watchers.append(email_notifier)
                new_obj.watchers.append(sms_notifier)

                courses = mapper.get_courses(category_id)
                return "200 OK", page_render("course_list.html", objects_list=courses,
                                             name=category.name, id=category.id)
            return "200 OK", "No categories have been added yet"

        else: # метод GET
            try:
                mapper = MapperRegistry.get_current_mapper("category")
                self.category_id = int(request["request_params"]["id"])
                category = mapper.find_by_id(self.category_id)

                return "200 OK", page_render("create_course.html", name=category.name,
                                             id=category.id)
            except KeyError:
                return "200 OK", "No categories have been added yet"
Пример #8
0
    def __call__(self, request):

        if request["method"] == "POST":
            data = request["data"]
            name = data["name"]
            name = my_site.decode_value(name)
            new_obj = my_site.create_user("student", name)
            my_site.students.append(new_obj)
            new_obj.mark_new()
            UnitOfWork.get_current().commit()

            mapper = MapperRegistry.get_current_mapper("student")
            return "200 OK", page_render("student_list.html", objects_list=mapper.all())
        else:
            return "200 OK", page_render("create_student.html")
Пример #9
0
 def get_context(self):
     context = super().get_context()
     context['courses'] = site.courses
     # context['students'] = site.students
     mapper = MapperRegistry.get_current_mapper('student')
     students_from_db = mapper.get_all()
     #context['students'] = students_from_db
     print(students_from_db)
     print(site.students)
     for st in students_from_db:
         print(f'item.name={st.name}')
         student = site.get_student(st.name)
         print(f'student={student}')
         if not student:
             site.students.append(st)
             print(f'append ok')
     context['students'] = site.students
     return context
Пример #10
0
    def __call__(self, request):

        if request["method"] == "POST":
            # метод пост

            data = request["data"]

            name = data["name"]
            name = my_site.decode_value(name)

            new_obj = my_site.create_category(-1, name)
            my_site.categories.append(new_obj)
            new_obj.mark_new()
            UnitOfWork.get_current().commit()

            mapper = MapperRegistry.get_current_mapper("category")
            return "200 OK", page_render("index.html", objects_list=mapper.all())
        else:
            return "200 OK", page_render("create_category.html")
Пример #11
0
 def get_queryset(self):
     mapper = MapperRegistry.get_current_mapper('student')
     return mapper.get_all()
Пример #12
0
 def __call__(self, request):
     mapper = MapperRegistry.get_current_mapper("category")
     return "200 OK", page_render("index.html", objects_list=mapper.all())
Пример #13
0
 def __call__(self, request):
     logger.log("Список категорий")
     mapper = MapperRegistry.get_current_mapper("category")
     return "200 OK", page_render("category_list.html", objects_list=mapper.all())