diff --git a/sf_manufacturing/__manifest__.py b/sf_manufacturing/__manifest__.py index 2f73f417..a133d6f6 100644 --- a/sf_manufacturing/__manifest__.py +++ b/sf_manufacturing/__manifest__.py @@ -17,8 +17,8 @@ 'report/tray_report.xml', 'views/mrp_maintenance_views.xml', 'views/mrp_routing_workcenter_view.xml', - 'views/mrp_workorder_view.xml', 'views/mrp_workcenter_views.xml', + 'views/mrp_workorder_view.xml', 'views/tray_view.xml', 'views/model_type_view.xml', diff --git a/sf_manufacturing/models/__init__.py b/sf_manufacturing/models/__init__.py index 8f632de7..419dee46 100644 --- a/sf_manufacturing/models/__init__.py +++ b/sf_manufacturing/models/__init__.py @@ -6,6 +6,7 @@ from . import mrp_routing_workcenter from . import mrp_workorder from . import model_type from . import stock +from . import res_user diff --git a/sf_manufacturing/models/mrp_workcenter.py b/sf_manufacturing/models/mrp_workcenter.py index ad7a0419..e853ab3f 100644 --- a/sf_manufacturing/models/mrp_workcenter.py +++ b/sf_manufacturing/models/mrp_workcenter.py @@ -7,6 +7,8 @@ class ResWorkcenter(models.Model): _inherit = "mrp.workcenter" machine_tool_id = fields.Many2one('sf.machine_tool', '机床') + users_ids = fields.Many2many("res.users", 'users_workcenter') + equipment_ids = fields.One2many( 'maintenance.equipment', 'workcenter_id', string="Maintenance Equipment", check_company=True) diff --git a/sf_manufacturing/models/mrp_workorder.py b/sf_manufacturing/models/mrp_workorder.py index 882f687f..e2b5033f 100644 --- a/sf_manufacturing/models/mrp_workorder.py +++ b/sf_manufacturing/models/mrp_workorder.py @@ -19,6 +19,7 @@ class ResMrpWorkOrder(models.Model): _order = 'sequence' workcenter_id = fields.Many2one('mrp.workcenter', required=False) + users_ids = fields.Many2many("res.users", 'users_workorder', related="workcenter_id.users_ids") processing_panel = fields.Char('加工面') sequence = fields.Integer(string='工序') routing_type = fields.Selection([ @@ -29,6 +30,21 @@ class ResMrpWorkOrder(models.Model): ('后置三元质量检测', '后置三元质量检测'), ('解除装夹', '解除装夹'), ], string="工序类型") + + @api.onchange('users_ids') + def get_user_permissions(self): + uid = self.env.uid + for workorder in self: + if workorder.users_ids: + for item in workorder.users_ids: + if item.id == uid: + workorder.user_permissions = True + else: + workorder.user_permissions = False + else:workorder.user_permissions=False + + + user_permissions = fields.Boolean('用户权限', compute='get_user_permissions') cnc_worksheet = fields.Binary( '工作指令', readonly=True) material_center_point = fields.Char(string='配料中心点') diff --git a/sf_manufacturing/models/res_user.py b/sf_manufacturing/models/res_user.py new file mode 100644 index 00000000..d79313db --- /dev/null +++ b/sf_manufacturing/models/res_user.py @@ -0,0 +1,7 @@ +# -*- coding: utf-8 -*- +from odoo import SUPERUSER_ID, _, api, fields, models, registry + +class Users(models.Model): + _inherit = 'res.users' + + workcenter_ids = fields.Many2many("mrp.workcenter", 'users_workcenter') \ No newline at end of file diff --git a/sf_manufacturing/views/mrp_workcenter_views.xml b/sf_manufacturing/views/mrp_workcenter_views.xml index 11777e58..186dce3c 100644 --- a/sf_manufacturing/views/mrp_workcenter_views.xml +++ b/sf_manufacturing/views/mrp_workcenter_views.xml @@ -24,14 +24,16 @@ - + mrp.workcenter.view.kanban.inherit.mrp.workorder mrp.workcenter -