From bca16ab1346bf31454b41d31ee1f917fb3ba410b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?=
<9664676+pengyuthon@user.noreply.gitee.com>
Date: Wed, 21 Jan 2026 15:30:53 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
room/security/ir_rule.xml | 5 -----
yuthon_issue/models/inherit_room_booking.py | 18 ++++++++++++++++++
yuthon_issue/models/issue_approval.py | 17 +++++++++++++++++
yuthon_issue/security/issue_security_group.xml | 5 -----
yuthon_issue/views/inherit_room_booking.xml | 4 +---
yuthon_issue/views/issue_approval_views.xml | 1 +
6 files changed, 37 insertions(+), 13 deletions(-)
diff --git a/room/security/ir_rule.xml b/room/security/ir_rule.xml
index 7b2e0524c..c20ade81a 100644
--- a/room/security/ir_rule.xml
+++ b/room/security/ir_rule.xml
@@ -11,11 +11,6 @@
[('company_id', 'in', company_ids)]
-
- 预定会议多公司
-
- [('company_id', 'in', company_ids)]
-
diff --git a/yuthon_issue/models/inherit_room_booking.py b/yuthon_issue/models/inherit_room_booking.py
index 3f223a3da..1e6391a80 100644
--- a/yuthon_issue/models/inherit_room_booking.py
+++ b/yuthon_issue/models/inherit_room_booking.py
@@ -10,6 +10,24 @@ class RoomBooking(models.Model):
issue_meeting_line_ids = fields.One2many('issue.meeting.line', 'meeting_booking_id', string="关联议题明细行")
number_of_meetings = fields.Integer(string='会议次数')
minutes_id = fields.Many2one('issue.meeting.minutes', string='会议纪要流程')
+ is_company = fields.Boolean(string="本公司", default=True, compute='_compute_is_company',
+ search='_search_part_of_company')
+
+ @api.depends_context('uid', 'company')
+ @api.depends('company_id')
+ def _compute_is_company(self):
+ active_company_ids = self.env.companies
+ for employee in self:
+ employee.is_company = employee.company_id in active_company_ids
+
+ def _search_part_of_company(self, operator, value):
+ company_ids = self.env.companies.ids
+ if not value:
+ operator = '!=' if operator == '=' else '='
+ if operator == '=':
+ return [('company_id', 'in', company_ids)]
+ else:
+ return [('company_id', 'not in', company_ids)]
@api.depends('number_of_meetings', 'meeting_type_id', 'start_datetime')
def _compute_name(self):
diff --git a/yuthon_issue/models/issue_approval.py b/yuthon_issue/models/issue_approval.py
index a12b382c0..99abe099b 100644
--- a/yuthon_issue/models/issue_approval.py
+++ b/yuthon_issue/models/issue_approval.py
@@ -38,6 +38,23 @@ class IssueApproval(models.Model):
return self._description if self._description else self._name
name_title = fields.Char(default=_get_default_name_title)
+ is_company = fields.Boolean(string="本公司", default=True, compute='_compute_is_company',search='_search_part_of_company')
+
+ @api.depends_context('uid', 'company')
+ @api.depends('company_id')
+ def _compute_is_company(self):
+ active_company_ids = self.env.companies
+ for employee in self:
+ employee.is_company = employee.company_id in active_company_ids
+
+ def _search_part_of_company(self, operator, value):
+ company_ids = self.env.companies.ids
+ if not value:
+ operator = '!=' if operator == '=' else '='
+ if operator == '=':
+ return [('company_id', 'in', company_ids)]
+ else:
+ return [('company_id', 'not in', company_ids)]
@api.depends('code')
def _compute_workflow(self):
diff --git a/yuthon_issue/security/issue_security_group.xml b/yuthon_issue/security/issue_security_group.xml
index c88078948..5d2daa167 100644
--- a/yuthon_issue/security/issue_security_group.xml
+++ b/yuthon_issue/security/issue_security_group.xml
@@ -23,9 +23,4 @@
[('company_id', 'in', company_ids)]
-
- 议题审批多公司
-
- [('company_id', 'in', company_ids)]
-
\ No newline at end of file
diff --git a/yuthon_issue/views/inherit_room_booking.xml b/yuthon_issue/views/inherit_room_booking.xml
index ff2bcfe4a..c036e58df 100644
--- a/yuthon_issue/views/inherit_room_booking.xml
+++ b/yuthon_issue/views/inherit_room_booking.xml
@@ -35,12 +35,10 @@
-
议题相关会议
room.booking
tree,form
- [('is_issue','=',True)]
+ [('is_issue','=',True), ('is_company','=',True)]
-
diff --git a/yuthon_issue/views/issue_approval_views.xml b/yuthon_issue/views/issue_approval_views.xml
index cd55ff76b..123ba38da 100644
--- a/yuthon_issue/views/issue_approval_views.xml
+++ b/yuthon_issue/views/issue_approval_views.xml
@@ -82,6 +82,7 @@
议题审批
+ [('is_company','=',True)]
issue.approval
tree,form