2026-01-23 18:36:48 +05:30

43 lines
1.7 KiB
Python

from odoo import models, fields, api
class ResUsers(models.Model):
_inherit = 'res.users'
restaurant_role = fields.Selection([
('waiter', 'Waiter / Captain'),
('chef', 'Chef / Kitchen Staff'),
('cashier', 'Cashier'),
('manager', 'Manager'),
('admin', 'Admin / Owner'),
('store', 'Store Keeper'),
], string='Restaurant Role', help="Select the staff member's primary role.")
@api.onchange('restaurant_role')
def _onchange_restaurant_role(self):
if not self.restaurant_role:
return
# Map roles to their XML IDs
role_mapping = {
'waiter': 'restaurant_management.group_restaurant_waiter',
'chef': 'restaurant_management.group_restaurant_kitchen',
'cashier': 'restaurant_management.group_restaurant_cashier',
'manager': 'restaurant_management.group_restaurant_manager',
'admin': 'restaurant_management.group_restaurant_admin',
'store': 'restaurant_management.group_restaurant_store_keeper',
}
# Clear existing restaurant groups first (optional, but cleaner)
# We can find them by category
category = self.env.ref('restaurant_management.module_category_restaurant_staff', raise_if_not_found=False)
if category:
restaurant_groups = self.env['res.groups'].search([('category_id', '=', category.id)])
self.groups_id = [(3, g.id) for g in restaurant_groups]
# Add the selected group
group_xml_id = role_mapping.get(self.restaurant_role)
if group_xml_id:
group = self.env.ref(group_xml_id)
if group:
self.groups_id = [(4, group.id)]