NeoVe
NeoVe

Reputation: 3897

Security Access rules for custom module

I have an isue trying to add access rules to my custom openerp module.

Already have security folder, and declared folder and files into the __openerp__.py file.

Still no luck.

I already did this with another custom module, and everything went fine, here's the code:

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

The model in 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()

And the security 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>

Anyone can shed some light upon this?

Thanks in advance!

Upvotes: 0

Views: 1185

Answers (1)

ifixthat
ifixthat

Reputation: 6295

Quickly looking at code, I would suggest you to look for following corrections:

  • In your security.xml file group record group_solvencias_manager has implies id which is referring the non existing xml i believe eval="[(4, ref('group_solvencia_user'))]" which should be eval="[(4, ref('group_solvencias_user'))]".
  • Module compra_grafibond and module stock is in this module dependency.
  • Suggestion : Do not use the title or camel case for field names.
  • check that __openerp__.py has security files declaration like this following:

    'data': [

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

    ],

I am assuming that you using v7, if you still face let me know.

Thank You.

Upvotes: 3

Related Questions