Merge lp:~vauxoo/openerp-venezuela-localization/miguel-update-partner-info-seniat-bug into lp:~openerp-venezuela/openerp-venezuela-localization/6.0-trunk

Proposed by Miguel Delgado (Vauxoo)
Status: Merged
Merged at revision: 614
Proposed branch: lp:~vauxoo/openerp-venezuela-localization/miguel-update-partner-info-seniat-bug
Merge into: lp:~openerp-venezuela/openerp-venezuela-localization/6.0-trunk
Diff against target: 111 lines (+27/-23)
3 files modified
l10n_ve_fiscal_requirements/seniat_url.py (+19/-21)
l10n_ve_fiscal_requirements/wizard/update_info_partner.py (+7/-1)
l10n_ve_topology/module/sector.py (+1/-1)
To merge this branch: bzr merge lp:~vauxoo/openerp-venezuela-localization/miguel-update-partner-info-seniat-bug
Reviewer Review Type Date Requested Status
Gabriela Quilarque Approve
Review via email: mp+92563@code.launchpad.net

Description of the change

[FIX] bug when we try to update fiscal partner information
when partner vat contain string "450" the wizard dont work

To post a comment you must log in.
Revision history for this message
Gabriela Quilarque (gabrielaquilarque97) wrote :

Migue por favor elimina los prints.

review: Needs Fixing
613. By Miguel Delgado (Vauxoo)

[IMP] drop prints in this files seniat_url.py and update_info_partner.py

Revision history for this message
Gabriela Quilarque (gabrielaquilarque97) wrote :

Listo. Merge Ejecutado.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'l10n_ve_fiscal_requirements/seniat_url.py'
2--- l10n_ve_fiscal_requirements/seniat_url.py 2012-02-13 21:02:05 +0000
3+++ l10n_ve_fiscal_requirements/seniat_url.py 2012-02-14 14:26:29 +0000
4@@ -90,31 +90,30 @@
5 def _print_error(self, error, msg):
6 raise osv.except_osv(error,msg)
7
8- def _eval_seniat_data(self,xml_data,context={}):
9+ def _eval_seniat_data(self,xml_data,vat,context={}):
10 if context is None:
11 context={}
12 if not context.get('all_rif'):
13- if xml_data.find('450')>=0:
14- if not 'all_rif' in context:
15- self._print_error(_('Vat Error !'),_('Invalid VAT!'))
16- else:
17- return True
18-
19- if xml_data.find('452')>=0:
20- if not 'all_rif' in context:
21- self._print_error(_('Vat Error !'),_('Unregistered VAT!'))
22- else:
23- return True
24-
25- if xml_data.find("404")>=0:
26+ if xml_data.find('450')>=0 and not vat.find('450'):
27+ self._print_error(_('Vat Error !'),_('Invalid VAT!'))
28+
29+ elif xml_data.find('452')>=0 and not vat.find('452'):
30+ self._print_error(_('Vat Error !'),_('Unregistered VAT!'))
31+
32+ elif xml_data.find("404")>=0 and not vat.find('404'):
33 self._print_error(_('No Connection !'),_("Could not connect! Check the URL "))
34+
35+ else:
36+ return False
37+ else:
38+ if xml_data.find('450')>=0 or xml_data.find('452')>=0 or xml_data.find("404")>=0:
39 return True
40- else:
41- return True
42+ else:
43+ return False
44
45 def _dom_giver(self, url1, url2, context, vat):
46 xml_data = self._load_url(3,url1 % vat)
47- if not self._eval_seniat_data(xml_data,context):
48+ if not self._eval_seniat_data(xml_data,vat,context):
49 dom = parseString(xml_data)
50 return self._parse_dom(dom, vat, url2)
51 else:
52@@ -125,7 +124,7 @@
53 rp_obj.write(cr, uid, id, {'seniat_updated': True})
54
55 def update_rif(self, cr, uid, ids, context={}):
56- aux=0
57+ aux=[]
58 rp_obj = self.pool.get('res.partner')
59 url_obj = self.browse(cr, uid, self.search(cr, uid, []))[0]
60 url1 = url_obj.name + '%s'
61@@ -137,15 +136,14 @@
62 return res
63 else:
64 return False
65+
66 for partner in rp_obj.browse(cr,uid,ids):
67- aux+=1
68 if partner.vat:
69 vat_country, vat_number = rp_obj._split_vat(partner.vat)
70 if vat_country.upper() == 'VE':
71- print 'partner.vat[2:]',partner.vat[2:]
72 if len(partner.vat[2:])==10:
73 xml_data = self._load_url(3,url1 %partner.vat[2:])
74- if not self._eval_seniat_data(xml_data,context):
75+ if not self._eval_seniat_data(xml_data,partner.vat[2:],context):
76 dom = parseString(xml_data)
77 res = rp_obj.write(cr,uid,partner.id,self._parse_dom(dom,partner.vat[2:],url2))
78 if res:
79
80=== modified file 'l10n_ve_fiscal_requirements/wizard/update_info_partner.py'
81--- l10n_ve_fiscal_requirements/wizard/update_info_partner.py 2012-01-19 01:37:26 +0000
82+++ l10n_ve_fiscal_requirements/wizard/update_info_partner.py 2012-02-14 14:26:29 +0000
83@@ -31,9 +31,15 @@
84 _name = 'update.info.partner'
85
86 def update_info(self, cr, uid, ids, context={}):
87+ aux=[]
88 res_part_obj = self.pool.get('res.partner')
89 seniat_url_obj = self.pool.get('seniat.url')
90- es_partner_ids= res_part_obj.search(cr, uid, [])
91+ sql= '''SELECT vat FROM res_partner GROUP BY vat HAVING count(vat) > 1 ;'''
92+ cr.execute(sql)
93+ record = cr.dictfetchall()
94+ for r in record:
95+ aux.append(r.values()[0])
96+ es_partner_ids= res_part_obj.search(cr, uid, [('vat','not in',aux)])
97 seniat_url_obj.connect_seniat(cr, uid, es_partner_ids, context,True)
98 return{}
99
100
101=== modified file 'l10n_ve_topology/module/sector.py'
102--- l10n_ve_topology/module/sector.py 2012-01-31 16:19:58 +0000
103+++ l10n_ve_topology/module/sector.py 2012-02-14 14:26:29 +0000
104@@ -64,7 +64,7 @@
105 'parish_id':fields.many2one('res.parish','Parish',help="In this field you enter the parish to which the sector is associated",domain= "[('municipalities_id','=',municipality_id)]" ),
106 'zipcode_id':fields.many2one('res.zipcode',string='Zip Code',help="in this field is selected Zip Code associated with this sector"),
107 'sector_id':fields.many2one('res.sector',string='Sector',required=False,help="in this field select the Sector associated with this Municipality"),
108- 'city_id':fields.many2one('res.city',string='City',help="in this field select the city associated with this State"),
109+ 'city_id':fields.many2one('res.city',string='City',domain= "[('state_id','=',state_id)]",help="in this field select the city associated with this State"),
110 'city':fields.function(_get_city_name, method=True, type='char', string='City', size=256, domain= "[('state_id','=',state_id)]",store=True),
111 }
112