限制员工发布工作的记录规则,odoo 14
A record rule to restrict employees from publishing jobs, 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'})
按钮“发送发布请求”有组用户,然后按钮“批准发布”有组管理员。
我想创建一级记录规则,限制员工发布工作并将其发送给经理批准。比如如果他们想要发布并点击发布按钮,它应该向经理发送发布工作的请求,并让他们知道。 这是我的代码:
<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'})
按钮“发送发布请求”有组用户,然后按钮“批准发布”有组管理员。