Ejemplo n.º 1
0
def paginated_vacations(update, context):
    query = update.callback_query
    language = context.user_data['user'].get('language')
    page = query.data.split(':')[1]
    if page == 'back':
        user_id = context.user_data['user'].get('id')
        user_resumes = users.get_user_resumes(user_id)
        list_message = strings.get_string('resumes.vacations.select', language)
        list_keyboard = keyboards.get_resumes_keyboard(
            user_resumes, language, include_create_button=False)
        query.edit_message_text(text=list_message, reply_markup=list_keyboard)
        return LIST
    if int(page) == context.user_data['current_page']:
        return VACATIONS
    vacation = context.user_data['found_vacations'][int(page) - 1]
    user = users.user_exists(vacation.get('user_id'))
    vacation_message = strings.from_vacation(vacation,
                                             language,
                                             for_resume=True,
                                             user=user)
    vacations_keyboard = keyboards.get_list_paginated_keyboard(
        context.user_data['found_vacations'], language, current_page=int(page))
    query.edit_message_text(text=vacation_message,
                            reply_markup=vacations_keyboard,
                            parse_mode=ParseMode.HTML)
    context.user_data['current_page'] = int(page)
    return VACATIONS
Ejemplo n.º 2
0
def vacation(update, context):
    context.user_data['user'] = users.user_exists(
        update.callback_query.from_user.id)
    if context.user_data['user'].get('is_blocked'):
        blocked_message = strings.get_string(
            'blocked', context.user_data['user'].get('language'))
        update.callback_query.answer(text=blocked_message, show_alert=True)
        return ConversationHandler.END
    context.user_data['has_action'] = True
    language = context.user_data['user'].get('language')
    query = update.callback_query
    vacation_id = query.data.split(':')[1]
    vacation = vacations.get_vacation(vacation_id)
    context.user_data['editing_vacation'] = vacation
    vacation_message = strings.from_vacation(vacation, language)
    vacation_keyboard = keyboards.get_keyboard('vacation', language)
    query.edit_message_text(text=vacation_message,
                            reply_markup=vacation_keyboard)
    return VACATION_ACTION
Ejemplo n.º 3
0
def edit_action(update, context):
    context.user_data['user'] = users.user_exists(
        update.callback_query.from_user.id)
    if context.user_data['user'].get('is_blocked'):
        blocked_message = strings.get_string(
            'blocked', context.user_data['user'].get('language'))
        update.callback_query.answer(text=blocked_message, show_alert=True)
        return ConversationHandler.END
    query = update.callback_query
    data = query.data
    language = context.user_data['user'].get('language')
    if data == 'title':
        message = strings.get_string('vacations.edit.title', language)
    elif data == 'description':
        message = strings.get_string('vacations.edit.description', language)
    elif data == 'contacts':
        message = strings.get_string('vacations.edit.contacts', language)
    elif data == 'salary':
        message = strings.get_string('vacations.edit.salary', language)
    elif data == 'category':
        message = strings.get_string('vacations.edit.category', language)
    elif data == 'back':
        vacation_message = strings.from_vacation(
            context.user_data['editing_vacation'], language)
        vacation_keyboard = keyboards.get_keyboard('vacation', language)
        query.edit_message_text(text=vacation_message,
                                reply_markup=vacation_keyboard)
        return VACATION_ACTION
    else:
        return EDIT_ACTION
    keyboard = keyboards.get_keyboard('go_back', language)
    context.user_data['editing_vacation_step'] = data
    context.bot.delete_message(chat_id=query.message.chat.id,
                               message_id=query.message.message_id)
    context.bot.send_message(chat_id=query.message.chat.id,
                             text=message,
                             reply_markup=keyboard,
                             parse_mode=ParseMode.HTML)
    return UPDATE_VACATION
Ejemplo n.º 4
0
def vacations_for_resume(update, context):
    context.user_data['user'] = users.user_exists(
        update.callback_query.from_user.id)
    if context.user_data['user'].get('is_blocked'):
        blocked_message = strings.get_string(
            'blocked', context.user_data['user'].get('language'))
        update.callback_query.answer(text=blocked_message, show_alert=True)
        return ConversationHandler.END
    query = update.callback_query
    language = context.user_data['user'].get('language')
    resume_id = query.data.split(':')[1]
    if resume_id == 'back':
        Navigation.to_account(update, context)
        del context.user_data['has_action']
        return ConversationHandler.END
    vacations = resumes.get_vacations_for_resume(resume_id)
    if len(vacations) == 0:
        empty_message = strings.get_string('resumes.vacations.empty', language)
        query.answer(text=empty_message, show_alert=True)
        return LIST
    if type(vacations) is dict:
        vacations = list(vacations.values())
    context.user_data['found_vacations'] = vacations
    context.user_data['current_page'] = 1
    first_vacation = vacations[0]
    user = users.user_exists(first_vacation.get('user_id'))
    vacation_message = strings.from_vacation(first_vacation,
                                             language,
                                             for_resume=True,
                                             user=user)
    vacations_keyboard = keyboards.get_list_paginated_keyboard(
        vacations, language)
    query.edit_message_text(text=vacation_message,
                            reply_markup=vacations_keyboard,
                            parse_mode=ParseMode.HTML)
    return VACATIONS