Example #1
0
 def get(self, id=None):
     if id:
         categories = Category.objects(parent=id)
         return json.loads(categories.to_json())
     else:
         category = Category.objects()
         return json.loads(category.to_json())
Example #2
0
 def post(self):
     try:
         CategorySchemaWrite().load(request.json)
     except ValidationError as e:
         return str(e)
     category = Category(**request.json)
     category.save()
     return CategorySchemaRead().dump(category)
Example #3
0
def handle_categories(message: Message):
    root_categories = Category.get_root_categories()
    kb = inline_kb_from_iterable(constants.CATEGORY_TAG, root_categories)
    bot.send_message(
        message.chat.id,
        'Выберите категорию',
        reply_markup=kb
    )
Example #4
0
 def post(self):
     try:
         CategorySchema().load(request.json)
     except ValidationError as e:
         return {'text': str(e)}
     categories = Category(**request.json)
     categories.save()
     categories.reload()
     return CategorySchema().dump(categories)
Example #5
0
def handle_categories(message):
    """
    Если пользователь жмет кнопку КАТЕГОРИЙ, идет поиск соответствия в словаре START_KB по конкретной категории
    и если текст равен категории, которая будет обслуживаться данным хэндлером выдается квэрисет категирий. Следует
    обратить внимание что категории должны быть рутовые (корневые), так как основная категория будет в
    первоначальном списке
    """
    root_category = Category.get_root_categories()
    kb = inline_kb_from_iterable(constance.CATEGORY_TAG, root_category)

    bot.send_message(
        message.chat.id,
        constance.CHOICE_CATEGORY,
        reply_markup=kb
    )
Example #6
0
def add_group():
    if request.method == "GET":
        categories = Category.objects
        data = {
            "categories": categories,
        }
        return render_template('/add_group.html', **data)
    else:
        data_form = dict(request.form)
        category = Category()
        category.title = data_form['name']
        category.save()
        if data_form['parent']:
            parent = Category.objects.get(id=data_form['parent'])
            category.parent = parent
            category.save()
            parent.add_subcategory(category)
            parent.save()

        return redirect(url_for('.index'))
def create_category(list_data):

    for i in list_data:
        try:
            Category.objects.get(title=i['title'])
            continue
        except DoesNotExist:
            Category(title=i['title'], description=i['description']).save()

    for cat in list_data:
        sub_category = Category.objects.get(title=cat['title'])
        try:
            category = Category.objects.get(title=cat['parent'])
        except DoesNotExist:
            continue
        if sub_category not in category.subcategories:
            category.add_subcategory(sub_category)

    return 'Categories created'
Example #8
0
 def get(self, id=None):
     if id:
         return CategorySchemaRead().dump(Category.objects.get(id=id))
     else:
         return CategorySchemaRead().dump(Category.objects(), many=True)
Example #9
0
 def delete(self, id):
     categories = Category.objects(id=id)
     categories.delete()
     text = f'Категория удалена'
     return text