[fix]Overdue report on non-addressial partners
authorJay (Open ERP) <jvo@tinyerp.com>
Wed, 31 Dec 2008 06:28:33 +0000 (11:58 +0530)
committerJay (Open ERP) <jvo@tinyerp.com>
Wed, 31 Dec 2008 06:28:33 +0000 (11:58 +0530)
bzr revid: jvo@tinyerp.com-20081231062833-12ksxl8snkmd0psk

addons/account/report/overdue.py
addons/account/report/overdue.rml

index 736a4a7..633fcd6 100644 (file)
@@ -38,11 +38,25 @@ class Overdue(report_sxw.rml_parse):
         })
 
     def _adr_get(self, partner, type):
+        res = []
         res_partner = pooler.get_pool(self.cr.dbname).get('res.partner')
         res_partner_address = pooler.get_pool(self.cr.dbname).get('res.partner.address')
         addresses = res_partner.address_get(self.cr, self.uid, [partner.id], [type])
         adr_id = addresses and addresses[type] or False
-        return adr_id and res_partner_address.read(self.cr, self.uid, [adr_id])[0] or False
+        result = {
+                  'name': False,
+                  'street': False,
+                  'city' : False,
+                  'zip' : False,
+                  'country_id' : False,
+                 }
+        if adr_id:
+            result = res_partner_address.read(self.cr, self.uid, [adr_id])
+            result[0]['country_id'] = result[0]['country_id'] and result[0]['country_id'][1] or False
+            return result   
+         
+        res.append(result)
+        return res
 
     def _tel_get(self,partner):
         if not partner:
index aa0d111..70f5fd0 100644 (file)
     <blockTable colWidths="286.0,224.0" style="Tableau2">
       <tr>
         <td>
-          <para style="P11">
-            <font color="white"> </font>
-          </para>
+            <para style="P7">[[ repeatIn(adr_get(o, 'invoice'),'addr') ]]</para>
         </td>
         <td>
           <para style="P16">[[ o.name ]]</para>
-          <para style="P17">[[ adr_get(o, 'invoice')['name'] ]]</para>
-          <para style="P17">[[ adr_get(o, 'invoice')['street'] ]]</para>
-          <para style="P17">[[ adr_get(o, 'invoice')['zip'] ]] [[ adr_get(o, 'invoice')['city'] ]]</para>
-          <para style="P17">[[ adr_get(o, 'invoice')['country_id'] and adr_get(o, 'invoice')['country_id'][1] ]]</para>
+          <para style="P17">[[ addr['name'] ]]</para>
+          <para style="P17">[[ addr['street'] ]]</para>
+          <para style="P17">[[ addr['zip'] ]] [[ addr['city'] ]]</para>
+          <para style="P17">[[ addr['country_id'] ]]</para>
           <para style="P17">
             <font color="white"> </font>
           </para>