Saltarnos algunas Reglas de Lectura de Registros en Odoo
Este pequeƱo fragmento de Código es un ejemplo sobre como poder saltarse las reglas de lectura de registros para algunas clases, les contare un poco que me orillo a esta solución un poco agresiva, esto lo he tenido que hacer para un Cliente que tiene desarrollos de Terceros, por alguna circunstancia dentro de algĆŗn modulo existe un fragmento de Código que limita al usuario a solo visualizar sus Registros Creados sin utilizar las Reglas de Odoo, buscando dentro de todos los módulos no encontrĆ© ese fragmento y me puse a pensar una solución a este detalle y se me ocurrió usar la librerĆa SUPERUSER_ID de Odoo y pasarla al mĆ©todo principal de bĆŗsqueda, esto ayuda a poder usar el Root de Odoo y visualizar la información sin problema, el ejemplo siguiente es para la tabla de Albaranes o Movimientos de AlmacĆ©n:
class stock_picking(osv.osv): _name = 'stock.picking' _inherit ='stock.picking' _columns = { } _defaults = { } ########## METODOS PARA VOLARNOS LAS REGLAS DE LECTURA DE REGISTROS ############# def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False): from openerp import SUPERUSER_ID res = super(stock_picking, self).fields_view_get(cr, SUPERUSER_ID, view_id, view_type, context=context, toolbar=toolbar, submenu=submenu) return res def search(self, cr, uid, args, offset=0, limit=None, order=None, context=None, count=False): from openerp import SUPERUSER_ID res = super(stock_picking, self).search(cr, SUPERUSER_ID, args, offset, limit, order, context, count) return res
PodrĆamos mejorar un poco el codigo aƱadiendo algunas normas de lectura, etc...
Notas: El ejemplo esta hecho para OpenERP 7 y Odoo 8, para Odoo 9 solo sustituimos la herencia y los mƩtodos por la API.
Espero les sea de utilidad.











