0

我有一个尝试添加access rules到我的自定义 openerp 模块的问题。

已经有security文件夹,并声明文件夹和文件到__openerp__.py文件中。

仍然没有运气。

我已经用另一个自定义模块做到了这一点,一切都很好,这是代码:

ir.model.access

id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_solvencia_solvencia,solvencia.solvencia,model_solvencia_solvencia,compra_grafibond.group_purchase_usuario,1,1,1,1
access_solvencia_solvencia_manager,solvencia.solvencia manager,model_solvencia_solvencia,compra_grafibond.group_purchase_jefe,1,0,0,0
access_solvencia_solvencia_stock_manager,solvencia.solvencia,model_solvencia_solvencia,stock.group_stock_manager,1,0,1,0

module.py 中的模型:

import time
from datetime import datetime
from osv import osv, fields

class solvencia_solvencia(osv.osv):

_name = 'solvencia.solvencia'
_description = "Modulo para llevar las solvencias"


_columns = {
    'ministerio' : fields.char('Ministerio', size=64),
    'Fecha_de_Emision': fields.date('Fecha de Emision', required=True, select=True),
    'Fecha_de_Vence': fields.date('Fecha de Vencimiento', required=True, select=True),
    'user_id': fields.many2one('res.users', 'Responsible'),
    'ins_em' : fields.char('Institucion emisora', size=30),
    'cod_ver': fields.integer('Codigo de verificacion'),
    'nsol' : fields.char('Numero de solvencia'),
    'cadidate' : fields.date('Fecha de entrega CADIVI', required=True, select=True),
    'observa' : fields.text('Observaciones'),
}

_defaults = {
'user_id': lambda self, cr, uid, c: self.pool.get('res.users').browse(cr, uid, uid, c).id ,
}
solvencia_solvencia()

和安全xml:

<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="0">

<record model="ir.module.category" id="module_category_purchase_management">
    <field name="name">Solvencias</field>
    <field name="parent_id" ref="base.module_category_purchase_management"/>
    <field name="sequence">9</field>
</record>

<record id="group_solvencias_user" model="res.groups">
    <field name="name">User</field>
    <field name="category_id" ref="module_category_purchase_management"/>
</record>

<record id="group_solvencias_manager" model="res.groups">
    <field name="name">Manager</field>
    <field name="category_id" ref="module_category_purchase_management"/>
    <field name="implied_ids" eval="[(4, ref('group_solvencia_user'))]"/>
    <field name="users" eval="[(4, ref('base.user_root'))]"/>
</record>

</data>

</openerp>

任何人都可以对此有所了解吗?

提前致谢!

4

1 回答 1

3

快速查看代码,我建议您查找以下更正:

  • 在您的 security.xml 文件组记录group_solvencias_manager中暗示 id 指的是我认为eval="[(4, ref('group_solvencia_user'))]"应该是的不存在的 xml eval="[(4, ref('group_solvencias_user'))]"
  • 模块compra_grafibond和模块stock在这个模块依赖中。
  • 建议:字段名称不要使用标题或驼峰式大小写。
  • 检查__ openerp __ .py 是否具有如下安全文件声明:

    '数据': [

    'security/solvica_security.xml',
    'security/ir.model.access.csv',
    

    ],

我假设您使用 v7,如果您仍然面对,请告诉我。

谢谢你。

于 2013-10-08T05:14:03.717 回答