Bug signalé par Hamza : soucis d'encodage dans le commentaire de modif solde
This commit is contained in:
parent
1c675f251c
commit
4ee1ea55d1
1 changed files with 7 additions and 6 deletions
|
@ -1227,7 +1227,7 @@ class BaseClasseCrans(CransLdap):
|
||||||
|
|
||||||
# Cas spécial
|
# Cas spécial
|
||||||
if "solde" in self.modifs:
|
if "solde" in self.modifs:
|
||||||
diff = float(self._init_data.get('solde', [0])[0]) - float(self._data.get('solde', [0])[0])
|
diff = round(float(self._init_data.get('solde', [0])[0]) - float(self._data.get('solde', [0])[0]), 2)
|
||||||
if diff > 0:
|
if diff > 0:
|
||||||
modif['solde'] = "debit %s Euros" % str(diff)
|
modif['solde'] = "debit %s Euros" % str(diff)
|
||||||
else:
|
else:
|
||||||
|
@ -4042,7 +4042,7 @@ class Facture(BaseClasseCrans):
|
||||||
proprio.solde(operation=art['nombre']*art["pu"],
|
proprio.solde(operation=art['nombre']*art["pu"],
|
||||||
comment="Facture n°%s : %s" %
|
comment="Facture n°%s : %s" %
|
||||||
(self.numero(),
|
(self.numero(),
|
||||||
art['designation'].encode('utf-8', errors='ignore')))
|
art['designation'].encode(config.ldap_encoding, errors='ignore')))
|
||||||
proprio.save()
|
proprio.save()
|
||||||
if self.modePaiement() == 'solde':
|
if self.modePaiement() == 'solde':
|
||||||
proprio = self.proprietaire()
|
proprio = self.proprietaire()
|
||||||
|
@ -4089,17 +4089,17 @@ class Facture(BaseClasseCrans):
|
||||||
self._set('article',
|
self._set('article',
|
||||||
['%s~~%s~~%s~~%s' % (
|
['%s~~%s~~%s~~%s' % (
|
||||||
art['code'],
|
art['code'],
|
||||||
art['designation'].encode('utf-8', errors='replace'),
|
art['designation'].decode(config.in_encoding, errors='replace'),
|
||||||
str(art['nombre']),
|
str(art['nombre']),
|
||||||
str(art['pu']))
|
str(art['pu']))
|
||||||
for art in arts])
|
for art in arts])
|
||||||
|
|
||||||
# charge la liste des articles
|
# charge la liste des articles
|
||||||
arts = []
|
arts = []
|
||||||
for art in self._data.get("article", []):
|
for art in self._data.get("article", []):
|
||||||
art = art.split('~~')
|
art = art.split('~~')
|
||||||
art = { 'code' : art[0],
|
art = { 'code' : art[0],
|
||||||
'designation' : art[1].decode('utf-8', errors='replace'),
|
'designation' : art[1].decode(config.ldap_encoding, errors='replace'),
|
||||||
'nombre' : int(art[2]),
|
'nombre' : int(art[2]),
|
||||||
'pu' : float(art[3]) }
|
'pu' : float(art[3]) }
|
||||||
arts.append(art)
|
arts.append(art)
|
||||||
|
@ -4133,6 +4133,7 @@ class Facture(BaseClasseCrans):
|
||||||
# ajoute les articles
|
# ajoute les articles
|
||||||
if type(ajoute)==dict:
|
if type(ajoute)==dict:
|
||||||
ajoute = [ajoute]
|
ajoute = [ajoute]
|
||||||
|
|
||||||
if type(ajoute)==list:
|
if type(ajoute)==list:
|
||||||
for art in ajoute:
|
for art in ajoute:
|
||||||
if int(art['nombre']) != float(art['nombre']):
|
if int(art['nombre']) != float(art['nombre']):
|
||||||
|
@ -4140,7 +4141,7 @@ class Facture(BaseClasseCrans):
|
||||||
if round(art['pu'], 2) != art['pu']:
|
if round(art['pu'], 2) != art['pu']:
|
||||||
raise ValueError, u'pu ne doit pas avoir plus de 2 chiffres apres la virgule'
|
raise ValueError, u'pu ne doit pas avoir plus de 2 chiffres apres la virgule'
|
||||||
art['nombre'] = int(art['nombre'])
|
art['nombre'] = int(art['nombre'])
|
||||||
if '~~' in ' '.join([unicode(x) for x in art.values()]):
|
if '~~' in art['designation'].decode(config.in_encoding):
|
||||||
raise ValueError, u'Ne pas mettre de ~~ dans les champs'
|
raise ValueError, u'Ne pas mettre de ~~ dans les champs'
|
||||||
arts.append(art)
|
arts.append(art)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue