mirror of
https://github.com/marcogll/talia_bot.git
synced 2026-01-14 04:55:19 +00:00
feat: Restructure admin menu and enhance Vikunja integration
Restructures the admin menu into a primary and secondary menu for better user experience. The primary menu now shows the most common actions. The secondary menu contains less frequent admin commands. Refactors the Vikunja module to be triggered by a menu button instead of a command. Adds "edit task" functionality to the Vikunja module. Fixes a bug where the button dispatcher was calling a non-existent function.
This commit is contained in:
@@ -13,14 +13,26 @@ def get_owner_menu():
|
||||
return InlineKeyboardMarkup(keyboard)
|
||||
|
||||
def get_admin_menu():
|
||||
"""Crea el menú de botones para los Administradores."""
|
||||
"""Crea el menú de botones principal para los Administradores."""
|
||||
keyboard = [
|
||||
[InlineKeyboardButton("📋 Ver Tareas (Vikunja)", callback_data='view_tasks')],
|
||||
[InlineKeyboardButton("🏷️ Crear Tag NFC", callback_data='start_create_tag')],
|
||||
[InlineKeyboardButton("📊 Estado del sistema", callback_data='view_system_status')],
|
||||
[InlineKeyboardButton("⏳ Revisar Pendientes", callback_data='view_pending')],
|
||||
[InlineKeyboardButton("📅 Agenda", callback_data='view_agenda')],
|
||||
[InlineKeyboardButton("🏷️ Crear Tag", callback_data='start_create_tag')],
|
||||
[InlineKeyboardButton("▶️ Más opciones", callback_data='admin_menu')],
|
||||
]
|
||||
return InlineKeyboardMarkup(keyboard)
|
||||
|
||||
def get_admin_secondary_menu():
|
||||
"""Crea el menú secundario para Administradores."""
|
||||
text = "Aquí tienes más opciones de administración:"
|
||||
keyboard = [
|
||||
[InlineKeyboardButton("📋 Gestionar Tareas (Vikunja)", callback_data='manage_vikunja')],
|
||||
[InlineKeyboardButton("📊 Estado del sistema", callback_data='view_system_status')],
|
||||
[InlineKeyboardButton("👥 Gestionar Usuarios", callback_data='manage_users')],
|
||||
]
|
||||
reply_markup = InlineKeyboardMarkup(keyboard)
|
||||
return text, reply_markup
|
||||
|
||||
def get_team_menu():
|
||||
"""Crea el menú de botones para los Miembros del Equipo."""
|
||||
keyboard = [
|
||||
@@ -43,14 +55,13 @@ def handle_start(user_role):
|
||||
"""
|
||||
welcome_message = "Hola, soy Talía. ¿En qué puedo ayudarte hoy?"
|
||||
|
||||
# Dependiendo del rol, llamamos a una función de menú diferente
|
||||
if user_role == "owner":
|
||||
menu = get_owner_menu()
|
||||
elif user_role == "admin":
|
||||
menu = get_admin_menu()
|
||||
elif user_role == "team":
|
||||
menu = get_team_menu()
|
||||
else: # Por defecto, si no es ninguno de los anteriores, es un cliente
|
||||
else:
|
||||
menu = get_client_menu()
|
||||
|
||||
return welcome_message, menu
|
||||
|
||||
Reference in New Issue
Block a user