[MERGE] latest trunk

bzr revid: abo@openerp.com-20120822175827-r6xls8w9w9ly1gai
This commit is contained in:
Antonin Bourguignon 2012-08-22 19:58:27 +02:00
commit 532570c363
80 changed files with 260 additions and 177 deletions

View File

@ -105,7 +105,7 @@ def run_test_file(dbname, test_file):
db, registry = openerp.pooler.get_db_and_pool(dbname, update_module=config['init'] or config['update'], pooljobs=False)
cr = db.cursor()
_logger.info('loading test file %s', test_file)
openerp.tools.convert_yaml_import(cr, 'base', file(test_file), {}, 'test', True)
openerp.tools.convert_yaml_import(cr, 'base', file(test_file), 'test', {}, 'test', True)
cr.rollback()
cr.close()
except Exception:

View File

@ -3634,7 +3634,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr ""
#. module: base
@ -9845,7 +9845,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -3653,7 +3653,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr ""
#. module: base
@ -9864,7 +9864,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -3634,7 +3634,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr ""
#. module: base
@ -9845,7 +9845,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -3721,7 +3721,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "ضريبة القيمة المضافة"
#. module: base
@ -9975,7 +9975,7 @@ msgstr "الأسابيع"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -3383,7 +3383,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr ""
#. module: base
@ -9064,7 +9064,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -3705,7 +3705,7 @@ msgstr "Проверка на EAN"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "ДДС"
#. module: base
@ -9961,7 +9961,7 @@ msgstr "Седмици"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -3642,7 +3642,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr ""
#. module: base
@ -9853,7 +9853,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -3757,7 +3757,7 @@ msgstr "Verificació EAN"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "CIF/NIF"
#. module: base
@ -10082,7 +10082,7 @@ msgstr "Setmanes"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -3787,7 +3787,7 @@ msgstr "Kontrola Ean"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "DIČ"
#. module: base
@ -10090,7 +10090,7 @@ msgstr "Týdnů"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr "DPH: "
#. module: base

View File

@ -3634,7 +3634,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "Moms"
#. module: base
@ -9845,7 +9845,7 @@ msgstr "Uger"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -4266,7 +4266,7 @@ msgstr "EAN Prüfung"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "USt-IdNr. / UID"
#. module: base
@ -10907,7 +10907,7 @@ msgstr "Wochen"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr "UID: "
#. module: base

View File

@ -3728,7 +3728,7 @@ msgstr "Έλεγχος ean"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "ΦΠΑ"
#. module: base
@ -9997,7 +9997,7 @@ msgstr "Εβδομάδες"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -4123,7 +4123,7 @@ msgstr "Ean check"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "VAT"
#. module: base
@ -10427,7 +10427,7 @@ msgstr "Weeks"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -3977,7 +3977,7 @@ msgstr "Verificación EAN"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "CIF/NIF"
#. module: base
@ -10306,7 +10306,7 @@ msgstr "Semanas"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -3668,7 +3668,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "CUIT"
#. module: base
@ -9900,7 +9900,7 @@ msgstr "Semanas"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -3795,7 +3795,7 @@ msgstr "Verificación EAN"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "RUT"
#. module: base
@ -10124,7 +10124,7 @@ msgstr "Semanas"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -1975,7 +1975,7 @@ msgstr ""
"``BE0477472701``\n"
"será validado con la normativa belga.\n"
"\n"
"Hay dos niveles diferentes de validación del número de VAT: \n"
"Hay dos niveles diferentes de validación del número de TIN: \n"
"\n"
"*Por defecto, un simple fuera de linea de verificación se realiza mediante "
"la validación conocida\n"
@ -4391,7 +4391,7 @@ msgstr "Verificación EAN"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "CIF/NIF"
#. module: base
@ -12421,7 +12421,7 @@ msgstr "Semanas"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr "IVA: "
#. module: base

View File

@ -3971,7 +3971,7 @@ msgstr "Ean de verificación"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "CIF/NIF"
#. module: base
@ -10350,7 +10350,7 @@ msgstr "Semanas"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr "IVA "
#. module: base

View File

@ -3665,7 +3665,7 @@ msgstr "Ean kontroll"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "Käibemaks"
#. module: base
@ -9890,7 +9890,7 @@ msgstr "Nädalad"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -3634,7 +3634,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr ""
#. module: base
@ -9845,7 +9845,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -3667,7 +3667,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "مالیات بر ارزش افزوده"
#. module: base
@ -9894,7 +9894,7 @@ msgstr "هفته‌ها"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -3634,7 +3634,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr ""
#. module: base
@ -9845,7 +9845,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -3751,7 +3751,7 @@ msgstr "EAN tarkistus"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "ALV"
#. module: base
@ -10091,7 +10091,7 @@ msgstr "Viikot"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr "ALV: "
#. module: base

View File

@ -4371,7 +4371,7 @@ msgstr "Vérification EAN"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "TVA"
#. module: base
@ -11707,7 +11707,7 @@ msgstr "Semaines"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr "TVA: "
#. module: base

View File

@ -3757,7 +3757,7 @@ msgstr "comprobar EAN"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "IVE"
#. module: base
@ -10069,7 +10069,7 @@ msgstr "Semanas"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -3692,7 +3692,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr ""
#. module: base
@ -9903,7 +9903,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -3654,7 +3654,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "מע\"מ"
#. module: base
@ -9877,7 +9877,7 @@ msgstr "שבועות"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -3784,7 +3784,7 @@ msgstr "Provjera Ean"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "PDV"
#. module: base
@ -10050,7 +10050,7 @@ msgstr "Tjedni"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr "PDV "
#. module: base

View File

@ -3744,7 +3744,7 @@ msgstr "EAN ellenőrzés"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "Közösségi/nemzetközi adószám"
#. module: base
@ -10063,7 +10063,7 @@ msgstr "Hetek"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -3634,7 +3634,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr ""
#. module: base
@ -9845,7 +9845,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -3638,7 +3638,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr ""
#. module: base
@ -9849,7 +9849,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -3668,7 +3668,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "VSK"
#. module: base
@ -9880,7 +9880,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -3807,7 +3807,7 @@ msgstr "Verifica EAN"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "Partita IVA"
#. module: base
@ -10132,7 +10132,7 @@ msgstr "Settimane"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -4131,7 +4131,7 @@ msgstr "EANチェック"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "VATValue Added Tax"
#. module: base
@ -11571,7 +11571,7 @@ msgstr "週"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -4267,7 +4267,7 @@ msgstr "EAN-ის შემოწმება"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "დღგ"
#. module: base
@ -11688,7 +11688,7 @@ msgstr "კვირეები"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr "დღგ: "
#. module: base

View File

@ -3634,7 +3634,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr ""
#. module: base
@ -9845,7 +9845,7 @@ msgstr "апта"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -3681,7 +3681,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "부가세"
#. module: base
@ -9906,7 +9906,7 @@ msgstr "주"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -3646,7 +3646,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "PVM"
#. module: base
@ -9877,7 +9877,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -4533,7 +4533,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr ""
#. module: base

View File

@ -3678,7 +3678,7 @@ msgstr "EAN pārbaude"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "PVN"
#. module: base
@ -9919,7 +9919,7 @@ msgstr "Nedēļas"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -3645,7 +3645,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr ""
#. module: base
@ -9856,7 +9856,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -4166,7 +4166,7 @@ msgstr "Зур.код чеклэх"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "НӨАТ"
#. module: base
@ -11762,7 +11762,7 @@ msgstr "7 хоног"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr "НӨАТ: "
#. module: base

View File

@ -3686,7 +3686,7 @@ msgstr "Ean sjekk"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "MVA"
#. module: base
@ -9926,7 +9926,7 @@ msgstr "Uker"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -3863,7 +3863,7 @@ msgstr "Ean controle"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "BTW"
#. module: base
@ -10292,7 +10292,7 @@ msgstr "Weken"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr "BTW: "
#. module: base

View File

@ -3649,7 +3649,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr ""
#. module: base
@ -9860,7 +9860,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -4711,7 +4711,7 @@ msgstr "html"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "BTW"
#. module: base

View File

@ -3730,7 +3730,7 @@ msgstr "Sprawdzanie EAN"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "NIP"
#. module: base
@ -10025,7 +10025,7 @@ msgstr "Tygodni"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr "NIP: "
#. module: base

View File

@ -3959,7 +3959,7 @@ msgstr "Verificar EAN"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "IVA"
#. module: base
@ -10340,7 +10340,7 @@ msgstr "Semanas"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr "IVA: "
#. module: base

View File

@ -4164,7 +4164,7 @@ msgstr "Verificar EAN"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "Imposto"
#. module: base
@ -10849,8 +10849,8 @@ msgstr "Semanas"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgstr "VAT: "
msgid "TIN: "
msgstr "TIN: "
#. module: base
#: model:res.country,name:base.af

View File

@ -4363,7 +4363,7 @@ msgstr "Verificati codul EAN"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "TVA"
#. module: base
@ -12351,7 +12351,7 @@ msgstr "Saptamani"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr "TVA: "
#. module: base

View File

@ -3811,7 +3811,7 @@ msgstr "Проверка кода Ean"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "ИНН"
#. module: base
@ -10154,7 +10154,7 @@ msgstr "Недели"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -3712,7 +3712,7 @@ msgstr "Ean kontrola"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "DPH"
#. module: base
@ -9991,7 +9991,7 @@ msgstr "Týždne"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -3741,7 +3741,7 @@ msgstr "Preveri ean"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "DDV"
#. module: base
@ -10047,7 +10047,7 @@ msgstr "Tedni"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -3633,7 +3633,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr ""
#. module: base
@ -9844,7 +9844,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -3710,7 +3710,7 @@ msgstr "EAN provera"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "PDV"
#. module: base
@ -9975,7 +9975,7 @@ msgstr "Nedelje"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -4309,7 +4309,7 @@ msgstr "EAN provera"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "PDV"
#. module: base
@ -11242,7 +11242,7 @@ msgstr "Nedelje"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr "PDV: "
#. module: base

View File

@ -3952,7 +3952,7 @@ msgstr "EAN kontroll"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "Moms"
#. module: base
@ -10426,7 +10426,7 @@ msgstr "Veckor"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr "Moms: "
#. module: base

View File

@ -3634,7 +3634,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr ""
#. module: base
@ -9845,7 +9845,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -3633,7 +3633,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr ""
#. module: base
@ -9844,7 +9844,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -3773,7 +3773,7 @@ msgstr "EAN kontrolü"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "KDV"
#. module: base
@ -10097,7 +10097,7 @@ msgstr "Hafta"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr "VNO: "
#. module: base

View File

@ -3669,7 +3669,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "ПДВ"
#. module: base
@ -9893,7 +9893,7 @@ msgstr "Тижні"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -4551,7 +4551,7 @@ msgstr "html"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "ПДВ"
#. module: base

View File

@ -3634,7 +3634,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr ""
#. module: base
@ -9845,7 +9845,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -3661,7 +3661,7 @@ msgstr "Kiểm tra EAN"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "Thuế GTGT"
#. module: base
@ -9878,7 +9878,7 @@ msgstr "Tuần"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -4032,7 +4032,7 @@ msgstr "条码检查"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "增值税"
#. module: base
@ -10638,7 +10638,7 @@ msgstr "周"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr "增值税: "
#. module: base

View File

@ -3634,7 +3634,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr ""
#. module: base
@ -9845,7 +9845,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -3639,7 +3639,7 @@ msgstr "Ean 檢查"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "增值稅"
#. module: base
@ -9858,7 +9858,7 @@ msgstr "週"
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base

View File

@ -560,7 +560,6 @@
<record model="ir.ui.view" id="view_ir_needaction_users_rel_tree">
<field name="name">ir.needaction_users_rel.tree</field>
<field name="model">ir.needaction_users_rel</field>
<field name="sequence">10</field>
<field name="arch" type="xml">
<tree string="Subscription">
<field name="user_id"/>

View File

@ -95,7 +95,7 @@
<field name="arch" type="xml">
<form string="Partners" version="7.0">
<sheet>
<field name="image_medium" widget='image' class="oe_avatar oe_left"/>
<field name="image" widget='image' class="oe_left" options='{"preview_image": "image_medium", "size": [90, 90]}'/>
<div class="oe_title">
<div class="oe_edit_only">
<label for="name"/> (
@ -164,7 +164,7 @@
<field name="phone"/>
<field name="street"/>
<field name="street2"/>
<field name="image_small"/>
<field name="image"/>
<field name="zip"/>
<field name="city"/>
<field name="country_id"/>
@ -177,7 +177,7 @@
<a t-if="! read_only_mode" type="delete" style="position: absolute; right: 0; padding: 4px; diplay: inline-block">X</a>
<div class="oe_module_vignette">
<a type="edit">
<img t-att-src="kanban_image('res.partner', 'image_small', record.id.value)" class="oe_avatar oe_kanban_avatar_smallbox"/>
<img t-att-src="kanban_image('res.partner', 'image', record.id.value, {'preview_image': 'image_small'})" class="oe_avatar oe_kanban_avatar_smallbox"/>
</a>
<div class="oe_module_desc">
<div class="oe_kanban_box_content oe_kanban_color_bglight oe_kanban_box_show_onclick_trigger oe_kanban_color_border">
@ -204,7 +204,7 @@
</templates>
</kanban>
<form string="Contact" version="7.0">
<field name="image_small" widget='image' class="oe_avatar oe_left"/>
<field name="image" widget='image' class="oe_avatar oe_left" options='{"preview_image": "image_medium"}'/>
<div class="oe_title">
<group>
<field name="name"/>
@ -293,7 +293,6 @@
<field name="phone"/>
<field name="street"/>
<field name="street2"/>
<field name="image_small"/>
<field name="zip"/>
<field name="city"/>
<field name="country_id"/>

View File

@ -42,15 +42,13 @@
-
!python {model: ir.model}: |
from tools.safe_eval import safe_eval
from tools.misc import mute_logger
try:
safe_eval('open("/etc/passwd","r")')
assert False, "safe_eval should not allow calling open() builtin"
with mute_logger('openerp.tools.safe_eval'):
safe_eval('open("/etc/passwd","r")')
assert False, "safe_eval should not allow calling open() builtin"
except NameError:
pass
except:
# NameError should be raised because open() builtin is not found,
# but other exceptions probably indicate that open() was executed!
assert False, "safe_eval should not allow calling open() builtin"
pass
-
"ORM test: verify that parent_store computation are going right"

View File

@ -185,7 +185,6 @@
<rng:optional> <rng:attribute name="string"/> </rng:optional>
<rng:optional> <rng:attribute name="sequence"/> </rng:optional>
<rng:optional> <rng:attribute name="groups"/> </rng:optional>
<rng:optional> <rng:attribute name="type"/> </rng:optional>
<rng:optional> <rng:attribute name="menu"/> </rng:optional>
<rng:empty />
</rng:element>

View File

@ -3,7 +3,7 @@
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
# Copyright (C) 2010-2011 OpenERP s.a. (<http://openerp.com>).
# Copyright (C) 2010-2012 OpenERP s.a. (<http://openerp.com>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
@ -84,7 +84,7 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules=
_load_data(cr, module_name, idref, mode, 'test')
return True
except Exception:
_logger.error(
_logger.exception(
'module %s: an exception occurred in a test', module_name)
return False
finally:
@ -119,7 +119,7 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules=
elif ext == '.sql':
process_sql_file(cr, fp)
elif ext == '.yml':
tools.convert_yaml_import(cr, module_name, fp, idref, mode, noupdate, report)
tools.convert_yaml_import(cr, module_name, fp, kind, idref, mode, noupdate, report)
else:
tools.convert_xml_import(cr, module_name, fp, idref, mode, noupdate, report)
finally:

View File

@ -3,7 +3,7 @@
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2011 OpenERP SA (<http://www.openerp.com>)
# Copyright (C) 2004-2012 OpenERP SA (<http://www.openerp.com>)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
@ -376,11 +376,11 @@ def dispatch_rpc(service_name, method, params):
except openerp.exceptions.Warning:
raise
except openerp.exceptions.DeferredException, e:
_logger.error(tools.exception_to_unicode(e))
_logger.exception(tools.exception_to_unicode(e))
post_mortem(e.traceback)
raise
except Exception, e:
_logger.error(tools.exception_to_unicode(e))
_logger.exception(tools.exception_to_unicode(e))
post_mortem(sys.exc_info())
raise

View File

@ -3,6 +3,7 @@ import openerp.modules.registry
import openerp
from openerp.tests import common
from openerp.tools.misc import mute_logger
def ok(n):
""" Successful import of ``n`` records
@ -221,6 +222,7 @@ class test_integer_field(ImporterCase):
-1, -42, -(2**31 - 1), -(2**31), -12345678
], values(self.read()))
@mute_logger('openerp.sql_db')
def test_out_of_range(self):
self.assertEqual(
self.import_(['value'], [[str(2**31)]]),

View File

@ -1,5 +1,6 @@
# -*- coding: utf-8 -*-
import os
import threading
import time
import unittest2
import xmlrpclib
@ -11,6 +12,13 @@ ADDONS_PATH = openerp.tools.config['addons_path']
PORT = openerp.tools.config['xmlrpc_port']
DB = openerp.tools.config['db_name']
# If the database name is not provided on the command-line,
# use the one on the thread (which means if it is provided on
# the command-line, this will break when installing another
# database from XML-RPC).
if not DB and hasattr(threading.current_thread(), 'dbname'):
DB = threading.current_thread().dbname
HOST = '127.0.0.1'
ADMIN_USER = 'admin'

View File

@ -22,6 +22,16 @@ def registry(model):
def cursor():
return openerp.modules.registry.RegistryManager.get(DB).db.cursor()
def drop_sequence(code):
cr = cursor()
for model in ['ir.sequence', 'ir.sequence.type']:
s = registry(model)
ids = s.search(cr, ADMIN_USER_ID, [('code', '=', code)])
s.unlink(cr, ADMIN_USER_ID, ids)
cr.commit()
cr.close()
class test_ir_sequence_standard(unittest2.TestCase):
""" A few tests for a 'Standard' (i.e. PostgreSQL) sequence. """
@ -48,7 +58,7 @@ class test_ir_sequence_standard(unittest2.TestCase):
def test_ir_sequence_draw(self):
""" Try to draw a number. """
cr = cursor()
n = registry('ir.sequence').get(cr, ADMIN_USER_ID, 'test_sequence_type', {})
n = registry('ir.sequence').next_by_code(cr, ADMIN_USER_ID, 'test_sequence_type', {})
assert n
cr.commit()
cr.close()
@ -57,15 +67,19 @@ class test_ir_sequence_standard(unittest2.TestCase):
""" Try to draw a number from two transactions. """
cr0 = cursor()
cr1 = cursor()
n0 = registry('ir.sequence').get(cr0, ADMIN_USER_ID, 'test_sequence_type', {})
n0 = registry('ir.sequence').next_by_code(cr0, ADMIN_USER_ID, 'test_sequence_type', {})
assert n0
n1 = registry('ir.sequence').get(cr1, ADMIN_USER_ID, 'test_sequence_type', {})
n1 = registry('ir.sequence').next_by_code(cr1, ADMIN_USER_ID, 'test_sequence_type', {})
assert n1
cr0.commit()
cr1.commit()
cr0.close()
cr1.close()
@classmethod
def tearDownClass(cls):
drop_sequence('test_sequence_type')
class test_ir_sequence_no_gap(unittest2.TestCase):
""" Copy of the previous tests for a 'No gap' sequence. """
@ -85,7 +99,7 @@ class test_ir_sequence_no_gap(unittest2.TestCase):
def test_ir_sequence_draw_no_gap(self):
""" Try to draw a number. """
cr = cursor()
n = registry('ir.sequence').get(cr, ADMIN_USER_ID, 'test_sequence_type_2', {})
n = registry('ir.sequence').next_by_code(cr, ADMIN_USER_ID, 'test_sequence_type_2', {})
assert n
cr.commit()
cr.close()
@ -99,12 +113,16 @@ class test_ir_sequence_no_gap(unittest2.TestCase):
cr1._default_log_exceptions = False # Prevent logging a traceback
msg_re = '^could not obtain lock on row in relation "ir_sequence"$'
with self.assertRaisesRegexp(psycopg2.OperationalError, msg_re):
n0 = registry('ir.sequence').get(cr0, ADMIN_USER_ID, 'test_sequence_type_2', {})
n0 = registry('ir.sequence').next_by_code(cr0, ADMIN_USER_ID, 'test_sequence_type_2', {})
assert n0
n1 = registry('ir.sequence').get(cr1, ADMIN_USER_ID, 'test_sequence_type_2', {})
n1 = registry('ir.sequence').next_by_code(cr1, ADMIN_USER_ID, 'test_sequence_type_2', {})
cr0.close()
cr1.close()
@classmethod
def tearDownClass(cls):
drop_sequence('test_sequence_type_2')
class test_ir_sequence_change_implementation(unittest2.TestCase):
""" Create sequence objects and change their ``implementation`` field. """
@ -146,6 +164,11 @@ class test_ir_sequence_change_implementation(unittest2.TestCase):
cr.commit()
cr.close()
@classmethod
def tearDownClass(cls):
drop_sequence('test_sequence_type_3')
drop_sequence('test_sequence_type_4')
class test_ir_sequence_generate(unittest2.TestCase):
""" Create sequence objects and generate some values. """
@ -162,7 +185,7 @@ class test_ir_sequence_generate(unittest2.TestCase):
cr.close()
cr = cursor()
f = lambda *a: registry('ir.sequence').get(cr, ADMIN_USER_ID, 'test_sequence_type_5', {})
f = lambda *a: registry('ir.sequence').next_by_code(cr, ADMIN_USER_ID, 'test_sequence_type_5', {})
assert all(str(x) == f() for x in xrange(1,1000))
cr.commit()
cr.close()
@ -180,11 +203,15 @@ class test_ir_sequence_generate(unittest2.TestCase):
cr.close()
cr = cursor()
f = lambda *a: registry('ir.sequence').get(cr, ADMIN_USER_ID, 'test_sequence_type_6', {})
f = lambda *a: registry('ir.sequence').next_by_code(cr, ADMIN_USER_ID, 'test_sequence_type_6', {})
assert all(str(x) == f() for x in xrange(1,1000))
cr.commit()
cr.close()
@classmethod
def tearDownClass(cls):
drop_sequence('test_sequence_type_5')
drop_sequence('test_sequence_type_6')
if __name__ == '__main__':

View File

@ -591,7 +591,21 @@ form: module.record_id""" % (xml_id,)
if rec.get('action'):
a_action = rec.get('action','').encode('utf8')
a_type = rec.get('type','').encode('utf8') or 'act_window'
# determine the type of action
if '.' in a_action:
# action referring to another module
a_action_module, a_action_name = a_action.split('.')
else:
# local action: use current module
a_action_module = self.module
a_action_name = a_action
# fetch the model and the res id
ir_action_ref = self.pool.get('ir.model.data').get_object_reference(cr, self.uid, a_action_module, a_action_name)
# get the part of the model we need
a_type = ir_action_ref[0].split('.')[-1]
icons = {
"act_window": 'STOCK_NEW',
"report.xml": 'STOCK_PASTE',
@ -601,6 +615,7 @@ form: module.record_id""" % (xml_id,)
"server": 'STOCK_EXECUTE',
}
values['icon'] = icons.get(a_type,'STOCK_NEW')
if a_type=='act_window':
a_id = self.id_get(cr, a_action)
cr.execute('select view_type,view_mode,name,view_id,target from ir_act_window where id=%s', (int(a_id),))
@ -627,7 +642,7 @@ form: module.record_id""" % (xml_id,)
values['icon'] = 'STOCK_EXECUTE'
if not values.get('name', False):
values['name'] = action_name
elif a_type in ['wizard', 'url', 'client', 'server'] and not values.get('name'):
a_id = self.id_get(cr, a_action)
a_table = 'ir_act_%s' % a_type

View File

@ -1140,4 +1140,37 @@ class UnquoteEvalContext(defaultdict):
def __missing__(self, key):
return unquote(key)
class mute_logger(object):
"""Temporary suppress the logging.
Can be used as context manager or decorator.
@mute_logger('openerp.plic.ploc')
def do_stuff():
blahblah()
with mute_logger('openerp.foo.bar'):
do_suff()
"""
def __init__(self, *loggers):
self.loggers = loggers
def filter(self, record):
return 0
def __enter__(self):
for logger in self.loggers:
logging.getLogger(logger).addFilter(self)
def __exit__(self, exc_type=None, exc_val=None, exc_tb=None):
for logger in self.loggers:
logging.getLogger(logger).removeFilter(self)
def __call__(self, func):
@wraps(func)
def deco(*args, **kwargs):
with self:
return func(*args, **kwargs)
return deco
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -100,7 +100,7 @@ class RecordDictWrapper(dict):
return dict.__getitem__(self, key)
class YamlInterpreter(object):
def __init__(self, cr, module, id_map, mode, filename, report=None, noupdate=False):
def __init__(self, cr, module, id_map, mode, filename, report=None, noupdate=False, loglevel=logging.DEBUG):
self.cr = cr
self.module = module
self.id_map = id_map
@ -110,6 +110,7 @@ class YamlInterpreter(object):
report = assertion_report.assertion_report()
self.assertion_report = report
self.noupdate = noupdate
self.loglevel = loglevel
self.pool = pooler.get_pool(cr.dbname)
self.uid = 1
self.context = {} # opererp context
@ -119,6 +120,9 @@ class YamlInterpreter(object):
'datetime': datetime,
'timedelta': timedelta}
def _log(self, *args, **kwargs):
_logger.log(self.loglevel, *args, **kwargs)
def _ref(self):
return lambda xml_id: self.get_id(xml_id)
@ -484,12 +488,10 @@ class YamlInterpreter(object):
self.noupdate = node.noupdate
def process_python(self, node):
def log(msg, *args):
_logger.log(logging.TEST, msg, *args)
python, statements = node.items()[0]
model = self.get_model(python.model)
statements = statements.replace("\r\n", "\n")
code_context = {'model': model, 'cr': self.cr, 'uid': self.uid, 'log': log, 'context': self.context}
code_context = {'model': model, 'cr': self.cr, 'uid': self.uid, 'log': self._log, 'context': self.context}
code_context.update({'self': model}) # remove me when no !python block test uses 'self' anymore
try:
code_obj = compile(statements, self.filename, 'exec')
@ -720,7 +722,7 @@ class YamlInterpreter(object):
if len(ids):
self.pool.get(node.model).unlink(self.cr, self.uid, ids)
else:
_logger.log(logging.TEST, "Record not deleted.")
self._log("Record not deleted.")
def process_url(self, node):
self.validate_xml_id(node.id)
@ -805,7 +807,7 @@ class YamlInterpreter(object):
is_preceded_by_comment = False
for node in yaml.load(yaml_string):
is_preceded_by_comment = self._log(node, is_preceded_by_comment)
is_preceded_by_comment = self._log_node(node, is_preceded_by_comment)
try:
self._process_node(node)
except YamlImportException, e:
@ -852,26 +854,27 @@ class YamlInterpreter(object):
else:
raise YamlImportException("Can not process YAML block: %s" % node)
def _log(self, node, is_preceded_by_comment):
def _log_node(self, node, is_preceded_by_comment):
if is_comment(node):
is_preceded_by_comment = True
_logger.log(logging.TEST, node)
self._log(node)
elif not is_preceded_by_comment:
if isinstance(node, types.DictionaryType):
msg = "Creating %s\n with %s"
args = node.items()[0]
_logger.log(logging.TEST, msg, *args)
self._log(msg, *args)
else:
_logger.log(logging.TEST, node)
self._log(node)
else:
is_preceded_by_comment = False
return is_preceded_by_comment
def yaml_import(cr, module, yamlfile, idref=None, mode='init', noupdate=False, report=None):
def yaml_import(cr, module, yamlfile, kind, idref=None, mode='init', noupdate=False, report=None):
if idref is None:
idref = {}
loglevel = logging.TEST if kind == 'test' else logging.DEBUG
yaml_string = yamlfile.read()
yaml_interpreter = YamlInterpreter(cr, module, idref, mode, filename=yamlfile.name, report=report, noupdate=noupdate)
yaml_interpreter = YamlInterpreter(cr, module, idref, mode, filename=yamlfile.name, report=report, noupdate=noupdate, loglevel=loglevel)
yaml_interpreter.process(yaml_string)
# keeps convention of convert.py