Cómo lanzar una advertencia si uno o dos campos están vacíos en OpenERP

Tengo una pregunta sobre OpenERP. ¿Cómo lanzar una advertencia si uno de los campos está vacío? por ejemplo, al agregar un Producto, debe dar una advertencia cuando olvidemos agregar la propiedad Nombre.

En este caso, me gustaría agregar más campos obligatorios, como Código de producto, etc. Lo siento, todavía soy nuevo con este sistema.

0
Por qué no prueba SAValidation: pypi.python.org/pypi/SAValidation
agregado el autor NrNazifi, fuente

2 Respuestas

Una forma es que puede agregar restricción. _constraint es un campo de predefinición en OpenERP. Se usa para agregar una restricción al objeto. Toma la lista de tuplas como su argumento. La tupla dentro de la lista contiene tres parámetros

  1. Method(to check the constraint)
  2. The Message(Constraint for End User)
  3. List of Fields(fields to apply the constraint)

    _constraint will fire if the condition returns False on creation and updation of the record and display the message.

    The example code for the _constraint is displayed below.

    def _check_length(self, cr, uid, ids, context=None):
        record = self.browse(cr, uid, ids, context=context)
        for data in record:
            if data.length < 0:
               return False
        return True
    
    
    _columns = {'length': fields.integer('Length'),}
    
    _constraints = [(_check_length, 'Error: Length must be Positive', ['length'])]
    

Otra forma es modificar las funciones de creación y escritura (que son funciones básicas de openerp) y verificar si se especifican o no todos los datos necesarios.

0
agregado

Para verificar si hay valores duplicados, puede usar _sql_constraints.

Solo necesitas hacer el siguiente código.

Esto es, por ejemplo, de account_payment:

  _sql_constraints = [
      ('name_uniq', 'UNIQUE(name)', 'The payment line name must be unique!'),
  ]

Espero que esto te ayudará.

Saludos,

0
agregado