限制员工发布工作的记录规则,odoo 14



我想创建一级记录规则,限制员工发布作业并将其发送给经理审批。比如,如果他们希望发布并单击发布按钮,它应该向经理发送发布作业的请求,并让他们知道。这是我的代码:

<record id="group_manager_hr_job" model="res.groups">
<field name="name">Hr_Job / Manager</field>
</record>

<record id="group_only_manager_responsible_can_modify" model="ir.rule">
<field name="name">Only Manager can publish jobs</field>
<field name="model_id" ref="model_hr_job"/>
<field name="groups" eval="[(4, ref('hr_job.group_manager_hr_job'))]"/>
<field name="perm_read" eval="1"/>
<field name="perm_write" eval="1"/>
<field name="perm_create" eval="1"/>
<field name="perm_unlink" eval="1"/>
<field name="domain_force">
['|','|',('employee_id.user_id','=',manager.user.id),
('employee_id.parent_id.user_id','=',manager.user.id),
('default_job_id.is_published','=',is_published)]
</field>
</record>

您可以使用python方法将状态更改为"等待批准";然后发送消息给经理。

def button_request_publish(self):
#method message post here
partners = []
user_obj = self.env['res.users'].sudo().search(use domain to find manager related to document)
for x in user_obj:
partners.append(x.partner_id.id)
msg = "Your message to manager"
self.sudo().message_post(body=msg, message_type="notification", partner_ids=partners)
self.write({'state': 'waiting_approval'})
def approve_manager_publish(self):
# write your code to publish here
self.write({'state': 'approve'})

按钮";发送发布请求";具有组用户,则Button";批准发布"有小组经理。

最新更新