diff --git a/soong_workflow/models/soong_workflow_mixin.py b/soong_workflow/models/soong_workflow_mixin.py index 286fb72a4..58d250d28 100644 --- a/soong_workflow/models/soong_workflow_mixin.py +++ b/soong_workflow/models/soong_workflow_mixin.py @@ -277,7 +277,7 @@ class SoongWorkflowMixin(models.AbstractModel): result_dict = {} for node_to in i.out_link_ids.node_to: result_dict[node_to.name] = (self.get_all_sub_departments(node_to.department_id) | node_to.department_id if node_to.department_id else False) - matched_key = next((key for key, value in result_dict.items() if value and self.department_id in value),'校对') + matched_key = next((key for key, value in result_dict.items() if value and self.department_id in value),'部门经理') self.env['trans.link'].create({ 'node_button_id': btn_rec.id, 'name': matched_key, diff --git a/yuthon_hr_employee_approval/models/yuthon_department_change.py b/yuthon_hr_employee_approval/models/yuthon_department_change.py index e5383ad5e..1378595b5 100644 --- a/yuthon_hr_employee_approval/models/yuthon_department_change.py +++ b/yuthon_hr_employee_approval/models/yuthon_department_change.py @@ -1,3 +1,5 @@ +from email.policy import default + from odoo import models, fields, api from odoo.exceptions import UserError @@ -18,10 +20,12 @@ class YuthonDepartmentChange(models.Model): reason_application = fields.Html(string="申请事由") documents_ids = fields.Many2many('ir.attachment', string="附件") active = fields.Boolean('Active', default=True) + is_department = fields.Boolean() urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度', default='normal') work_end = fields.Boolean(string="结束") approval_ids = fields.One2many('department.change.approval.line', 'department_change_id', string="部门变更审批明细") + approval2_ids = fields.One2many('department.change.approval.line2', 'department_change_id', string="部门变更审批明细") def _get_default_name_title(self): return self._description if self._description else self._name @@ -47,14 +51,30 @@ class YuthonDepartmentChange(models.Model): for record in self: for approval in record.approval_ids: approval.department_id.write({'name': approval.new_name}) - approval.is_department = True + record.is_department = True + + @api.onchange('approval_ids') + def _onchange_approval_ids(self): + self.approval2_ids = [(5, 0, 0)] + for record in self: + for approval in record.approval_ids: + self.approval2_ids = [(0, 0, { + 'name': approval.department_id.name, + 'new_name': approval.new_name, + })] class DepartmentChangeApprovalLine(models.Model): _name = 'department.change.approval.line' _description = '部门变更审批明细' department_change_id = fields.Many2one('yuthon.department.change', string='关联部门变更') - is_department = fields.Boolean(string="字段隐藏") department_id = fields.Many2one('hr.department', string='原部门名称') - name = fields.Char(related='department_id.name', string='原部门名称') + new_name = fields.Char(string='新部门名称') + +class DepartmentChangeApprovalLine2(models.Model): + _name = 'department.change.approval.line2' + _description = '部门变更审批明细' + + department_change_id = fields.Many2one('yuthon.department.change', string='关联部门变更') + name = fields.Char(string='原部门名称') new_name = fields.Char(string='新部门名称') \ No newline at end of file diff --git a/yuthon_hr_employee_approval/security/ir.model.access.csv b/yuthon_hr_employee_approval/security/ir.model.access.csv index d7eea8e7c..5f477a2af 100644 --- a/yuthon_hr_employee_approval/security/ir.model.access.csv +++ b/yuthon_hr_employee_approval/security/ir.model.access.csv @@ -50,3 +50,4 @@ access_yuthon_return_line,yuthon_return_line,model_yuthon_return_line,base.group access_yuthon_goods_line,yuthon_goods_line,model_yuthon_goods_line,base.group_user,1,1,1,1 access_yuthon_department_change, yuthon_department_change,model_yuthon_department_change,base.group_user,1,1,1,1 access_department_change_approval_line,department_change_approval_line,model_department_change_approval_line,base.group_user,1,1,1,1 +access_department_change_approval_line2,department_change_approval_line2,model_department_change_approval_line2,base.group_user,1,1,1,1 diff --git a/yuthon_hr_employee_approval/views/yuthon_department_change_viwes.xml b/yuthon_hr_employee_approval/views/yuthon_department_change_viwes.xml index 74c1a6e53..5313a4a6c 100644 --- a/yuthon_hr_employee_approval/views/yuthon_department_change_viwes.xml +++ b/yuthon_hr_employee_approval/views/yuthon_department_change_viwes.xml @@ -49,19 +49,27 @@ + - + - - - + + + + + + + + + + diff --git a/yuthon_property/models/yuthon_property.py b/yuthon_property/models/yuthon_property.py index 7aae910d1..3d2857008 100644 --- a/yuthon_property/models/yuthon_property.py +++ b/yuthon_property/models/yuthon_property.py @@ -225,6 +225,25 @@ class YuthonProperty(models.Model): } } + def put_property_management(self): + property_ids = self.env["yuthon.property"].browse( + self._context.get('active_ids', self._context.get('active_id'))) + form_id = self.env.ref('yuthon_property_approval.view_property_management_form').id + property_list = [] + for record in property_ids: + property_list.append([0, 0, {'property_id': record.id}]) + return { + 'name': '提交物业变更', + 'view_mode': 'form', + 'res_model': 'property.management', + 'type': 'ir.actions.act_window', + 'views': [(form_id, 'form')], + "context": { + 'default_management_line2_ids': property_list + } + } + + def put_assessment_approval(self): for record in self: self.env['property.evaluation.plan'].create({ diff --git a/yuthon_property/views/yuthon_property_views.xml b/yuthon_property/views/yuthon_property_views.xml index b2ca9928b..240fe6d56 100644 --- a/yuthon_property/views/yuthon_property_views.xml +++ b/yuthon_property/views/yuthon_property_views.xml @@ -10,6 +10,7 @@