Browse Source

Apr 29: [FIX] Bug Fixed 'user_audit'

pull/317/head
RisvanaCybro 1 year ago
parent
commit
97e3ed8f3c
  1. 1
      user_audit/__manifest__.py
  2. 8
      user_audit/models/user_audit.py
  3. 3
      user_audit/security/ir.model.access.csv
  4. 25
      user_audit/security/user_audit_groups.xml
  5. 1
      user_audit/views/user_audit_menus.xml

1
user_audit/__manifest__.py

@ -53,4 +53,3 @@
'auto_install': False,
'application': True
}

8
user_audit/models/user_audit.py

@ -54,7 +54,7 @@ class UserAudit(models.Model):
@api.model
def create_audit_log_for_create(self, res_model):
""" Used to create user audit log based on the create operation """
model_id = self.env['ir.model'].search([('model', '=', res_model)]).id
model_id = self.env['ir.model'].sudo().search([('model', '=', res_model)]).id
audit = self.search([('model_ids', 'in', model_id)])
if audit and audit.is_create:
self.env['user.audit.log'].create({
@ -68,7 +68,7 @@ class UserAudit(models.Model):
@api.model
def create_audit_log_for_read(self, res_model, record_id):
""" Used to create user audit log based on the read operation """
model_id = self.env['ir.model'].search([('model', '=', res_model)]).id
model_id = self.env['ir.model'].sudo().search([('model', '=', res_model)]).id
audit = self.search([('model_ids', 'in', model_id)])
if audit and audit.is_read:
self.env['user.audit.log'].create({
@ -83,7 +83,7 @@ class UserAudit(models.Model):
@api.model
def create_audit_log_for_delete(self, res_model, record_id):
""" Used to create user audit log based on the delete operation """
model = self.env['ir.model'].search([('model', '=', res_model)])
model = self.env['ir.model'].sudo().search([('model', '=', res_model)])
model_id = self.env[res_model].browse(record_id)
audit = self.search([('model_ids', 'in', model.id)])
if audit and audit.is_delete and record_id and model_id:
@ -99,7 +99,7 @@ class UserAudit(models.Model):
@api.model
def create_audit_log_for_write(self, res_model, record_id):
""" Used to create user audit log based on the write operation """
model_id = self.env['ir.model'].search([('model', '=', res_model)]).id
model_id = self.env['ir.model'].sudo().search([('model', '=', res_model)]).id
audit = self.search([('model_ids', 'in', model_id)])
if audit and audit.is_write:
self.env['user.audit.log'].create({

3
user_audit/security/ir.model.access.csv

@ -1,6 +1,5 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_user_audit_log_manager,access.user.audit.log.manager,model_user_audit_log,user_audit.user_audit_log_group_manager,1,1,1,1
access_user_audit_log_user,access.user.audit.log.user,model_user_audit_log,user_audit.user_audit_log_group_user,1,0,0,0
access_user_audit_log_user,access.user.audit.log.user,model_user_audit_log,user_audit.user_audit_log_group_user,1,0,1,0
access_user_audit_manager,access.user.audit,model_user_audit,user_audit.user_audit_log_group_manager,1,1,1,1
access_user_audit_user,access.user.audit,model_user_audit,user_audit.user_audit_log_group_user,1,0,0,0
access_clear_user_log_manager,access.clear.user.log,model_clear_user_log,user_audit.user_audit_log_group_manager,1,1,1,1

1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_user_audit_log_manager access.user.audit.log.manager model_user_audit_log user_audit.user_audit_log_group_manager 1 1 1 1
3 access_user_audit_log_user access.user.audit.log.user model_user_audit_log user_audit.user_audit_log_group_user 1 0 0 1 0
4 access_user_audit_manager access.user.audit model_user_audit user_audit.user_audit_log_group_manager 1 1 1 1
access_user_audit_user access.user.audit model_user_audit user_audit.user_audit_log_group_user 1 0 0 0
5 access_clear_user_log_manager access.clear.user.log model_clear_user_log user_audit.user_audit_log_group_manager 1 1 1 1

25
user_audit/security/user_audit_groups.xml

@ -4,19 +4,30 @@
<!-- Security group for user audit -->
<record id="user_audit_log" model="ir.module.category">
<field name="name">User Audit</field>
<field name="description">User Audit
</field>
<field name="description">User Audit</field>
<field name="sequence">20</field>
</record>
<record id="user_audit_log_group_user" model="res.groups">
<field name="name">User</field>
<field name="category_id" ref="user_audit_log"/>
<field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
</record>
<record id="user_audit_log_group_manager" model="res.groups">
<field name="name">Manager</field>
<field name="category_id" ref="user_audit_log"/>
<field name="implied_ids" eval="[(4, ref('user_audit_log_group_user'))]"/>
</record>
<record id="user_audit_log_group_user" model="res.groups">
<field name="name">User</field>
<field name="category_id" ref="user_audit_log"/>
<field name="implied_ids"
eval="[(4, ref('user_audit_log_group_manager'))]"/>
<record id="user_audit_rule_group_user" model="ir.rule">
<field name="name">User access</field>
<field name="model_id" ref="model_user_audit_log"/>
<field name="domain_force">[('user_id','=',user.id)]</field>
<field name="groups" eval="[Command.link(ref('user_audit.user_audit_log_group_user'))]"/>
</record>
<record id="user_audit_rule_group_manager" model="ir.rule">
<field name="name">Admin full access</field>
<field name="model_id" ref="model_user_audit_log"/>
<field name="groups" eval="[Command.link(ref('user_audit.user_audit_log_group_manager'))]"/>
<field name="domain_force">[(1, '=', 1)]</field>
</record>
</data>
</odoo>

1
user_audit/views/user_audit_menus.xml

@ -18,6 +18,7 @@
<menuitem id="user_audit_configuration_menu" name="Configuration"
sequence="13"
parent="user_audit_log_menu_root"
groups="user_audit.user_audit_log_group_manager"
action="user_audit_action">
</menuitem>
</odoo>

Loading…
Cancel
Save