diff --git a/yuthon_hr_employee_approval/__manifest__.py b/yuthon_hr_employee_approval/__manifest__.py index c8b17c93b..f6a31d8ce 100644 --- a/yuthon_hr_employee_approval/__manifest__.py +++ b/yuthon_hr_employee_approval/__manifest__.py @@ -33,6 +33,7 @@ 'views/yuthon_rank_approval_views.xml', 'views/property_reimbursement_form_views.xml', 'views/yuthon_renewal_approval_views.xml', + 'views/contract_review_approval_views.xml', 'views/yuthon_reassignment_approval_views.xml', 'views/yuthon_recruitment_approval_views.xml', 'views/yuthon_regularization_approval_views.xml', diff --git a/yuthon_hr_employee_approval/models/__init__.py b/yuthon_hr_employee_approval/models/__init__.py index dfe70f0f8..739341fa0 100644 --- a/yuthon_hr_employee_approval/models/__init__.py +++ b/yuthon_hr_employee_approval/models/__init__.py @@ -24,4 +24,5 @@ from . import yuthon_transfer_approval from . import yuthon_retired_approval from . import property_reimbursement_form from . import yuthon_department_change -from . import yuthon_renewal_approval \ No newline at end of file +from . import yuthon_renewal_approval +from . import contract_review_approval \ No newline at end of file diff --git a/yuthon_hr_employee_approval/models/contract_review_approval.py b/yuthon_hr_employee_approval/models/contract_review_approval.py new file mode 100644 index 000000000..e9d79c702 --- /dev/null +++ b/yuthon_hr_employee_approval/models/contract_review_approval.py @@ -0,0 +1,34 @@ +from odoo import models, fields, api + + +class ContractReviewApproval(models.Model): + _name = 'contract.review.approval' + _description = '合同审查表' + _inherit = ['soong.workflow.mixin', 'mail.thread.main.attachment', 'mail.activity.mixin'] + + code = fields.Char(string="编号", + default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_appointment_approval_code')) + name = fields.Char(string='合同名称') + user_id = fields.Many2one('res.users', string='合同经办人') + is_issues = fields.Boolean(string='是否上会') + issues_result = fields.Html(string="会议结果") + related_issues_id = fields.Many2one('issue.library', string="关联议题") + department_id = fields.Many2one('hr.department', string='部门') + amount = fields.Float(string='合同金额') + remarks = fields.Text(string='情况说明') + documents_ids = fields.Many2many('ir.attachment', string="附件") + urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度', + default='normal') + active = fields.Boolean('Active', default=True, tracking=True) + work_end = fields.Boolean(string="结束") + + def _get_default_name_title(self): + return self._description if self._description else self._name + + name_title = fields.Char(default=_get_default_name_title) + + @api.onchange('user_id') + def _onchange_user_id(self): + if self.user_id: + self.department_id = self.user_id.employee_id.department_id.id + diff --git a/yuthon_hr_employee_approval/security/ir.model.access.csv b/yuthon_hr_employee_approval/security/ir.model.access.csv index 0e3940ae4..46881ac4e 100644 --- a/yuthon_hr_employee_approval/security/ir.model.access.csv +++ b/yuthon_hr_employee_approval/security/ir.model.access.csv @@ -52,3 +52,4 @@ access_yuthon_department_change, yuthon_department_change,model_yuthon_departmen 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 access_yuthon_renewal_approval,yuthon_renewal_approval,model_yuthon_renewal_approval,base.group_user,1,1,1,1 +access_contract_review_approval,contract_review_approval,model_contract_review_approval,base.group_user,1,1,1,1 diff --git a/yuthon_hr_employee_approval/views/contract_review_approval_views.xml b/yuthon_hr_employee_approval/views/contract_review_approval_views.xml new file mode 100644 index 000000000..f528ae1c0 --- /dev/null +++ b/yuthon_hr_employee_approval/views/contract_review_approval_views.xml @@ -0,0 +1,64 @@ + + + + contract.review.approval.tree + contract.review.approval + + + + + + + + + + contract.review.approval.form + contract.review.approval + +
+ + + + + + + + + + + + + + + + + + +
+

+ +

+
+ + + + + + + + + +
+
+
+
+ + 合同审查 + contract.review.approval + tree,form + +
+ diff --git a/yuthon_property_approval/models/property_lease_contract.py b/yuthon_property_approval/models/property_lease_contract.py index b15a83240..150963615 100644 --- a/yuthon_property_approval/models/property_lease_contract.py +++ b/yuthon_property_approval/models/property_lease_contract.py @@ -170,8 +170,8 @@ class PropertyLeaseContract(models.Model): lease_ids = fields.One2many('property.lease.contract.line', 'lease_id',string="物业信息明细行") subset_ids = fields.One2many('property.subset.contract', 'subset_id',string="子集明细") breakdown_ids = fields.One2many('property.rent.breakdown.line', 'breakdown_id', string="物业租金明细行") - water_fee_ids = fields.One2many('property.water.fee.line', 'contract_id', string="物业水费明细行", store=True, ondelete='cascade') - electricity_fee_ids = fields.One2many('property.electric.fee.line', 'contract_id', string="物业电费明细行", store=True, ondelete='cascade') + water_fee_ids = fields.One2many('property.water.fee.line', 'contract_id', string="物业水费明细行", store=True) + electricity_fee_ids = fields.One2many('property.electric.fee.line', 'contract_id', string="物业电费明细行", store=True) mange_fee_ids = fields.One2many('property.manage.fee.line', 'contract_id', string="物业管理费明细行") other_ids = fields.One2many('property.other.fee.line', 'other_id', string="其他费用明细行") rent_list_ids = fields.One2many('property.rent.list', 'contract_id', string="租金明细行") diff --git a/yuthon_work_brand/views/hr_menus.xml b/yuthon_work_brand/views/hr_menus.xml index e4805bbe3..d7bf90a0d 100644 --- a/yuthon_work_brand/views/hr_menus.xml +++ b/yuthon_work_brand/views/hr_menus.xml @@ -410,6 +410,11 @@ parent="hr_set_process_menu_root_board" action="yuthon_hr_employee_approval.yuthon_leaving_approval_action" sequence="5"/> +