Skip to Content
Menu
Dette spørgsmål er blevet anmeldt
3 Besvarelser
34378 Visninger

Hi guys,


I have a strange issue regarding a new security rule that I've added.
Under __openerp__.py I added a dependency to the following modules:

'depends': ['website_portal', 'project_issue', 'website_project_issue', 'project']


I then created a new CSV for the security rules (named ir.model.access.csv) with the following rule:

id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink

"access_project_project_public_access","Public user access to project.project","model_project_project","base.group_portal",1,1,1,0

When I now try to install / update the module I will get the following error:

Exception: Module loading my_custom_module failed: file my_custom_module/security/ir.model.access.csv could not be processed:

Line 4 : No matching record found for external id 'model_project_project' in field 'Object'

Why do I get this? I have a dependency on the project module, it is installed and a very similar security rule for project.issue works fine:

access_project_issue_public_access","Public user access to project.issue","model_project_issue","base.group_portal",1,1,1,


So what is wrong with this?

Thanks,
Yenthe

Avatar
Kassér
Bedste svar

If the model it's not defined in the same module of the ir.model.access.csv then you need to specify the module when defining the security line,

like in the module portal_project:

access_project,project,project.model_project_project,base.group_portal,1,0,0,0

For your case is the same:

"access_project_project_public_access","Public user access to project.project","project.model_project_project","base.group_portal",1,1,1,0

Also the "..." are not necessary, the separator is the comma

Avatar
Kassér
Forfatter

Wow, that was a really stupid mistake there, sorry.. @Axel what I do find strange is that my other security rule for the model project.issue is working fine without adding project. in front of it, why is this the case? Could this be because I have an inherit of project.issue in one of my Python files?

That's the only reason that I could imagine for that

Forfatter

Interesting that this one option slipped through, I'm going to guess it comes because of the inherit. This set me on the wrong side and never made me think about adding the external module name in front of it. Thank you Axel.

I found myself, in the exact situation. I found success with an inherited module and could not for the life of me understand why other modules (not inherited) would not allow me to alter their permissions. Great job Axel

Bedste svar

I had same problem and I solve it by put the new python file name I created in models/__init__

from . import "add your py file here"

ex: 

from . import appointment

which I forget to do in first time ,,

so give it a try


Avatar
Kassér
Bedste svar

Be careful about the white-space between comma, there must not be any white-space. like this

#incorrect access_hospital_patient,access.hospital.patient, model_hospital_patient, ,1,1,1,1

#correct access_hospital_patient,access.hospital.patient,model_hospital_patient,,1,1,1,1

Avatar
Kassér
Related Posts Besvarelser Visninger Aktivitet
0
apr. 16
3185
0
dec. 21
2131
3
sep. 19
7278
3
jul. 19
4603
1
jul. 17
5608