fix update functions for issue 1599

(transplanted from 2dab758cee6539fbc2755dfdb9b46bcb797d3c66)
This commit is contained in:
Korbinian Preisler
2010-06-26 09:24:07 +02:00
parent fd314b211e
commit fd41dd2442
2 changed files with 35 additions and 30 deletions
+14 -12
View File
@@ -292,9 +292,9 @@ class Type(ModelSQL, ModelView):
prev_lang = type._context.get('language') or 'en_US'
prev_data = {}
for field_name, field in template._columns.iteritems():
for field_name, field in type.template._columns.iteritems():
if getattr(field, 'translate', False):
prev_data[field_name] = template[field_name]
prev_data[field_name] = type.template[field_name]
ctx = context.copy()
for lang in lang_obj.get_translatable_languages(cursor, user,
context=context):
@@ -303,10 +303,11 @@ class Type(ModelSQL, ModelView):
ctx['language'] = lang
type.setLang(lang)
data = {}
for field_name, field in template._columns.iteritems():
if getattr(field, 'translate', False) \
and template[field_name] != prev_data[field_name]:
data[field_name] = template[field_name]
for field_name, field in type.template._columns.iteritems():
if (getattr(field, 'translate', False)
and type.template[field_name] !=
prev_data[field_name]):
data[field_name] = type.template[field_name]
if data:
self.write(cursor, user, type.id, data, context=ctx)
type.setLang(prev_lang)
@@ -972,9 +973,9 @@ class Account(ModelSQL, ModelView):
prev_lang = account._context.get('language') or 'en_US'
prev_data = {}
for field_name, field in template._columns.iteritems():
for field_name, field in account.template._columns.iteritems():
if getattr(field, 'translate', False):
prev_data[field_name] = template[field_name]
prev_data[field_name] = account.template[field_name]
ctx = context.copy()
for lang in lang_obj.get_translatable_languages(cursor, user,
context=context):
@@ -983,10 +984,11 @@ class Account(ModelSQL, ModelView):
ctx['language'] = lang
account.setLang(lang)
data = {}
for field_name, field in template._columns.iteritems():
if getattr(field, 'translate', False) \
and template[field_name] != prev_data[field_name]:
data[field_name] = template[field_name]
for field_name, field in account.template._columns.iteritems():
if (getattr(field, 'translate', False)
and account.template[field_name] !=
prev_data[field_name]):
data[field_name] = account.template[field_name]
if data:
self.write(cursor, user, account.id, data, context=ctx)
account.setLang(prev_lang)
+21 -18
View File
@@ -299,9 +299,9 @@ class Code(ModelSQL, ModelView):
prev_lang = code._context.get('language') or 'en_US'
prev_data = {}
for field_name, field in template._columns.iteritems():
for field_name, field in code.template._columns.iteritems():
if getattr(field, 'translate', False):
prev_data[field_name] = template[field_name]
prev_data[field_name] = code.template[field_name]
ctx = context.copy()
for lang in lang_obj.get_translatable_languages(cursor, user,
context=context):
@@ -310,10 +310,11 @@ class Code(ModelSQL, ModelView):
ctx['language'] = lang
code.setLang(lang)
data = {}
for field_name, field in template._columns.iteritems():
if getattr(field, 'translate', False) \
and template[field_name] != prev_data[field_name]:
data[field_name] = template[field_name]
for field_name, field in code.template._columns.iteritems():
if (getattr(field, 'translate', False)
and code.template[field_name] !=
prev_data[field_name]):
data[field_name] = code.template[field_name]
if data:
self.write(cursor, user, code.id, data, context=ctx)
code.setLang(prev_lang)
@@ -924,9 +925,9 @@ class Tax(ModelSQL, ModelView):
prev_lang = tax._context.get('language') or 'en_US'
prev_data = {}
for field_name, field in template._columns.iteritems():
for field_name, field in tax.template._columns.iteritems():
if getattr(field, 'translate', False):
prev_data[field_name] = template[field_name]
prev_data[field_name] = tax.template[field_name]
ctx = context.copy()
for lang in lang_obj.get_translatable_languages(cursor, user,
context=context):
@@ -935,10 +936,11 @@ class Tax(ModelSQL, ModelView):
ctx['language'] = lang
tax.setLang(lang)
data = {}
for field_name, field in template._columns.iteritems():
if getattr(field, 'translate', False) \
and template[field_name] != prev_data[field_name]:
data[field_name] = template[field_name]
for field_name, field in tax.template._columns.iteritems():
if (getattr(field, 'translate', False)
and tax.template[field_name] !=
prev_data[field_name]):
data[field_name] = tax.template[field_name]
if data:
self.write(cursor, user, tax.id, data, context=ctx)
tax.setLang(prev_lang)
@@ -1153,9 +1155,9 @@ class Rule(ModelSQL, ModelView):
prev_lang = rule._context.get('language') or 'en_US'
prev_data = {}
for field_name, field in template._columns.iteritems():
for field_name, field in rule.template._columns.iteritems():
if getattr(field, 'translate', False):
prev_data[field_name] = template[field_name]
prev_data[field_name] = rule.template[field_name]
ctx = context.copy()
for lang in lang_obj.get_translatable_languages(cursor, user,
context=context):
@@ -1164,10 +1166,11 @@ class Rule(ModelSQL, ModelView):
ctx['language'] = lang
rule.setLang(lang)
data = {}
for field_name, field in template._columns.iteritems():
if getattr(field, 'translate', False) \
and template[field_name] != prev_data[field_name]:
data[field_name] = template[field_name]
for field_name, field in rule.template._columns.iteritems():
if (getattr(field, 'translate', False)
and rule.template[field_name] !=
prev_data[field_name]):
data[field_name] = rule.template[field_name]
if data:
self.write(cursor, user, rule.id, data, context=ctx)
rule.setLang(prev_lang)