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. 34
      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', 'name': 'Hide Create|Delete|Archive|Export Options - Model Wise',
'version': '15.0.1.0.0', 'version': '15.0.1.0.1',
'category': 'Extra Tools', 'category': 'Extra Tools',
'summary': """Hide module features for user groups.""", 'summary': """Hide module features for user groups.""",
'description': """ 'description': """

5
model_access_rights/doc/RELEASE_NOTES.md

@ -4,3 +4,8 @@
#### Version 15.0.1.0.0 #### Version 15.0.1.0.0
##### ADD ##### ADD
- Initial Commit for Hide Create|Delete|Archive|Export Options - Model Wise - 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

34
model_access_rights/models/access_right.py

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

Loading…
Cancel
Save