update fleet_tool

This commit is contained in:
Mazen Abdo 2024-11-03 01:36:48 +02:00
parent 8be8d7ae86
commit 40792eb1fd
5 changed files with 62 additions and 15 deletions

View File

@ -1,7 +1,7 @@
from odoo import models, fields, api, _
from odoo.exceptions import UserError, ValidationError
from datetime import datetime
from dateutil.relativedelta import relativedelta
import logging
_logger = logging.getLogger(__name__)
class VehicleDelegation(models.Model):
@ -32,7 +32,7 @@ class VehicleDelegation(models.Model):
model_id = fields.Many2one('fleet.vehicle.model', 'Model', related='vehicle_id.model_id', store=True, )
fleet_type_id = fields.Many2one('fleet.type', string="Fleet Type", related='vehicle_id.fleet_type_id', store=True, )
serial_number = fields.Char(related='vehicle_id.serial_number', string="Serial Number")
state_id = fields.Many2one('res.country.state', string="State", )
# state_id = fields.Many2one('res.country.state', string="State", )
start_date = fields.Date(string="Start Date")
end_date = fields.Date(string="End Date")
reason = fields.Text(string="Reject Reason", tracking=True,)
@ -48,6 +48,7 @@ class VehicleDelegation(models.Model):
last_project_id = fields.Many2one('project.project', string='Last Project', compute="get_last_project", store=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')
from_hr_depart = fields.Boolean()
name = fields.Char(string="Name")
@api.depends("vehicle_id")
def get_first_odometer(self):
@ -96,6 +97,7 @@ class VehicleDelegation(models.Model):
# rec.state = 'in_progress'
def action_refuse(self):
form_view_id = self.env.ref("odex_fleet.wizard_reject_reason_fleet_wiz_form").id
return {
@ -113,14 +115,43 @@ class VehicleDelegation(models.Model):
# for rec in self:
# rec.state = 'close'
def fleet_tool(self):
for rec in self:
rec.state = 'fleet_tool'
def Direct_manager(self):
for rec in self:
rec.state = 'Direct_manager'
# def action_cancel(self):
# for rec in self:
# rec.sudo().state = 'cancel'
def fleet_tool(self):
payment_vals = {
'employee_id': self.employee_id.id,
'name': self.name,
'delegation_type': self.delegation_type,
'license_number': self.license_number,
'license_end': self.license_end,
'vehicle_id': self.vehicle_id.id,
'license_plate': self.license_plate,
'start_date': self.start_date,
'end_date': self.end_date,
'first_odometer': self.first_odometer,
'odometer': self.odometer,
'km_number': self.km_number,
'last_department_id': self.last_department_id.id,
'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,
'request_vehicle_authorization': self.id
}
print("qqqqqqqqqqqqqqq",payment_vals)
_logger.info("Attempting to create vehicle delegation with values: %s", payment_vals)
payment = self.env['vehicle.delegation'].create(payment_vals)
print("aaaaaaaaaaaaaaaaaaaaaaaaaaa",payment)
_logger.info("Created vehicle delegation: %s", payment)
self.state = "fleet_tool"
return payment
class InheritVehicleDelegation(models.Model):
_inherit = "vehicle.delegation"
request_vehicle_authorization = fields.Many2one('request.vehicle.authorization')

View File

@ -91,3 +91,5 @@ access_insurance_companies,insurance_companies,model_insurance_companies,,1,1,1,
access_vehicle_infraction,vehicle_infraction,model_vehicle_infraction,,1,1,1,1
access_driver_department,driver_department,model_driver_department,,1,1,1,1
access_fleet_vehicle_assignation_log_fleet_group_user,fleet_vehicle_assignation_log fleet_group_user,fleet.model_fleet_vehicle_assignation_log,base.group_user,1,1,1,1
access_request_vehicle_authorization,access_request_vehicle_authorization,model_request_vehicle_authorization,base.group_user,1,1,1,1

1 id name model_id/id group_id/id perm_read perm_write perm_create perm_unlink
91 access_request_vehicle_authorization access_request_vehicle_authorization model_request_vehicle_authorization base.group_user 1 1 1 1
92
93
94
95

View File

@ -10,21 +10,25 @@
<button name="action_confirm" string="Confirm" type="object" class="oe_highlight" states="draft"/>
<button name="action_refuse" type="object" states="confirm"
class="oe_highlight" string="Refuse"/>
<button name="Direct_manager" string="Direct manager" type="object" class="oe_highlight" states="confirm"/>
<button name="Direct_manager" string="Direct manager" type="object" class="oe_highlight"
states="confirm"/>
<button name="fleet_tool" string="Fleet tool" type="object" class="oe_highlight"
states="Direct_manager"/>
<field name="state" widget="statusbar"/>
</header>
<sheet>
<group>
<group col="4" colspan="2" string="Employee Information">
<group>
<field name="from_hr_depart" string="Another Employee"/>
</group>
<group col="4" colspan="2" string="Employee Information">
<field name="employee_id" string="Employee Name"
attrs="{'readonly': [('from_hr_depart', '=', False)]}"/>
<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="name"/>
</group>
<div class="oe_title">
<label for="vehicle_id" class="oe_edit_only"/>
@ -60,6 +64,16 @@
</field>
</record>
<record id='fleet_request_vehicle_authorization_action_tree' model='ir.ui.view'>
<field name="name">fleet.request.vehicle.authorization.tree</field>
<field name="model">request.vehicle.authorization</field>
<field name="arch" type="xml">
<tree>
<field name="start_date"/>
</tree>
</field>
</record>
<record id='fleet_request_vehicle_authorization_action' model='ir.actions.act_window'>
<field name="name">Request vehicle authorization</field>

View File

@ -20,7 +20,7 @@
<div class="oe_title">
<label for="name" class="oe_edit_only"/>
<h1>
<field name="name" attrs="{'readonly': [('state', '!=', 'draft')],'required':True}"/>
<field name="name" attrs="{'readonly': [('state', '!=', 'draft')]}"/>
</h1>
<label for="vehicle_id" class="oe_edit_only"/>
<h2>