diff --git a/room/views/room_booking_views.xml b/room/views/room_booking_views.xml index 046bd22f3..03428ddd3 100644 --- a/room/views/room_booking_views.xml +++ b/room/views/room_booking_views.xml @@ -191,7 +191,7 @@ - + diff --git a/yuthon_issue/models/issue_library.py b/yuthon_issue/models/issue_library.py index 69dece85a..b7eef0328 100644 --- a/yuthon_issue/models/issue_library.py +++ b/yuthon_issue/models/issue_library.py @@ -10,6 +10,7 @@ class IssueLibrary(models.Model): _rec_name = 'name' name = fields.Char(string='议题事项') + issue_approval_decision_id = fields.Many2one('issue.approval.decision', string='决策清单') code = fields.Char(string='编号', required=True, copy=False, default=lambda self: self.env['ir.sequence'].next_by_code('issue_library_code')) statu = fields.Selection([('draft', '草稿'), ('approval', '审批中'), ('done', '已通过'), ('stop', '已拒绝'), @@ -28,6 +29,7 @@ class IssueLibrary(models.Model): notice_documents_ids = fields.Many2many('documents.document', string="议题管理文件") issue_type_id = fields.Many2one('issue.type', string="议题类型") room_booking_id = fields.Many2one('room.booking', string="关联会议") + relevancy_type = fields.Selection([('none', '无')], string="关联流程类型") def issue_cancel(self): self.write({"statu": "cancel"}) diff --git a/yuthon_issue/views/issue_library_views.xml b/yuthon_issue/views/issue_library_views.xml index 656e4c8a3..180172e85 100644 --- a/yuthon_issue/views/issue_library_views.xml +++ b/yuthon_issue/views/issue_library_views.xml @@ -9,9 +9,9 @@ decoration-success="statu == 'done'" decoration-muted="statu == 'cancel'"> - + @@ -41,6 +41,7 @@ + @@ -62,13 +63,17 @@ + + + + + + + + + + -
-
- - - -
diff --git a/yuthon_official/__manifest__.py b/yuthon_official/__manifest__.py index a615efe56..a624a0433 100644 --- a/yuthon_official/__manifest__.py +++ b/yuthon_official/__manifest__.py @@ -10,7 +10,7 @@ 'category': 'Human Resources/Attendances', 'version': '0.1', 'license': 'LGPL-3', - 'depends': ['mail', 'hr', 'soong_workflow', 'room'], + 'depends': ['mail', 'hr', 'soong_workflow', 'room', 'yuthon_issue'], 'data': [ 'data/official_type_data.xml', 'security/ir.model.access.csv', @@ -24,6 +24,7 @@ 'views/yuthon_official_incoming_party_views.xml', 'views/inherit_soong_workflow_insector_views.xml', 'views/inherit_room_booking_views.xml', + 'views/inherit_issue_library_views.xml', 'views/official_menus.xml', diff --git a/yuthon_official/models/__init__.py b/yuthon_official/models/__init__.py index ac7c3f74f..e71994b3f 100644 --- a/yuthon_official/models/__init__.py +++ b/yuthon_official/models/__init__.py @@ -10,3 +10,4 @@ from . import yuthon_official_incoming_labor from . import yuthon_official_incoming_normal from . import inherit_soong_workflow_insector from . import inherit_room_booking +from . import inherit_issue_library diff --git a/yuthon_official/models/inherit_issue_library.py b/yuthon_official/models/inherit_issue_library.py new file mode 100644 index 000000000..f36d3fed0 --- /dev/null +++ b/yuthon_official/models/inherit_issue_library.py @@ -0,0 +1,14 @@ +# -*- coding: utf-8 -*- +from odoo import api, fields, models, tools +from odoo.exceptions import UserError, ValidationError + + +class IssueLibrary(models.Model): + _inherit = "issue.library" + _description = '议题库' + + relevancy_type = fields.Selection(selection_add=[('yuthon_official', '行政发文'), + ('yuthon_official_incoming_normal', '行政收文')], + string="关联流程类型") + yuthon_official_id = fields.Many2one('yuthon.official', string="行政发文") + incoming_normal_id = fields.Many2one('yuthon.official.incoming.normal', string="行政发文") \ No newline at end of file diff --git a/yuthon_official/models/yuthon_official.py b/yuthon_official/models/yuthon_official.py index f3ebd8194..a6f9db906 100644 --- a/yuthon_official/models/yuthon_official.py +++ b/yuthon_official/models/yuthon_official.py @@ -42,6 +42,20 @@ class YuthonOfficial(models.Model): workflow_inspector_ids = fields.One2many('soong.workflow.inspector', 'yuthon_official_id', string="督办事项") room_booking_ids = fields.One2many('room.booking', 'yuthon_official_id', string="会议关联") + issue_library_ids = fields.One2many('issue.library', 'yuthon_official_id', string="议题关联") + + def issue_button(self): + return { + "name": "议题库", + "type": "ir.actions.act_window", + "view_mode": "form", + "res_model": "issue.library", + "views": [[self.env.ref('yuthon_issue.view_issue_library_form').id, "form"]], + "context": {'default_name': self.name, + 'default_relevancy_type': 'yuthon_official', + 'default_yuthon_official_id': self.id, + }, + } def supervising_button(self): return { diff --git a/yuthon_official/models/yuthon_official_incoming_normal.py b/yuthon_official/models/yuthon_official_incoming_normal.py index 6d2d85e4d..842ed44a0 100644 --- a/yuthon_official/models/yuthon_official_incoming_normal.py +++ b/yuthon_official/models/yuthon_official_incoming_normal.py @@ -38,6 +38,22 @@ class YuthonOfficialIncomingNormal(models.Model): is_official_incoming = fields.Boolean(string="是否收文") official_documents_ids = fields.Many2many('documents.document', string="收文附件") + workflow_inspector_ids = fields.One2many('soong.workflow.inspector', 'incoming_normal_id', string="督办事项") + room_booking_ids = fields.One2many('room.booking', 'incoming_normal_id', string="会议关联") + issue_library_ids = fields.One2many('issue.library', 'incoming_normal_id', string="议题关联") + + def issue_button(self): + return { + "name": "议题库", + "type": "ir.actions.act_window", + "view_mode": "form", + "res_model": "issue.library", + "views": [[self.env.ref('yuthon_issue.view_issue_library_form').id, "form"]], + "context": {'default_name': self.name, + 'default_relevancy_type': 'yuthon_official_incoming_normal', + 'default_incoming_normal_id': self.id, + }, + } def supervising_button(self): return { "name": "督查督办", @@ -49,7 +65,7 @@ class YuthonOfficialIncomingNormal(models.Model): 'default_start_data': fields.Date.today(), 'default_end_data': self.done_date, 'default_relevancy_type': 'yuthon_official_incoming_normal', - 'default_yuthon_official_id': self.id, + 'default_incoming_normal_id': self.id, }, } @@ -63,6 +79,6 @@ class YuthonOfficialIncomingNormal(models.Model): "context": { 'default_name': self.name, 'default_relevancy_type': 'yuthon_official_incoming_normal', - 'default_yuthon_official_id': self.id, + 'default_incoming_normal_id': self.id, }, } diff --git a/yuthon_official/views/inherit_issue_library_views.xml b/yuthon_official/views/inherit_issue_library_views.xml new file mode 100644 index 000000000..0655cfe74 --- /dev/null +++ b/yuthon_official/views/inherit_issue_library_views.xml @@ -0,0 +1,14 @@ + + + + issue.library.form.inherit + issue.library + + + + + + + + + \ No newline at end of file diff --git a/yuthon_official/views/yuthon_official_incoming_normal_views.xml b/yuthon_official/views/yuthon_official_incoming_normal_views.xml index f898ef5a0..5609c290e 100644 --- a/yuthon_official/views/yuthon_official_incoming_normal_views.xml +++ b/yuthon_official/views/yuthon_official_incoming_normal_views.xml @@ -18,6 +18,7 @@
+
@@ -67,6 +68,9 @@ + + +