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 43ce3e885..211f48633 100644
--- a/yuthon_issue/views/issue_approval_views.xml
+++ b/yuthon_issue/views/issue_approval_views.xml
@@ -99,6 +99,7 @@
议题审批
+ [('is_company','=',True)]
issue.approval
tree,form