Skip to content

Commit 9778eb6

Browse files
author
odoo
committed
feat: Update customer inventory and pickup request views, and add comprehensive menu structure for Records Management module
1 parent 77d1fc8 commit 9778eb6

File tree

4 files changed

+136
-12
lines changed

4 files changed

+136
-12
lines changed
Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
# Records Management - Odoo 18.0 Menu Structure
2+
3+
## Overview
4+
The Records Management module menu structure has been completely reorganized to follow Odoo 18.0 best practices and provide a logical, hierarchical navigation experience.
5+
6+
## Menu Hierarchy
7+
8+
### 📁 Records Management (Root Menu)
9+
- **Sequence**: 50
10+
- **Icon**: `records_management,static/description/icon.png`
11+
- **Groups**: `records_management.group_records_user`
12+
13+
#### 🔧 Operations (Sequence: 10)
14+
Daily operational activities for records management staff.
15+
16+
- **Storage Boxes** (Sequence: 10) → `action_records_box`
17+
- Manage physical storage boxes and containers
18+
19+
- **Documents** (Sequence: 20) → `action_records_document`
20+
- Manage individual documents and files
21+
22+
- **Pickup Requests** (Sequence: 30) → `action_pickup_request`
23+
- Handle document pickup and collection requests
24+
25+
- **Shredding Services** (Sequence: 40) → `action_shredding_service`
26+
- Manage document destruction services
27+
28+
- **Serial Numbers** (Sequence: 50) → `action_stock_lot`
29+
- Track serial numbers for inventory items
30+
31+
#### 📊 Inventory (Sequence: 20)
32+
Inventory management and tracking capabilities.
33+
34+
- **Customer Inventory** (Sequence: 10) → `action_customer_inventory_report`
35+
- View and manage customer-specific inventory
36+
37+
- **Retention Policies** (Sequence: 20) → `action_records_retention_policy`
38+
- Define and manage document retention rules
39+
- **Groups**: `records_management.group_records_manager`
40+
41+
#### 📈 Reporting (Sequence: 30)
42+
Analytics and reporting functions.
43+
44+
- **Storage Reports** (Sequence: 10) → `report_box_contents`
45+
- Generate storage and box content reports
46+
47+
- **Inventory Reports** (Sequence: 20) → `action_customer_inventory_report`
48+
- Customer inventory analysis and reports
49+
50+
#### ⚙️ Configuration (Sequence: 100)
51+
Administrative settings and master data management.
52+
**Groups**: `records_management.group_records_manager`
53+
54+
##### 📋 Master Data (Sequence: 10)
55+
Core configuration data.
56+
57+
- **Storage Locations** (Sequence: 10) → `action_records_location`
58+
- Configure physical storage locations
59+
60+
- **Document Types** (Sequence: 20) → `action_records_document_type`
61+
- Define document categories and types
62+
63+
- **Classification Tags** (Sequence: 30) → `action_records_tag`
64+
- Manage document classification tags
65+
66+
##### 🛍️ Products & Services (Sequence: 20)
67+
Product and service configuration.
68+
69+
- **Service Products** (Sequence: 10) → `product.product_template_action`
70+
- Configure service products and templates
71+
72+
- **Product Variants** (Sequence: 20) → `product.product_normal_action`
73+
- Manage product variants and configurations
74+
75+
##### 🔧 Settings (Sequence: 90)
76+
General module settings and preferences.
77+
78+
## Key Improvements
79+
80+
### ✅ Odoo 18.0 Compliance
81+
- **Proper Sequencing**: Logical numerical sequences (10, 20, 30, etc.)
82+
- **Security Groups**: Appropriate group restrictions for different user levels
83+
- **Hierarchy**: Clear parent-child relationships following Odoo standards
84+
- **Naming**: Descriptive menu names following business terminology
85+
86+
### ✅ User Experience
87+
- **Logical Grouping**: Related functions are grouped together
88+
- **Progressive Disclosure**: Basic operations first, advanced configuration last
89+
- **Role-Based Access**: Different menu visibility based on user permissions
90+
- **Intuitive Navigation**: Clear section separation with visual indicators
91+
92+
### ✅ Security Structure
93+
- **Regular Users** (`group_records_user`): Access to Operations, Inventory, and Reporting
94+
- **Managers** (`group_records_manager`): Additional access to Configuration and administrative functions
95+
96+
### ✅ Removed Duplicates
97+
Cleaned up duplicate menu definitions that existed in multiple files:
98+
- Removed duplicate root menu from `stock_lot_views.xml`
99+
- Removed duplicate customer inventory menu from `customer_inventory_views.xml`
100+
- Removed duplicate retention policy menu from `records_retention_policy_views.xml`
101+
- Removed duplicate document type menu from `records_document_type_views.xml`
102+
- Removed duplicate pickup request menu from `pickup_request.xml`
103+
104+
## Compatibility Notes
105+
106+
### Standard Odoo Patterns
107+
The menu structure follows standard Odoo application patterns:
108+
- Operations → Daily work activities
109+
- Inventory/Management → Data management and tracking
110+
- Reporting → Analytics and insights
111+
- Configuration → Administrative setup
112+
113+
### External Dependencies
114+
- **Product Management**: Leverages standard Odoo product actions
115+
- **Stock Management**: Integrates with Odoo inventory system
116+
- **Security**: Uses Odoo's group-based permission system
117+
118+
This structure provides a solid foundation for Records Management operations while maintaining full compatibility with Odoo 18.0 and Odoo.sh deployment requirements.

records_management/views/customer_inventory_views.xml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,22 @@
1717
<field name="view_id" ref="view_stock_quant_graph_customer"/>
1818
<field name="domain">[('customer_id', '!=', False)]</field>
1919
</record>
20+
21+
<!-- Main Customer Inventory Action for Menu -->
22+
<record id="action_customer_inventory_report" model="ir.actions.act_window">
23+
<field name="name">Customer Inventory</field>
24+
<field name="res_model">stock.quant</field>
25+
<field name="view_mode">tree,form,graph</field>
26+
<field name="domain">[('customer_id', '!=', False)]</field>
27+
<field name="context">{'search_default_customer_id': 1}</field>
28+
<field name="help" type="html">
29+
<p class="o_view_nocontent_smiling_face">
30+
No customer inventory found!
31+
</p>
32+
<p>
33+
Customer inventory will appear here once you have stored items for customers.
34+
</p>
35+
</field>
36+
</record>
37+
2038
</odoo>

records_management/views/pickup_request.xml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -123,9 +123,4 @@
123123
</field>
124124
</record>
125125

126-
<menuitem id="menu_pickup_request"
127-
name="Pickup Requests"
128-
parent="stock.menu_stock_root"
129-
action="action_pickup_request"
130-
groups="records_management.group_records_user"/>
131126
</odoo>

records_management/views/records_document_type_views.xml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,4 @@
6363
</p>
6464
</field>
6565
</record>
66-
67-
<!-- Menu Item -->
68-
<menuitem id="menu_records_document_type"
69-
name="Document Types"
70-
parent="records_management_configuration_menu"
71-
action="action_records_document_type"
72-
sequence="20"/>
7366
</odoo>

0 commit comments

Comments
 (0)