send_notification_to_direct_manager_groups and _onchange_license_fields _onchange_driver
This commit is contained in:
parent
53ef65ab82
commit
7d15e5bcb8
|
|
@ -940,12 +940,10 @@ msgstr "الادارة / القسم"
|
|||
|
||||
#. module: odex_fleet
|
||||
#: model:ir.model.fields,field_description:odex_fleet.field_fleet_wiz__department_ids
|
||||
|
||||
msgid "Departments"
|
||||
msgstr "الأقسام"
|
||||
|
||||
#. module: odex_fleet
|
||||
|
||||
#: model:ir.model.fields,field_description:odex_fleet.field_request_vehicle_authorization__departments_id
|
||||
#: model:ir.model.fields,field_description:odex_fleet.field_vehicle_delegation__departments_id
|
||||
msgid "Departments"
|
||||
|
|
@ -1912,7 +1910,7 @@ msgstr "الرخصة"
|
|||
#. module: odex_fleet
|
||||
#: model:ir.model.fields,field_description:odex_fleet.field_hr_employee__license_attache
|
||||
msgid "License Attachment"
|
||||
msgstr ""
|
||||
msgstr "مرفق صوره الرخصة"
|
||||
|
||||
#. module: odex_fleet
|
||||
#: model:ir.model.fields,field_description:odex_fleet.field_fleet_vehicle__license_end
|
||||
|
|
@ -1927,7 +1925,7 @@ msgstr "تاريخ انتهاء الرخصة"
|
|||
#. module: odex_fleet
|
||||
#: model_terms:ir.ui.view,arch_db:odex_fleet.hr_driver_form_view
|
||||
msgid "License Information"
|
||||
msgstr ""
|
||||
msgstr "معلومات رخصة السياقة"
|
||||
|
||||
#. module: odex_fleet
|
||||
#: model:ir.model.fields,field_description:odex_fleet.field_hr_employee__license_number
|
||||
|
|
@ -1938,6 +1936,13 @@ msgstr ""
|
|||
msgid "License Number"
|
||||
msgstr "رقم رخصة السياقة"
|
||||
|
||||
|
||||
#. module: odex_fleet
|
||||
#: model:ir.model.fields,field_description:odex_fleet.field_request_vehicle_authorization__depart_id
|
||||
#: model:ir.model.fields,field_description:odex_fleet.field_vehicle_delegation__depart_id
|
||||
msgid "Depart"
|
||||
msgstr "الفرع"
|
||||
|
||||
#. module: odex_fleet
|
||||
#: model:ir.model.fields,field_description:odex_fleet.field_fleet_maintenance__license_plate
|
||||
#: model:ir.model.fields,field_description:odex_fleet.field_request_vehicle_authorization__license_plate
|
||||
|
|
@ -1948,15 +1953,17 @@ msgstr "رقم اللوحة"
|
|||
|
||||
#. module: odex_fleet
|
||||
#: model:ir.model.fields,field_description:odex_fleet.field_hr_employee__license_start
|
||||
#: model:ir.model.fields,field_description:odex_fleet.field_request_vehicle_authorization__license_start
|
||||
#: model_terms:ir.ui.view,arch_db:odex_fleet.hr_kanban_view
|
||||
msgid "License Start"
|
||||
msgstr ""
|
||||
msgstr "تاريخ الاصدار"
|
||||
|
||||
#. module: odex_fleet
|
||||
#: model:ir.model.fields,field_description:odex_fleet.field_hr_employee__license_type
|
||||
#: model:ir.model.fields,field_description:odex_fleet.field_request_vehicle_authorization__license_type
|
||||
#: model_terms:ir.ui.view,arch_db:odex_fleet.hr_kanban_view
|
||||
msgid "License Type"
|
||||
msgstr ""
|
||||
msgstr "نوع الرخصة"
|
||||
|
||||
#. module: odex_fleet
|
||||
#: model:ir.model.fields,help:odex_fleet.field_fleet_maintenance__license_plate
|
||||
|
|
@ -2469,8 +2476,8 @@ msgstr "السببظ المبرر"
|
|||
|
||||
#. module: odex_fleet
|
||||
#: model:ir.model.fields,field_description:odex_fleet.field_hr_employee__receive_date
|
||||
msgid "Receive Date"
|
||||
msgstr ""
|
||||
msgid "Receive Date"
|
||||
msgstr "تاريخ الاستلام"
|
||||
|
||||
#. module: odex_fleet
|
||||
#: model:ir.actions.report,name:odex_fleet.delegation_receive_report_pdf_act
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
|
|
@ -17,7 +17,7 @@ class HRCustom(models.Model):
|
|||
old_vehicle_id = fields.Many2one('fleet.vehicle', string="Old Vehicle")
|
||||
delegation_start = fields.Date(string="Delegation Start Date")
|
||||
delegation_end = fields.Date(string="Delegation End Date")
|
||||
receive_date = fields.Date(string="Receive Date",readonly=True)
|
||||
receive_date = fields.Date(string="Receive Date",readonly=True)
|
||||
license_attache = fields.Binary(string="License Attachment")
|
||||
employee_cars_count = fields.Integer(compute="_compute_employee_cars_count", string="Cars",groups="base.group_user")
|
||||
|
||||
|
|
|
|||
|
|
@ -9,49 +9,79 @@ class RequestVehicleDelegation(models.Model):
|
|||
_name = 'request.vehicle.authorization'
|
||||
_inherit = ['mail.thread', 'mail.activity.mixin']
|
||||
|
||||
|
||||
employee_id = fields.Many2one('hr.employee', string="Driver",default=lambda item: item.get_user_id(),
|
||||
tracking=True)
|
||||
employee_id = fields.Many2one('hr.employee', string="Driver", default=lambda item: item.get_user_id(),
|
||||
tracking=True, required=True)
|
||||
state = fields.Selection(selection=[('draft', 'Draft'),
|
||||
('confirm', 'Confirm'),
|
||||
('direct_manager', 'Direct manager'),
|
||||
('refused', 'Refused'),
|
||||
('fleet_tool', 'Fleet tool'),
|
||||
], default='draft',tracking=True)
|
||||
], default='draft', tracking=True)
|
||||
company_id = fields.Many2one('res.company', string='Company')
|
||||
project_id = fields.Many2one('project.project', string='Project')
|
||||
delegation_type = fields.Selection(selection=[('branch', 'Branch'), ('driver', 'driver')],
|
||||
string="Delegation Type")
|
||||
license_number = fields.Char(string="License Number", related='employee_id.license_number', store=True,tracking=True)
|
||||
license_end = fields.Date(string="License End",tracking=True)
|
||||
vehicle_id = fields.Many2one('fleet.vehicle', string="Vehicle",tracking=True ,domain=lambda self: [('id', 'not in', self._get_delegated_vehicle_ids())] )
|
||||
license_number = fields.Char(string="License Number", related='employee_id.license_number', tracking=True,
|
||||
readonly=False, required=True)
|
||||
license_end = fields.Date(string="License End", tracking=True, related='employee_id.license_end', readonly=False,
|
||||
required=True)
|
||||
license_type = fields.Selection(selection=[('private', 'Private'), ('general', 'General'), ('public', 'Public')],
|
||||
string="License Type", related='employee_id.license_type', readonly=False,
|
||||
required=True)
|
||||
license_start = fields.Date(string="License Start", related='employee_id.license_start', readonly=False,
|
||||
required=True)
|
||||
vehicle_id = fields.Many2one('fleet.vehicle', string="Vehicle", tracking=True,
|
||||
domain=lambda self: [('id', 'not in', self._get_delegated_vehicle_ids())])
|
||||
|
||||
license_plate = fields.Char(required=True, related='vehicle_id.license_plate', store=True,tracking=True)
|
||||
license_plate = fields.Char(required=True, related='vehicle_id.license_plate', store=True, tracking=True, )
|
||||
vin_sn = fields.Char('Chassis Number', related='vehicle_id.vin_sn', store=True,
|
||||
copy=False)
|
||||
model_id = fields.Many2one('fleet.vehicle.model', 'Model', related='vehicle_id.model_id', store=True,tracking=True)
|
||||
fleet_type_id = fields.Many2one('fleet.type', string="Fleet Type", related='vehicle_id.fleet_type_id', store=True,tracking=True)
|
||||
model_id = fields.Many2one('fleet.vehicle.model', 'Model', related='vehicle_id.model_id', store=True, tracking=True)
|
||||
fleet_type_id = fields.Many2one('fleet.type', string="Fleet Type", related='vehicle_id.fleet_type_id', store=True,
|
||||
tracking=True)
|
||||
serial_number = fields.Char(related='vehicle_id.serial_number', string="Serial Number")
|
||||
# state_id = fields.Many2one('res.country.state', string="State", )
|
||||
start_date = fields.Date(string="Start Date",tracking=True)
|
||||
end_date = fields.Date(string="End Date",tracking=True)
|
||||
reason = fields.Text(string="Reject Reason", tracking=True,)
|
||||
start_date = fields.Date(string="Start Date", tracking=True)
|
||||
end_date = fields.Date(string="End Date", tracking=True)
|
||||
reason = fields.Text(string="Reject Reason", tracking=True, )
|
||||
custody_id = fields.Many2one('custom.employee.custody')
|
||||
entity_type = fields.Selection(selection=[('department', 'Department'), ('project', 'Project')],
|
||||
string="Entity Type")
|
||||
driver_department = fields.Many2one('driver.department',tracking=True)
|
||||
first_odometer = fields.Float(string='First Odometer',compute="get_first_odometer", store=True,help='The odometer value at the moment the car is authorized')
|
||||
odometer = fields.Float(string='Last Odometer',compute="get_odometer", store=True,
|
||||
help='Odometer measure of the vehicle at the moment of this log',tracking=True)
|
||||
km_number = fields.Integer(string='KM Number', compute='get_km', store=True,help='The value of the difference between the odometer at the moment of delivery and receipt')
|
||||
last_department_id = fields.Many2one(related='vehicle_id.department_id', string="Last Department",help='The last Department the vehicle was authorized for')
|
||||
last_project_id = fields.Many2one('project.project', string='Last Project', compute="get_last_project", store=True,tracking=True)
|
||||
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)
|
||||
string="Entity Type")
|
||||
driver_department = fields.Many2one('driver.department', tracking=True)
|
||||
first_odometer = fields.Float(string='First Odometer', compute="get_first_odometer", store=True,
|
||||
help='The odometer value at the moment the car is authorized')
|
||||
odometer = fields.Float(string='Last Odometer', compute="get_odometer", store=True,
|
||||
help='Odometer measure of the vehicle at the moment of this log', tracking=True)
|
||||
km_number = fields.Integer(string='KM Number', compute='get_km', store=True,
|
||||
help='The value of the difference between the odometer at the moment of delivery and receipt')
|
||||
last_department_id = fields.Many2one(related='vehicle_id.department_id', string="Last Department",
|
||||
help='The last Department the vehicle was authorized for')
|
||||
last_project_id = fields.Many2one('project.project', string='Last Project', compute="get_last_project", store=True,
|
||||
tracking=True)
|
||||
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")
|
||||
depart_id= fields.Many2one('hr.department')
|
||||
depart_id = fields.Many2one('hr.department', related='employee_id.department_id')
|
||||
driver = fields.Boolean(string="Is Driver", related='employee_id.driver')
|
||||
|
||||
@api.onchange('license_number', 'license_end', 'license_type', 'license_start')
|
||||
def _onchange_license_fields(self):
|
||||
if self.employee_id:
|
||||
if self.license_number:
|
||||
self.employee_id.license_number = self.license_number
|
||||
if self.license_end:
|
||||
self.employee_id.license_end = self.license_end
|
||||
if self.license_type:
|
||||
self.employee_id.license_type = self.license_type
|
||||
if self.license_start:
|
||||
self.employee_id.license_start = self.license_start
|
||||
|
||||
@api.onchange('driver')
|
||||
def _onchange_driver(self):
|
||||
if self.employee_id and not self.driver:
|
||||
self.driver = True
|
||||
self.employee_id.driver = True
|
||||
|
||||
@api.model
|
||||
def _get_delegated_vehicle_ids(self):
|
||||
|
|
@ -60,7 +90,6 @@ class RequestVehicleDelegation(models.Model):
|
|||
])
|
||||
return delegated_vehicles.mapped('vehicle_id.id')
|
||||
|
||||
|
||||
def get_user_id(self):
|
||||
employee_id = self.env['hr.employee'].search([('user_id', '=', self.env.uid)], limit=1)
|
||||
if employee_id:
|
||||
|
|
@ -120,8 +149,7 @@ class RequestVehicleDelegation(models.Model):
|
|||
def direct_manager(self):
|
||||
for rec in self:
|
||||
rec.state = 'direct_manager'
|
||||
|
||||
|
||||
rec.send_notification_to_direct_manager_groups()
|
||||
|
||||
def send_notification_to_fleet_tool_group(self):
|
||||
message_template = 'Dear {user_name}, you have an authorization request awaiting approval'
|
||||
|
|
@ -147,6 +175,34 @@ class RequestVehicleDelegation(models.Model):
|
|||
'notification_type': 'inbox'
|
||||
})]
|
||||
})
|
||||
|
||||
def send_notification_to_direct_manager_groups(self):
|
||||
message_template = 'Dear {user_name}, you have an authorization request awaiting approval'
|
||||
groups = [
|
||||
self.env.ref('odex_fleet.group_direct_manager')
|
||||
]
|
||||
for group in groups:
|
||||
users = group.users
|
||||
for user in users:
|
||||
if user.partner_id:
|
||||
message_body = message_template.format(user_name=user.name)
|
||||
|
||||
# Send the notification to appear as a real notification in Odoo
|
||||
self.env['mail.message'].create({
|
||||
'message_type': 'notification',
|
||||
'subtype_id': self.env.ref('mail.mt_comment').id,
|
||||
'body': message_body,
|
||||
'subject': 'New authorization request',
|
||||
'partner_ids': [(4, user.partner_id.id)],
|
||||
'model': 'request.vehicle.authorization',
|
||||
'res_id': self.id,
|
||||
'author_id': self.env.user.partner_id.id,
|
||||
'notification_ids': [(0, 0, {
|
||||
'res_partner_id': user.partner_id.id,
|
||||
'notification_type': 'inbox'
|
||||
})]
|
||||
})
|
||||
|
||||
def fleet_tool(self):
|
||||
|
||||
vehicle_vals = {
|
||||
|
|
@ -179,7 +235,6 @@ class RequestVehicleDelegation(models.Model):
|
|||
return vehicle
|
||||
|
||||
|
||||
|
||||
class InheritVehicleDelegation(models.Model):
|
||||
_inherit = "vehicle.delegation"
|
||||
|
||||
|
|
|
|||
|
|
@ -35,11 +35,19 @@
|
|||
</group>
|
||||
<group col="4" colspan="2" string="Employee Information">
|
||||
<field name="employee_id" string="Employee Name"
|
||||
attrs="{'readonly': [('from_hr_depart', '=', False), ('state', '!=', 'confirm')]}"/>
|
||||
<field name="license_number" readonly="1" force_save="1"/>
|
||||
<field name="license_end" readonly="1" force_save="1"/>
|
||||
attrs="{'readonly': [('from_hr_depart', '=', False), ('state', '!=', 'draft')]}"/>
|
||||
<field name="license_type"
|
||||
attrs="{'readonly': [('license_type', '!=', False), ('state', '!=', 'draft')]}"/>
|
||||
<field name="license_start"
|
||||
attrs="{'readonly': [('license_start', '!=', False), ('state', '!=', 'draft')]}"/>
|
||||
<field name="license_end"
|
||||
attrs="{'readonly': [('license_end', '!=', False), ('state', '!=', 'draft')]}"/>
|
||||
<field name="license_number"
|
||||
attrs="{'readonly': [('license_number', '!=', False), ('state', '!=', 'draft')]}"/>
|
||||
|
||||
<!-- <field name="custody_id" invisible="1"/>-->
|
||||
<field name="depart_id" attrs="{'readonly': [('state', '!=', 'draft')]}"/>
|
||||
<field name="driver" invisible="1"/>
|
||||
</group>
|
||||
<div class="oe_title">
|
||||
<label for="vehicle_id" class="oe_edit_only"/>
|
||||
|
|
@ -64,7 +72,7 @@
|
|||
<field name="first_odometer" attrs="{'readonly': [('state', '!=', 'draft')]}"/>
|
||||
<field name="odometer" readonly="1" force_save="1"/>
|
||||
<field name="km_number" readonly="1" force_save="1"/>
|
||||
<field name="delegation_type" invisible="1"/>
|
||||
<!-- <field name="delegation_type" invisible="1"/>-->
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
|
|
@ -107,4 +115,4 @@
|
|||
<menuitem action="fleet_request_vehicle_authorization_action" parent="fleet_vehicles_delegation"
|
||||
id="request_vehicle_authorization_menu_test" sequence="5"/>
|
||||
|
||||
</odoo>
|
||||
</odoo>
|
||||
Loading…
Reference in New Issue