Skip to content

Commit b3b454e

Browse files
authored
Merge pull request #654 from OpenSPP/633-hide-menu
Hide Menu Module
2 parents f7c76b2 + 9471621 commit b3b454e

File tree

13 files changed

+210
-80
lines changed

13 files changed

+210
-80
lines changed

spp_base/__manifest__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
"spp_service_points",
2626
"spp_custom_field",
2727
"spp_custom_fields_ui",
28+
"spp_hide_menus",
2829
"spp_programs",
2930
],
3031
"external_dependencies": {
@@ -34,7 +35,6 @@
3435
"security/ir.model.access.csv",
3536
"data/top_up_card.xml",
3637
"views/registrant_view.xml",
37-
"views/hide_menu_view.xml",
3838
"views/main_view.xml",
3939
],
4040
"assets": {},

spp_base/views/hide_menu_view.xml

Lines changed: 0 additions & 21 deletions
This file was deleted.

spp_farmer_registry_base/__manifest__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
"g2p_registry_membership",
2121
"spp_base_gis",
2222
"spp_land_record",
23+
"spp_hide_menus",
2324
"base_import",
2425
],
2526
"external_dependencies": {"python": ["shapely", "geojson", "simplejson", "pyproj"]},

spp_hide_menus/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2+
3+
from . import models

spp_hide_menus/__manifest__.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2+
3+
4+
{
5+
"name": "Hide Non-OpenSPP Menus",
6+
"category": "OpenSPP",
7+
"version": "17.0.1.3.0",
8+
"sequence": 1,
9+
"author": "OpenSPP.org",
10+
"website": "https://github.com/OpenSPP/openspp-modules",
11+
"license": "LGPL-3",
12+
"development_status": "Production/Stable",
13+
"maintainers": ["jeremi", "gonzalesedwin1123"],
14+
"depends": ["base", "calendar", "contacts", "account", "event", "stock", "utm", "web", "g2p_registry_base"],
15+
"data": [
16+
"security/ir.model.access.csv",
17+
"data/hide_menu_data.xml",
18+
"views/hide_menu_view.xml",
19+
],
20+
"assets": {},
21+
"demo": [],
22+
"images": [],
23+
"application": True,
24+
"installable": True,
25+
"auto_install": False,
26+
}
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
<?xml version="1.0" encoding="UTF-8" ?>
2+
<odoo>
3+
4+
<record id="show_non_openspp_menu_group" model="res.groups">
5+
<field name="name">Show Non-OpenSPP Menu</field>
6+
</record>
7+
8+
<!-- Hide Calendar Menu -->
9+
<record id="hide_calendar_menu" model="spp.hide.menu">
10+
<field name="name" eval="ref('calendar.mail_menu_calendar')" />
11+
</record>
12+
13+
<function model="spp.hide.menu" name="hide_menu">
14+
<value eval="ref('hide_calendar_menu')" />
15+
</function>
16+
17+
<!-- Hide Contacts Menu -->
18+
<record id="hide_contacts_menu" model="spp.hide.menu">
19+
<field name="name" eval="ref('contacts.menu_contacts')" />
20+
</record>
21+
22+
<function model="spp.hide.menu" name="hide_menu">
23+
<value eval="ref('hide_contacts_menu')" />
24+
</function>
25+
26+
<!-- Hide Invoicing Menu -->
27+
<record id="hide_invoicing_menu" model="spp.hide.menu">
28+
<field name="name" eval="ref('account.menu_finance')" />
29+
</record>
30+
31+
<function model="spp.hide.menu" name="hide_menu">
32+
<value eval="ref('hide_invoicing_menu')" />
33+
</function>
34+
35+
<!-- Hide Events Menu -->
36+
<record id="hide_events_menu" model="spp.hide.menu">
37+
<field name="name" eval="ref('event.event_main_menu')" />
38+
</record>
39+
40+
<function model="spp.hide.menu" name="hide_menu">
41+
<value eval="ref('hide_events_menu')" />
42+
</function>
43+
44+
<!-- Hide Inventory Menu -->
45+
<record id="hide_inventory_menu" model="spp.hide.menu">
46+
<field name="name" eval="ref('stock.menu_stock_root')" />
47+
</record>
48+
49+
<function model="spp.hide.menu" name="hide_menu">
50+
<value eval="ref('hide_inventory_menu')" />
51+
</function>
52+
53+
<!-- Hide Link Tracker Menu -->
54+
<record id="hide_link_tracker_menu" model="spp.hide.menu">
55+
<field name="name" eval="ref('utm.menu_link_tracker_root')" />
56+
</record>
57+
58+
<function model="spp.hide.menu" name="hide_menu">
59+
<value eval="ref('hide_link_tracker_menu')" />
60+
</function>
61+
62+
</odoo>

spp_hide_menus/models/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
from . import hide_menu

spp_hide_menus/models/hide_menu.py

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2+
3+
import logging
4+
5+
from odoo import fields, models
6+
7+
_logger = logging.getLogger(__name__)
8+
9+
10+
class OpenSPPHideMenu(models.Model):
11+
_name = "spp.hide.menu"
12+
_description = "Hide Menu Configuration"
13+
14+
name = fields.Many2one("ir.ui.menu", required=True)
15+
state = fields.Selection(
16+
[("show", "Show"), ("hide", "Hidden")],
17+
default="show",
18+
)
19+
default_groups_id = fields.Many2many("res.groups")
20+
21+
def hide_menu(self, menu_id=None):
22+
record = self
23+
if menu_id:
24+
record = self.browse(menu_id)
25+
for rec in record:
26+
if rec.state == "show" and rec.name:
27+
show_non_openspp_group = [(6, 0, [self.env.ref("spp_hide_menus.show_non_openspp_menu_group").id])]
28+
rec.default_groups_id = rec.name.groups_id
29+
rec.name.write(
30+
{
31+
"groups_id": show_non_openspp_group,
32+
}
33+
)
34+
rec.state = "hide"
35+
36+
def show_menu(self):
37+
for rec in self:
38+
if rec.state == "hide" and rec.name:
39+
rec.name.groups_id = rec.default_groups_id
40+
rec.state = "show"

spp_hide_menus/pyproject.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[build-system]
2+
requires = ["whool"]
3+
build-backend = "whool.buildapi"
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
2+
spp_hide_menu_admin,Hide Menu Configuration Admin Access,spp_hide_menus.model_spp_hide_menu,g2p_registry_base.group_g2p_admin,1,1,1,1

0 commit comments

Comments
 (0)