| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- #!/usr/bin/env python3
- """
- Ejemplo de uso de la nueva funcionalidad de sincronización CRM con Google Meet
- Este script muestra cómo usar la función de sincronización con diferentes tipos de parámetros:
- 1. Entero (días hacia atrás)
- 2. Fecha específica (formato YYYY-MM-DD)
- Uso:
- python3 example_usage.py
- """
- import sys
- import os
- # Agregar el directorio de Odoo al path
- sys.path.append('/var/odoo/stg2.mcteam.run/src')
- # Configurar variables de entorno
- os.environ['ODOO_RC'] = '/var/odoo/stg2.mcteam.run/odoo.conf'
- def test_sync_with_days_back():
- """Ejemplo: Sincronizar meets de los últimos 7 días"""
- print("🔄 Ejemplo 1: Sincronizar meets de los últimos 7 días")
- print("=" * 60)
-
- try:
- import odoo
- from odoo import api, SUPERUSER_ID
-
- # Inicializar Odoo
- odoo.cli.server.main()
-
- # Crear entorno
- env = api.Environment(odoo.registry('stg2.mcteam.run').cursor(), SUPERUSER_ID, {})
-
- # Ejecutar sincronización con días hacia atrás
- result = env['crm.lead']._sync_meetings_with_opportunities_cron(time_filter=7)
-
- print(f"✅ Resultado: {result}")
-
- except Exception as e:
- print(f"❌ Error: {str(e)}")
- finally:
- if 'env' in locals():
- env.cr.close()
- def test_sync_with_specific_date():
- """Ejemplo: Sincronizar meets de una fecha específica"""
- print("\n🔄 Ejemplo 2: Sincronizar meets de una fecha específica")
- print("=" * 60)
-
- try:
- import odoo
- from odoo import api, SUPERUSER_ID
-
- # Inicializar Odoo
- odoo.cli.server.main()
-
- # Crear entorno
- env = api.Environment(odoo.registry('stg2.mcteam.run').cursor(), SUPERUSER_ID, {})
-
- # Ejecutar sincronización con fecha específica
- specific_date = "2024-08-30" # Cambiar por la fecha que quieras probar
- result = env['crm.lead']._sync_meetings_with_opportunities_cron(time_filter=specific_date)
-
- print(f"✅ Resultado para fecha {specific_date}: {result}")
-
- except Exception as e:
- print(f"❌ Error: {str(e)}")
- finally:
- if 'env' in locals():
- env.cr.close()
- def test_sync_with_string_days():
- """Ejemplo: Sincronizar meets usando string como días"""
- print("\n🔄 Ejemplo 3: Sincronizar meets usando string como días")
- print("=" * 60)
-
- try:
- import odoo
- from odoo import api, SUPERUSER_ID
-
- # Inicializar Odoo
- odoo.cli.server.main()
-
- # Crear entorno
- env = api.Environment(odoo.registry('stg2.mcteam.run').cursor(), SUPERUSER_ID, {})
-
- # Ejecutar sincronización con string de días
- result = env['crm.lead']._sync_meetings_with_opportunities_cron(time_filter="3")
-
- print(f"✅ Resultado para últimos 3 días: {result}")
-
- except Exception as e:
- print(f"❌ Error: {str(e)}")
- finally:
- if 'env' in locals():
- env.cr.close()
- def show_usage_examples():
- """Mostrar ejemplos de uso"""
- print("📋 EJEMPLOS DE USO DE LA NUEVA FUNCIONALIDAD")
- print("=" * 60)
- print()
- print("La función ahora acepta dos tipos de parámetros:")
- print()
- print("1️⃣ ENTERO (días hacia atrás):")
- print(" - time_filter=15 # Últimos 15 días")
- print(" - time_filter=7 # Últimos 7 días")
- print(" - time_filter=1 # Último día")
- print()
- print("2️⃣ FECHA ESPECÍFICA (formato YYYY-MM-DD):")
- print(" - time_filter='2024-08-30' # Solo meets del 30 de agosto de 2024")
- print(" - time_filter='2024-08-31' # Solo meets del 31 de agosto de 2024")
- print(" - time_filter='2024-01-15' # Solo meets del 15 de enero de 2024")
- print()
- print("3️⃣ STRING COMO ENTERO:")
- print(" - time_filter='3' # Últimos 3 días")
- print(" - time_filter='10' # Últimos 10 días")
- print()
- print("🔧 CÓMO USAR EN PRODUCCIÓN:")
- print()
- print("Desde la consola de Odoo:")
- print(">>> env['crm.lead']._sync_meetings_with_opportunities_cron(time_filter=15)")
- print(">>> env['crm.lead']._sync_meetings_with_opportunities_cron(time_filter='2024-08-30')")
- print()
- print("Desde línea de comandos:")
- print("$ python3 -c \"import odoo; odoo.cli.server.main(); env = odoo.api.Environment(odoo.registry('stg2.mcteam.run').cursor(), odoo.SUPERUSER_ID, {}); result = env['crm.lead']._sync_meetings_with_opportunities_cron(time_filter='2024-08-30'); print(result); env.cr.close()\"")
- print()
- print("🎯 CASOS DE USO:")
- print("- Para pruebas en producción: Usar fecha específica")
- print("- Para sincronización diaria: Usar entero (1)")
- print("- Para sincronización semanal: Usar entero (7)")
- print("- Para sincronización mensual: Usar entero (30)")
- if __name__ == "__main__":
- show_usage_examples()
-
- # Descomentar las líneas siguientes para ejecutar los ejemplos
- # test_sync_with_days_back()
- # test_sync_with_specific_date()
- # test_sync_with_string_days()
|