Permisos en módulo personalizado

1,158 views
Skip to first unread message

EDUARDO GARCIA

unread,
Aug 19, 2019, 4:10:51 PM8/19/19
to Usuarios Odoo / OpenERP en España
Hola buen día, desde ya muchas gracias por su amable atención y ayuda.

me marca error cuando creo los permisos de acceso

este es mi código:

en mi  carpeta principal e_cuadrilla tengo mi archivo __init__.py

ayuda_1.png



__init__.py

import models   "models es una carpeta que tengo en la carpeta del proyecto y es ahi donde tengo los modelos"


en la carpeta models tengo estos archivos

ayuda_2.png





__openerp__.py

{
    'name': 'xxxxxx',
    'version': '1.1',
    'author': 'xxxxxx',
    'category': 'Accounting & Finance',
    'summary': 'xxxxxx',
    'sequence': 30,
    'website': 'xxxxxx',
    'description': """ 
.
 
    """,
    'license' : 'AGPL-3',
    'depends': ['sale','base_setup', 'product', 'analytic'],
    'data': [
        'security/ir.model.access.csv',
        'views/cuadrilla_view.xml',
        'views/add_cuadrilla_pedidoventa_view.xml',
    ],
    'installable': True,
    'active': False,
    'auto_install': False,
}


cuadrilla.py

from openerp.osv import fields, osv


class e_cuadrilla(osv.osv):
 
# declaramos el nombre empezando con un prefijo
 _name
= 'sis.cuadrilla'
 
# Por donde se va a buscar
 _rec_name
='cuadrilla'
 _columns
= {
   
'cuadrilla' : fields.char('Cuadrilla', size=80, required=True),
   
'active' : fields.boolean('Activo'),
 
}
e_cuadrilla
();


add_cuadrilla_pedidoventa.py



from openerp.osv import fields, osv
from openerp.tools.translate import _


class addcuadrillapedidoventa(osv.osv):
 _name
= 'sale.order'
 _inherit
= 'sale.order'
 _columns
= {
   
'cuadrilla' : fields.many2one('sis.cuadrilla', 'Cuadrilla', ondelete='restrict'),
 
}


addcuadrillapedidoventa
()


ir.model.access.csv



id
,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_e_cuadrilla
,sis.cuadrilla,model_e_cuadrilla,,1,1,1,1
access_addcuadrillapedidoventa
,sale.order,model_addcuadrillapedidoventa,,1,1,1,1



me marca este error


Exception: Module loading e_cuadrilla failed: file e_cuadrilla\security/ir.model.access.csv could not be processed:
 
Line 1 : No se han encontrado registros coincidentes para id. externo 'model_e_cuadrilla' en el campo 'Object'
2019-08-19 01:54:27,930 5916 ERROR of4 openerp.netsvc: Module loading e_cuadrilla failed: file e_cuadrilla\security/ir.model.access.csv could not be processed:
 
Line 1 : No se han encontrado registros coincidentes para id. externo 'model_e_cuadrilla' en el campo 'Object'







Pienso que debe de ser por que mis modelos estan dentro de una carpeta llamada [models] y no los encuentra. pueden decirme como debo de escribir el ir.model.access.csv

muchas gracias...





Message has been deleted

EDUARDO GARCIA

unread,
Aug 22, 2019, 10:05:18 PM8/22/19
to Usuarios Odoo / OpenERP en España
Me siento triste ya que nadie tuvo el tiempo de ver mi publicación. pero animo hay que perseverar

este es el código critico
 
add_cuadrilla_pedidoventa.py

from openerp.osv import fields, osv
from openerp.tools.translate import _

class addcuadrillapedidoventa(osv.osv):
 _name 
= 'sale.order'
 _inherit 
= 'sale.order'
 _columns 
= {
    
'cuadrilla' : fields.many2one('sis.cuadrilla', 'Cuadrilla', ondelete='restrict'),
 
}

addcuadrillapedidoventa
()

ir.model.access.csv

id
,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_e_cuadrilla
,sis.cuadrilla,model_e_cuadrilla,,1,1,1,1
access_addcuadrillapedidoventa
,sale.order,model_addcuadrillapedidoventa,,1,1,1,1




después de mil horas se me ocurrió escribirlo así


ir.model.access.csv

id
,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_sis_cuadrilla
,sis.cuadrilla,model_sis_cuadrilla,,1,1,1,1
access_sale_order
,sale.order,model_sale_order,,1,1,1,1


y puta madre funciono

lo comparto ya que el conocimiento si no se comparte NO SIRVE

gracias por leer

Edwin Esqueche

unread,
Aug 23, 2019, 6:25:50 AM8/23/19
to openerp-s...@googlegroups.com
Felicitaciones Eduardo :-)
la perseverancia es un gran don.
Recuerda que para una mejor ayuda debes indicar cosas básicas como con qué versión estás trabajando, y en qué tipo de servidor.

Saludos,

El jue., 22 ago. 2019 a las 21:02, EDUARDO GARCIA (<edy...@gmail.com>) escribió:
Me siento triste ya que nadie tuvo el tiempo de ver mi publicación. pero animo hay que perseverar

este es el código critico
 
add_cuadrilla_pedidoventa.py



from openerp.osv import fields, osv
from openerp.tools.translate import _


class addcuadrillapedidoventa(osv.osv):
 _name
= 'sale.order'
 _inherit
= 'sale.order'
 _columns
= {
   
'cuadrilla' : fields.many2one('sis.cuadrilla', 'Cuadrilla', ondelete='restrict'),
 
}


addcuadrillapedidoventa
()





ir
.model.access.csv



id
,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_e_cuadrilla
,sis.cuadrilla,model_e_cuadrilla,,1,1,1,1
access_addcuadrillapedidoventa
,sale.order,model_addcuadrillapedidoventa,,1,1,1,1




después de mil horas se me ocurrió escribirlo así


ir.model.access.csv

id
,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_sis_cuadrilla
,sis.cuadrilla,model_sis_cuadrilla,,1,1,1,1
access_sale_order
,sale.order,model_sale_order,,1,1,1,1


y puta madre funciono

lo comparto ya que el conocimiento si no se comparte NO SIRVE

gracias por leer


El lunes, 19 de agosto de 2019, 15:10:51 (UTC-5), EDUARDO GARCIA escribió:

--
Has recibido este mensaje porque estás suscrito al grupo "Usuarios Odoo / OpenERP en España" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a openerp-spain-u...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/openerp-spain-users/e319421c-aafd-4506-8e40-281e8d20cf0d%40googlegroups.com.


--
EDWIN ESQUECHE N. | |
Dirección y Diseño Gráfico | Busca una manera diferente de ver las cosas
Cel: (+51) 999 611012 | RPM: #999611012
Facebook Twitter


Ary Gomez Vargas

unread,
Aug 29, 2019, 7:19:26 AM8/29/19
to openerp-s...@googlegroups.com
Hola Eduardo,
Mirando tu código me he dado cuenta que:


archivo: add_cuadrilla_pedidoventa.py



from openerp.osv import fields, osv
from openerp.tools.translate import _


class addcuadrillapedidoventa(osv.osv):

 _name 
= 'sale.order'    No es necesario, directamente si quieres heredar de sale.order, con el inherit ya está.

 _inherit 
= 'sale.order'
 _columns 
= {
    
'cuadrilla' : fields.many2one('sis.cuadrilla', 'Cuadrilla', ondelete='restrict'),
 
}


Y luego el csv, primero que todo, deberías definir grupos de usuarios y roles para tu sistema, estoy asumiento que estás en ¿Odoo 8?
https://odoo-development.readthedocs.io/en/latest/dev/access/tutorial.html

Y luego con dichos grupos defines para cada modelo/grupo los permisos que tiene.
ejemplo: Suponiendo que tienes un rol definido de tipo manager y otro user

ir.model.access.csv

id
,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_sis_cuadrilla_manager,access_sis_cuadrilla_manager,model_sis_cuadrilla,e_cuadrilla.group_manager,1,1,1,1
access_sis_cuadrilla_user,access_sis_cuadrilla_user,model_sis_cuadrilla,e_cuadrilla.group_user,1,1,0,0
En el caso del modelo sale.order, al ser una herencia, hereda los permisos definidos en el módulo de sale, si quisieras darle acceso a un determinado grupo de usuarios, pues en la etiqueta group del menuitem pones los grupos en específicos. O directamente si quieres cambiar los permisos de los usuarios sobre los modelos pues en el csv defines una regla para ese modelo en específico, por ejemplo:

access_sale_order_manager,access_sale_order_manager,model_sale_order,e_cuadrilla.group_manager,1,1,1,1
access_sale_order_user,access_sale_order_user,model_sale_order,e_cuadrilla.group_user,1,1,0,0
Espero que te sirva de algo. 
Un saludo


El vie., 23 de ago. de 2019 a la(s) 04:02, EDUARDO GARCIA (edy...@gmail.com) escribió:
Me siento triste ya que nadie tuvo el tiempo de ver mi publicación. pero animo hay que perseverar

este es el código critico
 
add_cuadrilla_pedidoventa.py



from openerp.osv import fields, osv
from openerp.tools.translate import _


class addcuadrillapedidoventa(osv.osv):
 _name
= 'sale.order'
 _inherit
= 'sale.order'
 _columns
= {
   
'cuadrilla' : fields.many2one('sis.cuadrilla', 'Cuadrilla', ondelete='restrict'),
 
}


addcuadrillapedidoventa
()





ir
.model.access.csv



id
,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_e_cuadrilla
,sis.cuadrilla,model_e_cuadrilla,,1,1,1,1
access_addcuadrillapedidoventa
,sale.order,model_addcuadrillapedidoventa,,1,1,1,1




después de mil horas se me ocurrió escribirlo así


ir.model.access.csv

id
,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_sis_cuadrilla
,sis.cuadrilla,model_sis_cuadrilla,,1,1,1,1
access_sale_order
,sale.order,model_sale_order,,1,1,1,1


y puta madre funciono

lo comparto ya que el conocimiento si no se comparte NO SIRVE

gracias por leer


El lunes, 19 de agosto de 2019, 15:10:51 (UTC-5), EDUARDO GARCIA escribió:
Reply all
Reply to author
Forward
0 new messages