Ir al contenido
Menú
Se marcó esta pregunta
4999 Vistas

Hi everybody,

I want to create some default value, for that i create an ir.value. When i save my ir.value i have a encoding error:

DataError: invalid byte sequence for encoding "UTF8": 0xe97365

I set this values:

name: note
model: sale.order
value_unpickle: Clause de réserve de propriété: En application de la loi 80-335 du 12 mai 1980, les marchandises livrées demeurent la propriété du vendeur jusqu'au complet règlement de leur prix.

After inspection i found that the method _value_pickle in .ir.values.py won't work correctly:

def _value_pickle(self, cursor, user, id, name, value, arg, context=None):
    if context is None:
        context = {}
    ctx = context.copy()
    if self.CONCURRENCY_CHECK_FIELD in ctx:
        del ctx[self.CONCURRENCY_CHECK_FIELD]
    record = self.browse(cursor, user, id, context=context)
    if record.key == 'default':
        # default values are pickled on the fly
        value = pickle.dumps(value)
    self.write(cursor, user, id, {name[:-9]: value}, context=ctx)

It's exactly the line "value = pickle.dumps(value)" which is the cause.

How i can fix this bug? There is some fix for this? There is the same bug on runbot with 7 version.

Thanks

Avatar
Descartar
Publicaciones relacionadas Respuestas Vistas Actividad
0
mar 23
1240
4
nov 18
5702
2
nov 24
37109
2
sept 24
3015
2
mar 25
3210