Exemplo n.º 1
0
def estimates_handler(message: Message):
    chat_id = message.chat.id
    user_id = message.from_user.id
    user = users.get_user_by_telegram_id(user_id)
    if not user.dispatcher:
        empty_message = strings.get_string('estimates.no_dispatcher',
                                           user.language)
        Navigation.to_main_menu(user, chat_id, empty_message)
        return
    _to_estimates(user, chat_id, user.dispatcher)
Exemplo n.º 2
0
def start_handler(message: Message):
    user_id = message.from_user.id
    chat_id = message.chat.id

    def not_allowed():
        not_allowed_message = strings.get_string('registration.not_allowed')
        remove_keyboard = keyboards.get_keyboard('remove')
        telegram_bot.send_message(chat_id,
                                  not_allowed_message,
                                  reply_markup=remove_keyboard)

    current_user = users.get_user_by_telegram_id(user_id)
    if current_user:
        main_menu_keyboard = keyboards.get_main_keyboard_by_user_role(
            current_user)
        answer_text = strings.get_string(
            'registration.user_exists',
            current_user.language).format(name=current_user.name)
        telegram_bot.send_message(chat_id,
                                  answer_text,
                                  reply_markup=main_menu_keyboard,
                                  parse_mode='HTML')
        return
    msg_text = message.text
    message_text_parts = msg_text.split(' ')
    try:
        token = message_text_parts[1]
    except IndexError:
        not_allowed()
        return
    user = users.get_user_by_token(token)
    if not user:
        not_allowed()
        return
    confirmation_result = users.confirm_user(user, user_id)
    if confirmation_result is True:
        if user.is_manager:
            welcome_message = strings.get_string(
                'registration.welcome_manager').format(name=user.name)
        else:
            welcome_message = strings.get_string(
                'registration.welcome_common').format(name=user.name)
        telegram_bot.send_message(chat_id, welcome_message, parse_mode='HTML')
        language_message = strings.get_string('registration.languages')
        language_keyboard = keyboards.get_keyboard('registration.languages')
        telegram_bot.send_message(chat_id,
                                  language_message,
                                  reply_markup=language_keyboard)
        telegram_bot.register_next_step_handler_by_chat_id(chat_id,
                                                           language_processor,
                                                           user=user)
        pass
    else:
        not_allowed()
        return
Exemplo n.º 3
0
def sos_handler(message: Message):
    location = message.location
    latitude = location.latitude
    longitude = location.longitude
    user_id = message.from_user.id
    chat_id = message.chat.id
    user = users.get_user_by_telegram_id(user_id)
    sos_signal = sos.create_sos(user, latitude, longitude)
    success_message = strings.get_string('sos.success', user.language)
    telegram_bot.send_message(chat_id, success_message)
    Helpers.send_sos_signal_to_managers(sos_signal, user)
Exemplo n.º 4
0
def empty_message(message: Message):
    user_id = message.from_user.id
    chat_id = message.chat.id

    def not_allowed():
        not_allowed_message = strings.get_string('registration.not_allowed')
        remove_keyboard = keyboards.get_keyboard('remove')
        telegram_bot.send_message(chat_id,
                                  not_allowed_message,
                                  reply_markup=remove_keyboard)

    current_user = users.get_user_by_telegram_id(user_id)
    if current_user:
        Navigation.to_main_menu(current_user, chat_id)
    else:
        not_allowed()
Exemplo n.º 5
0
def ratings_handler(message: Message):
    chat_id = message.chat.id
    user = users.get_user_by_telegram_id(message.from_user.id)

    _to_companies_select(user, chat_id)
Exemplo n.º 6
0
def sos_handler(message: Message):
    user_id = message.from_user.id
    chat_id = message.chat.id
    user = users.get_user_by_telegram_id(user_id)

    _to_select_department(user, chat_id)
Exemplo n.º 7
0
def settings_handler(message: Message):
    chat_id = message.chat.id
    user_id = message.from_user.id
    user = users.get_user_by_telegram_id(user_id)

    Navigation.to_settings(user, chat_id)
Exemplo n.º 8
0
 def _auth(message: Message) -> Optional[User]:
     user_id = message.from_user.id
     user = users.get_user_by_telegram_id(user_id)
     if not user:
         return None
     return user
Exemplo n.º 9
0
def estimates_handler(message: Message):
    chat_id = message.chat.id
    user_id = message.from_user.id
    user = users.get_user_by_telegram_id(user_id)
    _to_departments_select(user, chat_id)