Contenido del curso

La capa de l贸gica de negocio

Ahora vamos a a帽adir algo de l贸gica a nuestros botones. Esto se hace con c贸digo Python, utilizando los m茅todos de la clase de modelos Python.

A帽adiendo l贸gica de negocio

Debemos editar el archivo Python聽todo_model.py聽para agregar a la clase los m茅todos llamados por los botones. Primero, necesitamos importar la nueva API, as铆 que agr茅guala a la declaraci贸n de importaci贸n en la parte superior del archivo Python:

from odoo import models, fields, api

La acci贸n del bot贸n聽Toggle Done聽ser谩 muy simple: solo cambia la bandera聽Is Done?. Para la l贸gica de los registros, utiliza el decorador聽@api.multi. Aqu铆,聽self聽representar谩 un conjunto de registros, y entonces deber铆amos hacer un bucle a trav茅s de cada registro.

Dentro de la clase TodoTask, a帽ade esto:

@api.multi
def desactive_all(self):
for record in self:
record.active = False

El c贸digo pasa por todos los registros de tarea y, para cada uno, modifica el campo聽active, invirtiendo su valor. El m茅todo no necesita devolver nada, pero debemos tenerlo al menos para devolver un valor聽True. La raz贸n es que los clientes pueden utilizar XML-RPC para llamar a estos m茅todos y este protocolo no admite funciones de servidor devolviendo s贸lo un valor聽None.

Para el bot贸n聽Desactivar Todos, queremos ir un poco m谩s lejos. Debe buscar todos los registros activos que est谩n hechos, y hacerlos inactivos. Normalmente, se espera que los botones de formulario act煤en s贸lo en el registro seleccionado, pero en este caso, queremos que act煤e tambi茅n en registros distintos del actual:


def desactive_all(self):
cars = self.env['car.car'].search([('active', '=', True)])
for record in cars:
record.active= False
return True

removemos el decorador聽@ api.multi, la variable聽self聽representa el modelo sin registro en particular. Construiremos un conjunto de registros聽active聽que contenga todas las autos marcadas como activas. A continuaci贸n, establecemos el indicador聽active聽para聽False聽en ellos.

El m茅todo de b煤squeda es un m茅todo API que devuelve los registros que cumplen algunas condiciones. Estas condiciones est谩n escritas en un dominio, que es una lista de tripletes. Exploraremos los dominios con m谩s detalle.



Vistas
143 N煤mero de vistas
3 Vistas de miembros
140 Vistas p煤blicas
Acciones
0 Gustos
0 No me gusta
0 Comentarios
Compartir en redes sociales
Compartir enlace
Usar un enlace permanente para compartir en redes sociales
Compartir por correo

Por favor iniciar sesi贸n para compartir esto webpage por correo.