Randhir Mayatra (OpenERP) has proposed merging lp:~openerp-dev/openobject-addons/trunk-fleet-apa-model_fleet-rma into lp:~openerp-dev/openobject-addons/trunk-fleet-apa.
Requested reviews: Amit Patel (OpenERP) (apa-tiny) For more details, see: https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-fleet-apa-model_fleet-rma/+merge/123065 hello sir, I have add the content in fleet module as per required design. Thank You. -- https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-fleet-apa-model_fleet-rma/+merge/123065 Your team OpenERP R&D Team is subscribed to branch lp:~openerp-dev/openobject-addons/trunk-fleet-apa.
=== added directory 'fleet' === added file 'fleet/__init__.py' --- fleet/__init__.py 1970-01-01 00:00:00 +0000 +++ fleet/__init__.py 2012-09-06 12:26:31 +0000 @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# +############################################################################## + +import vehicle === added file 'fleet/__openerp__.py' --- fleet/__openerp__.py 1970-01-01 00:00:00 +0000 +++ fleet/__openerp__.py 2012-09-06 12:26:31 +0000 @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# +############################################################################## + +{ + 'name' : 'Fleet', + 'version' : '0.1', + 'author' : 'Victor Tabuenca', + 'description' : 'Vehicle management module', + 'category' : '', + 'website' : 'http://www.openerp.com', + 'depends' : ['base'], + 'update_xml' : [ + 'vehicle_view.xml' + ], + 'demo_xml' : [], + 'active' : False, +} === added directory 'fleet/i18n' === added file 'fleet/vehicle.py' --- fleet/vehicle.py 1970-01-01 00:00:00 +0000 +++ fleet/vehicle.py 2012-09-06 12:26:31 +0000 @@ -0,0 +1,166 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# +############################################################################## + +from osv import osv +from osv import fields + + +class vehicle_model(osv.osv): + + """Class defining the model of a Vehicle.""" + + def _get_name(self, cr, uid, ids, name, arg, context=None): + + """Returns a dict containing the name of the model of each vehicle.""" + + res = {} + for car in self.read(cr, uid, ids, ['brand', 'model'], context=context): + res[car['id']] = car['brand'] + ' ' + car['model'] + return res + + _name = 'vehicle.model' + + _columns = { + 'brand' : fields.char('Brand', size=64, required=True), + 'model' : fields.char('Model', size=64, required=True), + 'horsepower_tax' : fields.float('Horsepower Taxation'), + 'co2' : fields.float('CO2 Emissions'), + 'engine_capacity' : fields.integer('Engine Capacity in cm3'), + 'fuel_type' : fields.selection([('gasoline', 'Gasoline'),('diesel','Diesel'),('electric','Electric'),('hybrid','Hybrid')], 'Fuel Type', help='Fuel Used by the Vehicle'), + 'name' : fields.function(_get_name, type='char', string='Name', size=128), + } + + # TODO: add _sql_constraints and other stuff + +vehicle_model() # Instantiate the class + + +class vehicle_status(osv.osv): + _name = 'vehicle.status' + _columns = { + 'name' : fields.char('Status Name', size=32), + } +vehicle_status() + + +class vehicle_vehicle(osv.osv): + + """Class defining a vehicle""" + + _name = 'vehicle.vehicle' + + _rec_name = 'plate' + + _columns = { + 'plate' : fields.char('Plate Number', size=16, required=True), + 'date_start' : fields.date('Start Date'), + 'note' : fields.text('Notes', translate=False), + 'model_id' : fields.many2one('vehicle.model', 'Model', ondelete='restrict'), + 'value' : fields.related('odometer_log_ids', 'value', type='integer', string='value', readonly=True), + 'chassis_number' : fields.char('Chassis Number', size=64, required=True), + 'partner_id' : fields.many2one('res.partner', 'Leasing Company', ondelete='restrict'), + 'is_leasing' : fields.boolean('Has a Leasing Contract'), + 'leasing_value' : fields.float('Leasing Value'), + 'leasing_date_stop' : fields.date('End Date of the Leasing Contract'), + 'leasing_contract' : fields.char('Leasing Contract Number', size=32), + 'insurance_num' : fields.char('Insurance Number', size=64), + 'insurance_date_stop' : fields.date('End Date of the Insurance'), + 'insurance_partner_id' : fields.many2one('res.partner', 'Insurance Company', ondelete='restrict'), + 'odometer_log_ids' : fields.one2many('vehicle.odometer.log', 'vehicle_odometer_id', 'Odometer Logs'), + 'driver_id' : fields.many2one('res.partner', 'Driver'), + 'services_log_ids':fields.one2many('vehicle.service.log','vehicle_service_id', 'Services Logs'), + 'fuel_log_ids':fields.one2many('vehicle.fuel.log','vehicle_fuel_id', 'Fuel Logs'), + 'status_id' :fields.many2one('vehicle.status', 'status'), + + } + + _sql_constraints = [ + ('plate', 'unique(plate)', 'The plate of the vehicle must be unique') + ] + +vehicle_vehicle() + + +class vehicle_odometer_log(osv.osv): + + """Class to store data related to revisions and repairs issued on the vehicle.""" + + _name = 'vehicle.odometer.log' + _order = 'date desc' + +# def _get_employee_id(self, cr, uid, context=None): +# import pdb;pdb.set_trace() +# if context is None: +# context = {} +# return context.get('current_driver', False) + + _columns = { + 'date' : fields.date('Date', required=True), + 'value' : fields.float('Value', help="Meter reading at service,fuel up and others"), + 'notes' : fields.text('Notes'), + 'inv_ref': fields.char('Inv.Ref', help="Invoice Number"), + 'vehicle_odometer_id' : fields.many2one('vehicle.vehicle', 'Vehicle', ondelete='restrict'), + } + + _defaults = { + 'date': fields.date.context_today, +# 'employee_id': _get_employee_id, + } +vehicle_odometer_log() + + +class vehicle_fuel_log(osv.osv): + + _name = 'vehicle.fuel.log' + _inherit = 'vehicle.odometer.log' + _columns = { + 'vehicle_fuel_id' :fields.many2one('vehicle.vehicle', 'Vehicle'), + 'ltr' :fields.float('Liters', required=True), + 'price_per_ltr' :fields.float('Price/Liter'), + 'reference' :fields.char('Reference', size=128), + } +vehicle_fuel_log() + + +class vehicle_service_type(osv.osv): + + _name = 'vehicle.service.type' + _order = 'name' + _columns = { + 'name' :fields.char('Service Type', size=128), + } +vehicle_service_type() + + +class vehicle_service_log(osv.osv): + + _name = 'vehicle.service.log' + _inherit = 'vehicle.odometer.log' + _columns = { + 'vehicle_service_id' :fields.many2one('vehicle.vehicle', 'Vehicle'), + 'vendor_id' :fields.many2one('res.partner', 'Vendor', domain="[('supplier','=',True)]"), + 'amount' :fields.float('Amount', help="Total cost of the service"), + 'reference' :fields.char('Reference',size=128), + 'service_ids' :fields.many2many('vehicle.service.type','vehicle_service_type_rel','vehicle_service_type_id','service_id','Services completed'), + } +vehicle_service_log() + + === added file 'fleet/vehicle_view.xml' --- fleet/vehicle_view.xml 1970-01-01 00:00:00 +0000 +++ fleet/vehicle_view.xml 2012-09-06 12:26:31 +0000 @@ -0,0 +1,440 @@ +<?xml version="1.0"?> +<openerp> + <data> + + <menuitem id="menu_vehicle" name="Fleet" sequence="100" /> + + <!-- New Vehicle Form View --> + <act_window + id="act_vehicle_service_log" + name="Vehicle Services" + res_model="vehicle.service.log" + src_model="vehicle.vehicle" + view_mode="tree,form" + context="{'search_default_vehicle_service_id': active_id, 'default_vehicle_service_id': active_id}" + view_type="form"/> + + <act_window + id="act_vehicle_fuel_log" + name="Vehicle Fuel" + res_model="vehicle.fuel.log" + src_model="vehicle.vehicle" + view_mode="tree,form" + context="{'search_default_vehicle_fuel_id': active_id, 'default_vehicle_fuel_id': active_id}" + view_type="form"/> + + <record model="ir.ui.view" id="view_vehicle_form"> + <field name="name">vehicle.form</field> + <field name="model">vehicle.vehicle</field> + <field name="type">form</field> + <field name="arch" type="xml"> + <form string="Vehicle" version="7.0"> + <header></header> + <sheet> + <div class="oe_right oe_button_box"> + <button string="Services Entry" + name="%(act_vehicle_service_log)d" + type="action"/> + <button string="Fule Entry" + name="%(act_vehicle_fuel_log)d" + type="action" + /> + </div> + <div class="oe_title"> + <label for="plate" class="oe_edit_only"/> + <h1> + <field name="plate"/> + </h1> + </div> + <group name="vehicle_info"> + <group> + <field name="date_start" /> + <field name="model_id" /> + <field name="chassis_number" /> + </group> + <group> + <field name="value" /> + <field name="driver_id"/> + <field name="status_id"/> + </group> + + </group> + <notebook> + <page string="Information"> + <group name="other_info"> + <group name="ins_info" string="Insurance Information"> + <field name="insurance_partner_id" /> + <field name="insurance_num" /> + <field name="insurance_date_stop" /> + </group> + <group name="leasing_info" string="Leasing Information"> + <field name="is_leasing" /> + <field name="partner_id" attrs="{'invisible':[('is_leasing','=',False)]}" /> + <field name="leasing_value" attrs="{'invisible':[('is_leasing','=',False)]}" /> + <field name="leasing_contract" attrs="{'invisible':[('is_leasing','=',False)]}" /> + <field name="leasing_date_stop" attrs="{'invisible':[('is_leasing','=',False)]}" /> + </group> + </group> + <field name="note" placeholder="Other Information ..." /> + </page> + <page string="Driver Logs"> + <field name="odometer_log_ids"> + <tree editable="top" string="Logs"> + <field name="date" /> + <field name="value" /> + <field name="inv_ref" /> + <field name="notes"/> + </tree> + </field> + </page> + <page string="Service Logs"> + <field name="services_log_ids"> + <tree > + <field name="amount" /> + <field name="reference"/> + <field name="service_ids"/> + </tree> + </field> + </page> + <page string="Fual Logs"> + <field name="fuel_log_ids"> + <tree> + <field name="ltr" /> + <field name="price_per_ltr" /> + <field name="reference"/> + </tree> + </field> + </page> + </notebook> + </sheet> + </form> + </field> + </record> + <!-- Car List View --> + <record model="ir.ui.view" id="view_vehicle_list"> + <field name="name">vehicle.list</field> + <field name="model">vehicle.vehicle</field> + <field name="type">tree</field> + <field name="arch" type="xml"> + <tree string="Vehicle List"> + <field name="plate" /> + <field name="date_start" /> + <field name="model_id" /> + <field name="driver_id"/> + <field name="is_leasing" /> + <field name="partner_id" /> + <field name="insurance_partner_id" /> + </tree> + </field> + </record> + + <!-- Vehicle Search View --> + <record id="view_vehicle_search" model="ir.ui.view"> + <field name="name">vehicle</field> + <field name="model">vehicle.vehicle</field> + <field name="type">search</field> + <field name="arch" type="xml"> + <search string="Search Vehicles"> + <group> + <field name="plate" /> + <field name="model_id" /> + <field name="driver_id"/> + <field name="partner_id" /> + <field name="insurance_partner_id" /> + <field name="chassis_number" /> + <field name="leasing_contract" /> + <field name="insurance_num" /> + </group> + <newline/> + <group expand="0" string="Group By..."> + <filter string="Model" icon="terp-personal" domain="[]" context="{'group_by':'model_id'}" /> + <separator /> + <filter string="Leased Vehicle" icon="terp-personal" domain="[('is_leasing','=',True)]" /> + <filter string="Owned Vehicle" icon="terp-personal" domain="[('is_leasing','=',False)]" /> + <separator /> + <filter string="No Driver" icon="terp-personal" /> + <separator /> + <filter string="Leasing Company" + icon="terp-personal" + domain="[('is_leasing','=',True)]" + context="{'group_by':'partner_id'}" + /> + <filter string="Insurance Company" + icon="terp-personal" + domain="[]" + context="{'group_by':'insurance_partner_id'}" + /> + <separator /> + <filter string="My vehicle" icon="terp-personal" /> + </group> + </search> + </field> + </record> + + <!-- Vehicle Action Menu --> + <record model="ir.actions.act_window" id="action_vehicle"> + <field name="name">vehicle</field> + <field name="res_model">vehicle.vehicle</field> + <field name="view_type">form</field> + <field name="view_mode">tree,form</field> + </record> + + <menuitem name="Vehicle" id="menu_vehicle_main" parent="menu_vehicle"/> + <menuitem action="action_vehicle" name="Vehicle" id="menu_vehicle_action" parent="menu_vehicle_main" sequence="1"/> + <!-- New Vehicle Model Form --> + <record model="ir.ui.view" id="view_vehicle_model_form"> + <field name="name">vehicle.model.form</field> + <field name="model">vehicle.model</field> + <field name="type">form</field> + <field name="arch" type="xml"> + <form string="Vehicle Model" version="7.0"> + <header></header> + <sheet> + <group> + <group> + <field name="brand" /> + <field name="model" /> + <field name="horsepower_tax" /> + </group> + <group> + <field name="co2" /> + <field name="engine_capacity" /> + <field name="fuel_type" /> + </group> + </group> + </sheet> + </form> + </field> + </record> + + <!-- Vehicle Model List --> + <record model="ir.ui.view" id="view_vehicle_model_list"> + <field name="name">vehicle.model.list</field> + <field name="model">vehicle.model</field> + <field name="type">tree</field> + <field name="arch" type="xml"> + <tree string="vehicle model List"> + <field name="brand" /> + <field name="model" /> + <field name="horsepower_tax" /> + <field name="co2" /> + <field name="engine_capacity" /> + <field name="fuel_type" /> + </tree> + </field> + </record> + + <!-- Vehicle Model Search View --> + <record id="view_vehicle_model_search" model="ir.ui.view"> + <field name="name">Model</field> + <field name="model">vehicle.model</field> + <field name="type">search</field> + <field name="arch" type="xml"> + <search string="Search Model"> + <group> + <field name="brand" /> + <field name="model" /> + <filter string="Economy" icon="terp-personal" domain="[('engine_capacity','<',1600)]" /> + <filter string="Compact" icon="terp-personal" domain="[('engine_capacity', '>=', '1600'),('engine_capacity','<','2000')]" /> + <filter string="Premium" icon="terp-personal" domain="[('engine_capacity', '>', '2000')]" /> + </group> + </search> + </field> + </record> + + <record model="ir.actions.act_window" id="action_vehicle_model"> + <field name="name">Vehicle Model</field> + <field name="res_model">vehicle.model</field> + <field name="view_type">form</field> + <field name="view_mode">tree,form</field> + </record> + + <menuitem name="Vehicle Model" parent="menu_vehicle" id="menu_vehicle_models"/> + <menuitem action="action_vehicle_model" name="Vehicle Model" parent="menu_vehicle_main" id="menu_vehicle_model" sequence="2"/> + + <!-- New Odometer Log Form View --> + <record id="view_odometer_log_form" model="ir.ui.view"> + <field name="name">odometer.log.form</field> + <field name="model">vehicle.odometer.log</field> + <field name="type">form</field> + <field name="arch" type="xml"> + <form string="Vehicle Info" version="7.0"> + <header></header> + <sheet> + <group> + <group> + <field name="vehicle_odometer_id" /> + <field name="value" required="1"/> + </group> + <group> + <field name="date" /> + <field name="inv_ref" /> + <!-- <field name="type" /> --> + <!-- <field name="element" attrs="{'invisible':[('type','=','revision')]}" /> --> + </group> + </group> + <div><field name="notes" attrs="{}" /></div> + </sheet> + </form> + </field> + </record> + + <!-- Odometer Log List View --> + <record id="view_odometer_log_list" model="ir.ui.view"> + <field name="name">odometer.log.list</field> + <field name="model">vehicle.odometer.log</field> + <field name="type">tree</field> + <field name="arch" type="xml"> + <tree string="Vehicle Log List"> + <field name="date" /> + <field name="vehicle_odometer_id" /> + <field name="value" /> + <field name="inv_ref" /> + </tree> + </field> + </record> + + <!-- Odometer Log Search View --> + <record id="view_odometer_log_search" model="ir.ui.view"> + <field name="name">Logs</field> + <field name="model">vehicle.odometer.log</field> + <field name="type">search</field> + <field name="arch" type="xml"> + <search string="Search Logs"> + <group> + <field name="vehicle_odometer_id" /> + <!-- <field name="type" /> --> + </group> + <group expand="0" string="Group By..."> + <filter string="Plate" icon="terp-personal" domain="[]" context="{'group_by':'vehicle_odometer_id'}" /> + <!-- <filter string="Action" icon="terp-personal" domain="[]" context="{'group_by':'type'}" /> --> + </group> + </search> + </field> + </record> + <record model="ir.actions.act_window" id="action_vehicle_odometer"> + <field name="name">Vehicle odometer</field> + <field name="res_model">vehicle.odometer.log</field> + <field name="view_type">form</field> + <field name="view_mode">tree,form</field> + </record> + <menuitem name=" Logs" id="menu_vehicle_log" parent="menu_vehicle"/> + <menuitem action="action_vehicle_odometer" name="Odometer Detail" parent="menu_vehicle_log" id="menu_vehicle_odometer_log" sequence="2"/> + + + <!-- New Service Entry Tree View --> + + <record id="view_service_log_tree" model="ir.ui.view"> + <field name="name">vehicle_service_log_tree</field> + <field name="model">vehicle.service.log</field> + <field name="type">tree</field> + <field name="arch" type="xml"> + <tree string="Vehicle Services Log"> + <field name="vehicle_service_id" /> + <field name="vendor_id" /> + <field name="amount" /> + <field name="reference" /> + </tree> + </field> + </record> + <record id="view_service_log_form" model="ir.ui.view"> + <field name="name">vehicle_service_log_form</field> + <field name="model">vehicle.service.log</field> + <field name="type">form</field> + <field name="arch" type="xml"> + <form string="Vehicle Services Log"> + <group> + <field name="vehicle_service_id" /> + <field name="service_ids" widget="many2many_tags"/> + </group> + <group> + <field name="vendor_id" /> + <field name="amount" /> + <field name="reference" /> + </group> + </form> + </field> + </record> + <record model="ir.actions.act_window" id="action_vehicle_service_log"> + <field name="name">Vehicle Service Log</field> + <field name="res_model">vehicle.service.log</field> + <field name="view_type">form</field> + <field name="view_mode">tree,form</field> + </record> + <menuitem action="action_vehicle_service_log" name="Vehicle Service Log" id="menu_vehicle_service_log_action" parent="menu_vehicle_log" sequence="1"/> + + <!-- New Fual Entry Tree View --> + + <record id="view_fual_log_tree" model="ir.ui.view"> + <field name="name">vehicle_fual_log_tree</field> + <field name="model">vehicle.fuel.log</field> + <field name="type">tree</field> + <field name="arch" type="xml"> + <tree string="Vehicle Fual log"> + <field name="vehicle_fuel_id" /> + <field name="ltr" /> + <field name="price_per_ltr" /> + <field name="reference" /> + </tree> + </field> + </record> + <record id="view_fual_log_form" model="ir.ui.view"> + <field name="name">vehicle_fual_log_form</field> + <field name="model">vehicle.fuel.log</field> + <field name="type">form</field> + <field name="arch" type="xml"> + <form string="Vehicle Fual Entry"> + <field name="vehicle_fuel_id" /> + <field name="ltr" /> + <field name="price_per_ltr" /> + <field name="reference" /> + </form> + </field> + </record> + <record model="ir.actions.act_window" id="action_vehicle_fual_log"> + <field name="name">Vehicle Fual Log</field> + <field name="res_model">vehicle.fuel.log</field> + <field name="view_type">form</field> + <field name="view_mode">tree,form</field> + </record> + <menuitem action="action_vehicle_fual_log" name="Vehicle Fual Log" id="menu_vehicle_fual_log_action" parent="menu_vehicle_log" sequence="1"/> + + <!-- Vehicle Service type --> + <record id="view_vehicle_service_type_tree" model="ir.ui.view"> + <field name="name">vehicle_service_type_tree</field> + <field name="model">vehicle.service.type</field> + <field name="type">tree</field> + <field name="arch" type="xml"> + <tree string="Vehicle Service Type"> + <field name="name" /> + </tree> + </field> + </record> + <record model="ir.actions.act_window" id="action_vehicle_service_type"> + <field name="name">Vehicle Service Type</field> + <field name="res_model">vehicle.service.type</field> + <field name="view_type">form</field> + <field name="view_mode">tree,form</field> + </record> + <menuitem name="Configuration" id="menu_vehicle_config" parent="menu_vehicle"/> + <menuitem action="action_vehicle_service_type" name="Vehicle Service Type" id="menu_vehicle_service_type_action" parent="menu_vehicle_config" sequence="1"/> + <!-- New Vehicle status Tree View --> + <record id="view_vehicle_status_tree" model="ir.ui.view"> + <field name="name">vehicle_status_tree</field> + <field name="model">vehicle.status</field> + <field name="type">tree</field> + <field name="arch" type="xml"> + <tree string="Vehicle Status"> + <field name="name" /> + </tree> + </field> + </record> + <record model="ir.actions.act_window" id="action_vehicle_status"> + <field name="name">Vehicle Status</field> + <field name="res_model">vehicle.status</field> + <field name="view_type">form</field> + <field name="view_mode">tree,form</field> + </record> + <menuitem action="action_vehicle_status" name="Vehicle Status" id="menu_vehicle_status_action" parent="menu_vehicle_config" sequence="1"/> + </data> +</openerp> === removed directory 'hr_car' === removed file 'hr_car/__init__.py' --- hr_car/__init__.py 2012-07-19 13:43:23 +0000 +++ hr_car/__init__.py 1970-01-01 00:00:00 +0000 @@ -1,22 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. -# -############################################################################## - -import hr_car \ No newline at end of file === removed file 'hr_car/__openerp__.py' --- hr_car/__openerp__.py 2012-08-31 12:20:00 +0000 +++ hr_car/__openerp__.py 1970-01-01 00:00:00 +0000 @@ -1,35 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. -# -############################################################################## - -{ - 'name' : 'Fleet', - 'version' : '0.1', - 'author' : 'Victor Tabuenca', - 'description' : 'Car fleet management module', - 'category' : '', - 'website' : 'http://www.openerp.com', - 'depends' : ['base'], - 'update_xml' : [ - 'hr_car_view.xml' - ], - 'demo_xml' : [], - 'active' : False, -} === removed file 'hr_car/hr_car.py' --- hr_car/hr_car.py 2012-08-31 12:20:00 +0000 +++ hr_car/hr_car.py 1970-01-01 00:00:00 +0000 @@ -1,114 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. -# -############################################################################## - -from osv import osv -from osv import fields - - -class hr_car_model(osv.osv): - - """Class defining the model of a car.""" - - def _get_name(self, cr, uid, ids, name, arg, context=None): - - """Returns a dict containing the name of the model of each car.""" - - res = {} - for car in self.read(cr, uid, ids, ['brand', 'model'], context=context): - res[car['id']] = car['brand'] + ' ' + car['model'] - return res - - _name = 'hr.car.model' - - _columns = { - 'brand' : fields.char('Brand', size=64, required=True), - 'model' : fields.char('Model', size=64, required=True), - 'horsepower_tax' : fields.float('Horsepower Taxation'), - 'co2' : fields.float('CO2 Emissions'), - 'engine_capacity' : fields.integer('Engine Capacity in cm3'), - 'fuel_type' : fields.selection([('gasoline', 'Gasoline'),('diesel','Diesel'),('electric','Electric'),('hybrid','Hybrid')], 'Fuel Type', help='Fuel Used by the Car'), - 'name' : fields.function(_get_name, type='char', string='Name', size=128), - } - - # TODO: add _sql_constraints and other stuff - -hr_car_model() # Instantiate the class - - -class hr_car(osv.osv): - - """Class defining a car""" - - _name = 'hr.car' - - _rec_name = 'plate' - - _columns = { - 'plate' : fields.char('Plate Number', size=16, required=True), - 'date_start' : fields.date('Start Date'), - 'note' : fields.text('Notes', translate=False), - 'model_id' : fields.many2one('hr.car.model', 'Model', ondelete='restrict'), - 'km' : fields.related('log_ids', 'km', type='integer', string='Actual Km', readonly=True), - 'chassis_number' : fields.char('Chassis Number', size=64, required=True), - 'partner_id' : fields.many2one('res.partner', 'Leasing Company', ondelete='restrict'), - 'is_leasing' : fields.boolean('Has a Leasing Contract'), - 'leasing_value' : fields.float('Leasing Value'), - 'leasing_date_stop' : fields.date('End Date of the Leasing Contract'), - 'leasing_contract' : fields.char('Leasing Contract Number', size=32), - 'insurance_num' : fields.char('Insurance Number', size=64), - 'insurance_date_stop' : fields.date('End Date of the Insurance'), - 'insurance_partner_id' : fields.many2one('res.partner', 'Insurance Company', ondelete='restrict'), - 'log_ids' : fields.one2many('hr.car.log', 'car_id'), - 'driver_id' : fields.many2one('res.partner', 'Driver'), - } - - _sql_constraints = [ - ('plate', 'unique(plate)', 'The plate of the car must be unique') - ] - -hr_car() - - -class hr_car_log(osv.osv): - - """Class to store data related to revisions and repairs issued on the car.""" - - _name = 'hr.car.log' - _order = 'date desc' - -# def _get_employee_id(self, cr, uid, context=None): -# import pdb;pdb.set_trace() -# if context is None: -# context = {} -# return context.get('current_driver', False) - - _columns = { - 'date' : fields.date('Date'), - 'km' : fields.integer('Actual Km'), - 'notes' : fields.text('Notes'), - 'car_id' : fields.many2one('hr.car', 'Car', ondelete='restrict'), - } - - _defaults = { - 'date': fields.date.context_today, -# 'employee_id': _get_employee_id, - } -hr_car_log() === removed file 'hr_car/hr_car_view.xml' --- hr_car/hr_car_view.xml 2012-08-31 12:34:21 +0000 +++ hr_car/hr_car_view.xml 1970-01-01 00:00:00 +0000 @@ -1,269 +0,0 @@ -<?xml version="1.0"?> -<openerp> - <data> - - <menuitem id="menu_hr_car" name="Fleet" sequence="100" /> - - <!-- New Car Form View --> - <record model="ir.ui.view" id="view_hr_car_form"> - <field name="name">hr.car.form</field> - <field name="model">hr.car</field> - <field name="type">form</field> - <field name="arch" type="xml"> - <form string="Car" version="7.0"> - <header></header> - <sheet> - <div class="oe_title"> - <label for="plate" class="oe_edit_only"/> - <h1> - <field name="plate"/> - </h1> - </div> - <group name="car_info"> - <group> - <field name="date_start" /> - <field name="model_id" /> - <field name="chassis_number" /> - </group> - <group> - <field name="km" /> - <field name="driver_id"/> - </group> - </group> - <notebook> - <page string="Information"> - <group name="other_info"> - <group name="ins_info" string="Insurance Information"> - <field name="insurance_partner_id" /> - <field name="insurance_num" /> - <field name="insurance_date_stop" /> - </group> - <group name="leasing_info" string="Leasing Information"> - <field name="is_leasing" /> - <field name="partner_id" attrs="{'invisible':[('is_leasing','=',False)]}" /> - <field name="leasing_value" attrs="{'invisible':[('is_leasing','=',False)]}" /> - <field name="leasing_contract" attrs="{'invisible':[('is_leasing','=',False)]}" /> - <field name="leasing_date_stop" attrs="{'invisible':[('is_leasing','=',False)]}" /> - </group> - </group> - <field name="note" placeholder="Other Information ..." /> - </page> - <page string="Driver Logs"> - <field name="log_ids"> - <tree editable="top" string="Logs"> - <field name="date" /> - <field name="km" /> - <field name="notes"/> - </tree> - </field> - </page> - </notebook> - </sheet> - </form> - </field> - </record> - - <!-- Car List View --> - <record model="ir.ui.view" id="view_hr_car_list"> - <field name="name">hr.car.list</field> - <field name="model">hr.car</field> - <field name="type">tree</field> - <field name="arch" type="xml"> - <tree string="Car List"> - <field name="plate" /> - <field name="date_start" /> - <field name="model_id" /> - <field name="driver_id"/> - <field name="is_leasing" /> - <field name="partner_id" /> - <field name="insurance_partner_id" /> - </tree> - </field> - </record> - - <!-- Car Search View --> - <record id="view_hr_car_search" model="ir.ui.view"> - <field name="name">Cars</field> - <field name="model">hr.car</field> - <field name="type">search</field> - <field name="arch" type="xml"> - <search string="Search Cars"> - <group> - <field name="plate" /> - <field name="model_id" /> - <field name="driver_id"/> - <field name="partner_id" /> - <field name="insurance_partner_id" /> - <field name="chassis_number" /> - <field name="leasing_contract" /> - <field name="insurance_num" /> - </group> - <newline/> - <group expand="0" string="Group By..."> - <filter string="Model" icon="terp-personal" domain="[]" context="{'group_by':'model_id'}" /> - <separator /> - <filter string="Leased Cars" icon="terp-personal" domain="[('is_leasing','=',True)]" /> - <filter string="Owned Cars" icon="terp-personal" domain="[('is_leasing','=',False)]" /> - <separator /> - <filter string="No Driver" icon="terp-personal" /> - <separator /> - <filter string="Leasing Company" - icon="terp-personal" - domain="[('is_leasing','=',True)]" - context="{'group_by':'partner_id'}" - /> - <filter string="Insurance Company" - icon="terp-personal" - domain="[]" - context="{'group_by':'insurance_partner_id'}" - /> - <separator /> - <filter string="My Car" icon="terp-personal" /> - </group> - </search> - </field> - </record> - - <!-- Car Action Menu --> - <record model="ir.actions.act_window" id="action_hr_car"> - <field name="name">Car</field> - <field name="res_model">hr.car</field> - <field name="view_type">form</field> - <field name="view_mode">tree,form</field> - </record> - - <menuitem name="Cars" id="menu_hr_cars" parent="menu_hr_car"/> - <menuitem action="action_hr_car" name="Cars" id="menu_cars" parent="menu_hr_cars" sequence="1"/> - <!-- New Car Model Form --> - <record model="ir.ui.view" id="view_hr_car_model_form"> - <field name="name">hr.car.model.form</field> - <field name="model">hr.car.model</field> - <field name="type">form</field> - <field name="arch" type="xml"> - <form string="Car Model" version="7.0"> - <header></header> - <sheet> - <group> - <group> - <field name="brand" /> - <field name="model" /> - <field name="horsepower_tax" /> - </group> - <group> - <field name="co2" /> - <field name="engine_capacity" /> - <field name="fuel_type" /> - </group> - </group> - </sheet> - </form> - </field> - </record> - - <!-- Car Model List --> - <record model="ir.ui.view" id="view_hr_car_model_list"> - <field name="name">hr.car.model.list</field> - <field name="model">hr.car.model</field> - <field name="type">tree</field> - <field name="arch" type="xml"> - <tree string="Car Model List"> - <field name="brand" /> - <field name="model" /> - <field name="horsepower_tax" /> - <field name="co2" /> - <field name="engine_capacity" /> - <field name="fuel_type" /> - </tree> - </field> - </record> - - <!-- Car Model Search View --> - <record id="view_hr_car_model_search" model="ir.ui.view"> - <field name="name">Models</field> - <field name="model">hr.car.model</field> - <field name="type">search</field> - <field name="arch" type="xml"> - <search string="Search Models"> - <group> - <field name="brand" /> - <field name="model" /> - <filter string="Economy" icon="terp-personal" domain="[('engine_capacity','<',1600)]" /> - <filter string="Compact" icon="terp-personal" domain="[('engine_capacity', '>=', '1600'),('engine_capacity','<','2000')]" /> - <filter string="Premium" icon="terp-personal" domain="[('engine_capacity', '>', '2000')]" /> - </group> - </search> - </field> - </record> - - <record model="ir.actions.act_window" id="action_hr_car_model"> - <field name="name">Car Model</field> - <field name="res_model">hr.car.model</field> - <field name="view_type">form</field> - <field name="view_mode">tree,form</field> - </record> - - <menuitem name="Models" parent="menu_hr_car" id="menu_hr_car_models"/> - <menuitem action="action_hr_car_model" name="Models" parent="menu_hr_car_models" id="menu_car_models" sequence="2"/> - - <!-- New Car Log Form View --> - <record id="view_hr_car_log_form" model="ir.ui.view"> - <field name="name">hr.car.log.form</field> - <field name="model">hr.car.log</field> - <field name="type">form</field> - <field name="arch" type="xml"> - <form string="Car Info" version="7.0"> - <header></header> - <sheet> - <group> - <group> - <field name="car_id" /> - </group> - <group> - <field name="date" /> - <field name="km" /> - <!-- <field name="type" /> --> - <!-- <field name="element" attrs="{'invisible':[('type','=','revision')]}" /> --> - </group> - </group> - <div><field name="notes" attrs="{}" /></div> - </sheet> - </form> - </field> - </record> - - <!-- Car Log List View --> - <record id="view_hr_car_log_list" model="ir.ui.view"> - <field name="name">hr.car.log.list</field> - <field name="model">hr.car.log</field> - <field name="type">tree</field> - <field name="arch" type="xml"> - <tree string="Car Log List"> - <field name="date" /> - <field name="car_id" /> - <field name="km" /> - <!-- <field name="type" /> --> - </tree> - </field> - </record> - - <!-- Car Log Search View --> - <record id="view_hr_car_log_search" model="ir.ui.view"> - <field name="name">Logs</field> - <field name="model">hr.car.log</field> - <field name="type">search</field> - <field name="arch" type="xml"> - <search string="Search Logs"> - <group> - <field name="car_id" /> - <!-- <field name="type" /> --> - </group> - <group expand="0" string="Group By..."> - <filter string="Plate" icon="terp-personal" domain="[]" context="{'group_by':'car_id'}" /> - <!-- <filter string="Action" icon="terp-personal" domain="[]" context="{'group_by':'type'}" /> --> - </group> - </search> - </field> - </record> - - </data> -</openerp> === removed directory 'hr_car/i18n'
_______________________________________________ Mailing list: https://launchpad.net/~openerp-dev-gtk Post to : [email protected] Unsubscribe : https://launchpad.net/~openerp-dev-gtk More help : https://help.launchpad.net/ListHelp

