diff --git a/preview_easy/__manifest__.py b/preview_easy/__manifest__.py index 9ec4f3da5..b53c89b0f 100644 --- a/preview_easy/__manifest__.py +++ b/preview_easy/__manifest__.py @@ -11,7 +11,7 @@ 'author': 'zxltwins', 'website': "www.odoo.com", 'version': '17.0', - "depends": ["base",'sale'], + "depends": ["base", 'sale'], "external_dependencies": {"python": ["mammoth"]}, "data": [ 'security/ir.model.access.csv', diff --git a/preview_easy/views/preview.xml b/preview_easy/views/preview.xml index 817df3f15..24839367e 100644 --- a/preview_easy/views/preview.xml +++ b/preview_easy/views/preview.xml @@ -8,10 +8,8 @@ - - \ No newline at end of file diff --git a/soong_workflow/models/soong_workflow_node.py b/soong_workflow/models/soong_workflow_node.py index c3dbdb17a..7faeb0c8b 100644 --- a/soong_workflow/models/soong_workflow_node.py +++ b/soong_workflow/models/soong_workflow_node.py @@ -113,13 +113,6 @@ class SoongWorkflowNode(models.Model): },)] else: val["button_ids"] = [ - (0, 0, { - "name": _("上议题"), - "workflow_id": val['workflow_id'], - "sequence":-1, - "action_type": "code", - "code": "obj.action_meeting()" - }), (0, 0, { "name": _("转交"), "workflow_id": val['workflow_id'], diff --git a/yuthon_hr_attendance/models/card_approval.py b/yuthon_hr_attendance/models/card_approval.py index be1d5de23..542b7f979 100644 --- a/yuthon_hr_attendance/models/card_approval.py +++ b/yuthon_hr_attendance/models/card_approval.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- from odoo import api, fields, models, tools, _ from datetime import datetime, time, timedelta +from odoo.exceptions import UserError class CardApprovals(models.Model): @@ -23,17 +24,20 @@ class CardApprovals(models.Model): @api.onchange('is_issues') def _onchange_is_issues(self): - issue_id = self.env['issue.library'].create({'name': self.name}) - self.related_issues_id = issue_id.id - workflow_record_id = self.env["soong.workflow.record"].search( - [("res_model", "=", self._name), ("res_id", "=", self.id)]) - self.env['issue.library.approval.line'].create({ - 'issue_library_id': issue_id.id, - 'workflow_record_id': workflow_record_id.id, - 'approval_type': workflow_record_id.workflow_id.id, - 'code': self.code, - 'approval_date': fields.Datetime.now(), - }) + if self.is_issues: + issue_id = self.env['issue.library'].create({'name': self.name}) + self.related_issues_id = issue_id.id + workflow_record_id = self.env["soong.workflow.record"].search( + [("res_model", "=", self._name), ("res_id", "=", self.id)]) + self.env['issue.library.approval.line'].create({ + 'issue_library_id': issue_id.id, + 'workflow_record_id': workflow_record_id.id, + 'approval_type': workflow_record_id.workflow_id.id, + 'code': self.code, + 'approval_date': fields.Datetime.now(), + }) + elif self.related_issues_id: + raise UserError("已经创建了相关的上会记录,不能取消勾选") def card_approval(self): pass diff --git a/yuthon_hr_attendance/models/duty_approval.py b/yuthon_hr_attendance/models/duty_approval.py index 7d6c1ac4a..79865fb67 100644 --- a/yuthon_hr_attendance/models/duty_approval.py +++ b/yuthon_hr_attendance/models/duty_approval.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- from odoo import api, fields, models, tools, _ from datetime import datetime, time, timedelta +from odoo.exceptions import UserError class DutyApprovals(models.Model): @@ -29,17 +30,20 @@ class DutyApprovals(models.Model): @api.onchange('is_issues') def _onchange_is_issues(self): - issue_id = self.env['issue.library'].create({'name': self.name}) - self.related_issues_id = issue_id.id - workflow_record_id = self.env["soong.workflow.record"].search( - [("res_model", "=", self._name), ("res_id", "=", self.id)]) - self.env['issue.library.approval.line'].create({ - 'issue_library_id': issue_id.id, - 'workflow_record_id': workflow_record_id.id, - 'approval_type': workflow_record_id.workflow_id.id, - 'code': self.code, - 'approval_date': fields.Datetime.now(), - }) + if self.is_issues: + issue_id = self.env['issue.library'].create({'name': self.name}) + self.related_issues_id = issue_id.id + workflow_record_id = self.env["soong.workflow.record"].search( + [("res_model", "=", self._name), ("res_id", "=", self.id)]) + self.env['issue.library.approval.line'].create({ + 'issue_library_id': issue_id.id, + 'workflow_record_id': workflow_record_id.id, + 'approval_type': workflow_record_id.workflow_id.id, + 'code': self.code, + 'approval_date': fields.Datetime.now(), + }) + elif self.related_issues_id: + raise UserError("已经创建了相关的上会记录,不能取消勾选") class DutyApprovalsLine(models.Model): _name = 'duty.approval.line' diff --git a/yuthon_hr_attendance/models/go_approval.py b/yuthon_hr_attendance/models/go_approval.py index 2a3b5bab2..9757871b5 100644 --- a/yuthon_hr_attendance/models/go_approval.py +++ b/yuthon_hr_attendance/models/go_approval.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- from odoo import api, fields, models, tools, _ from datetime import datetime, time, timedelta +from odoo.exceptions import UserError class GoApprovals(models.Model): @@ -21,17 +22,20 @@ class GoApprovals(models.Model): @api.onchange('is_issues') def _onchange_is_issues(self): - issue_id = self.env['issue.library'].create({'name': self.name}) - self.related_issues_id = issue_id.id - workflow_record_id = self.env["soong.workflow.record"].search( - [("res_model", "=", self._name), ("res_id", "=", self.id)]) - self.env['issue.library.approval.line'].create({ - 'issue_library_id': issue_id.id, - 'workflow_record_id': workflow_record_id.id, - 'approval_type': workflow_record_id.workflow_id.id, - 'code': self.code, - 'approval_date': fields.Datetime.now(), - }) + if self.is_issues: + issue_id = self.env['issue.library'].create({'name': self.name}) + self.related_issues_id = issue_id.id + workflow_record_id = self.env["soong.workflow.record"].search( + [("res_model", "=", self._name), ("res_id", "=", self.id)]) + self.env['issue.library.approval.line'].create({ + 'issue_library_id': issue_id.id, + 'workflow_record_id': workflow_record_id.id, + 'approval_type': workflow_record_id.workflow_id.id, + 'code': self.code, + 'approval_date': fields.Datetime.now(), + }) + elif self.related_issues_id: + raise UserError("已经创建了相关的上会记录,不能取消勾选") class GoApprovalsLine(models.Model): _name = 'go.approvals.line' diff --git a/yuthon_hr_attendance/models/overtime_approval.py b/yuthon_hr_attendance/models/overtime_approval.py index 6c85fb025..421aa2856 100644 --- a/yuthon_hr_attendance/models/overtime_approval.py +++ b/yuthon_hr_attendance/models/overtime_approval.py @@ -3,6 +3,7 @@ from odoo import api, fields, models, tools, _ from datetime import datetime, time, timedelta from odoo.exceptions import UserError + class OvertimeApprovals(models.Model): _name = 'overtime.approval' _description = "加班审批" @@ -23,17 +24,20 @@ class OvertimeApprovals(models.Model): @api.onchange('is_issues') def _onchange_is_issues(self): - issue_id = self.env['issue.library'].create({'name': self.name}) - self.related_issues_id = issue_id.id - workflow_record_id = self.env["soong.workflow.record"].search( - [("res_model", "=", self._name), ("res_id", "=", self.id)]) - self.env['issue.library.approval.line'].create({ - 'issue_library_id': issue_id.id, - 'workflow_record_id': workflow_record_id.id, - 'approval_type': workflow_record_id.workflow_id.id, - 'code': self.code, - 'approval_date': fields.Datetime.now(), - }) + if self.is_issues: + issue_id = self.env['issue.library'].create({'name': self.name}) + self.related_issues_id = issue_id.id + workflow_record_id = self.env["soong.workflow.record"].search( + [("res_model", "=", self._name), ("res_id", "=", self.id)]) + self.env['issue.library.approval.line'].create({ + 'issue_library_id': issue_id.id, + 'workflow_record_id': workflow_record_id.id, + 'approval_type': workflow_record_id.workflow_id.id, + 'code': self.code, + 'approval_date': fields.Datetime.now(), + }) + elif self.related_issues_id: + raise UserError("已经创建了相关的上会记录,不能取消勾选") @api.onchange('overtime_department_id') def onchange_overtime_users(self): diff --git a/yuthon_hr_attendance/models/remove_holiday_approval.py b/yuthon_hr_attendance/models/remove_holiday_approval.py index efbdfc2dd..7245eb6bd 100644 --- a/yuthon_hr_attendance/models/remove_holiday_approval.py +++ b/yuthon_hr_attendance/models/remove_holiday_approval.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- from odoo import api, fields, models, tools, _ from datetime import datetime, time, timedelta +from odoo.exceptions import UserError class RemoveHolidayApprovals(models.Model): @@ -28,17 +29,20 @@ class RemoveHolidayApprovals(models.Model): @api.onchange('is_issues') def _onchange_is_issues(self): - issue_id = self.env['issue.library'].create({'name': self.name}) - self.related_issues_id = issue_id.id - workflow_record_id = self.env["soong.workflow.record"].search( - [("res_model", "=", self._name), ("res_id", "=", self.id)]) - self.env['issue.library.approval.line'].create({ - 'issue_library_id': issue_id.id, - 'workflow_record_id': workflow_record_id.id, - 'approval_type': workflow_record_id.workflow_id.id, - 'code': self.code, - 'approval_date': fields.Datetime.now(), - }) + if self.is_issues: + issue_id = self.env['issue.library'].create({'name': self.name}) + self.related_issues_id = issue_id.id + workflow_record_id = self.env["soong.workflow.record"].search( + [("res_model", "=", self._name), ("res_id", "=", self.id)]) + self.env['issue.library.approval.line'].create({ + 'issue_library_id': issue_id.id, + 'workflow_record_id': workflow_record_id.id, + 'approval_type': workflow_record_id.workflow_id.id, + 'code': self.code, + 'approval_date': fields.Datetime.now(), + }) + elif self.related_issues_id: + raise UserError("已经创建了相关的上会记录,不能取消勾选") def remove_holiday_approval(self): pass \ No newline at end of file diff --git a/yuthon_hr_attendance/views/card_approval.xml b/yuthon_hr_attendance/views/card_approval.xml index bb1ab42d4..5b7861707 100644 --- a/yuthon_hr_attendance/views/card_approval.xml +++ b/yuthon_hr_attendance/views/card_approval.xml @@ -38,7 +38,7 @@ - + diff --git a/yuthon_hr_attendance/views/duty_approval.xml b/yuthon_hr_attendance/views/duty_approval.xml index ec24835f2..1d00136ad 100644 --- a/yuthon_hr_attendance/views/duty_approval.xml +++ b/yuthon_hr_attendance/views/duty_approval.xml @@ -36,7 +36,7 @@ - + diff --git a/yuthon_hr_attendance/views/go_approval.xml b/yuthon_hr_attendance/views/go_approval.xml index 7b0ed376c..d0d9468f8 100644 --- a/yuthon_hr_attendance/views/go_approval.xml +++ b/yuthon_hr_attendance/views/go_approval.xml @@ -37,7 +37,7 @@ - + diff --git a/yuthon_hr_attendance/views/overtime_approval.xml b/yuthon_hr_attendance/views/overtime_approval.xml index 2b9c3fdcc..ec6b4230e 100644 --- a/yuthon_hr_attendance/views/overtime_approval.xml +++ b/yuthon_hr_attendance/views/overtime_approval.xml @@ -39,7 +39,7 @@ - + diff --git a/yuthon_hr_attendance/views/remove_holiday_approval.xml b/yuthon_hr_attendance/views/remove_holiday_approval.xml index 29005d0aa..a9b2c812c 100644 --- a/yuthon_hr_attendance/views/remove_holiday_approval.xml +++ b/yuthon_hr_attendance/views/remove_holiday_approval.xml @@ -34,7 +34,7 @@ - + diff --git a/yuthon_hr_employee_approval/models/yuthon_account_approval.py b/yuthon_hr_employee_approval/models/yuthon_account_approval.py index d8705dcd3..327b247ad 100644 --- a/yuthon_hr_employee_approval/models/yuthon_account_approval.py +++ b/yuthon_hr_employee_approval/models/yuthon_account_approval.py @@ -6,6 +6,5 @@ class YuthonAccountApproval(models.Model): _description = '薪资核算申请表' _inherit = 'soong.workflow.mixin' - name = fields.Char(string='名称') code = fields.Char(string="编号", default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_account_approval_code')) diff --git a/yuthon_hr_employee_approval/models/yuthon_appointment_approval.py b/yuthon_hr_employee_approval/models/yuthon_appointment_approval.py index 3cb766d16..69b63113b 100644 --- a/yuthon_hr_employee_approval/models/yuthon_appointment_approval.py +++ b/yuthon_hr_employee_approval/models/yuthon_appointment_approval.py @@ -1,4 +1,5 @@ from odoo import models, fields, api +from odoo.exceptions import UserError class YuthonAppointmentApproval(models.Model): @@ -23,17 +24,20 @@ class YuthonAppointmentApproval(models.Model): @api.onchange('is_issues') def _onchange_is_issues(self): - issue_id = self.env['issue.library'].create({'name': self.name}) - self.related_issues_id = issue_id.id - workflow_record_id = self.env["soong.workflow.record"].search( - [("res_model", "=", self._name), ("res_id", "=", self.id)]) - self.env['issue.library.approval.line'].create({ - 'issue_library_id': issue_id.id, - 'workflow_record_id': workflow_record_id.id, - 'approval_type': workflow_record_id.workflow_id.id, - 'code': self.code, - 'approval_date': fields.Datetime.now(), - }) + if self.is_issues: + issue_id = self.env['issue.library'].create({'name': self.name}) + self.related_issues_id = issue_id.id + workflow_record_id = self.env["soong.workflow.record"].search( + [("res_model", "=", self._name), ("res_id", "=", self.id)]) + self.env['issue.library.approval.line'].create({ + 'issue_library_id': issue_id.id, + 'workflow_record_id': workflow_record_id.id, + 'approval_type': workflow_record_id.workflow_id.id, + 'code': self.code, + 'approval_date': fields.Datetime.now(), + }) + elif self.related_issues_id: + raise UserError("已经创建了相关的上会记录,不能取消勾选") class YuthonAppointmentResultIsDetailed(models.Model): diff --git a/yuthon_hr_employee_approval/models/yuthon_interview_approval.py b/yuthon_hr_employee_approval/models/yuthon_interview_approval.py index 03eff5cf0..4f957ef17 100644 --- a/yuthon_hr_employee_approval/models/yuthon_interview_approval.py +++ b/yuthon_hr_employee_approval/models/yuthon_interview_approval.py @@ -60,16 +60,19 @@ class YuthonInterviewApproval(models.Model): @api.onchange('is_issues') def _onchange_is_issues(self): - issue_id = self.env['issue.library'].create({'name': self.name}) - self.related_issues_id = issue_id.id - workflow_record_id = self.env["soong.workflow.record"].search([("res_model", "=", self._name), ("res_id", "=", self.id)]) - self.env['issue.library.approval.line'].create({ - 'issue_library_id': issue_id.id, - 'workflow_record_id': workflow_record_id.id, - 'approval_type': workflow_record_id.workflow_id.id, - 'code': self.code, - 'approval_date': fields.Datetime.now(), - }) + if self.is_issues: + issue_id = self.env['issue.library'].create({'name': self.name}) + self.related_issues_id = issue_id.id + workflow_record_id = self.env["soong.workflow.record"].search([("res_model", "=", self._name), ("res_id", "=", self.id)]) + self.env['issue.library.approval.line'].create({ + 'issue_library_id': issue_id.id, + 'workflow_record_id': workflow_record_id.id, + 'approval_type': workflow_record_id.workflow_id.id, + 'code': self.code, + 'approval_date': fields.Datetime.now(), + }) + elif self.related_issues_id: + raise UserError("已经创建了相关的上会记录,不能取消勾选") class InterviewApprovalLine(models.Model): _name = 'interview.approval.line' diff --git a/yuthon_hr_employee_approval/models/yuthon_leaving_approval.py b/yuthon_hr_employee_approval/models/yuthon_leaving_approval.py index d6f451423..7eeaeb28d 100644 --- a/yuthon_hr_employee_approval/models/yuthon_leaving_approval.py +++ b/yuthon_hr_employee_approval/models/yuthon_leaving_approval.py @@ -1,4 +1,5 @@ from odoo import models, fields, api +from odoo.exceptions import UserError class YuthonLeavingApproval(models.Model): @@ -36,17 +37,19 @@ class YuthonLeavingApproval(models.Model): @api.onchange('is_issues') def _onchange_is_issues(self): - issue_id = self.env['issue.library'].create({'name': self.name}) - self.related_issues_id = issue_id.id - workflow_record_id = self.env["soong.workflow.record"].search( - [("res_model", "=", self._name), ("res_id", "=", self.id)]) - self.env['issue.library.approval.line'].create({ - 'issue_library_id': issue_id.id, - 'workflow_record_id': workflow_record_id.id, - 'approval_type': workflow_record_id.workflow_id.id, - 'code': self.code, - 'approval_date': fields.Datetime.now(), - }) + if self.is_issues: + issue_id = self.env['issue.library'].create({'name': self.name}) + self.related_issues_id = issue_id.id + workflow_record_id = self.env["soong.workflow.record"].search([("res_model", "=", self._name), ("res_id", "=", self.id)]) + self.env['issue.library.approval.line'].create({ + 'issue_library_id': issue_id.id, + 'workflow_record_id': workflow_record_id.id, + 'approval_type': workflow_record_id.workflow_id.id, + 'code': self.code, + 'approval_date': fields.Datetime.now(), + }) + elif self.related_issues_id: + raise UserError("已经创建了相关的上会记录,不能取消勾选") class HrJobType(models.Model): _name = "hr.job.type" diff --git a/yuthon_hr_employee_approval/models/yuthon_message_login.py b/yuthon_hr_employee_approval/models/yuthon_message_login.py index d1cd80351..9a3c3cb33 100644 --- a/yuthon_hr_employee_approval/models/yuthon_message_login.py +++ b/yuthon_hr_employee_approval/models/yuthon_message_login.py @@ -1,4 +1,6 @@ from odoo import models, fields, api +from odoo.exceptions import UserError + nation_list = [('a', '汉族'), ('b', '壮族'), ('v', '满族'), ('d', '回族'), ('e', '苗族'), ('f', '维吾尔族'), ('g', '土家族'), ('h', '彝族'), ('i', '蒙古族'), ('j', '藏族'), ('k', '布依族'), ('l', '侗族'), @@ -109,17 +111,20 @@ class YuthonMessageLogin(models.Model): @api.onchange('is_issues') def _onchange_is_issues(self): - issue_id = self.env['issue.library'].create({'name': self.name}) - self.related_issues_id = issue_id.id - workflow_record_id = self.env["soong.workflow.record"].search( - [("res_model", "=", self._name), ("res_id", "=", self.id)]) - self.env['issue.library.approval.line'].create({ - 'issue_library_id': issue_id.id, - 'workflow_record_id': workflow_record_id.id, - 'approval_type': workflow_record_id.workflow_id.id, - 'code': self.code, - 'approval_date': fields.Datetime.now(), - }) + if self.is_issues: + issue_id = self.env['issue.library'].create({'name': self.name}) + self.related_issues_id = issue_id.id + workflow_record_id = self.env["soong.workflow.record"].search( + [("res_model", "=", self._name), ("res_id", "=", self.id)]) + self.env['issue.library.approval.line'].create({ + 'issue_library_id': issue_id.id, + 'workflow_record_id': workflow_record_id.id, + 'approval_type': workflow_record_id.workflow_id.id, + 'code': self.code, + 'approval_date': fields.Datetime.now(), + }) + elif self.related_issues_id: + raise UserError("已经创建了相关的上会记录,不能取消勾选") def pub_name_button(self): code_url = self.get_base_url() + "/hr/employee/create?employee_id=" + str(self.id) diff --git a/yuthon_hr_employee_approval/models/yuthon_onboard_approval.py b/yuthon_hr_employee_approval/models/yuthon_onboard_approval.py index 836de3814..1cd48dbf5 100644 --- a/yuthon_hr_employee_approval/models/yuthon_onboard_approval.py +++ b/yuthon_hr_employee_approval/models/yuthon_onboard_approval.py @@ -1,4 +1,6 @@ from odoo import models, fields, api +from odoo.exceptions import UserError + nation_list = [('a', '汉族'), ('b', '壮族'), ('v', '满族'), ('d', '回族'), ('e', '苗族'), ('f', '维吾尔族'), ('g', '土家族'), ('h', '彝族'), ('i', '蒙古族'), ('j', '藏族'), ('k', '布依族'), ('l', '侗族'), @@ -44,17 +46,20 @@ class YuthonOnboardApproval(models.Model): @api.onchange('is_issues') def _onchange_is_issues(self): - issue_id = self.env['issue.library'].create({'name': self.name}) - self.related_issues_id = issue_id.id - workflow_record_id = self.env["soong.workflow.record"].search( - [("res_model", "=", self._name), ("res_id", "=", self.id)]) - self.env['issue.library.approval.line'].create({ - 'issue_library_id': issue_id.id, - 'workflow_record_id': workflow_record_id.id, - 'approval_type': workflow_record_id.workflow_id.id, - 'code': self.code, - 'approval_date': fields.Datetime.now(), - }) + if self.is_issues: + issue_id = self.env['issue.library'].create({'name': self.name}) + self.related_issues_id = issue_id.id + workflow_record_id = self.env["soong.workflow.record"].search( + [("res_model", "=", self._name), ("res_id", "=", self.id)]) + self.env['issue.library.approval.line'].create({ + 'issue_library_id': issue_id.id, + 'workflow_record_id': workflow_record_id.id, + 'approval_type': workflow_record_id.workflow_id.id, + 'code': self.code, + 'approval_date': fields.Datetime.now(), + }) + elif self.related_issues_id: + raise UserError("已经创建了相关的上会记录,不能取消勾选") def put_contract(self): form_id = self.env.ref('hr_contract.hr_contract_view_form').id diff --git a/yuthon_hr_employee_approval/models/yuthon_prepare_approval.py b/yuthon_hr_employee_approval/models/yuthon_prepare_approval.py index 3f8060344..663b5776d 100644 --- a/yuthon_hr_employee_approval/models/yuthon_prepare_approval.py +++ b/yuthon_hr_employee_approval/models/yuthon_prepare_approval.py @@ -1,4 +1,5 @@ from odoo import models, fields, api +from odoo.exceptions import UserError class YuthonPrepareApproval(models.Model): @@ -58,17 +59,20 @@ class YuthonPrepareApproval(models.Model): @api.onchange('is_issues') def _onchange_is_issues(self): - issue_id = self.env['issue.library'].create({'name': self.name}) - self.related_issues_id = issue_id.id - workflow_record_id = self.env["soong.workflow.record"].search( - [("res_model", "=", self._name), ("res_id", "=", self.id)]) - self.env['issue.library.approval.line'].create({ - 'issue_library_id': issue_id.id, - 'workflow_record_id': workflow_record_id.id, - 'approval_type': workflow_record_id.workflow_id.id, - 'code': self.code, - 'approval_date': fields.Datetime.now(), - }) + if self.is_issues: + issue_id = self.env['issue.library'].create({'name': self.name}) + self.related_issues_id = issue_id.id + workflow_record_id = self.env["soong.workflow.record"].search( + [("res_model", "=", self._name), ("res_id", "=", self.id)]) + self.env['issue.library.approval.line'].create({ + 'issue_library_id': issue_id.id, + 'workflow_record_id': workflow_record_id.id, + 'approval_type': workflow_record_id.workflow_id.id, + 'code': self.code, + 'approval_date': fields.Datetime.now(), + }) + elif self.related_issues_id: + raise UserError("已经创建了相关的上会记录,不能取消勾选") class PrepareApprovalLine(models.Model): _name = 'prepare.approval.line' diff --git a/yuthon_hr_employee_approval/models/yuthon_reassignment_approval.py b/yuthon_hr_employee_approval/models/yuthon_reassignment_approval.py index efdf2552e..af7e20b90 100644 --- a/yuthon_hr_employee_approval/models/yuthon_reassignment_approval.py +++ b/yuthon_hr_employee_approval/models/yuthon_reassignment_approval.py @@ -1,4 +1,5 @@ from odoo import models, fields, api +from odoo.exceptions import UserError class YuthonReassignmentApproval(models.Model): @@ -48,17 +49,20 @@ class YuthonReassignmentApproval(models.Model): @api.onchange('is_issues') def _onchange_is_issues(self): - issue_id = self.env['issue.library'].create({'name': self.name}) - self.related_issues_id = issue_id.id - workflow_record_id = self.env["soong.workflow.record"].search( - [("res_model", "=", self._name), ("res_id", "=", self.id)]) - self.env['issue.library.approval.line'].create({ - 'issue_library_id': issue_id.id, - 'workflow_record_id': workflow_record_id.id, - 'approval_type': workflow_record_id.workflow_id.id, - 'code': self.code, - 'approval_date': fields.Datetime.now(), - }) + if self.is_issues: + issue_id = self.env['issue.library'].create({'name': self.name}) + self.related_issues_id = issue_id.id + workflow_record_id = self.env["soong.workflow.record"].search( + [("res_model", "=", self._name), ("res_id", "=", self.id)]) + self.env['issue.library.approval.line'].create({ + 'issue_library_id': issue_id.id, + 'workflow_record_id': workflow_record_id.id, + 'approval_type': workflow_record_id.workflow_id.id, + 'code': self.code, + 'approval_date': fields.Datetime.now(), + }) + elif self.related_issues_id: + raise UserError("已经创建了相关的上会记录,不能取消勾选") class HrJobType(models.Model): _name = "hr.job.type" diff --git a/yuthon_hr_employee_approval/models/yuthon_recruitment_approval.py b/yuthon_hr_employee_approval/models/yuthon_recruitment_approval.py index e32e2465f..038f3cbe6 100644 --- a/yuthon_hr_employee_approval/models/yuthon_recruitment_approval.py +++ b/yuthon_hr_employee_approval/models/yuthon_recruitment_approval.py @@ -1,6 +1,7 @@ from numpy.f2py.rules import defmod_rules from odoo import models, fields, api +from odoo.exceptions import UserError class YuthonRecruitmentApproval(models.Model): @@ -23,18 +24,20 @@ class YuthonRecruitmentApproval(models.Model): @api.onchange('is_issues') def _onchange_is_issues(self): - self.write({'is_issues': 'Ture'}) - issue_id = self.env['issue.library'].create({'name': self.name}) - self.related_issues_id = issue_id.id - workflow_record_id = self.env["soong.workflow.record"].search( - [("res_model", "=", self._name), ("res_id", "=", self.id)]) - self.env['issue.library.approval.line'].create({ - 'issue_library_id': issue_id.id, - 'workflow_record_id': workflow_record_id.id, - 'approval_type': workflow_record_id.workflow_id.id, - 'code': self.code, - 'approval_date': fields.Datetime.now(), - }) + if self.is_issues: + issue_id = self.env['issue.library'].create({'name': self.name}) + self.related_issues_id = issue_id.id + workflow_record_id = self.env["soong.workflow.record"].search( + [("res_model", "=", self._name), ("res_id", "=", self.id)]) + self.env['issue.library.approval.line'].create({ + 'issue_library_id': issue_id.id, + 'workflow_record_id': workflow_record_id.id, + 'approval_type': workflow_record_id.workflow_id.id, + 'code': self.code, + 'approval_date': fields.Datetime.now(), + }) + elif self.related_issues_id: + raise UserError("已经创建了相关的上会记录,不能取消勾选") def put_time_failure(self): for record in self: diff --git a/yuthon_hr_employee_approval/models/yuthon_regularization_approval.py b/yuthon_hr_employee_approval/models/yuthon_regularization_approval.py index eea91a364..df3cc5755 100644 --- a/yuthon_hr_employee_approval/models/yuthon_regularization_approval.py +++ b/yuthon_hr_employee_approval/models/yuthon_regularization_approval.py @@ -1,4 +1,5 @@ from odoo import models, fields, api +from odoo.exceptions import UserError class YuthonRegularizationPrepareApproval(models.Model): @@ -47,17 +48,20 @@ class YuthonRegularizationPrepareApproval(models.Model): @api.onchange('is_issues') def _onchange_is_issues(self): - issue_id = self.env['issue.library'].create({'name': self.name}) - self.related_issues_id = issue_id.id - workflow_record_id = self.env["soong.workflow.record"].search( - [("res_model", "=", self._name), ("res_id", "=", self.id)]) - self.env['issue.library.approval.line'].create({ - 'issue_library_id': issue_id.id, - 'workflow_record_id': workflow_record_id.id, - 'approval_type': workflow_record_id.workflow_id.id, - 'code': self.code, - 'approval_date': fields.Datetime.now(), - }) + if self.is_issues: + issue_id = self.env['issue.library'].create({'name': self.name}) + self.related_issues_id = issue_id.id + workflow_record_id = self.env["soong.workflow.record"].search( + [("res_model", "=", self._name), ("res_id", "=", self.id)]) + self.env['issue.library.approval.line'].create({ + 'issue_library_id': issue_id.id, + 'workflow_record_id': workflow_record_id.id, + 'approval_type': workflow_record_id.workflow_id.id, + 'code': self.code, + 'approval_date': fields.Datetime.now(), + }) + elif self.related_issues_id: + raise UserError("已经创建了相关的上会记录,不能取消勾选") class HrJobType(models.Model): _name = "hr.job.type" diff --git a/yuthon_hr_employee_approval/models/yuthon_reward_approval.py b/yuthon_hr_employee_approval/models/yuthon_reward_approval.py index 18a76b1a0..e6713834e 100644 --- a/yuthon_hr_employee_approval/models/yuthon_reward_approval.py +++ b/yuthon_hr_employee_approval/models/yuthon_reward_approval.py @@ -1,4 +1,5 @@ from odoo import models, fields, api +from odoo.exceptions import UserError class YuthonRewardApproval(models.Model): @@ -22,14 +23,17 @@ class YuthonRewardApproval(models.Model): @api.onchange('is_issues') def _onchange_is_issues(self): - issue_id = self.env['issue.library'].create({'name': self.name}) - self.related_issues_id = issue_id.id - workflow_record_id = self.env["soong.workflow.record"].search( - [("res_model", "=", self._name), ("res_id", "=", self.id)]) - self.env['issue.library.approval.line'].create({ - 'issue_library_id': issue_id.id, - 'workflow_record_id': workflow_record_id.id, - 'approval_type': workflow_record_id.workflow_id.id, - 'code': self.code, - 'approval_date': fields.Datetime.now(), - }) \ No newline at end of file + if self.is_issues: + issue_id = self.env['issue.library'].create({'name': self.name}) + self.related_issues_id = issue_id.id + workflow_record_id = self.env["soong.workflow.record"].search( + [("res_model", "=", self._name), ("res_id", "=", self.id)]) + self.env['issue.library.approval.line'].create({ + 'issue_library_id': issue_id.id, + 'workflow_record_id': workflow_record_id.id, + 'approval_type': workflow_record_id.workflow_id.id, + 'code': self.code, + 'approval_date': fields.Datetime.now(), + }) + elif self.related_issues_id: + raise UserError("已经创建了相关的上会记录,不能取消勾选") diff --git a/yuthon_hr_employee_approval/models/yuthon_service_approval.py b/yuthon_hr_employee_approval/models/yuthon_service_approval.py index ed5ed8bed..3d312d2ac 100644 --- a/yuthon_hr_employee_approval/models/yuthon_service_approval.py +++ b/yuthon_hr_employee_approval/models/yuthon_service_approval.py @@ -1,4 +1,5 @@ from odoo import models, fields, api +from odoo.exceptions import UserError class YuthonServiceApproval(models.Model): @@ -21,14 +22,17 @@ class YuthonServiceApproval(models.Model): @api.onchange('is_issues') def _onchange_is_issues(self): - issue_id = self.env['issue.library'].create({'name': self.name}) - self.related_issues_id = issue_id.id - workflow_record_id = self.env["soong.workflow.record"].search( - [("res_model", "=", self._name), ("res_id", "=", self.id)]) - self.env['issue.library.approval.line'].create({ - 'issue_library_id': issue_id.id, - 'workflow_record_id': workflow_record_id.id, - 'approval_type': workflow_record_id.workflow_id.id, - 'code': self.code, - 'approval_date': fields.Datetime.now(), - }) \ No newline at end of file + if self.is_issues: + issue_id = self.env['issue.library'].create({'name': self.name}) + self.related_issues_id = issue_id.id + workflow_record_id = self.env["soong.workflow.record"].search( + [("res_model", "=", self._name), ("res_id", "=", self.id)]) + self.env['issue.library.approval.line'].create({ + 'issue_library_id': issue_id.id, + 'workflow_record_id': workflow_record_id.id, + 'approval_type': workflow_record_id.workflow_id.id, + 'code': self.code, + 'approval_date': fields.Datetime.now(), + }) + elif self.related_issues_id: + raise UserError("已经创建了相关的上会记录,不能取消勾选") diff --git a/yuthon_hr_employee_approval/models/yuthon_transfer_approval.py b/yuthon_hr_employee_approval/models/yuthon_transfer_approval.py index c6326867c..ffeabfeff 100644 --- a/yuthon_hr_employee_approval/models/yuthon_transfer_approval.py +++ b/yuthon_hr_employee_approval/models/yuthon_transfer_approval.py @@ -1,4 +1,6 @@ from odoo import models, fields, api +from odoo.exceptions import UserError + class YutransferApproval(models.Model): _name = 'yuthon.transfer.approval' @@ -31,18 +33,20 @@ class YutransferApproval(models.Model): @api.onchange('is_issues') def _onchange_is_issues(self): - issue_id = self.env['issue.library'].create({'name': self.name}) - self.related_issues_id = issue_id.id - workflow_record_id = self.env["soong.workflow.record"].search( - [("res_model", "=", self._name), ("res_id", "=", self.id)]) - self.env['issue.library.approval.line'].create({ - 'issue_library_id': issue_id.id, - 'workflow_record_id': workflow_record_id.id, - 'approval_type': workflow_record_id.workflow_id.id, - 'code': self.code, - 'approval_date': fields.Datetime.now(), - }) - + if self.is_issues: + issue_id = self.env['issue.library'].create({'name': self.name}) + self.related_issues_id = issue_id.id + workflow_record_id = self.env["soong.workflow.record"].search( + [("res_model", "=", self._name), ("res_id", "=", self.id)]) + self.env['issue.library.approval.line'].create({ + 'issue_library_id': issue_id.id, + 'workflow_record_id': workflow_record_id.id, + 'approval_type': workflow_record_id.workflow_id.id, + 'code': self.code, + 'approval_date': fields.Datetime.now(), + }) + elif self.related_issues_id: + raise UserError("已经创建了相关的上会记录,不能取消勾选") class YuthonTransferDetailLines(models.Model): _name = "yuthon.transfer.infor.detail.lines" diff --git a/yuthon_hr_employee_approval/views/yuthon_appointment_approval_views.xml b/yuthon_hr_employee_approval/views/yuthon_appointment_approval_views.xml index 819a4c922..d7bfc5622 100644 --- a/yuthon_hr_employee_approval/views/yuthon_appointment_approval_views.xml +++ b/yuthon_hr_employee_approval/views/yuthon_appointment_approval_views.xml @@ -37,7 +37,7 @@ - + diff --git a/yuthon_hr_employee_approval/views/yuthon_interview_approval_views.xml b/yuthon_hr_employee_approval/views/yuthon_interview_approval_views.xml index ed9af1cd9..2ee4fce44 100644 --- a/yuthon_hr_employee_approval/views/yuthon_interview_approval_views.xml +++ b/yuthon_hr_employee_approval/views/yuthon_interview_approval_views.xml @@ -32,7 +32,7 @@ - + diff --git a/yuthon_hr_employee_approval/views/yuthon_leaving_approval_views.xml b/yuthon_hr_employee_approval/views/yuthon_leaving_approval_views.xml index 71152e064..9953126a5 100644 --- a/yuthon_hr_employee_approval/views/yuthon_leaving_approval_views.xml +++ b/yuthon_hr_employee_approval/views/yuthon_leaving_approval_views.xml @@ -66,7 +66,7 @@ - + diff --git a/yuthon_hr_employee_approval/views/yuthon_message_login_views.xml b/yuthon_hr_employee_approval/views/yuthon_message_login_views.xml index 122a81f48..ed7b0e9a1 100644 --- a/yuthon_hr_employee_approval/views/yuthon_message_login_views.xml +++ b/yuthon_hr_employee_approval/views/yuthon_message_login_views.xml @@ -33,7 +33,7 @@ - + diff --git a/yuthon_hr_employee_approval/views/yuthon_onboard_approval_views.xml b/yuthon_hr_employee_approval/views/yuthon_onboard_approval_views.xml index 28cba0a3a..1c7878c14 100644 --- a/yuthon_hr_employee_approval/views/yuthon_onboard_approval_views.xml +++ b/yuthon_hr_employee_approval/views/yuthon_onboard_approval_views.xml @@ -23,7 +23,7 @@ - + diff --git a/yuthon_hr_employee_approval/views/yuthon_prepare_approval_views.xml b/yuthon_hr_employee_approval/views/yuthon_prepare_approval_views.xml index deb40dcd0..5bf22d633 100644 --- a/yuthon_hr_employee_approval/views/yuthon_prepare_approval_views.xml +++ b/yuthon_hr_employee_approval/views/yuthon_prepare_approval_views.xml @@ -26,7 +26,7 @@ - + diff --git a/yuthon_hr_employee_approval/views/yuthon_reassignment_approval_views.xml b/yuthon_hr_employee_approval/views/yuthon_reassignment_approval_views.xml index 26b81c532..7dc7cf3cd 100644 --- a/yuthon_hr_employee_approval/views/yuthon_reassignment_approval_views.xml +++ b/yuthon_hr_employee_approval/views/yuthon_reassignment_approval_views.xml @@ -72,7 +72,7 @@ - + diff --git a/yuthon_hr_employee_approval/views/yuthon_recruitment_approval_views.xml b/yuthon_hr_employee_approval/views/yuthon_recruitment_approval_views.xml index 3abf6f3c9..d7be3ca63 100644 --- a/yuthon_hr_employee_approval/views/yuthon_recruitment_approval_views.xml +++ b/yuthon_hr_employee_approval/views/yuthon_recruitment_approval_views.xml @@ -25,7 +25,7 @@ - + diff --git a/yuthon_hr_employee_approval/views/yuthon_regularization_approval_views.xml b/yuthon_hr_employee_approval/views/yuthon_regularization_approval_views.xml index b4be5d094..83cfac9b6 100644 --- a/yuthon_hr_employee_approval/views/yuthon_regularization_approval_views.xml +++ b/yuthon_hr_employee_approval/views/yuthon_regularization_approval_views.xml @@ -61,7 +61,7 @@ - + diff --git a/yuthon_hr_employee_approval/views/yuthon_reward_approval_views.xml b/yuthon_hr_employee_approval/views/yuthon_reward_approval_views.xml index e0f0e5fb1..891b9e41a 100644 --- a/yuthon_hr_employee_approval/views/yuthon_reward_approval_views.xml +++ b/yuthon_hr_employee_approval/views/yuthon_reward_approval_views.xml @@ -31,7 +31,7 @@ - + diff --git a/yuthon_hr_employee_approval/views/yuthon_service_approval_views.xml b/yuthon_hr_employee_approval/views/yuthon_service_approval_views.xml index aca9fc003..e3c975c83 100644 --- a/yuthon_hr_employee_approval/views/yuthon_service_approval_views.xml +++ b/yuthon_hr_employee_approval/views/yuthon_service_approval_views.xml @@ -29,7 +29,7 @@ - + diff --git a/yuthon_hr_employee_approval/views/yuthon_transfer_approval_views.xml b/yuthon_hr_employee_approval/views/yuthon_transfer_approval_views.xml index 4621be0ec..bd8399277 100644 --- a/yuthon_hr_employee_approval/views/yuthon_transfer_approval_views.xml +++ b/yuthon_hr_employee_approval/views/yuthon_transfer_approval_views.xml @@ -50,7 +50,7 @@ - + diff --git a/yuthon_issue/__manifest__.py b/yuthon_issue/__manifest__.py index d5660394c..5cae4a24d 100644 --- a/yuthon_issue/__manifest__.py +++ b/yuthon_issue/__manifest__.py @@ -31,6 +31,7 @@ 'assets': { 'web.assets_backend': [ 'yuthon_issue/static/xml/issue_approval.xml', + 'yuthon_issue/static/scss/issue_library_scss.scss', ], }, 'installable': True, diff --git a/yuthon_issue/static/scss/issue_library_scss.scss b/yuthon_issue/static/scss/issue_library_scss.scss new file mode 100644 index 000000000..d214f7b33 --- /dev/null +++ b/yuthon_issue/static/scss/issue_library_scss.scss @@ -0,0 +1,4 @@ +.list_width{ + width: 180px; + max-width: 180px; +} \ No newline at end of file diff --git a/yuthon_issue/views/issue_library_views.xml b/yuthon_issue/views/issue_library_views.xml index c5fb110d4..ffbb98e41 100644 --- a/yuthon_issue/views/issue_library_views.xml +++ b/yuthon_issue/views/issue_library_views.xml @@ -13,7 +13,7 @@