[MERGE] delivery: cleanup yml
bzr revid: hmo@tinyerp.com-20120105171315-u4j0x1ftc2426g1l
This commit is contained in:
commit
24664a21a1
|
@ -44,7 +44,9 @@ When creating invoices from picking, OpenERP is able to add and compute the ship
|
|||
'partner_view.xml'
|
||||
],
|
||||
'demo_xml': ['delivery_demo.xml'],
|
||||
'test':['test/delivery_report.yml'],
|
||||
'test': [
|
||||
'test/delivery_cost.yml',
|
||||
],
|
||||
'installable': True,
|
||||
'active': False,
|
||||
'certificate': '0033981912253',
|
||||
|
|
|
@ -125,8 +125,9 @@ class delivery_carrier(osv.osv):
|
|||
grid_line_pool.unlink(cr, uid, lines, context=context)
|
||||
|
||||
#create the grid lines
|
||||
default_data = None
|
||||
if record.free_if_more_than:
|
||||
data = {
|
||||
default_data = {
|
||||
'grid_id': grid_id and grid_id[0],
|
||||
'name': _('Free if more than %.2f') % record.amount,
|
||||
'type': 'price',
|
||||
|
@ -135,8 +136,6 @@ class delivery_carrier(osv.osv):
|
|||
'standard_price': 0.0,
|
||||
'list_price': 0.0,
|
||||
}
|
||||
grid_line_pool.create(cr, uid, data, context=context)
|
||||
|
||||
if record.normal_price:
|
||||
default_data = {
|
||||
'grid_id': grid_id and grid_id[0],
|
||||
|
@ -147,6 +146,7 @@ class delivery_carrier(osv.osv):
|
|||
'standard_price': record.normal_price,
|
||||
'list_price': record.normal_price,
|
||||
}
|
||||
if default_data:
|
||||
grid_line_pool.create(cr, uid, default_data, context=context)
|
||||
return True
|
||||
|
||||
|
|
|
@ -6,20 +6,19 @@
|
|||
|
||||
<record id="delivery_partner" model="res.partner">
|
||||
<field name="name">The Poste</field>
|
||||
<field name="address" eval="[]"/>
|
||||
</record>
|
||||
<record id="delivery_partner_address" model="res.partner.address">
|
||||
<field name="type">default</field>
|
||||
<field name="partner_id" ref="delivery_partner"/>
|
||||
</record>
|
||||
|
||||
<!-- Create a partner -->
|
||||
<!-- Create a service product -->
|
||||
|
||||
<record id="delivery_product" model="product.product">
|
||||
<field name="name">Delivery by Poste</field>
|
||||
<field name="default_code">Delivery</field>
|
||||
<field name="type">service</field>
|
||||
<field model="product.category" name="categ_id" search="[]"/>
|
||||
<field name="categ_id" ref="product.product_category_services"/>
|
||||
</record>
|
||||
|
||||
<!-- Carrier -->
|
||||
|
@ -30,12 +29,34 @@
|
|||
<field name="product_id" ref="delivery_product"/>
|
||||
</record>
|
||||
|
||||
<record id="free_delivery_carrier" model="delivery.carrier">
|
||||
<field name="name">Free delivery charges</field>
|
||||
<field name="free_if_more_than">True</field>
|
||||
<field name="amount">1000</field>
|
||||
<field name="partner_id" ref="delivery_partner"/>
|
||||
<field name="product_id" ref="delivery_product"/>
|
||||
</record>
|
||||
|
||||
<record id="normal_delivery_carrier" model="delivery.carrier">
|
||||
<field name="name">normal delivery charges</field>
|
||||
<field name="normal_price">10</field>
|
||||
<field name="partner_id" ref="delivery_partner"/>
|
||||
<field name="product_id" ref="delivery_product"/>
|
||||
</record>
|
||||
<record id="sale.order" model="sale.order">
|
||||
<field name="carrier_id" ref="normal_delivery_carrier"/>
|
||||
</record>
|
||||
<record id="sale.order2" model="sale.order">
|
||||
<field name="carrier_id" ref="free_delivery_carrier"/>
|
||||
</record>
|
||||
|
||||
<!-- Carrier Grids -->
|
||||
|
||||
<record id="delivery_grid" model="delivery.grid">
|
||||
<field name="name">The Poste - Pricelist</field>
|
||||
<field name="carrier_id" ref="delivery_carrier"/>
|
||||
</record>
|
||||
<!-- delivery charge of product if weight less than and equal 5kg-->
|
||||
<record id="delivery_grid_line1" model="delivery.grid.line">
|
||||
<field name="name">Weight <= 5kg</field>
|
||||
<field name="grid_id" ref="delivery_grid"/>
|
||||
|
@ -43,6 +64,7 @@
|
|||
<field eval="20" name="list_price"/>
|
||||
<field eval="10" name="standard_price"/>
|
||||
</record>
|
||||
<!-- delivery charge of product if weight more than 5kg-->
|
||||
<record id="delivery_grid_line2" model="delivery.grid.line">
|
||||
<field name="name">Weight > 5kg</field>
|
||||
<field name="grid_id" ref="delivery_grid"/>
|
||||
|
@ -52,6 +74,7 @@
|
|||
<field eval="30" name="standard_price"/>
|
||||
</record>
|
||||
|
||||
<!-- free delivery charge if price more than 300-->
|
||||
<record id="delivery_grid_line3" model="delivery.grid.line">
|
||||
<field name="name">Free if price >= 300</field>
|
||||
<field name="grid_id" ref="delivery_grid"/>
|
||||
|
@ -59,7 +82,7 @@
|
|||
<field name="operator">>=</field>
|
||||
<field name="type">price</field>
|
||||
<field eval="0" name="list_price"/>
|
||||
<field eval="20" name="standard_price"/>
|
||||
<field eval="0" name="standard_price"/>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -0,0 +1,75 @@
|
|||
-
|
||||
In order to test Carrier Cost,
|
||||
-
|
||||
I add delivery cost in Sale order.
|
||||
-
|
||||
!python {model: delivery.sale.order}: |
|
||||
context.update({'active_ids': [ref("sale.order")]})
|
||||
-
|
||||
!record {model: delivery.sale.order, id: sale_delivery_carrier}:
|
||||
{}
|
||||
-
|
||||
!python {model: delivery.sale.order}: |
|
||||
self.delivery_set(cr, uid, [ref('sale_delivery_carrier')], context=context)
|
||||
-
|
||||
I check sale order after added delivery cost.
|
||||
-
|
||||
!python {model: sale.order.line}: |
|
||||
line_ids = self.search(cr, uid, [('order_id','=', ref('sale.order')), ('product_id','=', ref('delivery_product'))])
|
||||
assert len(line_ids), "Delivery cost is not Added"
|
||||
line_data = self.browse(cr ,uid ,line_ids[0] ,context)
|
||||
assert line_data.price_subtotal == 10, "Delivey cost is not correspond."
|
||||
-
|
||||
I confirm the sale order.
|
||||
-
|
||||
!workflow {model: sale.order, action: order_confirm, ref: sale.order}
|
||||
-
|
||||
I create Invoice from shipment.
|
||||
-
|
||||
!python {model: stock.invoice.onshipping}: |
|
||||
sale = self.pool.get('sale.order')
|
||||
sale_order = sale.browse(cr, uid, ref("sale.order"))
|
||||
ship_ids = [x.id for x in sale_order.picking_ids]
|
||||
wiz_id = self.create(cr, uid, {'journal_id': ref('account.sales_journal')},
|
||||
{'active_ids': ship_ids, 'active_model': 'stock.picking'})
|
||||
self.create_invoice(cr, uid, [wiz_id], {"active_ids": ship_ids, "active_id": ship_ids[0]})
|
||||
-
|
||||
I print a Delivery Order report.
|
||||
-
|
||||
!python {model: stock.picking}: |
|
||||
import netsvc, tools, os
|
||||
sale = self.pool.get('sale.order')
|
||||
sale_order = sale.browse(cr, uid, ref("sale.order"))
|
||||
ship_ids = [x.id for x in sale_order.picking_ids]
|
||||
(data, format) = netsvc.LocalService('report.sale.shipping').create(cr, uid, ship_ids, {}, {})
|
||||
if tools.config['test_report_directory']:
|
||||
file(os.path.join(tools.config['test_report_directory'], 'delivery-shipping'+format), 'wb+').write(data)
|
||||
-
|
||||
I add free delivery cost in Sale order.
|
||||
-
|
||||
!python {model: delivery.sale.order}: |
|
||||
context.update({'active_ids': [ref("sale.order2")]})
|
||||
-
|
||||
!record {model: delivery.sale.order, id: sale_delivery_carrier}:
|
||||
{}
|
||||
-
|
||||
!python {model: delivery.sale.order}: |
|
||||
self.delivery_set(cr, uid, [ref('sale_delivery_carrier')], context=context)
|
||||
-
|
||||
I check sale order after added delivery cost.
|
||||
-
|
||||
!python {model: sale.order.line}: |
|
||||
line_ids = self.search(cr, uid, [('order_id','=', ref('sale.order2')), ('product_id','=', ref('delivery_product'))])
|
||||
assert len(line_ids), "Delivery cost is not Added"
|
||||
line_data = self.browse(cr ,uid ,line_ids[0] ,context)
|
||||
assert line_data.price_subtotal == 0, "Delivey cost is not correspond."
|
||||
|
||||
-
|
||||
I set default delivery policy.
|
||||
-
|
||||
!record {model: delivery.define.delivery.steps.wizard, id: default_delivery_policy}:
|
||||
{}
|
||||
-
|
||||
!python {model: delivery.define.delivery.steps.wizard}: |
|
||||
self.apply_cb(cr, uid, [ref('default_delivery_policy')], context=context)
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
|
||||
-
|
||||
|
||||
In Order to test the delivery report I create picking with move lines.
|
||||
-
|
||||
!record {model: stock.picking, id: stock_picking_delivery}:
|
||||
name: test_picking
|
||||
origin: SO001
|
||||
address_id: base.res_partner_address_4
|
||||
company_id: base.main_company
|
||||
date: !eval time.strftime('%Y-%m-%d %H:%M:%S')
|
||||
invoice_state: none
|
||||
move_lines:
|
||||
- company_id: base.main_company
|
||||
date: !eval time.strftime('%Y-%m-%d %H:%M:%S')
|
||||
location_dest_id: stock.stock_location_customers
|
||||
location_id: stock.stock_location_stock
|
||||
name: HP CD writers
|
||||
product_id: product.product_product_pc1
|
||||
product_qty: 3.0
|
||||
product_uom: product.product_uom_unit
|
||||
date: !eval time.strftime('%Y-%m-%d %H:%M:%S')
|
||||
product_uos_qty: 3.0
|
||||
move_type: direct
|
||||
type: out
|
||||
|
||||
|
||||
|
||||
-
|
||||
In order to test the PDF reports defined on a Delievry, we will print a Delivery Order report
|
||||
-
|
||||
!python {model: stock.picking}: |
|
||||
import netsvc, tools, os
|
||||
(data, format) = netsvc.LocalService('report.sale.shipping').create(cr, uid, [ref('stock_picking_delivery')], {}, {})
|
||||
if tools.config['test_report_directory']:
|
||||
file(os.path.join(tools.config['test_report_directory'], 'delievry-shipping'+format), 'wb+').write(data)
|
|
@ -34,18 +34,6 @@ class make_delivery(osv.osv_memory):
|
|||
|
||||
|
||||
def default_get(self, cr, uid, fields, context=None):
|
||||
"""
|
||||
To get default values for the object.
|
||||
|
||||
@param self: The object pointer.
|
||||
@param cr: A database cursor
|
||||
@param uid: ID of the user currently logged in
|
||||
@param fields: List of fields for which we want default values
|
||||
@param context: A standard dictionary
|
||||
|
||||
@return: A dictionary which of fields with values.
|
||||
|
||||
"""
|
||||
res = super(make_delivery, self).default_get(cr, uid, fields, context=context)
|
||||
order_obj = self.pool.get('sale.order')
|
||||
for order in order_obj.browse(cr, uid, context.get('active_ids', []), context=context):
|
||||
|
@ -66,18 +54,6 @@ class make_delivery(osv.osv_memory):
|
|||
pass
|
||||
|
||||
def delivery_set(self, cr, uid, ids, context=None):
|
||||
"""
|
||||
Adds delivery costs to Sale Order Line.
|
||||
|
||||
@param self: The object pointer.
|
||||
@param cr: A database cursor
|
||||
@param uid: ID of the user currently logged in
|
||||
@param ids: List of IDs selected
|
||||
@param context: A standard dictionary
|
||||
|
||||
@return:
|
||||
|
||||
"""
|
||||
if context is None:
|
||||
context = {}
|
||||
rec_ids = context and context.get('active_ids',[])
|
||||
|
|
Loading…
Reference in New Issue