Harry (OpenERP) has proposed merging 
lp:~openerp-dev/openobject-addons/trunk-clean-yml-delivery-hmo into 
lp:openobject-addons.

Requested reviews:
  OpenERP Core Team (openerp)

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-clean-yml-delivery-hmo/+merge/87661

clean yml
========== 
[IMP]
delivery_demo.xml: added new delivery carrier for free delivery and normal 
delivery cost
delivery_cost.yml: test to add delivery cost line in sale order.

[REM]
delivery_report.yml: put it into delivery_cost.yml

Thanks
-- 
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-clean-yml-delivery-hmo/+merge/87661
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openobject-addons/trunk-clean-yml-delivery-hmo.
=== modified file 'delivery/__openerp__.py'
--- delivery/__openerp__.py	2011-10-11 20:05:49 +0000
+++ delivery/__openerp__.py	2012-01-05 17:29:33 +0000
@@ -44,7 +44,9 @@
         'partner_view.xml'
     ],
     'demo_xml': ['delivery_demo.xml'],
-    'test':['test/delivery_report.yml'],
+    'test': [
+        'test/delivery_cost.yml',
+    ],
     'installable': True,
     'active': False,
     'certificate': '0033981912253',

=== modified file 'delivery/delivery.py'
--- delivery/delivery.py	2012-01-02 11:05:56 +0000
+++ delivery/delivery.py	2012-01-05 17:29:33 +0000
@@ -125,8 +125,9 @@
                 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 @@
                     '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 @@
                     '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
 

=== modified file 'delivery/delivery_demo.xml'
--- delivery/delivery_demo.xml	2011-08-18 11:55:20 +0000
+++ delivery/delivery_demo.xml	2012-01-05 17:29:33 +0000
@@ -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 &lt;= 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 &gt; 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 &gt;= 300</field>
             <field name="grid_id" ref="delivery_grid"/>
@@ -59,7 +82,7 @@
             <field name="operator">&gt;=</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>

=== added file 'delivery/test/delivery_cost.yml'
--- delivery/test/delivery_cost.yml	1970-01-01 00:00:00 +0000
+++ delivery/test/delivery_cost.yml	2012-01-05 17:29:33 +0000
@@ -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)
+

=== removed file 'delivery/test/delivery_report.yml'
--- delivery/test/delivery_report.yml	2011-01-14 00:11:01 +0000
+++ delivery/test/delivery_report.yml	1970-01-01 00:00:00 +0000
@@ -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)

=== modified file 'delivery/wizard/delivery_sale_order.py'
--- delivery/wizard/delivery_sale_order.py	2011-05-19 12:13:36 +0000
+++ delivery/wizard/delivery_sale_order.py	2012-01-05 17:29:33 +0000
@@ -34,18 +34,6 @@
 
 
     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 @@
          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',[])

_______________________________________________
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

Reply via email to