diff --git a/addons/l10n_be/wizard/l10n_be_partner_vat_listing.py b/addons/l10n_be/wizard/l10n_be_partner_vat_listing.py
index e43dbfecf2b..d6d56ac653c 100644
--- a/addons/l10n_be/wizard/l10n_be_partner_vat_listing.py
+++ b/addons/l10n_be/wizard/l10n_be_partner_vat_listing.py
@@ -28,6 +28,32 @@ import base64
from tools.translate import _
from osv import fields, osv
+class vat_listing_clients(osv.osv_memory):
+
+ _name = 'vat.listing.clients'
+ _columns = {
+ 'name': fields.char('Client Name', size=64),
+ 'vat': fields.char('VAT', size=64),
+ 'country': fields.char('Country', size=64),
+ 'amount': fields.float('Amount'),
+ 'turnover': fields.float('Turnover'),
+ }
+
+ def name_get(self, cr, uid, ids, context=None):
+ if not len(ids):
+ return []
+ return [(r['id'], r['name'] or '' + ' - ' + r['vat'] or '') \
+ for r in self.read(cr, uid, ids, ['name', 'vat'],
+ context, load='_classic_write')]
+
+ def name_search(self, cr, uid, name, args=None, operator='ilike', context=None, limit=100):
+ client = self.search(cr, uid, [('vat', '=', name)]+args, limit=limit, context=context)
+ if not client:
+ client = self.search(cr, uid, [('name', 'ilike', '%%%s%%' % name)]+args, limit=limit, context=context)
+ return self.name_get(cr, uid, client, context=context)
+
+vat_listing_clients()
+
class partner_vat_13(osv.osv_memory):
""" Vat Listing """
_name = "partner.vat_13"
@@ -118,7 +144,7 @@ class partner_vat_list_13(osv.osv_memory):
_name = "partner.vat.list_13"
_columns = {
# TODO the referenced model has been deleted at revno 4672.1.2.
- #'partner_ids': fields.many2many('vat.listing.clients', 'vat_partner_rel', 'vat_id', 'partner_id', 'Clients', required=False, help='You can remove clients/partners which you do not want to show in xml file'),
+ 'partner_ids': fields.many2many('vat.listing.clients', 'vat_partner_rel', 'vat_id', 'partner_id', 'Clients', required=False, help='You can remove clients/partners which you do not want to show in xml file'),
'name': fields.char('File Name', size=32),
'msg': fields.text('File created', size=64, readonly=True),
'file_save' : fields.binary('Save File', readonly=True),
@@ -154,16 +180,20 @@ class partner_vat_list_13(osv.osv_memory):
cref = SenderId + seq_controlref
dnum = cref + seq_declarantnum
#obj_year= obj_fyear.browse(cursor, user, context['fyear'], context=context)
- street = zip_city = country = ''
+ street = city = country = ''
addr = obj_partner.address_get(cursor, user, [obj_cmpny.partner_id.id], ['invoice'])
if addr.get('invoice',False):
ads = obj_addr.browse(cursor, user, [addr['invoice']], context=context)[0]
+ phone = ads.phone or ''
+ email = ads.email or ''
+ name = ads.name or ''
- zip_city = obj_addr.get_city(cursor, user, ads.id)
- if not zip_city:
- zip_city = ''
+ city = obj_addr.get_city(cursor, user, ads.id)
+ zip = obj_addr.browse(cursor, user, ads.id, context=context).zip
+ if not city:
+ city = ''
if ads.street:
- street = ads.street
+ street = ads.street + ' '
if ads.street2:
street += ads.street2
if ads.country_id:
@@ -171,13 +201,11 @@ class partner_vat_list_13(osv.osv_memory):
sender_date = time.strftime('%Y-%m-%d')
comp_name = obj_cmpny.name
- data_file = '\n'
- data_file += '\n\n\t\n\t\t'+str(company_vat)+'\n\t\t'+ comp_name +'\n\t\t'+ street +'\n\t\t'+ zip_city +''
- data_file += '\n\t\t'+ country +'\n\t\n'
- data_comp = '\n\n\t'+SenderId+'\n\t'+ comp_name +'\n\t'+ street +'\n\t'+ zip_city +'\n\t'+ country +'\n'
- data_period = '\n' + context['year'] +''
+ data_file += '\n'+comp_name+'\n'
+ data_comp = '\n\n\t'+SenderId+'\n\t'+ name +'\n\t'+ street +'\n\t'+ zip +'\n\t'+ city +'\n\t'+ country +'\n\t'+ email +'\n\t'+ phone +'\n'
+ data_period = '\n' + context['year'] +' \n\n'
error_message = []
data = self.read(cursor, user, ids)[0]
for partner in data['partner_ids']:
@@ -193,6 +221,11 @@ class partner_vat_list_13(osv.osv_memory):
if len(error_message):
return 'Exception : \n' +'-'*50+'\n'+ '\n'.join(error_message)
for line in datas:
+ vat_issued = line['vat'][:2]
+ if vat_issued == 'BE':
+ vat_issued = ''
+ else:
+ vat_issued = vat_issued
if not line:
continue
if line['turnover'] < context['limit_amount']:
@@ -200,10 +233,10 @@ class partner_vat_list_13(osv.osv_memory):
seq += 1
sum_tax += line['amount']
sum_turnover += line['turnover']
- data_clientinfo += '\n\n\t\n\t\t'+line['vat'].replace(' ','').upper()[2:] +'\n\t\t' + line['country'] +'\n\t\n\t'+str(int(round(line['amount'] * 100))) +'\n\t'+str(int(round(line['turnover'] * 100))) +'\n'
-
- data_decl ='\n'
- data_file += data_decl + data_comp + str(data_period) + data_clientinfo + '\n\n'
+ data_clientinfo += '\n\n\t'+line['vat'].replace(' ','').upper()[2:] +'\n\t'+str(int(round(line['turnover'] * 100))) +'\n\t'+str(int(round(line['amount'] * 100))) +'\n'
+ data_decl ='\n'
+ data_decl +='\n\t'
+ data_file += data_decl + data_comp + str(data_period) + data_clientinfo + '\n\t\n\t\n\n'
msg = 'Save the File with '".xml"' extension.'
file_save = base64.encodestring(data_file.encode('utf8'))
self.write(cursor, user, ids, {'file_save':file_save, 'msg':msg, 'name':'vat_list.xml'}, context=context)