[Fix] stock: Fix the problem of sale_id and purchase_id
authorsbh (Open ERP) <sbh@tinyerp.com>
Wed, 4 Aug 2010 10:29:08 +0000 (15:59 +0530)
committersbh (Open ERP) <sbh@tinyerp.com>
Wed, 4 Aug 2010 10:29:08 +0000 (15:59 +0530)
bzr revid: sbh@tinyerp.com-20100804102908-n09h43jvr30advdp

addons/stock/report/packing.rml
addons/stock/stock_report.xml
addons/stock/wizard/stock_partial_picking.py

index 07c8758..3db8179 100644 (file)
           </para>
         </td>
         <td>
-          <para style="terp_tblheader_Details">[[ picking.sale_id and picking.sale_id.partner_shipping_id and 'Shipping Address :' or removeParentNode('para') ]] </para>
-          <para style="terp_default_9">[[ (picking.sale_id and picking.sale_id.partner_shipping_id and picking.sale_id.partner_shipping_id.title) or '' ]] [[ (picking.sale_id and picking.sale_id.partner_shipping_id and picking.sale_id.partner_shipping_id.name) or '' ]] </para>
-          <para style="terp_default_9">[[ (picking.sale_id and picking.sale_id.partner_shipping_id and picking.sale_id.partner_shipping_id.street) or '' ]] </para>
-          <para style="terp_default_9">[[ (picking.sale_id and picking.sale_id.partner_shipping_id and picking.sale_id.partner_shipping_id.zip) or '' ]] [[ (picking.sale_id and picking.sale_id.partner_shipping_id and picking.sale_id.partner_shipping_id.city) or '' ]] [[ (picking.address_id and picking.address_id.state_id and picking.address_id.state_id.name) or '' ]] </para>
-          <para style="terp_default_9">[[ (picking.address_id and picking.address_id.country_id and picking.address_id.country_id.name) or '' ]]</para>
+          <para style="terp_tblheader_Details">[[ 'sale_id' in picking._columns.keys() and picking.sale_id and picking.sale_id.partner_shipping_id and 'Shipping Address :' or removeParentNode('para') ]] </para>
+          <para style="terp_default_9">[[ ('sale_id' in picking._columns.keys() and picking.sale_id and picking.sale_id.partner_shipping_id and picking.sale_id.partner_shipping_id.title) or '' ]] [[ ('sale_id' in picking._columns.keys() and picking.sale_id and picking.sale_id.partner_shipping_id and picking.sale_id.partner_shipping_id.name) or '' ]] </para>
+          <para style="terp_default_9">[[ ('sale_id' in picking._columns.keys() and picking.sale_id and picking.sale_id.partner_shipping_id and picking.sale_id.partner_shipping_id.street) or '' ]] </para>
+          <para style="terp_default_9">[[ ('sale_id' in picking._columns.keys() and picking.sale_id and picking.sale_id.partner_shipping_id and picking.sale_id.partner_shipping_id.zip) or '' ]] [[ ('sale_id' in picking._columns.keys() and picking.sale_id and picking.sale_id.partner_shipping_id and picking.sale_id.partner_shipping_id.city) or '' ]] [[ (picking.address_id and picking.address_id.state_id and picking.address_id.state_id.name) or '' ]] </para>
+          <para style="terp_default_9">[[ ('sale_id' in picking._columns.keys() and picking.address_id and picking.address_id.country_id and picking.address_id.country_id.name) or '' ]]</para>
         </td>
       </tr>
     </blockTable>
           <para style="terp_default_Centre_8">[[ picking.origin ]]</para>
         </td>
         <td>
-          <para style="terp_default_Centre_8">[[ (picking.sale_id and picking.sale_id.partner_shipping_id and picking.sale_id.partner_shipping_id and picking.sale_id.partner_shipping_id.title) or '' ]] [[ (picking.sale_id and picking.sale_id.partner_shipping_id and picking.sale_id.partner_shipping_id.name) or '' ]] </para>
+          <para style="terp_default_Centre_8">[[ ('sale_id' in picking._columns.keys() and picking.sale_id and picking.sale_id.partner_shipping_id and picking.sale_id.partner_shipping_id and picking.sale_id.partner_shipping_id.title) or '' ]] [[ ('sale_id' in picking._columns.keys() and picking.sale_id and picking.sale_id.partner_shipping_id and picking.sale_id.partner_shipping_id.name) or '' ]] </para>
         </td>
         <td>
           <para style="terp_default_Centre_8">[[ formatLang(picking.min_date,date_time = True) ]]</para>
index 3084e85..68b324d 100644 (file)
@@ -3,6 +3,7 @@
     <data>
         <report auto="False" id="report_product_history" model="product.product" name="stock.product.history" string="Future Stock Forecast"/>
         <report id="report_picking_list" model="stock.picking" name="stock.picking.list" string="Picking list" rml="stock/report/picking.rml"/>
+               <report id="report_packing_list" model="stock.picking" name="stock.picking.list2" string="Packing list" rml="stock/report/packing.rml"/>        
         <report id="report_move_labels" model="stock.move" name="stock.move.label" string="Item Labels" xml="stock/report/lot_move_label.xml" xsl="stock/report/lot_move_label.xsl"/>
         <report auto="False"  id="report_location_overview" model="stock.location" name="lot.stock.overview" string="Location Overview" rml="stock/report/lot_overview.rml" groups="base.group_extended"/>
         <report auto="False" id="report_lot_location" model="stock.location" name="lot.location" rml="stock/report/lot_location.rml" string="Lots by location"/>
index 5cad380..009ef93 100644 (file)
@@ -177,12 +177,12 @@ class stock_partial_picking(osv.osv_memory):
                 if (m.product_id.cost_method == 'average'):
                     currency = False
                     price = 0
-                    if (pick.type == 'in'):
+                    if (pick.type == 'in') and 'purchase_id' in pick._columns.keys():
                         if hasattr(m, 'purchase_line_id') and m.purchase_line_id:
                             price = m.purchase_line_id.price_unit
                         if hasattr(pick, 'purchase_id') and pick.purchase_id:
                             currency = pick.purchase_id.pricelist_id.currency_id.id
-                    if (pick.type == 'out'):
+                    if (pick.type == 'out') and 'sale_id' in pick._columns.keys():
                         if hasattr(m, 'sale_line_id') and m.sale_line_id:
                             price = m.sale_line_id.price_unit
                         if hasattr(pick, 'sale_id') and pick.sale_id: