Esempio n. 1
0
 def create_default_kb(
     cls,
     actions: List[Union[str, Dict[str, Union[str, bool]]]],
     schema: List[int],
 ) -> ReplyKeyboardMarkup:
     kb = ReplyKeyboardMarkup()
     kb.row_width = max(schema)
     buttons = []
     for a in actions:
         if isinstance(a, str):
             a = {"text": a}
         data: Dict[str, Union[str, bool]] = {}
         for k, v in cls.aliases.items():
             if k in a:
                 a[v] = a[k]
                 del a[k]
         for k in a:
             if k in cls.available_properities["default"]:
                 data[k] = a[k]
             else:
                 break
         if "callback_data" in data:
             data["callback_data"] = data["callback_data"][1].new(
                 **data["callback_data"][0])
         buttons.append(KeyboardButton(**data))
     kb.keyboard = create_keyboard_layout(buttons, schema)
     kb.resize_keyboard = True
     return kb
Esempio n. 2
0
def create_kb_coustom_main_menu(user_id):
    from loader import db
    from data.config import super_admins

    if not user_id in super_admins:
        user_status = db.get_user_status(id=user_id)
    else:
        user_status = 'admin'

    keyboard = ReplyKeyboardMarkup()

    if user_status == 'admin':
        keyboard.add(KeyboardButton(text='права пользователей'))
        # keyboard.insert(KeyboardButton(text='информация о смс'))

        keyboard.add(KeyboardButton(text='создать заявку'))
        keyboard.insert(KeyboardButton(text='в работе'))

        keyboard.add(KeyboardButton(text='пропуска'))
        keyboard.insert(KeyboardButton(text='создать пропуск'))

        keyboard.add(KeyboardButton(text='балансы'))
        keyboard.insert(KeyboardButton(text='отчетность'))

    elif user_status == 'changer':
        keyboard.add(KeyboardButton(text='создать заявку'))
        keyboard.insert(KeyboardButton(text='в работе'))
        keyboard.add(KeyboardButton(text='пропуска'))
        keyboard.insert(KeyboardButton(text='создать пропуск'))
        keyboard.add(KeyboardButton(text='балансы'))
        keyboard.insert(KeyboardButton(text='отчетность'))

    elif user_status == 'executor':
        keyboard.add(KeyboardButton(text='в работе'))
        keyboard.add(KeyboardButton(text='балансы'))
        keyboard.add(KeyboardButton(text='отчетность'))

    elif user_status == 'secretary':
        # keyboard.add(KeyboardButton(text='информация о смс'))
        keyboard.add(KeyboardButton(text='пропуска'))
        keyboard.add(KeyboardButton(text='создать пропуск'))

    elif user_status == 'permit':
        keyboard.add(KeyboardButton(text='создать пропуск'))
    else:
        pass

    keyboard.resize_keyboard = True
    keyboard.one_time_keyboard = True

    return keyboard


# main_menu = ReplyKeyboardMarkup (

#     keyboard = [
#         [
#             KeyboardButton(text='права пользователей'),
#             KeyboardButton(text='информация о смс')
#         ],
#         [
#             KeyboardButton(text='создать заявку'),
#             KeyboardButton(text='в работе')
#         ],
#         [
#             KeyboardButton(text='пропуска'),
#         ]
#     ],
#     resize_keyboard=True,
#     one_time_keyboard=True
# )