Mostrar advertencias en OpenERP (Odoo)

Si se desea mostrar una advertencia tomando en cuenta el valor de un campo y comparándolo con una condición determinada, si no cumple dicha condición, se debe emitir un mensaje de advertencia el cual nos indique que no es el valor correcto.

El caso de ejemplo para mensajes de advertencia se puede visualizar tanto en la aplicación, vía gráfica, como en la aplicación vía shell como mensaje de advertencia.

# -*- coding: utf-8 -*-

from openerp.osv import fields, osv
from datetime import *

class estudiante_estudiante(osv.Model):

    _name = 'estudiante.estudiante'
    _description = 'Tabla de estudiantes'
    _columns = {
        'name': fields.char('Nombre'),
        'direccion': fields.text('Direccion'),
        'edad': fields:integer('Edad')
    }
    
    def guardar_registro(self, cr, uid, ids, context=None):
        res = {}
        for item in self.browse(cr, uid, ids, context):
            if item.edad < 4:
                raise osv.except_osv('Advertencia','Debe ingresar una edad mayor de 4')
                return {}
            res = {
                'name': item.name,
                'direccion': item.direccion,
                'edad': item.edad
            }
            
        self.create(cr, uid, res)
        return True

Así, si la edad ingresada es menor de 4, no se realizará el registro de estudiante, en caso contrario se hace efectivo el registro. El valor de edad también puede ser calculado y se compara el resultado previamente antes de realizar la operación de guardar.

Advertisements

About felixurbina

Humano con todos los defectos y virtudes que vienen de fábrica.
This entry was posted in Odoo, OpenERP. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s