Exemplo n.º 1
0
    def __call__(self, request):

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

            name = data['name']
            name = site.decode_value(name)

            request['data']['name'] = name
            # print(f'отладка реквест CreateCategory --> {request}')

            category_id = data.get('category_id')

            category = None
            if category_id:
                category = site.find_category_by_id(int(category_id))

            new_category = site.create_category(name, category)

            site.categories.append(new_category)

            return '200 OK', render('index.html', objects_list=site.categories)
        else:
            categories = site.categories
            return '200 OK', render('create_category.html',
                                    categories=categories)
Exemplo n.º 2
0
 def __call__(self, request):
     logger.log('Список курсов')
     try:
         category = site.find_category_by_id(
             int(request['request_params']['id']))
         return '200 OK', render('course_list.html',
                                 objects_list=category.courses,
                                 name=category.name,
                                 id=category.id)
     except KeyError:
         return '200 OK', 'No courses have been added yet'
Exemplo n.º 3
0
    def __call__(self, request):
        if request['method'] == 'POST':
            # метод пост
            data = request['data']
            # print(f'data из реквеста Create Course: {data}')
            name = data['name']
            name = site.decode_value(name)

            request['data']['name'] = name
            # print(f'отладка реквест --> {request}')

            category = None
            if self.category_id != -1:
                category = site.find_category_by_id(int(self.category_id))
                # print(f'отладка CreateCourse: category --> {category}')

                course = site.create_course('record', name, category)
                # Добавляем наблюдателей на курс (сделал в generative patterns,
                # в Course --> add_student
                # print(f'отладка CreateCourse: course --> {course}')
                # course.observers.append(email_notifier)
                # course.observers.append(sms_notifier)
                site.courses.append(course)

            return '200 OK', render('course_list.html',
                                    objects_list=category.courses,
                                    name=category.name,
                                    id=category.id)

        else:
            try:
                self.category_id = int(request['request_params']['id'])
                category = site.find_category_by_id(int(self.category_id))

                return '200 OK', render('create_course.html',
                                        name=category.name,
                                        id=category.id)
            except KeyError:
                return '200 OK', 'No categories have been added yet'
Exemplo n.º 4
0
    def __call__(self, request):
        request_params = request['request_params']

        try:
            name = request_params['name']
            old_course = site.get_course(name)
            if old_course:
                new_name = f'copy_{name}'
                new_course = old_course.clone()
                new_course.name = new_name
                site.courses.append(new_course)

            return '200 OK', render('course_list.html',
                                    objects_list=site.courses)
        except KeyError:
            return '200 OK', 'No courses have been added yet'
Exemplo n.º 5
0
 def __call__(self, request):
     return '200 OK', render('study-programs.html', data=date.today())
Exemplo n.º 6
0
 def __call__(self, request):
     return '200 OK', render('contacts.html')
Exemplo n.º 7
0
 def __call__(self, request):
     return '200 OK', render('about.html')
Exemplo n.º 8
0
 def __call__(self, request):
     return '200 OK', render('index.html', objects_list=site.categories)
Exemplo n.º 9
0
 def __call__(self, request):
     logger.log('Список категорий')
     return '200 OK', render('category_list.html',
                             objects_list=site.categories)
Exemplo n.º 10
0
 def render_template_with_context(self):
     template_name = self.get_template()
     context = self.get_context_data()
     return '200 OK', render(template_name, **context)