Usar python desde el menú de Odoo
Las acciónes del servidor las especificaremos en el "model_id" de la vista y permite activar el código del servidor desde cualquier lugar.
Las acciones disponibles son:
- Ejecutar código Python: esto ejecutará un bloque de código Python. Usamos esta acción aquí.
- Crear un nuevo registro: crea un nuevo registro en el modelo dado.
- Escribir en un registro: actualiza los valores de un registro que ya existe.
- Ejecutar varias acciones: esta acción permite definir una acción que desencadenará la ejecución de varias otras acciones del servidor.
En este ejemplo, usaremos la acción "ejecutar código Python". Aquí, he creado una función llamada " test_function " que funciona cuando hacemos
click en el menú llamado "Testing" que saldrá a la derecha en el módulo CRM.
Para esto, primero, creamos un elemento de menú con el nombre "testing" y lo vinculamos a la acción ”action_make_testing”.
Luego creamos una acción de servidor con id "action_make_testing" y especificamos el modelo base en el que la función debería
funcionar dando el model_id. Especificamos la función a llamar en la sección de código.
Ahora que tenemos la acción configurada para el trabajo, ahora podemos definir la función Python dentro del modelo que especificamos en la acción.
La función debe estar dentro del modelo que especificamos en el campo model_id.
Aquí he creado una función que usa erppeek para conectarse a otro Odoo y crear un contacto.
from odoo import models
import erppeek
class ProductTest(models.Model):
_inherit = "crm.lead"
def test_function(self):
database = "Mainodoo12"
server= "http://192.168.47.128:8069"
passw = "admin"
user= "admin"
cliente = erppeek.Client(server,database,user,passw)
cliente.model('res.partner').create({'name': 'Juan'})