diff --git a/yuthon_hr_employee_approval/models/yuthon_onboard_approval.py b/yuthon_hr_employee_approval/models/yuthon_onboard_approval.py index 7254046fc..7def9de4f 100644 --- a/yuthon_hr_employee_approval/models/yuthon_onboard_approval.py +++ b/yuthon_hr_employee_approval/models/yuthon_onboard_approval.py @@ -23,6 +23,7 @@ class YuthonOnboardApproval(models.Model): code = fields.Char(string="编号", default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_onboard_approval_code')) employee_id = fields.Many2one('hr.employee', string='姓名') + yuthon_company = fields.Selection([('thtz', '天河投资集团'), ('thwg', '天河物管'), ('thlc', '天河粮储'), ('tctj', '天投城建')], string="甲方") grades_id = fields.Many2one('yuthon.job.lv', string='职级') @@ -43,7 +44,24 @@ class YuthonOnboardApproval(models.Model): is_issues = fields.Boolean(string='是否上会', default=False) related_issues_id = fields.Many2one('issue.library', string="关联议题") # 合同 - contracted_status = fields.Selection([('first', '首签'), ('renew', '续签')], string='合同状态') + contracted_status = fields.Selection([('first', '首' + '签'), ('renew', '续签')], string='合同状态') + is_office = fields.Boolean(string='是否领用办公物品', default=False) + + def button_office_supply(self): + form_id = self.env.ref('yuthon_sps_approval.view_yuthon_office_supplies_form').id + for record in self: + if record.employee_id: + uses_id = record.employee_id.user_id + return { + 'name': '办公物品领用', + 'type': 'ir.actions.act_window', + "views": [[form_id, "form"]], + 'res_model': 'yuthon.office.supplies', + 'context': { + 'default_users_id': uses_id.id, + } + } @api.onchange('is_issues') def _onchange_is_issues(self): 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 31bcfcedd..e21ac9ba0 100644 --- a/yuthon_hr_employee_approval/views/yuthon_onboard_approval_views.xml +++ b/yuthon_hr_employee_approval/views/yuthon_onboard_approval_views.xml @@ -18,6 +18,7 @@
@@ -32,6 +33,7 @@ + diff --git a/yuthon_sps_approval/models/yuthon_office_supplies.py b/yuthon_sps_approval/models/yuthon_office_supplies.py index aa2bde3c8..d97ba170d 100644 --- a/yuthon_sps_approval/models/yuthon_office_supplies.py +++ b/yuthon_sps_approval/models/yuthon_office_supplies.py @@ -1,4 +1,5 @@ from odoo import models, fields, api +from odoo.exceptions import UserError class YuthonOfficeSupplies(models.Model): @@ -48,22 +49,22 @@ class YuthonOfficeSupplies(models.Model): })) record.office_borrow_ids = new_borrow_lines - # @api.onchange('is_issues') - # def _onchange_is_issues(self): - # 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('is_issues') + def _onchange_is_issues(self): + 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 YuthonOfficeSuppliesLine(models.Model): _name = 'yuthon.office.supplies.line'