async def adding_comment(message: types.Message, state: FSMContext):
    message.text = function.string_handler(message.text)
    await state.update_data(message=message.text)
    await UserMes.wait.set()
    await message.answer(
        config.message["comment_confirmation"].format(text=message.text),
        reply_markup=await buttons.getConfirmationKeyboard(cancel="Отменить"))
Exemplo n.º 2
0
async def close_order_text(message: types.Message, state: FSMContext):
    message.text = function.string_handler(message.text)
    await state.update_data(text=message.text)
    await AdminPrMes.wait.set()
    await message.answer(
        config.message["comment_confirmation"].format(text=message.text),
        reply_markup=await buttons.getConfirmationKeyboard())
Exemplo n.º 3
0
async def create_code_name(message: types.Message, state: FSMContext):
    message.text = function.string_handler(message.text)
    await state.update_data(name=message.text)
    await CodeAdd.wait.set()
    await message.answer(
        message.text + "\n" + config.adminMessage["code_add_confirmation"],
        reply_markup=await
        buttons.getConfirmationKeyboard(cancel="Отменить создание"))
Exemplo n.º 4
0
async def message_add_mes(message: types.Message, state: FSMContext):
    message.text = function.string_handler(message.text)
    data = await state.get_data()
    mes = data.get("description") if "description" in data.keys() else ""
    await state.update_data(description=(mes + message.text + "\n"))
    await message.answer(config.adminMessage["mes_add"] + "\n" +
                         config.adminMessage["message_send_confirmation"],
                         reply_markup=await buttons.getConfirmationKeyboard())
Exemplo n.º 5
0
async def edit_code_code(message: types.Message, state: FSMContext):
    message.text = function.string_handler(message.text)
    promoCodes = promoCodesModel.get_ALLPromoCode()
    if not (promoCodes
            and message.text in [promo.code for promo in promoCodes]):
        await state.update_data(code=message.text)
        await message.answer(
            message.text + "\n" + config.adminMessage["code_add_confirmation"],
            reply_markup=await buttons.getConfirmationKeyboard())
    else:
        await message.answer("Такой промокод уже существует")
Exemplo n.º 6
0
async def edit_code_name(message: types.Message, state: FSMContext):
    message.text = function.string_handler(message.text)
    departments = departmentModel.get_all_departments()
    if not (departments and message.text
            in [department.name for department in departments]):
        await state.update_data(name=message.text)
        await message.answer(
            message.text + "\n" + config.adminMessage["code_add_confirmation"],
            reply_markup=await buttons.getConfirmationKeyboard())
    else:
        await message.answer("Отдел с таким именем уже существует",
                             reply_markup=await
                             buttons.getCustomKeyboard(cancel="Отменить"))
async def adding_comment(message: types.Message, state: FSMContext):
    message.text = function.string_handler(message.text)
    pattern = compile('(^|\s)[-a-z0-9_.]+@([-a-z0-9]+\.)+[a-z]{2,6}(\s|$)')
    if pattern.match(message.text):
        await state.update_data(email=message.text)
        await UserMes.wait.set()
        await message.answer(
            config.message["email_confirmation"].format(text=message.text),
            reply_markup=await
            buttons.getConfirmationKeyboard(cancel="Отменить"))
    else:
        await message.answer(
            config.message["comment_email_no_validation"].format(
                text=message.text),
            reply_markup=await buttons.getCustomKeyboard(cancel="Отменить"))
Exemplo n.º 8
0
async def edit_code_code(message: types.Message, state: FSMContext):
    message.text = function.string_handler(message.text)
    departments = departmentModel.get_all_departments()
    if (not "@" in message.text and not "." in message.text
            and not "\"" in message.text
        ) and not (departments and message.text
                   in [department.tag for department in departments]):
        await state.update_data(tag=message.text)
        await message.answer(
            message.text + "\n" + config.adminMessage["code_add_confirmation"],
            reply_markup=await buttons.getConfirmationKeyboard())
    else:
        await message.answer(
            "Недопустимые символы (@ . \") или отдел с таким тэгом уже существует",
            reply_markup=await buttons.getCustomKeyboard(cancel="Отменить"))
Exemplo n.º 9
0
async def adding_promoCode(message: types.Message, state: FSMContext):
    message.text = function.string_handler(message.text)
    code = promoCodesModel.get_promo_code(message.text)
    if code and code.limitation_use and code.count <= 0:
        await message.answer("Данный промокод закончился")
    elif code:
        await state.update_data(percent=code.percent,
                                discount=code.discount,
                                promoCode=code.code)
        await SellInfo.wait.set()
        await message.answer(config.message["promoCode_confirmation"].format(
            name=code.name,
            discount=str(code.discount) + ("%" if code.percent else " р.")),
                             reply_markup=await
                             buttons.getConfirmationKeyboard(
                                 cancel="Отменить заказ"))
    else:
        await message.answer(text=config.message["code_missing"] + "\n" +
                             config.message["comment_confirmation_no"],
                             reply_markup=await
                             buttons.getCustomKeyboard(cancel="Отменить заказ"
                                                       ))
Exemplo n.º 10
0
async def start_edit_code(message: types.Message, state: FSMContext):
    mes = "В работе"
    tags = function.check_all_tag(message.text)
    staff = {}
    for tag in tags:
        tag_temporary = tag.split(".")[0] if "." in tag else tag
        department = departmentModel.get_department(tag_temporary)
        if department:
            try:
                staff_temporary = [department.staff[int(tag.split(".")[1]) - 1]] if "." in tag else department.staff
                if tag_temporary in staff.keys():
                    staff[tag_temporary] = sorted(staff[tag_temporary] + staff_temporary)
                else:
                    staff[tag_temporary] = staff_temporary
            except:
                pass
        else:
            await message.answer(text=config.adminMessage["department_missing"])
            return
    orderID = function.check_number(message.text)
    text = function.string_handler(function.check_text(message.text))
    order = orderModel.get_order(orderID)
    if orderID is None or not order:
        await message.answer("Вы не указали номер заказа или указали на несуществующий заказ")
        return
    elif not order.active:
        await message.answer("Заказ уже закрыт")
        return
    elif not staff:
        await message.answer("Вы неверно указали сотрудников")
        return

    for departmentTag in staff:
        for userID in staff[departmentTag]:
            tasksModel.del_task_duplicate(userID, departmentTag, orderID)
            tasksCompletesModel.del_task_duplicate(userID, departmentTag, orderID)
            await bot.send_message(chat_id=userID, text=config.adminMessage["new_task_staff"])
        tasksModel.create_task(orderID, staff[departmentTag], departmentTag, text)
    await message.answer(mes)
Exemplo n.º 11
0
async def close_order_text(message: types.Message, state: FSMContext):
    message.text = function.string_handler(message.text)
    await state.update_data(text=message.text)
    await AdminCloseOrderPr.wait.set()
    await message.answer(config.adminMessage["order_close_confirm"],
                         reply_markup=await buttons.getConfirmationKeyboard())
Exemplo n.º 12
0
async def edit_code_name(message: types.Message, state: FSMContext):
    message.text = function.string_handler(message.text)
    await state.update_data(name=message.text)
    await message.answer(message.text + "\n" +
                         config.adminMessage["code_add_confirmation"],
                         reply_markup=await buttons.getConfirmationKeyboard())