diff --git a/yuthon_issue/__manifest__.py b/yuthon_issue/__manifest__.py
index ac7f61833..82cfd22ab 100644
--- a/yuthon_issue/__manifest__.py
+++ b/yuthon_issue/__manifest__.py
@@ -22,6 +22,7 @@
'views/issue_approval_decision_views.xml',
'views/issue_approval_decision_type_views.xml',
'views/issue_meeting_minutes_views.xml',
+ 'views/issue_library_type_views.xml',
'report/meeting_minutes_report.xml',
'views/menus.xml',
],
diff --git a/yuthon_issue/models/__init__.py b/yuthon_issue/models/__init__.py
index 78f7d3ec4..13aa50667 100644
--- a/yuthon_issue/models/__init__.py
+++ b/yuthon_issue/models/__init__.py
@@ -7,4 +7,5 @@ from . import issue_approval_decision_type
from . import inherit_room_booking
from . import issue_approval
from . import issue_meeting_minutes
+from . import issue_library_type
diff --git a/yuthon_issue/models/issue_approval_decision.py b/yuthon_issue/models/issue_approval_decision.py
index 1498efff6..5d6654454 100644
--- a/yuthon_issue/models/issue_approval_decision.py
+++ b/yuthon_issue/models/issue_approval_decision.py
@@ -11,12 +11,12 @@ class IssueApprovalDecision(models.Model):
decision_type_on_id = fields.Many2one('issue.approval.decision.type', string='事项类别上级')
sequence = fields.Char(string='序号', store=True)
specifics = fields.Text(string='具体事项')
- council = fields.Selection([('approval', '审'), ('decide', '决')], string='党总委员会')
- team_meet = fields.Selection([('approval', '审'), ('decide', '决')], string='经营班子会')
- board_meet = fields.Selection([('approval', '审'), ('decide', '决'), ('commission', '授权投决会')], string='董事会', compute='_compute_board_meet', readonly=False)
- district_state = fields.Selection([('approval', '审'), ('decide', '决')], string="区国资局",)
- district_government = fields.Selection([('approval', '审'), ('decide', '决')], string="区政府",)
- district_party= fields.Selection([('approval', '审'), ('decide', '决')], string="区委组织部")
+ council_id = fields.Many2one('issue.library.type', string='党总委员会')
+ team_meet_id = fields.Many2one('issue.library.type', string='经营班子会')
+ board_meet_id = fields.Many2one('issue.library.type', string='董事会')
+ district_state_id = fields.Many2one('issue.library.type', string="区国资局",)
+ district_government_id = fields.Many2one('issue.library.type', string="区政府",)
+ district_party_id= fields.Many2one('issue.library.type', string="区委组织部")
department_id = fields.Many2one('hr.department', string="部门")
management_matters = fields.Char(string='管理事项')
company_id = fields.Many2one('res.company', string="公司", default=lambda self: self._get_default_company())
@@ -42,13 +42,6 @@ class IssueApprovalDecision(models.Model):
if seq.decision_type_id.decision_type_id:
seq.decision_type_on_id = seq.decision_type_id.decision_type_id
- @api.depends('team_meet')
- def _compute_board_meet(self):
- for record in self:
- if record.team_meet:
- record.board_meet = 'approval'
-
-
def update_issue(self):
company = self.env['res.company'].search([('name', '=', '集团本部')], limit=1)
issue_active_ids = self.env["issue.approval.decision"].browse(
diff --git a/yuthon_issue/models/issue_library.py b/yuthon_issue/models/issue_library.py
index 92db9f96b..380a5b75b 100644
--- a/yuthon_issue/models/issue_library.py
+++ b/yuthon_issue/models/issue_library.py
@@ -216,24 +216,30 @@ class IssueLibrary(models.Model):
@api.depends('issue_library_line_ids')
def _compute_issue_library_line_ids(self):
- for line in self:
- line.is_party = bool(line.issue_library_line_ids.filtered('council'))
- line.is_class = bool(line.issue_library_line_ids.filtered('team_meet'))
- line.is_boss = bool(line.issue_library_line_ids.filtered('board_meet'))
- line.is_district_state = bool(line.issue_library_line_ids.filtered('district_state'))
- line.is_district_government = bool(line.issue_library_line_ids.filtered('district_government'))
- line.is_district_party = bool(line.issue_library_line_ids.filtered('district_party'))
- line.is_note = any([
- bool(line.issue_library_line_ids.filtered(lambda rec: rec.issue_approval_decision_id.district_state)),
- bool(line.issue_library_line_ids.filtered(lambda rec: rec.issue_approval_decision_id.district_government)),
- bool(line.issue_library_line_ids.filtered(lambda rec: rec.issue_approval_decision_id.district_party))
+ for record in self:
+ # 判断issue_library_line_ids记录集中是否存在关联了issue.library.type的记录
+ record.is_party = bool(record.issue_library_line_ids.filtered(lambda rec: rec.council_id))
+ record.is_class = bool(record.issue_library_line_ids.filtered(lambda rec: rec.team_meet_id))
+ record.is_boss = bool(record.issue_library_line_ids.filtered(lambda rec: rec.board_meet_id))
+ record.is_district_state = bool(record.issue_library_line_ids.filtered(lambda rec: rec.district_state_id))
+ record.is_district_government = bool(
+ record.issue_library_line_ids.filtered(lambda rec: rec.district_government_id))
+ record.is_district_party = bool(record.issue_library_line_ids.filtered(lambda rec: rec.district_party_id))
+ record.is_note = any([
+ bool(record.issue_library_line_ids.filtered(
+ lambda rec: rec.issue_approval_decision_id and rec.issue_approval_decision_id.district_state_id)),
+ bool(record.issue_library_line_ids.filtered(
+ lambda rec: rec.issue_approval_decision_id and rec.issue_approval_decision_id.district_government_id)),
+ bool(record.issue_library_line_ids.filtered(
+ lambda rec: rec.issue_approval_decision_id and rec.issue_approval_decision_id.district_party_id))
])
+
def unlink(self):
- for i in self:
- if i.issue_state == 'on_meet':
- raise UserError('议题已上会,不能删除')
- return super().unlink()
+ for i in self:
+ if i.issue_state == 'on_meet':
+ raise UserError('议题已上会,不能删除')
+ return super().unlink()
@api.depends('name')
def _compute_name(self):
@@ -273,12 +279,12 @@ class IssueLibraryLine(models.Model):
issue_library_id = fields.Many2one('issue.library')
issue_approval_decision_id = fields.Many2one('issue.approval.decision', string="决策清单")
- council = fields.Selection(related='issue_approval_decision_id.council', string='党总委员会')
- team_meet = fields.Selection(related='issue_approval_decision_id.team_meet', string='经营班子会')
- board_meet = fields.Selection(related='issue_approval_decision_id.board_meet', string='董事会')
- district_state = fields.Selection(related='issue_approval_decision_id.district_state', string="区国资局")
- district_government = fields.Selection(related='issue_approval_decision_id.district_government', string="区政府")
- district_party = fields.Selection(related='issue_approval_decision_id.district_party', string="区委组织部")
+ council_id = fields.Many2one(related='issue_approval_decision_id.council_id', string='党总委员会')
+ team_meet_id = fields.Many2one(related='issue_approval_decision_id.team_meet_id', string='经营班子会')
+ board_meet_id = fields.Many2one(related='issue_approval_decision_id.board_meet_id', string='董事会')
+ district_state_id = fields.Many2one(related='issue_approval_decision_id.district_state_id', string="区国资局")
+ district_government_id = fields.Many2one(related='issue_approval_decision_id.district_government_id', string="区政府")
+ district_party_id = fields.Many2one(related='issue_approval_decision_id.district_party_id', string="区委组织部")
ordinal = fields.Char(related='issue_approval_decision_id.sequence', string='序号')
diff --git a/yuthon_issue/models/issue_library_type.py b/yuthon_issue/models/issue_library_type.py
new file mode 100644
index 000000000..4b1fd46c2
--- /dev/null
+++ b/yuthon_issue/models/issue_library_type.py
@@ -0,0 +1,13 @@
+# -*- coding: utf-8 -*-
+from odoo import api, fields, models, tools
+from odoo.exceptions import UserError, ValidationError
+
+
+class IssueLibraryType(models.Model):
+ _name = "issue.library.type"
+ _description = '决策类型配置'
+ _rec_name = 'name'
+
+ name = fields.Char(string="事项类别")
+
+
diff --git a/yuthon_issue/security/ir.model.access.csv b/yuthon_issue/security/ir.model.access.csv
index dbdb7cd23..eaa9f7679 100644
--- a/yuthon_issue/security/ir.model.access.csv
+++ b/yuthon_issue/security/ir.model.access.csv
@@ -10,3 +10,4 @@ access_issue_meeting_minutes_line,issue_meeting_minutes_line,model_issue_meeting
access_issue_meeting_minutes,issue_meeting_minutes,model_issue_meeting_minutes,base.group_user,1,1,1,1
access_issue_meeting_line,issue_meeting_line,model_issue_meeting_line,base.group_user,1,1,1,1
access_issue_library_room_line,issue_library_room_line,model_issue_library_room_line,base.group_user,1,1,1,1
+access_issue_library_type,issue_library_type,model_issue_library_type,base.group_user,1,1,1,1
diff --git a/yuthon_issue/views/issue_approval_decision_views.xml b/yuthon_issue/views/issue_approval_decision_views.xml
index fdc64eefe..56089e87b 100644
--- a/yuthon_issue/views/issue_approval_decision_views.xml
+++ b/yuthon_issue/views/issue_approval_decision_views.xml
@@ -10,12 +10,12 @@
-
-
-
-
-
-
+
+
+
+
+
+
@@ -41,21 +41,21 @@
-
+
-
+
-
+
-
-
-
+
+
+
diff --git a/yuthon_issue/views/issue_library_type_views.xml b/yuthon_issue/views/issue_library_type_views.xml
new file mode 100644
index 000000000..a476e0b37
--- /dev/null
+++ b/yuthon_issue/views/issue_library_type_views.xml
@@ -0,0 +1,17 @@
+
+
+
+ issue.library.type.tree
+ issue.library.type
+
+
+
+
+
+
+
+ 决策类型
+ issue.library.type
+ tree
+
+
diff --git a/yuthon_issue/views/issue_library_views.xml b/yuthon_issue/views/issue_library_views.xml
index 433c01f0d..4d6ddf12a 100644
--- a/yuthon_issue/views/issue_library_views.xml
+++ b/yuthon_issue/views/issue_library_views.xml
@@ -97,12 +97,12 @@
-
-
-
-
-
-
+
+
+
+
+
+
@@ -257,10 +257,10 @@
-
-
-
-
+
+
+
+
@@ -404,10 +404,10 @@
-
-
-
-
+
+
+
+
@@ -539,10 +539,10 @@
-
-
-
-
+
+
+
+
diff --git a/yuthon_issue/views/menus.xml b/yuthon_issue/views/menus.xml
index 3fda6f14b..25c4055ff 100644
--- a/yuthon_issue/views/menus.xml
+++ b/yuthon_issue/views/menus.xml
@@ -181,8 +181,14 @@
+
+
\ No newline at end of file
diff --git a/yuthon_work_brand/views/hr_menus.xml b/yuthon_work_brand/views/hr_menus.xml
index bbe3f0226..2ef940370 100644
--- a/yuthon_work_brand/views/hr_menus.xml
+++ b/yuthon_work_brand/views/hr_menus.xml
@@ -440,7 +440,7 @@
sequence="3"/>