fix Department Manager

This commit is contained in:
Mazen Abdo 2024-11-05 14:22:14 +02:00
parent 9519c8b3c3
commit b4907dcd84
4 changed files with 33 additions and 13 deletions

View File

@ -49,7 +49,7 @@ class RequestVehicleDelegation(models.Model):
last_branch_id = fields.Many2one('hr.department', string="Last Branch", compute="get_last_branch", store=True,help='The last Branch the vehicle was authorized for',tracking=True)
from_hr_depart = fields.Boolean()
name = fields.Char(string="Name")
departments_id= fields.Many2one('hr.department')
department_id= fields.Many2one('hr.department')
@ -117,12 +117,30 @@ class RequestVehicleDelegation(models.Model):
'context': {'default_delegation_id': self.id},
}
def direct_manager(self):
for rec in self:
rec.state = 'direct_manager'
rec.send_notification_to_fleet_tool_group()
def send_notification_to_fleet_tool_group(self):
message_template = 'عزيز {user_name} لديك طلب تفويض بحاجة الى موافقة'
group = self.env.ref('odex_fleet.group_fleet_tool')
users = group.users
for user in users:
if user.partner_id:
message_body = message_template.format(user_name=user.name)
self.env['mail.message'].create({
'message_type': 'notification',
'subtype_id': self.env.ref('mail.mt_comment').id,
'body': message_body,
'subject': 'طلب تفويض جديد',
'partner_ids': [(4, user.partner_id.id)],
'model': 'request.vehicle.authorization',
'res_id': self.id,
'author_id': self.env.user.partner_id.id,
})
def fleet_tool(self):
vehicle_vals = {
@ -142,7 +160,7 @@ class RequestVehicleDelegation(models.Model):
'last_project_id': self.last_project_id.id if self.last_project_id else False,
'last_branch_id': self.last_branch_id.id,
'custody_id': self.custody_id.id if self.custody_id else False,
'departments_id': self.departments_id.id if self.departments_id else False,
'department_id': self.department_id.id if self.department_id else False,
'request_vehicle_authorization': self.id
}
_logger.info("Attempting to create vehicle delegation with values: %s", vehicle_vals)

View File

@ -111,13 +111,15 @@
</record>
<record id="request_rule_direct_manager" model="ir.rule">
<field name="name">Department Manager</field>
<field name="model_id" ref="odex_fleet.model_request_vehicle_authorization"/>
<field name="domain_force">[('employee_id.department_id.manager_id.user_id', '=', user.id)]</field>
<field name="groups" eval="[(4, ref('odex_fleet.group_direct_manager'))]"/>
</record>
<record id="request_rule_direct_manager" model="ir.rule">
<field name="name">Department Manager</field>
<field name="model_id" ref="odex_fleet.model_request_vehicle_authorization"/>
<field name="domain_force">[('department_id.manager_id.user_id','in', [user.id])]</field>
<field name="groups"
eval="[ (4, ref('odex_fleet.group_direct_manager'))]"/>
</record>
</data>
</odoo>

View File

@ -39,7 +39,7 @@
<field name="license_number" readonly="1" force_save="1"/>
<field name="license_end" readonly="1" force_save="1"/>
<!-- <field name="custody_id" invisible="1"/>-->
<field name="departments_id" attrs="{'readonly': [('state', '!=', 'draft')]}"/>
<field name="department_id" attrs="{'readonly': [('state', '!=', 'draft')]}"/>
</group>
<div class="oe_title">
<label for="vehicle_id" class="oe_edit_only"/>
@ -84,7 +84,7 @@
<tree>
<field name="employee_id"/>
<field name="vehicle_id"/>
<field name="departments_id"/>
<field name="department_id"/>
</tree>
</field>