Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
3 Odpowiedzi
34394 Widoki

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

Awatar
Odrzuć
Najlepsza odpowiedź

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

Awatar
Odrzuć
Autor

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

Autor

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

Najlepsza odpowiedź

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


Awatar
Odrzuć
Najlepsza odpowiedź

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

Awatar
Odrzuć
Powiązane posty Odpowiedzi Widoki Czynność
0
kwi 16
3193
0
gru 21
2149
3
wrz 19
7286
3
lip 19
4606
1
lip 17
5623