[MERGE] merged trunk
bzr revid: vmt@openerp.com-20110525151722-w9qt1qjficpv71re
This commit is contained in:
commit
5d83528841
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-server\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2009-08-24 22:41+0300\n"
|
||||
"PO-Revision-Date: 2010-01-29 05:27+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
|
||||
"PO-Revision-Date: 2011-05-17 20:53+0000\n"
|
||||
"Last-Translator: Ayhan KIZILTAN <Unknown>\n"
|
||||
"Language-Team: Turkish <tr@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-04-19 04:50+0000\n"
|
||||
"X-Generator: Launchpad (build 12758)\n"
|
||||
"X-Launchpad-Export-Date: 2011-05-18 06:22+0000\n"
|
||||
"X-Generator: Launchpad (build 12959)\n"
|
||||
|
||||
#. Type: string
|
||||
#. Description
|
||||
|
@ -38,4 +38,4 @@ msgstr ""
|
|||
#. Description
|
||||
#: ../openerp-server.templates:1001
|
||||
msgid "Please choose that account's username."
|
||||
msgstr "Lütfen bu hesabın kullanıcı adını seçiniz."
|
||||
msgstr "Lütfen o hesabın kullanıcı adını seçiniz."
|
||||
|
|
|
@ -94,6 +94,8 @@
|
|||
'test/bug_lp541545.xml',
|
||||
'test/test_osv_expression.yml',
|
||||
'test/test_ir_rule.yml', # <-- These tests modify/add/delete ir_rules.
|
||||
'test/test_config_users.yml',
|
||||
'test/test_ir_values.yml',
|
||||
],
|
||||
'installable': True,
|
||||
'active': True,
|
||||
|
|
|
@ -1618,29 +1618,44 @@
|
|||
<field eval="time.strftime('%Y-01-01')" name="name"/>
|
||||
</record>
|
||||
|
||||
<record id="CFA" model="res.currency">
|
||||
<!-- There are in fact 2 CFA currencies:
|
||||
- XAF for the Central African CFA franc
|
||||
- XOF for the West African CFA franc
|
||||
As they are interchangeable, we probably only need one.
|
||||
XOF appears to have "CFA" as symbol, while "XAF" is "FCFA",
|
||||
so let's pick XOF as the ISO Code, to have a code-symbol match.
|
||||
We can keep CFA as XML ID to show that we only have one currency,
|
||||
there is no possible conflict, as no other currency currently
|
||||
has CFA as ISO Code.
|
||||
See http://en.wikipedia.org/wiki/CFA_franc
|
||||
http://en.wikipedia.org/wiki/ISO_4217
|
||||
-->
|
||||
<record id="XOF" model="res.currency">
|
||||
<field name="name">XOF</field>
|
||||
<field name="symbol">CFA</field>
|
||||
<field name="rounding">1</field>
|
||||
<field name="accuracy">4</field>
|
||||
<field name="company_id" ref="main_company"/>
|
||||
</record>
|
||||
<record id="rateCFA" model="res.currency.rate">
|
||||
<record id="rateXOF" model="res.currency.rate">
|
||||
<field name="rate">655.957</field>
|
||||
<field name="currency_id" ref="CFA"/>
|
||||
<field name="currency_id" ref="XOF"/>
|
||||
<field eval="time.strftime('%Y-01-01')" name="name"/>
|
||||
</record>
|
||||
|
||||
<record id="XAF" model="res.currency">
|
||||
<field name="name">XAF</field>
|
||||
<field name="symbol">FCFA</field>
|
||||
<field name="rounding">1</field>
|
||||
<field name="accuracy">4</field>
|
||||
<field name="company_id" ref="main_company"/>
|
||||
</record>
|
||||
<record id="rateXAF" model="res.currency.rate">
|
||||
<field name="rate">655.957</field>
|
||||
<field name="currency_id" ref="XAF"/>
|
||||
<field eval="time.strftime('%Y-01-01')" name="name"/>
|
||||
</record>
|
||||
|
||||
<record id="UGX" model="res.currency">
|
||||
<field name="name">UGX</field>
|
||||
<field name="symbol">USh</field>
|
||||
<field name="rounding">1</field>
|
||||
<field name="accuracy">4</field>
|
||||
<field name="company_id" ref="main_company"/>
|
||||
</record>
|
||||
<record id="rateUGX" model="res.currency.rate">
|
||||
<field name="rate">3401.91388</field>
|
||||
<field name="currency_id" ref="UGX"/>
|
||||
<field eval="time.strftime('%Y-01-01')" name="name"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -7,14 +7,14 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 5.0.4\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||
"PO-Revision-Date: 2010-06-06 04:19+0000\n"
|
||||
"Last-Translator: Vladimír Burian <vladimir.burian@email.cz>\n"
|
||||
"PO-Revision-Date: 2011-05-18 16:53+0000\n"
|
||||
"Last-Translator: Jan B. Krejčí <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-01-12 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
"X-Launchpad-Export-Date: 2011-05-19 06:22+0000\n"
|
||||
"X-Generator: Launchpad (build 12959)\n"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.filters:0
|
||||
|
@ -23,22 +23,22 @@ msgstr ""
|
|||
#: field:ir.rule,domain_force:0
|
||||
#: field:res.partner.title,domain:0
|
||||
msgid "Domain"
|
||||
msgstr ""
|
||||
msgstr "Doména"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
msgid "Saint Helena"
|
||||
msgstr ""
|
||||
msgstr "Svatá Helena"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.actions.report.xml:0
|
||||
msgid "Other Configuration"
|
||||
msgstr ""
|
||||
msgstr "Ostatní nastavení"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.property,type:0
|
||||
msgid "DateTime"
|
||||
msgstr ""
|
||||
msgstr "Datum a čas"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/fields.py:534
|
||||
|
@ -58,12 +58,12 @@ msgstr "Metadata"
|
|||
#: field:ir.ui.view,arch:0
|
||||
#: field:ir.ui.view.custom,arch:0
|
||||
msgid "View Architecture"
|
||||
msgstr "Architektura náhledu(View Architecture)"
|
||||
msgstr "Architektura zobrazení"
|
||||
|
||||
#. module: base
|
||||
#: field:base.language.import,code:0
|
||||
msgid "Code (eg:en__US)"
|
||||
msgstr "Kód (eg:en__US)"
|
||||
msgstr "Kód (např. en_US)"
|
||||
|
||||
#. module: base
|
||||
#: view:workflow:0
|
||||
|
@ -73,12 +73,12 @@ msgstr "Kód (eg:en__US)"
|
|||
#: field:workflow.transition,wkf_id:0
|
||||
#: field:workflow.workitem,wkf_id:0
|
||||
msgid "Workflow"
|
||||
msgstr "Workflow(Workflow)"
|
||||
msgstr "Pracovní postup"
|
||||
|
||||
#. module: base
|
||||
#: view:partner.sms.send:0
|
||||
msgid "SMS - Gateway: clickatell"
|
||||
msgstr "Brána: clickatell(Gateway: clickatell)"
|
||||
msgstr "SMS brána Clickatell"
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
|
|
|
@ -7,14 +7,14 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 5.0.4\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||
"PO-Revision-Date: 2011-03-22 22:41+0000\n"
|
||||
"Last-Translator: Pierre Burnier <Unknown>\n"
|
||||
"PO-Revision-Date: 2011-05-16 16:57+0000\n"
|
||||
"Last-Translator: lolivier <olivier.lenoir@free.fr>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-03-23 06:23+0000\n"
|
||||
"X-Generator: Launchpad (build 12559)\n"
|
||||
"X-Launchpad-Export-Date: 2011-05-17 06:04+0000\n"
|
||||
"X-Generator: Launchpad (build 12959)\n"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.filters:0
|
||||
|
@ -8647,7 +8647,7 @@ msgstr "Danish / Dansk"
|
|||
#. module: base
|
||||
#: selection:ir.model.fields,select_level:0
|
||||
msgid "Advanced Search (deprecated)"
|
||||
msgstr ""
|
||||
msgstr "Recherche avancée (obsolète)"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.cx
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -7,14 +7,14 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 5.0.4\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||
"PO-Revision-Date: 2011-03-31 14:18+0000\n"
|
||||
"Last-Translator: Grzegorz Grzelak (OpenGLOBE.pl) <grzegorz@openglobe.pl>\n"
|
||||
"PO-Revision-Date: 2011-05-14 20:16+0000\n"
|
||||
"Last-Translator: Mariusz Wójtowicz <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-04-01 06:04+0000\n"
|
||||
"X-Generator: Launchpad (build 12559)\n"
|
||||
"X-Launchpad-Export-Date: 2011-05-15 05:37+0000\n"
|
||||
"X-Generator: Launchpad (build 12959)\n"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.filters:0
|
||||
|
@ -171,7 +171,7 @@ msgstr "Swaziland"
|
|||
#: code:addons/orm.py:3653
|
||||
#, python-format
|
||||
msgid "created."
|
||||
msgstr ""
|
||||
msgstr "utworzona."
|
||||
|
||||
#. module: base
|
||||
#: model:res.partner.category,name:base.res_partner_category_woodsuppliers0
|
||||
|
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: pt_BR\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||
"PO-Revision-Date: 2011-05-10 19:52+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
|
||||
"PO-Revision-Date: 2011-05-22 04:28+0000\n"
|
||||
"Last-Translator: Emerson <Unknown>\n"
|
||||
"Language-Team: <pt@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-05-11 04:36+0000\n"
|
||||
"X-Launchpad-Export-Date: 2011-05-23 05:33+0000\n"
|
||||
"X-Generator: Launchpad (build 12959)\n"
|
||||
|
||||
#. module: base
|
||||
|
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 5.0.4\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||
"PO-Revision-Date: 2011-05-10 19:56+0000\n"
|
||||
"Last-Translator: Pomazan Bogdan <Unknown>\n"
|
||||
"PO-Revision-Date: 2011-05-24 17:21+0000\n"
|
||||
"Last-Translator: Chertykov Denis <chertykov@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-05-11 04:36+0000\n"
|
||||
"X-Launchpad-Export-Date: 2011-05-25 06:14+0000\n"
|
||||
"X-Generator: Launchpad (build 12959)\n"
|
||||
|
||||
#. module: base
|
||||
|
@ -613,7 +613,7 @@ msgstr "Королевство Камбоджа"
|
|||
#: model:ir.ui.menu,name:base.menu_ir_sequence_form
|
||||
#: model:ir.ui.menu,name:base.next_id_5
|
||||
msgid "Sequences"
|
||||
msgstr "Последовательности"
|
||||
msgstr "Нумерация"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_base_language_import
|
||||
|
@ -1139,7 +1139,7 @@ msgstr "Банк"
|
|||
#. module: base
|
||||
#: model:ir.model,name:base.model_ir_exports_line
|
||||
msgid "ir.exports.line"
|
||||
msgstr "Строки экспорта"
|
||||
msgstr "ir.exports.line"
|
||||
|
||||
#. module: base
|
||||
#: help:base.language.install,overwrite:0
|
||||
|
@ -1191,7 +1191,7 @@ msgstr ""
|
|||
#: field:res.config.users,login:0
|
||||
#: field:res.users,login:0
|
||||
msgid "Login"
|
||||
msgstr "Вход"
|
||||
msgstr "Логин"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.actions.server:0
|
||||
|
@ -2069,7 +2069,7 @@ msgstr "Куба"
|
|||
#. module: base
|
||||
#: model:ir.model,name:base.model_res_partner_event
|
||||
msgid "res.partner.event"
|
||||
msgstr "События партнера"
|
||||
msgstr "res.partner.event"
|
||||
|
||||
#. module: base
|
||||
#: model:res.widget,title:base.facebook_widget
|
||||
|
@ -2995,7 +2995,7 @@ msgstr "Испанский (HN) / Español (HN)"
|
|||
#. module: base
|
||||
#: view:ir.sequence.type:0
|
||||
msgid "Sequence Type"
|
||||
msgstr "Тип последовательности"
|
||||
msgstr "Тип нумерации"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.ui.view.custom:0
|
||||
|
@ -3280,7 +3280,7 @@ msgstr "Договор уже зарегистрирован в системе."
|
|||
#. module: base
|
||||
#: help:ir.sequence,suffix:0
|
||||
msgid "Suffix value of the record for the sequence"
|
||||
msgstr "Суффикс записи для последовательности"
|
||||
msgstr "Суффикс записи для нумерации"
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
|
@ -3528,10 +3528,11 @@ msgid ""
|
|||
"Would your payment have been carried out after this mail was sent, please "
|
||||
"consider the present one as void."
|
||||
msgstr ""
|
||||
"Уведомляем, что наступило время следующего платежа. Если платёж был "
|
||||
"отправлен — предоставьте, пожалуйста, подробности этого платежа. Если платёж "
|
||||
"будет и далее задерживаться, свяжитесь, пожалуйста, с нами. "
|
||||
" Если платёж был отправлен до отправки этого письма — возможно, письмо "
|
||||
"Уведомляем, что наступило время следующего платежа. \n"
|
||||
"Если платёж был отправлен — предоставьте, пожалуйста, подробности этого "
|
||||
"платежа. \n"
|
||||
"Если платёж будет и далее задерживаться, свяжитесь, пожалуйста, с нами.\n"
|
||||
"Если платёж был отправлен до отправки этого письма — возможно, письмо "
|
||||
"отправлено по ошибке."
|
||||
|
||||
#. module: base
|
||||
|
@ -4794,7 +4795,7 @@ msgstr "Бутан"
|
|||
#. module: base
|
||||
#: help:ir.sequence,number_next:0
|
||||
msgid "Next number of this sequence"
|
||||
msgstr "Следующее число в этой последовательности"
|
||||
msgstr "Следующее число в этой нумерации"
|
||||
|
||||
#. module: base
|
||||
#: model:res.partner.category,name:base.res_partner_category_11
|
||||
|
@ -5170,7 +5171,7 @@ msgstr "Контакт"
|
|||
#. module: base
|
||||
#: model:ir.model,name:base.model_ir_ui_menu
|
||||
msgid "ir.ui.menu"
|
||||
msgstr "Меню"
|
||||
msgstr "ir.ui.menu"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.us
|
||||
|
@ -5197,7 +5198,7 @@ msgstr "Отчет RML"
|
|||
#. module: base
|
||||
#: model:ir.model,name:base.model_ir_server_object_lines
|
||||
msgid "ir.server.object.lines"
|
||||
msgstr "События сервера"
|
||||
msgstr "ir.server.object.lines"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/module/module.py:531
|
||||
|
@ -5503,7 +5504,7 @@ msgstr "Обновление / Установка модуля"
|
|||
#. module: base
|
||||
#: model:ir.model,name:base.model_ir_actions_configuration_wizard
|
||||
msgid "ir.actions.configuration.wizard"
|
||||
msgstr "Диалог конфигурировая события"
|
||||
msgstr "ir.actions.configuration.wizard"
|
||||
|
||||
#. module: base
|
||||
#: view:res.lang:0
|
||||
|
@ -5794,7 +5795,7 @@ msgstr "Дата создания"
|
|||
#. module: base
|
||||
#: model:ir.model,name:base.model_ir_actions_todo
|
||||
msgid "ir.actions.todo"
|
||||
msgstr "ТОДО"
|
||||
msgstr "ir.actions.todo"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/res/res_config.py:94
|
||||
|
@ -6227,7 +6228,7 @@ msgstr "Сбор средств"
|
|||
#: model:ir.actions.act_window,name:base.ir_sequence_type
|
||||
#: model:ir.ui.menu,name:base.menu_ir_sequence_type
|
||||
msgid "Sequence Codes"
|
||||
msgstr "Последовательность кодов"
|
||||
msgstr "Коды нумераций"
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
|
@ -6749,7 +6750,7 @@ msgstr "Мартиника (заморский регион Франции)"
|
|||
#. module: base
|
||||
#: view:ir.sequence.type:0
|
||||
msgid "Sequences Type"
|
||||
msgstr "Тип последовательностей"
|
||||
msgstr "Тип нумерации"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.res_request-act
|
||||
|
@ -6990,7 +6991,7 @@ msgstr "Часовой пояс"
|
|||
#: model:ir.model,name:base.model_ir_actions_report_xml
|
||||
#: selection:ir.ui.menu,action:0
|
||||
msgid "ir.actions.report.xml"
|
||||
msgstr "События отчетов"
|
||||
msgstr "ir.actions.report.xml"
|
||||
|
||||
#. module: base
|
||||
#: model:res.partner.title,shortcut:base.res_partner_title_miss
|
||||
|
@ -7309,7 +7310,7 @@ msgstr "Месяц: %(месяц)ы"
|
|||
#: field:res.widget.user,sequence:0
|
||||
#: field:wizard.ir.model.menu.create.line,sequence:0
|
||||
msgid "Sequence"
|
||||
msgstr "Последовательность"
|
||||
msgstr "Нумерация"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.tn
|
||||
|
@ -7865,8 +7866,9 @@ msgid ""
|
|||
msgstr ""
|
||||
"Можно устанавливать новые модули для подключения новых функций, меню, "
|
||||
"отчётов или данных в вашем экземпляре OpenERP. Для установки модулей, "
|
||||
"нажмите на кнопку «Отметить для установки» в представлении в виде формы, "
|
||||
"затем нажмите «Применить отмеченные обновления», чтобы обновить вашу систему."
|
||||
"нажмите на кнопку «Запланировать установку» в представлении в виде формы, "
|
||||
"затем нажмите «Выполнить запланированные обновления», чтобы обновить вашу "
|
||||
"систему."
|
||||
|
||||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.menu_emails
|
||||
|
@ -8055,7 +8057,7 @@ msgstr "Габон"
|
|||
#. module: base
|
||||
#: model:ir.model,name:base.model_ir_model_data
|
||||
msgid "ir.model.data"
|
||||
msgstr "Данные"
|
||||
msgstr "ir.model.data"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.model:0
|
||||
|
@ -8350,7 +8352,7 @@ msgstr "Адресная книга"
|
|||
#. module: base
|
||||
#: model:ir.model,name:base.model_ir_sequence_type
|
||||
msgid "ir.sequence.type"
|
||||
msgstr "Тип последовательности"
|
||||
msgstr "ir.sequence.type"
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.export,format:0
|
||||
|
@ -8642,7 +8644,7 @@ msgstr "События клиента"
|
|||
#. module: base
|
||||
#: view:ir.module.module:0
|
||||
msgid "Schedule for Installation"
|
||||
msgstr "Расписание установки"
|
||||
msgstr "Запланировать установку"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_partner_wizard_ean_check
|
||||
|
@ -8689,7 +8691,7 @@ msgstr "Вануату"
|
|||
#. module: base
|
||||
#: view:res.company:0
|
||||
msgid "Internal Header/Footer"
|
||||
msgstr "Внутренние верхний / нижний колонтитулы"
|
||||
msgstr "Внутренние верхний/нижний колонтитулы"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/module/wizard/base_export_language.py:59
|
||||
|
@ -9488,7 +9490,7 @@ msgstr "Поле мастера"
|
|||
#. module: base
|
||||
#: help:ir.sequence,prefix:0
|
||||
msgid "Prefix value of the record for the sequence"
|
||||
msgstr "Префикс записи для последовательности"
|
||||
msgstr "Префикс для нумерации"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sc
|
||||
|
@ -9542,7 +9544,7 @@ msgstr "Объект ресурса"
|
|||
#. module: base
|
||||
#: help:ir.sequence,number_increment:0
|
||||
msgid "The next number of the sequence will be incremented by this number"
|
||||
msgstr "Следующее число последовательности будет увеличено на это число"
|
||||
msgstr "Следующее число в нумерации будет увеличено на это число"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.cron,function:0
|
||||
|
|
|
@ -7,13 +7,13 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||
"PO-Revision-Date: 2011-05-13 07:33+0000\n"
|
||||
"PO-Revision-Date: 2011-05-20 16:43+0000\n"
|
||||
"Last-Translator: Anders Wallenquist <anders.wallenquist@vertel.se>\n"
|
||||
"Language-Team: <>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-05-14 04:53+0000\n"
|
||||
"X-Launchpad-Export-Date: 2011-05-21 06:14+0000\n"
|
||||
"X-Generator: Launchpad (build 12959)\n"
|
||||
|
||||
#. module: base
|
||||
|
@ -1522,6 +1522,8 @@ msgid ""
|
|||
"This wizard will scan all module repositories on the server side to detect "
|
||||
"newly added modules as well as any change to existing modules."
|
||||
msgstr ""
|
||||
"Denna guide söker igenom alla modularkiv på servern och upptäcker nya "
|
||||
"moduler liksom uppdateringar av befintliga moduler"
|
||||
|
||||
#. module: base
|
||||
#: field:res.company,logo:0
|
||||
|
@ -3005,7 +3007,7 @@ msgid ""
|
|||
"The selected language has been successfully installed. You must change the "
|
||||
"preferences of the user and open a new menu to view the changes."
|
||||
msgstr ""
|
||||
"Språket du valde jhar installerats. Du kan ändra egenskaperna av användaren "
|
||||
"Språket du valde har installerats. Du kan ändra egenskaperna av användaren "
|
||||
"och öppna en meny för att se ändringarna."
|
||||
|
||||
#. module: base
|
||||
|
@ -4614,7 +4616,7 @@ msgstr "lägg till"
|
|||
#: model:ir.actions.act_window,name:base.action_view_base_module_upgrade_window
|
||||
#: model:ir.ui.menu,name:base.menu_view_base_module_upgrade
|
||||
msgid "Apply Scheduled Upgrades"
|
||||
msgstr "Applicera planerade uppgraderingar"
|
||||
msgstr "Inför uppgraderingar"
|
||||
|
||||
#. module: base
|
||||
#: view:res.widget:0
|
||||
|
@ -5433,7 +5435,7 @@ msgstr "Lägg till användare"
|
|||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.action_view_base_module_upgrade_install
|
||||
msgid "Module Upgrade Install"
|
||||
msgstr "Modul uppgradering installering"
|
||||
msgstr "Moduluppgradering"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_ir_actions_configuration_wizard
|
||||
|
@ -5833,7 +5835,7 @@ msgstr "Kan inte skapa modulfilen: %s !"
|
|||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_meta_information
|
||||
msgid "The kernel of OpenERP, needed for all installation."
|
||||
msgstr "OpenERP's kärna, behövs för alla installationer"
|
||||
msgstr "OpenERP's kärna, behövs för alla installationer."
|
||||
|
||||
#. module: base
|
||||
#: view:base.language.install:0
|
||||
|
@ -6046,7 +6048,7 @@ msgstr "Vy"
|
|||
#: selection:ir.module.module,state:0
|
||||
#: selection:ir.module.module.dependency,state:0
|
||||
msgid "To be installed"
|
||||
msgstr "Att installeras"
|
||||
msgstr "Kommer att installeras"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.actions.act_window,display_menu_tip:0
|
||||
|
@ -6642,7 +6644,7 @@ msgstr ""
|
|||
#: selection:ir.module.module,state:0
|
||||
#: selection:ir.module.module.dependency,state:0
|
||||
msgid "Not Installed"
|
||||
msgstr "Inte installerat"
|
||||
msgstr "Inte installerad"
|
||||
|
||||
#. module: base
|
||||
#: view:workflow.activity:0
|
||||
|
@ -7252,7 +7254,7 @@ msgstr "Serveråtgärder"
|
|||
#. module: base
|
||||
#: view:ir.module.module:0
|
||||
msgid "Cancel Install"
|
||||
msgstr "Avbryt installering"
|
||||
msgstr "Avbryt installationen"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.model.fields,selection:0
|
||||
|
@ -8162,7 +8164,7 @@ msgstr "Administration"
|
|||
#. module: base
|
||||
#: view:base.module.update:0
|
||||
msgid "Click on Update below to start the process..."
|
||||
msgstr "Klicka op Uppdatera nedan för att starta bearbetningen..."
|
||||
msgstr "Klicka på \"Uppdatera\" nedan för att starta bearbetningen..."
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.ir
|
||||
|
|
|
@ -7,14 +7,14 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 5.0.4\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||
"PO-Revision-Date: 2011-01-25 08:14+0000\n"
|
||||
"Last-Translator: Ahmet Altınışık <Unknown>\n"
|
||||
"PO-Revision-Date: 2011-05-17 20:51+0000\n"
|
||||
"Last-Translator: Ayhan KIZILTAN <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-01-26 04:36+0000\n"
|
||||
"X-Generator: Launchpad (build 12177)\n"
|
||||
"X-Launchpad-Export-Date: 2011-05-18 06:22+0000\n"
|
||||
"X-Generator: Launchpad (build 12959)\n"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.filters:0
|
||||
|
@ -47,6 +47,8 @@ msgid ""
|
|||
"The second argument of the many2many field %s must be a SQL table !You used "
|
||||
"%s, which is not a valid SQL table name."
|
||||
msgstr ""
|
||||
"Çoktan çoğanın % s alanının ikinci argümanı bir SQL tablosu olmalı! "
|
||||
"Kullandığınız % s geçerli bir SQL tablo adı değil."
|
||||
|
||||
#. module: base
|
||||
#: view:ir.values:0
|
||||
|
@ -4550,7 +4552,7 @@ msgstr "_Tamam"
|
|||
#. module: base
|
||||
#: help:ir.filters,user_id:0
|
||||
msgid "False means for every user"
|
||||
msgstr ""
|
||||
msgstr "Hata her kullanıcı içindir."
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/module/module.py:198
|
||||
|
@ -7109,7 +7111,7 @@ msgstr "Doğru EAN13"
|
|||
#: code:addons/orm.py:2317
|
||||
#, python-format
|
||||
msgid "The value \"%s\" for the field \"%s\" is not in the selection"
|
||||
msgstr ""
|
||||
msgstr "\"%s\" Alanı değeri \"%s\" seçim kapsamında değildir"
|
||||
|
||||
#. module: base
|
||||
#: field:res.partner,customer:0
|
||||
|
@ -8117,7 +8119,7 @@ msgstr "İran"
|
|||
#: model:ir.actions.act_window,name:base.res_widget_user_act_window
|
||||
#: model:ir.ui.menu,name:base.menu_res_widget_user_act_window
|
||||
msgid "Widgets per User"
|
||||
msgstr ""
|
||||
msgstr "Her Kullanıcı için Parçacık"
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
|
@ -8626,7 +8628,7 @@ msgstr "XML dizin yolu"
|
|||
#. module: base
|
||||
#: selection:ir.actions.todo,restart:0
|
||||
msgid "On Skip"
|
||||
msgstr ""
|
||||
msgstr "Atlanıldığında"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.gn
|
||||
|
|
|
@ -8,13 +8,13 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||
"PO-Revision-Date: 2011-05-04 18:57+0000\n"
|
||||
"PO-Revision-Date: 2011-05-19 13:55+0000\n"
|
||||
"Last-Translator: Phong Nguyen-Thanh <Unknown>\n"
|
||||
"Language-Team: Vietnamese <vi@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2011-05-05 06:00+0000\n"
|
||||
"X-Launchpad-Export-Date: 2011-05-20 05:51+0000\n"
|
||||
"X-Generator: Launchpad (build 12959)\n"
|
||||
|
||||
#. module: base
|
||||
|
@ -1678,7 +1678,8 @@ msgstr ""
|
|||
msgid ""
|
||||
"The Object name must start with x_ and not contain any special character !"
|
||||
msgstr ""
|
||||
"The Object name must start with x_ and not contain any special character !"
|
||||
"Tên đối tượng phải bắt đầu bằng x_ và không bao gồm bất kỳ ký tự đặc biệt "
|
||||
"nào!"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.actions.configuration.wizard,note:0
|
||||
|
@ -5705,7 +5706,7 @@ msgstr "Tự chọn"
|
|||
#. module: base
|
||||
#: view:res.request:0
|
||||
msgid "Current"
|
||||
msgstr "Current"
|
||||
msgstr "Hiện hành"
|
||||
|
||||
#. module: base
|
||||
#: model:res.partner.category,name:base.res_partner_category_9
|
||||
|
@ -6258,7 +6259,7 @@ msgstr ""
|
|||
#: field:res.partner.address,city:0
|
||||
#: field:res.partner.bank,city:0
|
||||
msgid "City"
|
||||
msgstr "Thành phố/Quận"
|
||||
msgstr "TP thuộc Tỉnh/Quận/Huyện"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.qa
|
||||
|
@ -7083,7 +7084,7 @@ msgstr ""
|
|||
#: model:ir.actions.act_window,name:base.action_country_state
|
||||
#: model:ir.ui.menu,name:base.menu_country_state_partner
|
||||
msgid "Fed. States"
|
||||
msgstr "Bang/Tỉnh/TP"
|
||||
msgstr "Tiểu bang/TPTƯ/Tỉnh"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.model:0
|
||||
|
@ -7914,17 +7915,17 @@ msgstr ""
|
|||
#: field:res.currency,name:0
|
||||
#: field:res.currency.rate,currency_id:0
|
||||
msgid "Currency"
|
||||
msgstr "Tiền tệ"
|
||||
msgstr "Loại tiền tệ"
|
||||
|
||||
#. module: base
|
||||
#: field:res.partner.canal,name:0
|
||||
msgid "Channel Name"
|
||||
msgstr ""
|
||||
msgstr "Tên Kênh"
|
||||
|
||||
#. module: base
|
||||
#: view:res.lang:0
|
||||
msgid "5. %y, %Y ==> 08, 2008"
|
||||
msgstr ""
|
||||
msgstr "5. %y, %Y ==> 08, 2008"
|
||||
|
||||
#. module: base
|
||||
#: model:res.partner.title,shortcut:base.res_partner_title_ltd
|
||||
|
@ -7935,12 +7936,12 @@ msgstr ""
|
|||
#: field:ir.values,res_id:0
|
||||
#: field:res.log,res_id:0
|
||||
msgid "Object ID"
|
||||
msgstr ""
|
||||
msgstr "Mã Đối tượng"
|
||||
|
||||
#. module: base
|
||||
#: view:res.company:0
|
||||
msgid "Landscape"
|
||||
msgstr ""
|
||||
msgstr "Khổ ngang"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.menu_administration
|
||||
|
|
|
@ -86,7 +86,12 @@ class ir_cron(osv.osv, netsvc.Agent):
|
|||
(_check_args, 'Invalid arguments', ['args']),
|
||||
]
|
||||
|
||||
def _callback(self, cr, uid, model, func, args):
|
||||
def _handle_callback_exception(self, cr, uid, model, func, args, job_id, job_exception):
|
||||
cr.rollback()
|
||||
logger=logging.getLogger('cron')
|
||||
logger.exception("Call of self.pool.get('%s').%s(cr, uid, *%r) failed in Job %s" % (model, func, args, job_id))
|
||||
|
||||
def _callback(self, cr, uid, model, func, args, job_id):
|
||||
args = str2tuple(args)
|
||||
m = self.pool.get(model)
|
||||
if m and hasattr(m, func):
|
||||
|
@ -96,9 +101,7 @@ class ir_cron(osv.osv, netsvc.Agent):
|
|||
depth=(None if self._logger.isEnabledFor(logging.DEBUG_RPC_ANSWER) else 1), fn='object.execute')
|
||||
f(cr, uid, *args)
|
||||
except Exception, e:
|
||||
cr.rollback()
|
||||
logger=logging.getLogger('cron')
|
||||
logger.exception("Job call of self.pool.get('%s').%s(cr, uid, *%r) failed" % (model, func, args))
|
||||
self._handle_callback_exception(cr, uid, model, func, args, job_id, e)
|
||||
|
||||
|
||||
def _poolJobs(self, db_name, check=False):
|
||||
|
@ -120,7 +123,7 @@ class ir_cron(osv.osv, netsvc.Agent):
|
|||
if numbercall > 0:
|
||||
numbercall -= 1
|
||||
if not ok or job['doall']:
|
||||
self._callback(cr, job['user_id'], job['model'], job['function'], job['args'])
|
||||
self._callback(cr, job['user_id'], job['model'], job['function'], job['args'], job['id'])
|
||||
if numbercall:
|
||||
nextcall += _intervalTypes[job['interval_type']](job['interval_number'])
|
||||
ok = True
|
||||
|
|
|
@ -174,8 +174,15 @@ class ir_values(osv.osv):
|
|||
else:
|
||||
where.append('res_id=%s')
|
||||
params.append(res_id)
|
||||
|
||||
where.append('(user_id=%s or (user_id IS NULL)) order by id')
|
||||
order = 'id'
|
||||
if key == 'default':
|
||||
# Make sure we get first the values for specific users, then
|
||||
# the global values. The map/filter below will retain the first
|
||||
# value for any given name. The 'order by' will put the null
|
||||
# values last; this may be postgres specific (it is the
|
||||
# behavior in postgres at least since 8.2).
|
||||
order = 'user_id'
|
||||
where.append('(user_id=%s or (user_id IS NULL)) order by '+ order)
|
||||
params.append(uid)
|
||||
clause = ' and '.join(where)
|
||||
cr.execute('select id,name,value,object,meta, key from ir_values where ' + clause, params)
|
||||
|
|
|
@ -127,6 +127,8 @@ class users(osv.osv):
|
|||
def send_welcome_email(self, cr, uid, id, context=None):
|
||||
logger= netsvc.Logger()
|
||||
user = self.pool.get('res.users').read(cr, uid, id, context=context)
|
||||
if not user.get('email'):
|
||||
return False
|
||||
if not tools.config.get('smtp_server'):
|
||||
logger.notifyChannel('mails', netsvc.LOG_WARNING,
|
||||
_('"smtp_server" needs to be set to send mails to users'))
|
||||
|
@ -136,8 +138,6 @@ class users(osv.osv):
|
|||
_('"email_from" needs to be set to send welcome mails '
|
||||
'to users'))
|
||||
return False
|
||||
if not user.get('email'):
|
||||
return False
|
||||
|
||||
return tools.email_send(email_from=None, email_to=[user['email']],
|
||||
subject=self.get_welcome_mail_subject(
|
||||
|
@ -206,6 +206,9 @@ class users(osv.osv):
|
|||
raise osv.except_osv(_('Operation Canceled'), _('Please use the change password wizard (in User Preferences or User menu) to change your own password.'))
|
||||
self.write(cr, uid, id, {'password': value})
|
||||
|
||||
def _get_password(self, cr, uid, ids, arg, karg, context=None):
|
||||
return dict.fromkeys(ids, '')
|
||||
|
||||
_columns = {
|
||||
'name': fields.char('User Name', size=64, required=True, select=True,
|
||||
help="The new user's real name, used for searching"
|
||||
|
@ -213,7 +216,7 @@ class users(osv.osv):
|
|||
'login': fields.char('Login', size=64, required=True,
|
||||
help="Used to log into the system"),
|
||||
'password': fields.char('Password', size=64, invisible=True, help="Keep empty if you don't want the user to be able to connect on the system."),
|
||||
'new_password': fields.function(lambda *a:'', method=True, type='char', size=64,
|
||||
'new_password': fields.function(_get_password, method=True, type='char', size=64,
|
||||
fnct_inv=_set_new_password,
|
||||
string='Change password', help="Only specify a value if you want to change the user password. "
|
||||
"This user will have to logout and login again!"),
|
||||
|
@ -263,7 +266,6 @@ class users(osv.osv):
|
|||
if 'password' in o and ( 'id' not in o or o['id'] != uid ):
|
||||
o['password'] = '********'
|
||||
return o
|
||||
|
||||
result = super(users, self).read(cr, uid, ids, fields, context, load)
|
||||
canwrite = self.pool.get('ir.model.access').check(cr, uid, 'res.users', 'write', raise_exception=False)
|
||||
if not canwrite:
|
||||
|
@ -535,15 +537,19 @@ class config_users(osv.osv_memory):
|
|||
'email': base_data['email'],
|
||||
'partner_id': partner_id,},
|
||||
context)
|
||||
user_data = dict(
|
||||
base_data,
|
||||
signature=self._generate_signature(
|
||||
cr, base_data['name'], base_data['email'], context=context),
|
||||
address_id=address,
|
||||
)
|
||||
# Change the read many2one values from (id,name) to id, and
|
||||
# the one2many from ids to (6,0,ids).
|
||||
base_data.update({'menu_id' : base_data.get('menu_id') and base_data['menu_id'][0],
|
||||
'company_id' : base_data.get('company_id') and base_data['company_id'][0],
|
||||
'action_id' : base_data.get('action_id') and base_data['action_id'][0],
|
||||
'signature' : self._generate_signature(cr, base_data['name'], base_data['email'], context=context),
|
||||
'address_id' : address,
|
||||
'groups_id' : [(6,0, base_data.get('groups_id',[]))],
|
||||
})
|
||||
new_user = self.pool.get('res.users').create(
|
||||
cr, uid, user_data, context)
|
||||
cr, uid, base_data, context)
|
||||
self.send_welcome_email(cr, uid, new_user, context=context)
|
||||
|
||||
def execute(self, cr, uid, ids, context=None):
|
||||
'Do nothing on execution, just launch the next action/todo'
|
||||
pass
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
-
|
||||
I Create "test" user using configuration wizard.
|
||||
-
|
||||
!python {model: res.config.users}: |
|
||||
defaults = {
|
||||
'name' : 'test1',
|
||||
'login' : 'test1',
|
||||
'password' : 'test',
|
||||
}
|
||||
wizard_id = self.create(cr, uid, defaults)
|
||||
self.action_add(cr, uid, [wizard_id], context)
|
|
@ -0,0 +1,25 @@
|
|||
-
|
||||
Create some default value for some (non-existing) model, for all users.
|
||||
-
|
||||
!python {model: ir.values }: |
|
||||
self.set(cr, uid, 'default', False, 'my_test_ir_value',['unexisting_model'], 'global value')
|
||||
-
|
||||
Retrieve it.
|
||||
-
|
||||
!python {model: ir.values }: |
|
||||
# d is a list of triple (id, name, value)
|
||||
d = self.get(cr, uid, 'default', False, ['unexisting_model'])
|
||||
assert d[0][1] == u'my_test_ir_value', "Can't retrieve the created default value."
|
||||
assert d[0][2] == 'global value', "Can't retrieve the created default value."
|
||||
-
|
||||
Do it again but for a specific user.
|
||||
-
|
||||
!python {model: ir.values }: |
|
||||
self.set(cr, uid, 'default', False, 'my_test_ir_value',['unexisting_model'], 'specific value', preserve_user=True)
|
||||
-
|
||||
Retrieve it and check it is the one for the current user.
|
||||
-
|
||||
!python {model: ir.values }: |
|
||||
d = self.get(cr, uid, 'default', False, ['unexisting_model'])
|
||||
assert d[0][1] == u'my_test_ir_value', "Can't retrieve the created default value."
|
||||
assert d[0][2] == 'specific value', "Can't retrieve the created default value."
|
|
@ -63,7 +63,13 @@ class _column(object):
|
|||
_symbol_set = (_symbol_c, _symbol_f)
|
||||
_symbol_get = None
|
||||
|
||||
def __init__(self, string='unknown', required=False, readonly=False, domain=None, context=None, states=None, priority=0, change_default=False, size=None, ondelete="set null", translate=False, select=False, **args):
|
||||
def __init__(self, string='unknown', required=False, readonly=False, domain=None, context=None, states=None, priority=0, change_default=False, size=None, ondelete="set null", translate=False, select=False, manual=False, **args):
|
||||
"""
|
||||
|
||||
The 'manual' keyword argument specifies if the field is a custom one.
|
||||
It corresponds to the 'state' column in ir_model_fields.
|
||||
|
||||
"""
|
||||
if domain is None:
|
||||
domain = []
|
||||
if context is None:
|
||||
|
@ -84,6 +90,7 @@ class _column(object):
|
|||
self.read = False
|
||||
self.view_load = 0
|
||||
self.select = select
|
||||
self.manual = manual
|
||||
self.selectable = True
|
||||
self.group_operator = args.get('group_operator', False)
|
||||
for a in args:
|
||||
|
|
|
@ -762,10 +762,12 @@ class orm_template(object):
|
|||
done = {}
|
||||
for i in range(len(fields)):
|
||||
res = False
|
||||
if i >= len(line):
|
||||
raise Exception(_('Please check that all your lines have %d columns.'
|
||||
'Stopped around line %d having %d columns.') % \
|
||||
(len(fields), position+2, len(line)))
|
||||
if not line[i]:
|
||||
continue
|
||||
if i >= len(line):
|
||||
raise Exception(_('Please check that all your lines have %d columns.') % (len(fields),))
|
||||
|
||||
field = fields[i]
|
||||
if field[:len(prefix)] <> prefix:
|
||||
|
@ -838,14 +840,15 @@ class orm_template(object):
|
|||
res = line[i] and float(line[i]) or 0.0
|
||||
elif fields_def[field[len(prefix)]]['type'] == 'selection':
|
||||
for key, val in fields_def[field[len(prefix)]]['selection']:
|
||||
if line[i] in [tools.ustr(key), tools.ustr(val)]:
|
||||
if tools.ustr(line[i]) in [tools.ustr(key), tools.ustr(val)]:
|
||||
res = key
|
||||
break
|
||||
if line[i] and not res:
|
||||
logger.notifyChannel("import", netsvc.LOG_WARNING,
|
||||
_("key '%s' not found in selection field '%s'") % \
|
||||
(line[i], field[len(prefix)]))
|
||||
warning += [_("Key/value '%s' not found in selection field '%s'") % (line[i], field[len(prefix)])]
|
||||
(tools.ustr(line[i]), tools.ustr(field[len(prefix)])))
|
||||
warning += [_("Key/value '%s' not found in selection field '%s'") % (tools.ustr(line[i]), tools.ustr(field[len(prefix)]))]
|
||||
|
||||
else:
|
||||
res = line[i]
|
||||
|
||||
|
@ -2826,6 +2829,7 @@ class orm(orm_template):
|
|||
'size': field['size'],
|
||||
'ondelete': field['on_delete'],
|
||||
'translate': (field['translate']),
|
||||
'manual': True,
|
||||
#'select': int(field['select_level'])
|
||||
}
|
||||
|
||||
|
@ -3050,6 +3054,9 @@ class orm(orm_template):
|
|||
for key, val in todo.items():
|
||||
if key:
|
||||
res2 = self._columns[val[0]].get(cr, self, ids, val, user, context=context, values=res)
|
||||
assert res2 is not None, \
|
||||
'The function field "%s" on the "%s" model returned None\n' \
|
||||
'(a dictionary was expected).' % (val[0], self._name)
|
||||
for pos in val:
|
||||
for record in res:
|
||||
if isinstance(res2[record['id']], str): res2[record['id']] = eval(res2[record['id']]) #TOCHECK : why got string instend of dict in python2.6
|
||||
|
@ -3531,7 +3538,10 @@ class orm(orm_template):
|
|||
#
|
||||
def create(self, cr, user, vals, context=None):
|
||||
"""
|
||||
Create new record with specified value
|
||||
Create a new record for the model.
|
||||
|
||||
The values for the new record are initialized using the ``vals``
|
||||
argument, and if necessary the result of ``default_get()``.
|
||||
|
||||
:param cr: database cursor
|
||||
:param user: current user id
|
||||
|
|
|
@ -293,6 +293,11 @@ class osv_memory(osv_base, orm.orm_memory):
|
|||
nattr = {}
|
||||
for s in ('_columns', '_defaults'):
|
||||
new = copy.copy(getattr(pool.get(parent_name), s))
|
||||
if s == '_columns':
|
||||
# Don't _inherit custom fields.
|
||||
for c in new.keys():
|
||||
if new[c].manual:
|
||||
del new[c]
|
||||
if hasattr(new, 'update'):
|
||||
new.update(cls.__dict__.get(s, {}))
|
||||
else:
|
||||
|
@ -327,6 +332,11 @@ class osv(osv_base, orm.orm):
|
|||
nattr = {}
|
||||
for s in ('_columns', '_defaults', '_inherits', '_constraints', '_sql_constraints'):
|
||||
new = copy.copy(getattr(pool.get(parent_name), s))
|
||||
if s == '_columns':
|
||||
# Don't _inherit custom fields.
|
||||
for c in new.keys():
|
||||
if new[c].manual:
|
||||
del new[c]
|
||||
if hasattr(new, 'update'):
|
||||
new.update(cls.__dict__.get(s, {}))
|
||||
else:
|
||||
|
|
|
@ -795,10 +795,10 @@ class _rml_flowable(object):
|
|||
return False
|
||||
else:
|
||||
import base64
|
||||
newtext = node.text
|
||||
if self.localcontext:
|
||||
newtext = utils._process_text(self, node.text or '')
|
||||
node.text = newtext
|
||||
image_data = base64.decodestring(node.text)
|
||||
image_data = base64.decodestring(newtext)
|
||||
if not image_data:
|
||||
self._logger.debug("No inline image data")
|
||||
return False
|
||||
|
|
|
@ -221,7 +221,7 @@ class configmanager(object):
|
|||
group.add_option("--modules", dest="translate_modules",
|
||||
help="specify modules to export. Use in combination with --i18n-export")
|
||||
group.add_option("--addons-path", dest="addons_path",
|
||||
help="specify an alternative addons path.",
|
||||
help="specify additional addons paths (separated by commas).",
|
||||
action="callback", callback=self._check_addons_path, nargs=1, type="string")
|
||||
parser.add_option_group(group)
|
||||
|
||||
|
@ -435,26 +435,28 @@ class configmanager(object):
|
|||
import stat
|
||||
os.chmod(filename, stat.S_IRUSR + stat.S_IWUSR)
|
||||
|
||||
def _is_addons_path(self, path):
|
||||
for f in os.listdir(path):
|
||||
modpath = os.path.join(path, f)
|
||||
if os.path.isdir(modpath):
|
||||
def hasfile(filename):
|
||||
return os.path.isfile(os.path.join(modpath, filename))
|
||||
if hasfile('__init__.py') and (hasfile('__openerp__.py') or hasfile('__terp__.py')):
|
||||
return True
|
||||
return False
|
||||
|
||||
def _check_addons_path(self, option, opt, value, parser):
|
||||
res = os.path.abspath(os.path.expanduser(value))
|
||||
if not os.path.exists(res):
|
||||
raise optparse.OptionValueError("option %s: no such directory: %r" % (opt, value))
|
||||
ad_paths = []
|
||||
for path in value.split(','):
|
||||
path = path.strip()
|
||||
res = os.path.abspath(os.path.expanduser(path))
|
||||
if not os.path.isdir(res):
|
||||
raise optparse.OptionValueError("option %s: no such directory: %r" % (opt, path))
|
||||
if not self._is_addons_path(res):
|
||||
raise optparse.OptionValueError("option %s: The addons-path %r does not seem to a be a valid Addons Directory!" % (opt, path))
|
||||
ad_paths.append(res)
|
||||
|
||||
contains_addons = False
|
||||
for f in os.listdir(res):
|
||||
modpath = os.path.join(res, f)
|
||||
if os.path.isdir(modpath) and \
|
||||
os.path.exists(os.path.join(modpath, '__init__.py')) and \
|
||||
(os.path.exists(os.path.join(modpath, '__openerp__.py')) or \
|
||||
os.path.exists(os.path.join(modpath, '__terp__.py'))):
|
||||
|
||||
contains_addons = True
|
||||
break
|
||||
|
||||
if not contains_addons:
|
||||
raise optparse.OptionValueError("option %s: The addons-path %r does not seem to a be a valid Addons Directory!" % (opt, value))
|
||||
|
||||
setattr(parser.values, option.dest, res)
|
||||
setattr(parser.values, option.dest, ",".join(ad_paths))
|
||||
|
||||
def load(self):
|
||||
p = ConfigParser.ConfigParser()
|
||||
|
|
Loading…
Reference in New Issue