[MERGE] delivery: cleanup yml
authorHarry (OpenERP) <hmo@tinyerp.com>
Thu, 5 Jan 2012 17:13:15 +0000 (22:43 +0530)
committerHarry (OpenERP) <hmo@tinyerp.com>
Thu, 5 Jan 2012 17:13:15 +0000 (22:43 +0530)
bzr revid: hmo@tinyerp.com-20120105171315-u4j0x1ftc2426g1l

1  2 
addons/delivery/__openerp__.py
addons/delivery/delivery.py
addons/delivery/delivery_demo.xml
addons/delivery/test/delivery_cost.yml
addons/delivery/test/delivery_report.yml
addons/delivery/wizard/delivery_sale_order.py

@@@ -44,7 -44,10 +44,9 @@@ When creating invoices from picking, Op
          'partner_view.xml'
      ],
      'demo_xml': ['delivery_demo.xml'],
-     'test':['test/delivery_report.yml'],
+     'test': [
 -        'test/delivery_report.yml',
 -        'test/carrier_cost_delivery.yml',
++        'test/delivery_cost.yml',
+     ],
      'installable': True,
      'active': False,
      'certificate': '0033981912253',
@@@ -125,8 -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',
                      '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],
                      '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,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 -->
              <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 -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"/>
              <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"/>
              <field eval="300" name="max_value"/>
              <field name="operator">&gt;=</field>
              <field name="type">price</field>
 -            <field eval="10" name="list_price"/>
 -            <field eval="20" name="standard_price"/>
 +            <field eval="0" name="list_price"/>
-             <field eval="20" name="standard_price"/>
++            <field eval="0" name="standard_price"/>
          </record>
      </data>
  </openerp>
index 0000000,0000000..f8d6787
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,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)
++
diff --cc addons/delivery/test/delivery_report.yml
index 4205a37,4205a37..0000000
deleted file mode 100644,100644
+++ /dev/null
@@@ -1,36 -1,36 +1,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,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):
           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',[])