BASE: fix import the same lang

bzr revid: ced-5f85dc28c4c3abf998841988f9681606118f0ba2
This commit is contained in:
ced 2007-01-09 14:45:24 +00:00
parent 1b5fe6c207
commit 521d64794f
2 changed files with 7 additions and 12 deletions

View File

@ -48,14 +48,8 @@ view_form="""<?xml version="1.0"?>
class wizard_import_lang(wizard.interface): class wizard_import_lang(wizard.interface):
def _import_lang(self, cr, uid, data, context): def _import_lang(self, cr, uid, data, context):
form=data['form'] form=data['form']
lang_obj=pooler.get_pool(cr.dbname).get('res.lang')
ids=lang_obj.search(cr, uid, [('code', '=', form['code'])])
if ids:
lang_obj.write(cr, uid, ids, {'name': form['name']})
else:
lang_obj.create(cr, uid, {'code': form['code'], 'name': form['name']})
buf=base64.decodestring(data['form']['data']).split('\n') buf=base64.decodestring(data['form']['data']).split('\n')
tools.trans_load_data(cr.dbname, buf, data['form']['code']) tools.trans_load_data(cr.dbname, buf, form['code'], lang_name=form['name'])
return {} return {}
fields_form={ fields_form={
'name':{'string':'Language name', 'type':'char', 'size':64, 'required':True}, 'name':{'string':'Language name', 'type':'char', 'size':64, 'required':True},

View File

@ -245,7 +245,7 @@ def trans_load(db_name, filename, lang, strict=False):
logger.notifyChannel("init", netsvc.LOG_ERROR, "couldn't read file") logger.notifyChannel("init", netsvc.LOG_ERROR, "couldn't read file")
return trans_load_data(db_name, data, lang, strict=False) return trans_load_data(db_name, data, lang, strict=False)
def trans_load_data(db_name, data, lang, strict=False): def trans_load_data(db_name, data, lang, strict=False, lang_name=None):
logger = netsvc.Logger() logger = netsvc.Logger()
logger.notifyChannel("init", netsvc.LOG_INFO, 'loading translation file for language %s' % (lang)) logger.notifyChannel("init", netsvc.LOG_INFO, 'loading translation file for language %s' % (lang))
pool = pooler.get_pool(db_name) pool = pooler.get_pool(db_name)
@ -257,10 +257,11 @@ def trans_load_data(db_name, data, lang, strict=False):
ids = lang_obj.search(cr, uid, [('code','=',lang)]) ids = lang_obj.search(cr, uid, [('code','=',lang)])
if not ids: if not ids:
lang_name=lang if not lang_name:
languages=tools.get_languages() lang_name=lang
if lang in languages: languages=tools.get_languages()
lang_name=languages[lang] if lang in languages:
lang_name=languages[lang]
ids = lang_obj.create(cr, uid, {'code':lang, 'name':lang_name, 'translatable':1}) ids = lang_obj.create(cr, uid, {'code':lang, 'name':lang_name, 'translatable':1})
else: else:
lang_obj.write(cr, uid, ids, {'translatable':1}) lang_obj.write(cr, uid, ids, {'translatable':1})