feat: implement granular security groups and restrict menu access for mobile app push notifications
This commit is contained in:
parent
c06296c793
commit
5d188d8fec
@ -11,6 +11,7 @@
|
|||||||
'version': '1.0',
|
'version': '1.0',
|
||||||
'depends': ['base', 'loyalty'],
|
'depends': ['base', 'loyalty'],
|
||||||
'data': [
|
'data': [
|
||||||
|
'security/mapan_loyalty_push_security.xml',
|
||||||
'security/ir.model.access.csv',
|
'security/ir.model.access.csv',
|
||||||
'wizard/push_wizard_views.xml',
|
'wizard/push_wizard_views.xml',
|
||||||
'views/res_partner_views.xml',
|
'views/res_partner_views.xml',
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||||
access_mapan_push_wizard,mapan_push_wizard,model_mapan_push_wizard,base.group_user,1,1,1,1
|
access_mapan_push_wizard_manager,mapan_push_wizard_manager,model_mapan_push_wizard,mapan_loyalty_push.group_mapan_loyalty_push_manager,1,1,1,1
|
||||||
access_mapan_app_notification,mapan_app_notification,model_mapan_app_notification,base.group_user,1,1,1,1
|
access_mapan_app_notification_user,mapan_app_notification_user,model_mapan_app_notification,mapan_loyalty_push.group_mapan_loyalty_push_user,1,0,0,0
|
||||||
|
access_mapan_app_notification_manager,mapan_app_notification_manager,model_mapan_app_notification,mapan_loyalty_push.group_mapan_loyalty_push_manager,1,1,1,1
|
||||||
|
|||||||
|
25
security/mapan_loyalty_push_security.xml
Normal file
25
security/mapan_loyalty_push_security.xml
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<odoo>
|
||||||
|
<record id="module_category_mapan_loyalty_push" model="ir.module.category">
|
||||||
|
<field name="name">Mobile App</field>
|
||||||
|
<field name="description">Manage Mobile App Push Notifications</field>
|
||||||
|
<field name="sequence">70</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record model="res.groups.privilege" id="res_groups_privilege_mapan_loyalty_push">
|
||||||
|
<field name="name">Mobile App</field>
|
||||||
|
<field name="category_id" ref="module_category_mapan_loyalty_push"/>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record id="group_mapan_loyalty_push_user" model="res.groups">
|
||||||
|
<field name="name">User</field>
|
||||||
|
<field name="privilege_id" ref="res_groups_privilege_mapan_loyalty_push"/>
|
||||||
|
<field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record id="group_mapan_loyalty_push_manager" model="res.groups">
|
||||||
|
<field name="name">Manager</field>
|
||||||
|
<field name="privilege_id" ref="res_groups_privilege_mapan_loyalty_push"/>
|
||||||
|
<field name="implied_ids" eval="[(4, ref('group_mapan_loyalty_push_user'))]"/>
|
||||||
|
</record>
|
||||||
|
</odoo>
|
||||||
@ -65,5 +65,11 @@
|
|||||||
name="History"
|
name="History"
|
||||||
parent="menu_mapan_mobile_app_root"
|
parent="menu_mapan_mobile_app_root"
|
||||||
action="action_mapan_app_notification_history"
|
action="action_mapan_app_notification_history"
|
||||||
|
groups="mapan_loyalty_push.group_mapan_loyalty_push_user"
|
||||||
sequence="20"/>
|
sequence="20"/>
|
||||||
|
|
||||||
|
<!-- Explicit Menu Override to clear and reset group_ids in Database -->
|
||||||
|
<record id="menu_mapan_app_notification_history" model="ir.ui.menu">
|
||||||
|
<field name="group_ids" eval="[(6, 0, [ref('mapan_loyalty_push.group_mapan_loyalty_push_user')])]"/>
|
||||||
|
</record>
|
||||||
</odoo>
|
</odoo>
|
||||||
|
|||||||
@ -31,6 +31,7 @@
|
|||||||
<menuitem id="menu_mapan_mobile_app_root"
|
<menuitem id="menu_mapan_mobile_app_root"
|
||||||
name="Mobile App"
|
name="Mobile App"
|
||||||
web_icon="mapan_loyalty_push,static/description/icon.png"
|
web_icon="mapan_loyalty_push,static/description/icon.png"
|
||||||
|
groups="mapan_loyalty_push.group_mapan_loyalty_push_user"
|
||||||
sequence="50"/>
|
sequence="50"/>
|
||||||
|
|
||||||
<!-- Action Menu inside the App -->
|
<!-- Action Menu inside the App -->
|
||||||
@ -38,5 +39,15 @@
|
|||||||
name="Send Push Notification"
|
name="Send Push Notification"
|
||||||
parent="menu_mapan_mobile_app_root"
|
parent="menu_mapan_mobile_app_root"
|
||||||
action="action_mapan_push_wizard"
|
action="action_mapan_push_wizard"
|
||||||
|
groups="mapan_loyalty_push.group_mapan_loyalty_push_manager"
|
||||||
sequence="10"/>
|
sequence="10"/>
|
||||||
|
|
||||||
|
<!-- Explicit Menu Overrides to clear and reset group_ids in Database -->
|
||||||
|
<record id="menu_mapan_mobile_app_root" model="ir.ui.menu">
|
||||||
|
<field name="group_ids" eval="[(6, 0, [ref('mapan_loyalty_push.group_mapan_loyalty_push_user')])]"/>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record id="menu_mapan_push_wizard" model="ir.ui.menu">
|
||||||
|
<field name="group_ids" eval="[(6, 0, [ref('mapan_loyalty_push.group_mapan_loyalty_push_manager')])]"/>
|
||||||
|
</record>
|
||||||
</odoo>
|
</odoo>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user