Tout est dans le commentaire.
darcs-hash:20060407014524-68412-00d0bbf73e080cd3f21a96bd10f9cea54a45c3c9.gz
This commit is contained in:
parent
b33692f8f1
commit
8585bb86c9
1 changed files with 18 additions and 9 deletions
|
@ -1177,15 +1177,24 @@ class base_classes_crans(crans_ldap):
|
|||
|
||||
def _set(self, champ, val, comment=None):
|
||||
""" Met à jour les données de data et modifie modifs si besoin """
|
||||
if (not self._data.has_key(champ) and val != []) \
|
||||
or (self._data.has_key(champ) and self._data[champ] != val):
|
||||
self._data[champ] = val
|
||||
if self.modifs.get(champ) == None or comment == None:
|
||||
self.modifs[champ] = comment
|
||||
else:
|
||||
# Ici, self.modifs[champ] et comment devraient être tous deux
|
||||
# des chaînes de caractères
|
||||
self.modifs[champ] += ', ' + comment
|
||||
# On convertit éventuellement en utf-8 avant
|
||||
# On n'utilise pas preattr pour éviter de tout casser... mais
|
||||
# il faudra à l'avenir que _set reçoive toujours en unicode
|
||||
# et éviter l'utilisation de preattr autant que possible
|
||||
def convert(x):
|
||||
if type(x) is unicode: return x.encode('utf-8')
|
||||
else: return x
|
||||
val = map(convert, val)
|
||||
comment = convert(comment)
|
||||
# On fait le changement et on note s'il y a vraiment eu une modif
|
||||
if self._data.get(champ, []) != val:
|
||||
self._data[champ] = val
|
||||
if self.modifs.get(champ) == None or comment == None:
|
||||
self.modifs[champ] = comment
|
||||
else:
|
||||
# Ici, self.modifs[champ] et comment devraient être tous deux
|
||||
# des chaînes de caractères
|
||||
self.modifs[champ] += ', ' + comment
|
||||
|
||||
|
||||
#############################################################################
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue