[ADD]cost get_name fnc + cost form view + date now herited from costs
authorDenis Ledoux dle@openerp.com <>
Thu, 4 Oct 2012 15:07:01 +0000 (17:07 +0200)
committerDenis Ledoux dle@openerp.com <>
Thu, 4 Oct 2012 15:07:01 +0000 (17:07 +0200)
bzr revid: dle@openerp.com-20121004150701-l5gyh8pp10z9ycbv

addons/fleet/fleet.py
addons/fleet/fleet_view.xml

index 10435f5..f444643 100644 (file)
@@ -15,11 +15,37 @@ from import_base.mapper import *
 class fleet_vehicle_cost(osv.Model):
     _name = 'fleet.vehicle.cost'
     _description = 'Cost of vehicle'
+    _order = 'date desc, vehicle_id asc'
+
+    def name_get(self, cr, uid, ids, context=None):
+        if context is None:
+            context = {}
+        if not ids:
+            return []
+        reads = self.browse(cr, uid, ids, context=context)
+        res = []
+        for record in reads:
+            if record.vehicle_id.license_plate:
+                name = record.vehicle_id.license_plate
+            if record.cost_type.name:
+                name = name + ' / '+ record.cost_type.name
+            if record.date:
+                name = name + ' / '+ record.date
+            res.append((record.id, name))
+        return res
+
+    def _cost_name_get_fnc(self, cr, uid, ids, name, unknow_none, context=None):
+        res = self.name_get(cr, uid, ids, context=context)
+        return dict(res)
+
     _columns = {
+        'name' : fields.function(_cost_name_get_fnc, type="char", string='Name', store=True),
+
         'vehicle_id': fields.many2one('fleet.vehicle', 'Vehicle', required=True, help='Vehicle concerned by this fuel log'),
         'cost_type': fields.many2one('fleet.service.type', 'Service type', required=False, help='Service type purchased with this cost'),
         'amount': fields.float('Total Price'),
         'parent_id': fields.many2one('fleet.vehicle.cost', 'Parent', required=False, help='Parent cost to this current cost'),
+        'date' :fields.date('Cost Date',help='Date when the cost has been executed'),
     }
     def create(self, cr, uid, data, context=None):
         if 'parent_id' in data:
@@ -559,7 +585,6 @@ class fleet_vehicle_log_fuel(osv.Model):
 
     _columns = {
         #'name' : fields.char('Name',size=64),
-        'date' :fields.date('Refueling Date',help='Date when the refueling has been performed'),
         'liter' : fields.float('Liter'),
         'price_per_liter' : fields.float('Price Per Liter'),
         'purchaser_id' : fields.many2one('res.partner', 'Purchaser',domain="['|',('customer','=',True),('employee','=',True)]"),
@@ -631,7 +656,6 @@ class fleet_vehicle_log_services(osv.Model):
 
         #'name' : fields.char('Name',size=64),
 
-        'date' :fields.date('Service Date',help='Date when the service will be/has been performed'),
         'service_ids' : fields.one2many('fleet.vehicle.cost', 'parent_id', 'Services completed'),
         'purchaser_id' : fields.many2one('res.partner', 'Purchaser',domain="['|',('customer','=',True),('employee','=',True)]"),
         'inv_ref' : fields.char('Invoice Reference', size=64),
@@ -773,7 +797,6 @@ class fleet_vehicle_log_contract(osv.Model):
     _columns = {
         'name' : fields.function(_vehicle_contract_name_get_fnc, type="text", string='Name', store=True),
         #'name' : fields.char('Name',size=64),
-        'date' :fields.date('Contract Date',help='Date when the contract has been signed'),
 
         'cost_type': fields.many2one('fleet.service.type', 'Service type', required=False, help='Service type purchased with this cost', domain="[('category','=','contract')]"),
 
index 8e8186e..73375d0 100644 (file)
                     <field name="vehicle_id" />
                     <field name="cost_type"/>
                     <field name="amount"/>
+                    <field name="date"/>
                     <field name="parent_id"/>
                 </tree>
             </field>
         </record>
 
+        <record model='ir.ui.view' id='fleet_vehicle_costs_form'>
+            <field name="name">fleet.vehicle.cost.form</field>
+            <field name="model">fleet.vehicle.cost</field>
+            <field name="arch" type="xml">
+                <form string="Vehicle costs" version="7.0">
+                    <sheet>
+                        <group col="2" string="Cost Details">
+                            <group>
+                                <field name="vehicle_id" />
+                                <field name="cost_type"/>
+                                <field name="amount"/>
+                            </group>
+                            <group>
+                                <field name="date"/>
+                                <field name="parent_id"/>
+                            </group>
+                        </group>
+                    </sheet>
+                </form>
+            </field>
+        </record>
+
         <record model='ir.actions.act_window' id='fleet_vehicle_costs_act'>
             <field name="name">Vehicle Costs</field>
             <field name="res_model">fleet.vehicle.cost</field>