@@ -301,16 +301,20 @@ def generate_party_agent(
301301 return True
302302
303303 @api .model
304- def generate_party_block (
305- self , parent_node , party_type , order , name , iban , bic ,
306- eval_ctx , gen_args ):
304+ def generate_party_block (self , parent_node , party_type , order ,
305+ partner_bank , gen_args ):
307306 """Generate the piece of the XML file corresponding to Name+IBAN+BIC
308307 This code is mutualized between TRF and DD"""
309308 assert order in ('B' , 'C' ), "Order can be 'B' or 'C'"
309+ partner = partner_bank .partner_id
310310 if party_type == 'Cdtr' :
311311 party_type_label = 'Creditor'
312312 elif party_type == 'Dbtr' :
313313 party_type_label = 'Debtor'
314+ name = 'partner_bank.partner_id.name'
315+ iban = 'partner_bank.acc_number'
316+ bic = 'partner_bank.bank.bic or partner_bank.bank_bic'
317+ eval_ctx = {'partner_bank' : partner_bank }
314318 party_name = self ._prepare_field (
315319 '%s Name' % party_type_label , name , eval_ctx ,
316320 gen_args .get ('name_maxsize' ), gen_args = gen_args )
@@ -328,6 +332,23 @@ def generate_party_block(
328332 party = etree .SubElement (parent_node , party_type )
329333 party_nm = etree .SubElement (party , 'Nm' )
330334 party_nm .text = party_name
335+ if partner .country_id :
336+ postal_address = etree .SubElement (party , 'PstlAdr' )
337+ country = etree .SubElement (postal_address , 'Ctry' )
338+ country .text = self ._prepare_field (
339+ 'Country' , 'partner.country_id.code' ,
340+ {'partner' : partner }, 2 , gen_args = gen_args )
341+ if partner .street :
342+ adrline1 = etree .SubElement (postal_address , 'AdrLine' )
343+ adrline1 .text = self ._prepare_field (
344+ 'Adress Line1' , 'partner.street' ,
345+ {'partner' : partner }, 70 , gen_args = gen_args )
346+ if partner .city and partner .zip :
347+ adrline2 = etree .SubElement (postal_address , 'AdrLine' )
348+ adrline2 .text = self ._prepare_field (
349+ 'Address Line2' , "partner.zip + ' ' + partner.city" ,
350+ {'partner' : partner }, 70 , gen_args = gen_args )
351+
331352 party_account = etree .SubElement (
332353 parent_node , '%sAcct' % party_type )
333354 party_account_id = etree .SubElement (party_account , 'Id' )
0 commit comments