Merge pull request #1684 from expsa/zen_request_vehicle
add menuitem Request vehicle authorization
This commit is contained in:
commit
b385fd9fe2
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -1,54 +1,72 @@
|
||||||
from odoo import models, fields, api, _
|
from odoo import models, fields, api, _
|
||||||
import logging
|
import logging
|
||||||
|
from odoo.exceptions import UserError, ValidationError
|
||||||
|
|
||||||
_logger = logging.getLogger(__name__)
|
_logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class VehicleDelegation(models.Model):
|
class RequestVehicleDelegation(models.Model):
|
||||||
_name = 'request.vehicle.authorization'
|
_name = 'request.vehicle.authorization'
|
||||||
_inherit = ['mail.thread', 'mail.activity.mixin']
|
_inherit = ['mail.thread', 'mail.activity.mixin']
|
||||||
|
|
||||||
|
|
||||||
employee_id = fields.Many2one('hr.employee', string="Driver",
|
employee_id = fields.Many2one('hr.employee', string="Driver",default=lambda item: item.get_user_id(),
|
||||||
domain="[('driver', '=', True),('vehicle_id', '=', False)]")
|
tracking=True)
|
||||||
state = fields.Selection(selection=[('draft', 'Draft'),
|
state = fields.Selection(selection=[('draft', 'Draft'),
|
||||||
('confirm', 'Confirm'),
|
('confirm', 'Confirm'),
|
||||||
('Direct_manager', 'Direct manager'),
|
('direct_manager', 'Direct manager'),
|
||||||
('refused', 'Refused'),
|
('refused', 'Refused'),
|
||||||
('fleet_tool', 'Fleet tool'),
|
('fleet_tool', 'Fleet tool'),
|
||||||
], default='draft')
|
], default='draft',tracking=True)
|
||||||
company_id = fields.Many2one('res.company', string='Company')
|
company_id = fields.Many2one('res.company', string='Company')
|
||||||
project_id = fields.Many2one('project.project', string='Project')
|
project_id = fields.Many2one('project.project', string='Project')
|
||||||
delegation_type = fields.Selection(selection=[('branch', 'Branch'), ('driver', 'driver')],
|
delegation_type = fields.Selection(selection=[('branch', 'Branch'), ('driver', 'driver')],
|
||||||
string="Delegation Type")
|
string="Delegation Type")
|
||||||
license_number = fields.Char(string="License Number", related='employee_id.license_number', store=True)
|
license_number = fields.Char(string="License Number", related='employee_id.license_number', store=True,tracking=True)
|
||||||
license_end = fields.Date(string="License End")
|
license_end = fields.Date(string="License End",tracking=True)
|
||||||
vehicle_id = fields.Many2one('fleet.vehicle', string="Vehicle", )
|
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,
|
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,
|
vin_sn = fields.Char('Chassis Number', related='vehicle_id.vin_sn', store=True,
|
||||||
copy=False)
|
copy=False)
|
||||||
model_id = fields.Many2one('fleet.vehicle.model', 'Model', related='vehicle_id.model_id', store=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, )
|
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")
|
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")
|
start_date = fields.Date(string="Start Date",tracking=True)
|
||||||
end_date = fields.Date(string="End Date")
|
end_date = fields.Date(string="End Date",tracking=True)
|
||||||
reason = fields.Text(string="Reject Reason", tracking=True,)
|
reason = fields.Text(string="Reject Reason", tracking=True,)
|
||||||
custody_id = fields.Many2one('custom.employee.custody')
|
custody_id = fields.Many2one('custom.employee.custody')
|
||||||
entity_type = fields.Selection(selection=[('department', 'Department'), ('project', 'Project')],
|
entity_type = fields.Selection(selection=[('department', 'Department'), ('project', 'Project')],
|
||||||
string="Entity Type")
|
string="Entity Type")
|
||||||
driver_department = fields.Many2one('driver.department')
|
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')
|
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,
|
odometer = fields.Float(string='Last Odometer',compute="get_odometer", store=True,
|
||||||
help='Odometer measure of the vehicle at the moment of this log')
|
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')
|
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_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)
|
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')
|
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()
|
from_hr_depart = fields.Boolean()
|
||||||
name = fields.Char(string="Name")
|
name = fields.Char(string="Name")
|
||||||
|
departments_id= fields.Many2one('hr.department')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@api.model
|
||||||
|
def _get_delegated_vehicle_ids(self):
|
||||||
|
delegated_vehicles = self.env['vehicle.delegation'].search([
|
||||||
|
('state', 'in', ['draft', 'confirm', 'approve', 'in_progress'])
|
||||||
|
])
|
||||||
|
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:
|
||||||
|
return employee_id.id
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
@api.depends("vehicle_id")
|
@api.depends("vehicle_id")
|
||||||
def get_first_odometer(self):
|
def get_first_odometer(self):
|
||||||
|
|
@ -86,18 +104,6 @@ class VehicleDelegation(models.Model):
|
||||||
for rec in self:
|
for rec in self:
|
||||||
rec.state = 'confirm'
|
rec.state = 'confirm'
|
||||||
|
|
||||||
# def action_approve(self):
|
|
||||||
# for rec in self:
|
|
||||||
# rec.state = 'approve'
|
|
||||||
#
|
|
||||||
# def action_inprogress(self):
|
|
||||||
# for rec in self:
|
|
||||||
# # if rec.start_date > str(datetime.now().date()):
|
|
||||||
# # raise ValidationError(_("You Can Start Request Early than Plan"))
|
|
||||||
# rec.state = 'in_progress'
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def action_refuse(self):
|
def action_refuse(self):
|
||||||
form_view_id = self.env.ref("odex_fleet.wizard_reject_reason_fleet_wiz_form").id
|
form_view_id = self.env.ref("odex_fleet.wizard_reject_reason_fleet_wiz_form").id
|
||||||
return {
|
return {
|
||||||
|
|
@ -111,20 +117,18 @@ class VehicleDelegation(models.Model):
|
||||||
'context': {'default_delegation_id': self.id},
|
'context': {'default_delegation_id': self.id},
|
||||||
}
|
}
|
||||||
|
|
||||||
# def action_close(self):
|
|
||||||
# for rec in self:
|
|
||||||
# rec.state = 'close'
|
|
||||||
|
|
||||||
def Direct_manager(self):
|
|
||||||
|
def direct_manager(self):
|
||||||
for rec in self:
|
for rec in self:
|
||||||
rec.state = 'Direct_manager'
|
rec.state = 'direct_manager'
|
||||||
|
|
||||||
def fleet_tool(self):
|
def fleet_tool(self):
|
||||||
|
|
||||||
payment_vals = {
|
vehicle_vals = {
|
||||||
'employee_id': self.employee_id.id,
|
'employee_id': self.employee_id.id,
|
||||||
'name': self.name,
|
'name': self.name,
|
||||||
'delegation_type': self.delegation_type,
|
'delegation_type': 'driver',
|
||||||
'license_number': self.license_number,
|
'license_number': self.license_number,
|
||||||
'license_end': self.license_end,
|
'license_end': self.license_end,
|
||||||
'vehicle_id': self.vehicle_id.id,
|
'vehicle_id': self.vehicle_id.id,
|
||||||
|
|
@ -138,17 +142,17 @@ class VehicleDelegation(models.Model):
|
||||||
'last_project_id': self.last_project_id.id if self.last_project_id else False,
|
'last_project_id': self.last_project_id.id if self.last_project_id else False,
|
||||||
'last_branch_id': self.last_branch_id.id,
|
'last_branch_id': self.last_branch_id.id,
|
||||||
'custody_id': self.custody_id.id if self.custody_id else False,
|
'custody_id': self.custody_id.id if self.custody_id else False,
|
||||||
|
'departments_id': self.departments_id.id if self.departments_id else False,
|
||||||
'request_vehicle_authorization': self.id
|
'request_vehicle_authorization': self.id
|
||||||
}
|
}
|
||||||
print("qqqqqqqqqqqqqqq",payment_vals)
|
_logger.info("Attempting to create vehicle delegation with values: %s", vehicle_vals)
|
||||||
_logger.info("Attempting to create vehicle delegation with values: %s", payment_vals)
|
|
||||||
|
|
||||||
payment = self.env['vehicle.delegation'].create(payment_vals)
|
vehicle = self.env['vehicle.delegation'].create(vehicle_vals)
|
||||||
print("aaaaaaaaaaaaaaaaaaaaaaaaaaa",payment)
|
_logger.info("Created vehicle delegation: %s", vehicle)
|
||||||
_logger.info("Created vehicle delegation: %s", payment)
|
|
||||||
|
|
||||||
self.state = "fleet_tool"
|
self.state = "fleet_tool"
|
||||||
return payment
|
return vehicle
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class InheritVehicleDelegation(models.Model):
|
class InheritVehicleDelegation(models.Model):
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ class VehicleDelegation(models.Model):
|
||||||
|
|
||||||
name = fields.Char(string="Name")
|
name = fields.Char(string="Name")
|
||||||
branch_id = fields.Many2one('res.branch', string="Branch",related="driver_department.branch_id")
|
branch_id = fields.Many2one('res.branch', string="Branch",related="driver_department.branch_id")
|
||||||
|
departments_id = fields.Many2one('hr.department')
|
||||||
old_branch_id = fields.Many2one('res.branch', string="Old Branch")
|
old_branch_id = fields.Many2one('res.branch', string="Old Branch")
|
||||||
employee_id = fields.Many2one('hr.employee', string="Driver",
|
employee_id = fields.Many2one('hr.employee', string="Driver",
|
||||||
domain="[('driver', '=', True),('vehicle_id', '=', False)]")
|
domain="[('driver', '=', True),('vehicle_id', '=', False)]")
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<odoo>
|
<odoo>
|
||||||
<data noupdate="1">
|
<data noupdate="1">
|
||||||
<delete model="ir.rule" id="fleet.fleet_rule_contract_visibility_user"/>
|
<delete model="ir.rule" id="fleet.fleet_rule_contract_visibility_user"/>
|
||||||
<delete model="ir.rule" id="fleet.fleet_rule_service_visibility_user"/>
|
<delete model="ir.rule" id="fleet.fleet_rule_service_visibility_user"/>
|
||||||
<delete model="ir.rule" id="fleet.fleet_rule_odometer_visibility_user"/>
|
<delete model="ir.rule" id="fleet.fleet_rule_odometer_visibility_user"/>
|
||||||
<delete model="ir.rule" id="fleet.fleet_rule_vehicle_visibility_user"/>
|
<delete model="ir.rule" id="fleet.fleet_rule_vehicle_visibility_user"/>
|
||||||
<delete model="ir.rule" id="fleet.fleet_rule_contract_visibility_manager"/>
|
<delete model="ir.rule" id="fleet.fleet_rule_contract_visibility_manager"/>
|
||||||
<delete model="ir.rule" id="fleet.fleet_rule_service_visibility_manager"/>
|
<delete model="ir.rule" id="fleet.fleet_rule_service_visibility_manager"/>
|
||||||
<delete model="ir.rule" id="fleet.fleet_rule_odometer_visibility_manager"/>
|
<delete model="ir.rule" id="fleet.fleet_rule_odometer_visibility_manager"/>
|
||||||
<record id="fleet_group_supervisor" model="res.groups">
|
<record id="fleet_group_supervisor" model="res.groups">
|
||||||
<field name="name">Fleet Supervisor</field>
|
<field name="name">Fleet Supervisor</field>
|
||||||
<field name="category_id" ref="fleet.module_fleet_category"/>
|
<field name="category_id" ref="fleet.module_fleet_category"/>
|
||||||
|
|
@ -52,11 +52,77 @@
|
||||||
<field name="category_id" ref="fleet.module_fleet_category"/>
|
<field name="category_id" ref="fleet.module_fleet_category"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="hr_employee_fleet" model="ir.rule">
|
<record id="hr_employee_fleet" model="ir.rule">
|
||||||
<field name="name">Fleet Hr</field>
|
<field name="name">Fleet Hr</field>
|
||||||
<field ref="hr.model_hr_employee" name="model_id"/>
|
<field ref="hr.model_hr_employee" name="model_id"/>
|
||||||
<field name="domain_force">[('driver','=',True)]</field>
|
<field name="domain_force">[('driver','=',True)]</field>
|
||||||
<field name="groups" eval="[(4, ref('fleet.fleet_group_user')),(4, ref('fleet_group_hr_officer'))]"/>
|
<field name="groups" eval="[(4, ref('fleet.fleet_group_user')),(4, ref('fleet_group_hr_officer'))]"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
<record id="rule_security_groups_rule_by_user" model="ir.rule">
|
||||||
|
<field name="name">request.vehicle.authorization.by.user</field>
|
||||||
|
<field name="model_id" ref="model_request_vehicle_authorization"/>
|
||||||
|
<field name="perm_read" eval="1"/>
|
||||||
|
<field name="perm_create" eval="1"/>
|
||||||
|
<field name="perm_write" eval="1"/>
|
||||||
|
<field name="perm_unlink" eval="1"/>
|
||||||
|
<field name="domain_force">[('create_uid', '=', user.id)]</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<!-- <record id="model_request_vehicle_authorization" model="ir.model">-->
|
||||||
|
<!-- <field name="name">request.vehicle.authorization</field>-->
|
||||||
|
<!-- <field name="info">Vehicle Authorization Request</field>-->
|
||||||
|
<!-- <field name="model">request.vehicle.authorization</field>-->
|
||||||
|
<!-- <field name="state">manual</field>-->
|
||||||
|
<!-- </record>-->
|
||||||
|
|
||||||
|
<!-- <!– إضافة صلاحية جديدة –>-->
|
||||||
|
<!-- <record id="access_request_vehicle_authorization" model="ir.model.access">-->
|
||||||
|
<!-- <field name="name">access_request_vehicle_authorization</field>-->
|
||||||
|
<!-- <field name="model_id" ref="model_request_vehicle_authorization"/>-->
|
||||||
|
<!-- <field name="group_id" ref="base.group_user"/>-->
|
||||||
|
<!-- <field name="perm_read" eval="1"/>-->
|
||||||
|
<!-- <field name="perm_write" eval="1"/>-->
|
||||||
|
<!-- <field name="perm_create" eval="1"/>-->
|
||||||
|
<!-- <field name="perm_unlink" eval="0"/>-->
|
||||||
|
<!-- </record>-->
|
||||||
|
<record id="group_hr_user" model="res.groups">
|
||||||
|
<field name="name">user</field>
|
||||||
|
<field name="category_id" ref="fleet.module_fleet_category"/>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record id="group_direct_manager" model="res.groups">
|
||||||
|
<field name="name">direct manager</field>
|
||||||
|
<field name="category_id" ref="fleet.module_fleet_category"/>
|
||||||
|
</record>
|
||||||
|
<record id="group_fleet_tool" model="res.groups">
|
||||||
|
<field name="name">fleet tool</field>
|
||||||
|
<field name="category_id" ref="fleet.module_fleet_category"/>
|
||||||
|
</record>
|
||||||
|
<record id="fleet_tool_access_rule" model="ir.rule">
|
||||||
|
<field name="name">Fleet Tool Full Access</field>
|
||||||
|
<field name="model_id" ref="model_request_vehicle_authorization"/>
|
||||||
|
<field name="groups" eval="[(4, ref('odex_fleet.group_fleet_tool'))]"/>
|
||||||
|
<field name="domain_force">[(1, '=', 1)]</field>
|
||||||
|
<field name="perm_read" eval="True"/>
|
||||||
|
<field name="perm_write" eval="True"/>
|
||||||
|
<field name="perm_create" eval="True"/>
|
||||||
|
<field name="perm_unlink" eval="True"/>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<!-- <record id="access_direct_manager" model="ir.rule">-->
|
||||||
|
<!-- <field name="name">Direct Manager Access</field>-->
|
||||||
|
<!-- <field name="model_id" ref="model_request_vehicle_authorization"/>-->
|
||||||
|
<!-- <field name="domain_force">[('employee_id.parent_id.user_id', '=', user.id)]</field>-->
|
||||||
|
<!-- <field name="groups_id" eval="[(4, ref('odex25_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>
|
</data>
|
||||||
</odoo>
|
</odoo>
|
||||||
|
|
@ -7,13 +7,25 @@
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<form string="Vehicle">
|
<form string="Vehicle">
|
||||||
<header>
|
<header>
|
||||||
<button name="action_confirm" string="Confirm" type="object" class="oe_highlight" states="draft"/>
|
<button name="action_confirm" string="Confirm" type="object" class="oe_highlight"
|
||||||
|
states="draft" attrs="{'invisible': [('state', '!=', 'draft')]}"
|
||||||
|
groups="odex_fleet.group_hr_user,odex_fleet.group_fleet_tool,odex_fleet.group_direct_manager"/>
|
||||||
|
|
||||||
|
<button name="direct_manager" string="Direct manager" type="object" class="oe_highlight"
|
||||||
|
states="confirm" groups="odex_fleet.group_direct_manager,odex_fleet.group_fleet_tool"/>
|
||||||
|
|
||||||
<button name="action_refuse" type="object" states="confirm"
|
<button name="action_refuse" type="object" states="confirm"
|
||||||
class="oe_highlight" string="Refuse"/>
|
class="oe_highlight" string="Refuse"
|
||||||
<button name="Direct_manager" string="Direct manager" type="object" class="oe_highlight"
|
groups="odex_fleet.group_direct_manager,odex_fleet.group_fleet_tool"/>
|
||||||
states="confirm"/>
|
|
||||||
<button name="fleet_tool" string="Fleet tool" type="object" class="oe_highlight"
|
<button name="fleet_tool" string="Fleet tool" type="object" class="oe_highlight"
|
||||||
states="Direct_manager"/>
|
states="direct_manager" groups="odex_fleet.group_fleet_tool"/>
|
||||||
|
|
||||||
|
<button name="action_refuse" type="object" states="direct_manager"
|
||||||
|
class="oe_highlight" string="Refuse" ttrs="{'invisible': [('state', '=', 'fleet_tool')]}"
|
||||||
|
groups="odex_fleet.group_fleet_tool"/>
|
||||||
|
|
||||||
|
|
||||||
<field name="state" widget="statusbar"/>
|
<field name="state" widget="statusbar"/>
|
||||||
</header>
|
</header>
|
||||||
<sheet>
|
<sheet>
|
||||||
|
|
@ -22,38 +34,39 @@
|
||||||
<field name="from_hr_depart" string="Another Employee"/>
|
<field name="from_hr_depart" string="Another Employee"/>
|
||||||
</group>
|
</group>
|
||||||
<group col="4" colspan="2" string="Employee Information">
|
<group col="4" colspan="2" string="Employee Information">
|
||||||
|
|
||||||
<field name="employee_id" string="Employee Name"
|
<field name="employee_id" string="Employee Name"
|
||||||
attrs="{'readonly': [('from_hr_depart', '=', False)]}"/>
|
attrs="{'readonly': [('from_hr_depart', '=', False), ('state', '!=', 'confirm')]}"/>
|
||||||
<field name="license_number" readonly="1" force_save="1"/>
|
<field name="license_number" readonly="1" force_save="1"/>
|
||||||
<field name="license_end" readonly="1" force_save="1"/>
|
<field name="license_end" readonly="1" force_save="1"/>
|
||||||
<field name="custody_id" invisible="1"/>
|
<!-- <field name="custody_id" invisible="1"/>-->
|
||||||
<field name="name"/>
|
<field name="departments_id" attrs="{'readonly': [('state', '!=', 'draft')]}"/>
|
||||||
</group>
|
</group>
|
||||||
<div class="oe_title">
|
<div class="oe_title">
|
||||||
<label for="vehicle_id" class="oe_edit_only"/>
|
<label for="vehicle_id" class="oe_edit_only"/>
|
||||||
<h2>
|
<h2>
|
||||||
<field name="vehicle_id"/>
|
<field name="vehicle_id" attrs="{'readonly': [('state', '!=', 'draft')]}"/>
|
||||||
|
<field name="name" invisible="1"/>
|
||||||
</h2>
|
</h2>
|
||||||
</div>
|
</div>
|
||||||
<group col="4" colspan="2" string="Vehicle Information">
|
<group col="4" colspan="2" string="Vehicle Information">
|
||||||
<field name="start_date"/>
|
<field name="start_date"
|
||||||
<field name="end_date"/>
|
attrs="{'readonly': [('state', '!=', 'draft')], 'required': [('state', '=', 'draft')]}"/>
|
||||||
<field name="last_department_id"/>
|
<field name="end_date"
|
||||||
|
attrs="{'readonly': [('state', '!=', 'draft')], 'required': [('state', '=', 'draft')]}"/>
|
||||||
|
<field name="last_department_id" attrs="{'readonly': [('state', '!=', 'draft')]}"/>
|
||||||
<field name="last_project_id" invisible="1"/>
|
<field name="last_project_id" invisible="1"/>
|
||||||
<field name="last_branch_id"/>
|
<field name="last_branch_id" attrs="{'readonly': [('state', '!=', 'draft')]}"/>
|
||||||
<field name="vin_sn"/>
|
<field name="vin_sn" attrs="{'readonly': [('state', '!=', 'draft')]}"/>
|
||||||
<field name="model_id" readonly="1" force_save="1"/>
|
<field name="model_id" readonly="1" force_save="1"/>
|
||||||
<field name="license_plate" readonly="1" force_save="1"/>
|
<field name="license_plate" readonly="1" force_save="1"/>
|
||||||
<field name="serial_number" readonly="1" force_save="1"/>
|
<field name="serial_number" readonly="1" force_save="1"/>
|
||||||
<field name="fleet_type_id" readonly="1" force_save="1"/>
|
<field name="fleet_type_id" readonly="1" force_save="1"/>
|
||||||
<field name="first_odometer"/>
|
<field name="first_odometer" attrs="{'readonly': [('state', '!=', 'draft')]}"/>
|
||||||
<field name="odometer" readonly="1" force_save="1"/>
|
<field name="odometer" readonly="1" force_save="1"/>
|
||||||
<field name="km_number" 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>
|
||||||
</group>
|
</group>
|
||||||
|
|
||||||
</sheet>
|
</sheet>
|
||||||
|
|
||||||
<div class="oe_chatter">
|
<div class="oe_chatter">
|
||||||
|
|
@ -69,7 +82,10 @@
|
||||||
<field name="model">request.vehicle.authorization</field>
|
<field name="model">request.vehicle.authorization</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<tree>
|
<tree>
|
||||||
<field name="start_date"/>
|
<field name="employee_id"/>
|
||||||
|
<field name="vehicle_id"/>
|
||||||
|
<field name="departments_id"/>
|
||||||
|
|
||||||
</tree>
|
</tree>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@
|
||||||
</h1>
|
</h1>
|
||||||
<label for="vehicle_id" class="oe_edit_only"/>
|
<label for="vehicle_id" class="oe_edit_only"/>
|
||||||
<h2>
|
<h2>
|
||||||
<field name="vehicle_id" attrs="{'readonly': [('state', '!=', 'draft')],'required':True}"/>
|
<field name="vehicle_id" attrs="{'readonly': [('state', '!=', 'draft')],'required':True}" />
|
||||||
</h2>
|
</h2>
|
||||||
</div>
|
</div>
|
||||||
<group col="4" colspan="2" string="Vehicle Information">
|
<group col="4" colspan="2" string="Vehicle Information">
|
||||||
|
|
@ -48,6 +48,7 @@
|
||||||
<field name="license_number" readonly="1" force_save="1"/>
|
<field name="license_number" readonly="1" force_save="1"/>
|
||||||
<field name="license_end" readonly="1" force_save="1"/>
|
<field name="license_end" readonly="1" force_save="1"/>
|
||||||
<field name="custody_id" invisible="1"/>
|
<field name="custody_id" invisible="1"/>
|
||||||
|
<field name="departments_id" attrs="{'invisible': [('departments_id', '=', False)]}"/>
|
||||||
</group>
|
</group>
|
||||||
<group col="4" colspan="2" string="delegated entity" attrs="{'invisible': [('delegation_type', '!=', 'branch')]}">
|
<group col="4" colspan="2" string="delegated entity" attrs="{'invisible': [('delegation_type', '!=', 'branch')]}">
|
||||||
<!-- <field name="state_id" attrs="{'readonly': [('state', '!=', 'draft')],'required':[('delegation_type', '=', 'branch')]}" />-->
|
<!-- <field name="state_id" attrs="{'readonly': [('state', '!=', 'draft')],'required':[('delegation_type', '=', 'branch')]}" />-->
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -12,8 +12,9 @@ class RejectReasonFleet(models.TransientModel):
|
||||||
request_id = fields.Many2one('fleet.quotation')
|
request_id = fields.Many2one('fleet.quotation')
|
||||||
|
|
||||||
def action_reject(self):
|
def action_reject(self):
|
||||||
if self.delegation_id:
|
if self._context.get('active_model')=='request.vehicle.authorization':
|
||||||
self.delegation_id.sudo().write({
|
delegation_id = self.env[self._context.get('active_model')].browse(self._context.get('active_id'))
|
||||||
|
delegation_id.sudo().write({
|
||||||
'state': 'refused',
|
'state': 'refused',
|
||||||
'reason': self.reason
|
'reason': self.reason
|
||||||
})
|
})
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue