diff --git a/addons/custom/corporate_rml_header.rml b/addons/custom/corporate_rml_header.rml index 3d3cfc6719a..fead5ab1cb1 100644 --- a/addons/custom/corporate_rml_header.rml +++ b/addons/custom/corporate_rml_header.rml @@ -13,12 +13,12 @@ [[ company.rml_header1 ]] - [[ company.partner_id.address[0].street ]] - [[ company.partner_id.address[0].zip ]] [[ company.partner_id.address[0].city ]] - [[ company.partner_id.address[0].country_id.name ]] + [[ company.partner_id.address and company.partner_id.address[0].street ]] + [[ company.partner_id.address and company.partner_id.address[0].zip ]] [[ company.partner_id.address and company.partner_id.address[0].city ]] - [[ company.partner_id.address and company.partner_id.address[0].country_id and company.partner_id.address[0].country_id.name ]] Phone: - [[ company.partner_id.address[0].phone ]] + [[ company.partner_id.address and company.partner_id.address[0].phone ]] Mail: - [[ company.partner_id.address[0].email ]] + [[ company.partner_id.address and company.partner_id.address[0].email ]] 1cm 25.7cm 7cm 25.7cm diff --git a/addons/letter/letter.py b/addons/letter/letter.py index 574973e9914..45ba91469a3 100644 --- a/addons/letter/letter.py +++ b/addons/letter/letter.py @@ -76,7 +76,7 @@ class letter_letter(osv.osv): def onchange_type_id(self, cr, uid, ids, type_id): if type_id: - letter = pooler.get_pool(cr.dbname).get('letter.letter.type').browse(cr, uid, type_id)[0] + letter = pooler.get_pool(cr.dbname).get('letter.letter.type').browse(cr, uid, type_id) return {'value':{'paragraph_ids': [x.id for x in letter.paragraph_ids]}} else: return {'value':{'paragraph_ids': []}} diff --git a/addons/letter/report/letter.rml b/addons/letter/report/letter.rml index 04183784d3e..0e736900a75 100644 --- a/addons/letter/report/letter.rml +++ b/addons/letter/report/letter.rml @@ -98,7 +98,8 @@ - + [[ repeatIn(objects,'o') ]] + Paris, le 26 septembre 2005 @@ -134,9 +135,9 @@ [[ o.partner_id.name ]] - [[ o.partner_id.address[0].name ]] - [[ o.partner_id.address[0].zip ]] [[o.partner_id.address[0].city ]] - [[ o.partner_id.address[0].country_id.name ]] + [[ o.partner_id.address and o.partner_id.address[0].name ]] + [[ o.partner_id.address and o.partner_id.address[0].zip ]] [[ o.partner_id.address and o.partner_id.address[0].city ]] + [[ o.partner_id.address and o.partner_id.address[0].country_id and o.partner_id.address[0].country_id.name ]] @@ -273,8 +274,9 @@ + [[ repeatIn(o.paragraph_ids, 'x') ]] - [[ [x.content for x in o.paragraph_ids if x.type_id.name=='keys'] ]] + [[ x.type_id and x.type_id.name=='keys' and x.content or removeParentNode('tr') ]] @@ -400,8 +402,9 @@ + [[ repeatIn(o.paragraph_ids, 'x') ]] - [[ [x.content for x in o.paragraph_ids if x.type_id.name=='modules'] ]] + [[ x.type_id and x.type_id.name=='modules' and x.content or removeParentNode('tr') ]] @@ -458,8 +461,9 @@ + [[ repeatIn(o.paragraph_ids, 'x') ]] - [[ [x.content for x in o.paragraph_ids if x.type_id.name=='specific'] ]] + [[ x.type_id and x.type_id.name=='specific' and x.content or removeParentNode('tr') ]] @@ -508,8 +512,9 @@ + [[ repeatIn(o.paragraph_ids, 'x') ]] - [[ [x.content for x in o.paragraph_ids if x.type_id.name=='price'] ]] + [[ x.type_id and x.type_id.name=='price' and x.content or removeParentNode('tr') ]]