Browse Source

mAY 19 [UPDT]: Bug Fixed 'model_access_rights'

15.0
AjmalCybro 2 months ago
parent
commit
e2e3cfcd37
  1. 2
      model_access_rights/__manifest__.py
  2. 5
      model_access_rights/doc/RELEASE_NOTES.md
  3. 44
      model_access_rights/models/access_right.py
  4. 4
      model_access_rights/static/src/js/list_controller.js

2
model_access_rights/__manifest__.py

@ -21,7 +21,7 @@
##############################################################################
{
'name': 'Hide Create|Delete|Archive|Export Options - Model Wise',
'version': '15.0.1.0.0',
'version': '15.0.1.0.1',
'category': 'Extra Tools',
'summary': """Hide module features for user groups.""",
'description': """

5
model_access_rights/doc/RELEASE_NOTES.md

@ -4,3 +4,8 @@
#### Version 15.0.1.0.0
##### ADD
- Initial Commit for Hide Create|Delete|Archive|Export Options - Model Wise
#### 12.05.2025
#### Version 15.0.1.0.1
#### BUG FIX
- Fixed issue of export action not appearing in res.groups list view after module installation

44
model_access_rights/models/access_right.py

@ -47,24 +47,26 @@ class AccessRight(models.Model):
@api.model
def hide_buttons(self, args):
"""This function contains a query that detects which all options want
to hide, in which model,and to which user groups"""
access_right_rec = self.sudo().search_read([],
['model_id', 'is_delete',
'is_export',
'is_create_or_update',
'is_archive',
'groups_id'])
for rec in access_right_rec:
model_id = self.env['ir.model'].sudo(). \
browse(rec['model_id'][0]).model
if str(model_id) == args[1]:
groups = self.env['res.users'].browse(args[0]).groups_id.ids
if rec['groups_id'][0] in groups:
data = {
'is_delete': rec['is_delete'],
'is_export': rec['is_export'],
'is_create_or_update': rec['is_create_or_update'],
'is_archive': rec['is_archive']
}
return data
"""Returns the visibility settings for buttons per model and group."""
user = self.env['res.users'].browse(args[0])
model_name = args[1]
access_right_rec = self.sudo().search_read([
('model_id.model', '=', model_name),
('groups_id', 'in', user.groups_id.ids)
], ['is_delete', 'is_export', 'is_create_or_update', 'is_archive'])
if access_right_rec:
rec = access_right_rec[0] # If multiple, first match wins
return {
'is_delete': rec['is_delete'],
'is_export': rec['is_export'],
'is_create_or_update': rec['is_create_or_update'],
'is_archive': rec['is_archive']
}
return {
'is_delete': False,
'is_export': False,
'is_create_or_update': False,
'is_archive': False
}

4
model_access_rights/static/src/js/list_controller.js

@ -27,8 +27,10 @@ patch(ListController.prototype, 'model_access_rights/static/src/js/list_controll
if(data['is_archive']){
self.archiveEnabled = false;
}
if(data['is_export']){
if (data['is_export']) {
self.isExportEnable = false;
} else {
self.isExportEnable = true;
}
}
});

Loading…
Cancel
Save