[MERGE] merge with trunk server.
bzr revid: ysa@tinyerp.co.in-20100401045806-ios9i8fz1xgob6tb
This commit is contained in:
@@ -145,9 +145,11 @@ CREATE TABLE res_users (
|
||||
email varchar(64) default null,
|
||||
context_tz varchar(64) default null,
|
||||
signature text,
|
||||
-- action_id int references ir_act_window on delete set null,
|
||||
context_lang varchar(64) default '',
|
||||
-- No FK references below, will be added later by ORM
|
||||
-- (when the destination rows exist)
|
||||
action_id int,
|
||||
company_id int,
|
||||
primary key(id)
|
||||
);
|
||||
alter table res_users add constraint res_users_login_uniq unique (login);
|
||||
@@ -342,7 +344,7 @@ CREATE TABLE ir_model_data (
|
||||
-- Users
|
||||
---------------------------------
|
||||
|
||||
insert into res_users (id,login,password,name,action_id,active) values (1,'admin',NULL,'Administrator',NULL,True);
|
||||
insert into res_users (id,login,password,name,action_id,active,company_id) values (1,'admin',NULL,'Administrator',NULL,True,1);
|
||||
insert into ir_model_data (name,module,model,noupdate,res_id) values ('user_root','base','res.users',True,1);
|
||||
|
||||
-- Compatibility purpose, to remove V6.0
|
||||
|
||||
@@ -1001,6 +1001,8 @@
|
||||
|
||||
<record id="main_partner" model="res.partner">
|
||||
<field name="name">Tiny sprl</field>
|
||||
<!-- Company ID will be set later -->
|
||||
<field name="company_id" eval="None"/>
|
||||
</record>
|
||||
<record id="main_address" model="res.partner.address">
|
||||
<field name="partner_id" ref="main_partner"/>
|
||||
@@ -1011,14 +1013,18 @@
|
||||
<field name="phone">(+32).81.81.37.00</field>
|
||||
<field name="type">default</field>
|
||||
<field model="res.country" name="country_id" ref="be"/>
|
||||
<!-- Company ID will be set later -->
|
||||
<field name="company_id" eval="None"/>
|
||||
</record>
|
||||
|
||||
|
||||
<!-- Currencies -->
|
||||
<record id="EUR" model="res.currency">
|
||||
<field name="name">EUR</field>
|
||||
<field name="code">EUR</field>
|
||||
<field name="rounding">0.01</field>
|
||||
<field name="accuracy">4</field>
|
||||
<!-- Company ID will be set later -->
|
||||
<field name="company_id" eval="None"/>
|
||||
</record>
|
||||
<record id="rateEUR" model="res.currency.rate">
|
||||
<field name="rate">1.0</field>
|
||||
@@ -1042,12 +1048,21 @@
|
||||
</assert>
|
||||
<record id="user_admin" model="res.users">
|
||||
<field name="company_id" ref="main_company"/>
|
||||
</record>
|
||||
</record>
|
||||
<record id="main_partner" model="res.partner">
|
||||
<field name="company_id" ref="main_company"/>
|
||||
</record>
|
||||
<record id="main_address" model="res.partner.address">
|
||||
<field name="company_id" ref="main_company"/>
|
||||
</record>
|
||||
<record id="EUR" model="res.currency">
|
||||
<field name="company_id" ref="main_company"/>
|
||||
</record>
|
||||
|
||||
|
||||
<!-- Currencies -->
|
||||
<record id="EUR" model="res.currency">
|
||||
<field name="company_id" ref="main_company"/>
|
||||
</record>
|
||||
<record id="USD" model="res.currency">
|
||||
<field name="name">USD</field>
|
||||
<field name="code">USD</field>
|
||||
|
||||
+146
-88
@@ -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: 2009-12-18 08:39+0000\n"
|
||||
"PO-Revision-Date: 2010-02-18 05:29+0000\n"
|
||||
"PO-Revision-Date: 2010-03-31 08:05+0000\n"
|
||||
"Last-Translator: Boris <boris.t.ivanov@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: 2010-02-19 04:36+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-01 03:40+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base
|
||||
@@ -582,7 +582,7 @@ msgstr "Папуа Нова Гвинея"
|
||||
#. module: base
|
||||
#: model:res.partner.category,name:base.res_partner_category_4
|
||||
msgid "Basic Partner"
|
||||
msgstr ""
|
||||
msgstr "Обикновен партньор"
|
||||
|
||||
#. module: base
|
||||
#: rml:ir.module.reference:0
|
||||
@@ -1114,6 +1114,9 @@ msgid ""
|
||||
"consider the present one as void. Do not hesitate to contact our accounting "
|
||||
"department at (+32).81.81.37.00."
|
||||
msgstr ""
|
||||
"Ако вашето плащане е извършено вече, моля не обръщайте внимание на това "
|
||||
"писмо. При възникване на въпроси не се колебайте да се свържете с нашия "
|
||||
"счетоводен отдел на телефон _____________."
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.ui.menu,icon:0
|
||||
@@ -1254,6 +1257,9 @@ msgid ""
|
||||
"If set, sequence will only be used in case this python expression matches, "
|
||||
"and will precede other sequences."
|
||||
msgstr ""
|
||||
"Ако е зададено, последователноста ще бъде използвана само в случай, че "
|
||||
"изразът отговаря на условията и ще има приоритет пред други "
|
||||
"последователности."
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.actions.act_window,view_type:0
|
||||
@@ -1405,7 +1411,7 @@ msgid ""
|
||||
"This wizard will detect new terms in the application so that you can update "
|
||||
"them manually."
|
||||
msgstr ""
|
||||
"Помощника установи нови условия в приложението които можете да обновите "
|
||||
"Помощника установи нови преводи в приложението които можете да обновите "
|
||||
"ръчно."
|
||||
|
||||
#. module: base
|
||||
@@ -1415,6 +1421,9 @@ msgid ""
|
||||
"order in Object, and you can have loop on the sales order line. Expression = "
|
||||
"`object.order_line`."
|
||||
msgstr ""
|
||||
"Въведете поле/израз, който връща списък. Например, изберете поръчка за "
|
||||
"продажба в обект и ще може да имате цикъл върху редовете от поръчка за "
|
||||
"продажба. Израз = 'object.order_line'."
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.translation,type:0
|
||||
@@ -1468,6 +1477,8 @@ msgstr ""
|
||||
#: help:ir.rule.group,global:0
|
||||
msgid "Make the rule global, otherwise it needs to be put on a group"
|
||||
msgstr ""
|
||||
"Направете правилото глобално, в противен случай то трябва да се зададе към "
|
||||
"определена група."
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.action_menu_admin
|
||||
@@ -1538,6 +1549,9 @@ msgid ""
|
||||
"Provide the field name that the record id refers to for the write operation. "
|
||||
"If it is empty it will refer to the active id of the object."
|
||||
msgstr ""
|
||||
"Задайте името на полето към което се отнася идентификатора на записа при "
|
||||
"операцията на запис. Ако оставите празно, ще сочи към активния запис от "
|
||||
"обекта."
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.zw
|
||||
@@ -1657,7 +1671,7 @@ msgstr "%p - Еквивалент на \"AM\" или \"PM\"."
|
||||
#. module: base
|
||||
#: view:ir.actions.server:0
|
||||
msgid "Iteration Actions"
|
||||
msgstr ""
|
||||
msgstr "Повтарящи се действия"
|
||||
|
||||
#. module: base
|
||||
#: field:maintenance.contract,date_stop:0
|
||||
@@ -1723,7 +1737,7 @@ msgstr "Грешка! НЕ може да създавате рекурсивни
|
||||
#. module: base
|
||||
#: selection:maintenance.contract,state:0
|
||||
msgid "Valid"
|
||||
msgstr ""
|
||||
msgstr "Валиден"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/ir/ir_model.py:0
|
||||
@@ -1777,7 +1791,7 @@ msgstr "Швеция"
|
||||
#: selection:ir.ui.view,type:0
|
||||
#: selection:wizard.ir.model.menu.create.line,view_type:0
|
||||
msgid "Gantt"
|
||||
msgstr ""
|
||||
msgstr "Диаграма Гант"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.property:0
|
||||
@@ -1883,7 +1897,7 @@ msgstr "Рождена дата"
|
||||
#: model:ir.actions.act_window,name:base.action_partner_title_contact
|
||||
#: model:ir.ui.menu,name:base.menu_partner_title_contact
|
||||
msgid "Contact Titles"
|
||||
msgstr ""
|
||||
msgstr "Обръщение"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_res_partner_som
|
||||
@@ -1968,7 +1982,7 @@ msgstr "Малта"
|
||||
#. module: base
|
||||
#: field:ir.actions.server,fields_lines:0
|
||||
msgid "Field Mappings."
|
||||
msgstr ""
|
||||
msgstr "Свързвания на полето"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_ir_module_module
|
||||
@@ -2436,7 +2450,7 @@ msgstr "SXW съдържание"
|
||||
#. module: base
|
||||
#: view:ir.cron:0
|
||||
msgid "Action to Trigger"
|
||||
msgstr ""
|
||||
msgstr "Действие за извършване"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.report.custom.fields,fc0_operande:0
|
||||
@@ -2538,7 +2552,7 @@ msgstr "Обновяване на системата"
|
||||
#. module: base
|
||||
#: field:workflow.activity,in_transitions:0
|
||||
msgid "Incoming Transitions"
|
||||
msgstr ""
|
||||
msgstr "Входящи преходи"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sr
|
||||
@@ -2587,7 +2601,7 @@ msgstr "Лиценз"
|
||||
#: code:addons/base/ir/ir_report_custom.py:0
|
||||
#, python-format
|
||||
msgid "Invalid operation"
|
||||
msgstr ""
|
||||
msgstr "Невалидна операция"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.ui.menu,icon:0
|
||||
@@ -2648,7 +2662,7 @@ msgstr "Автор"
|
||||
#. module: base
|
||||
#: model:res.country,name:base.mk
|
||||
msgid "FYROM"
|
||||
msgstr ""
|
||||
msgstr "Република Македония"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.ui.menu,icon:0
|
||||
@@ -2851,7 +2865,7 @@ msgstr "RML горен колонтитул"
|
||||
#. module: base
|
||||
#: wizard_field:res.partner.sms_send,init,app_id:0
|
||||
msgid "API ID"
|
||||
msgstr ""
|
||||
msgstr "API ID"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.mu
|
||||
@@ -3171,7 +3185,7 @@ msgstr "Монсерат"
|
||||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.menu_translation_app
|
||||
msgid "Application Terms"
|
||||
msgstr "Условия за използване на програмата"
|
||||
msgstr "Изрази в програмата"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.report.custom.fields,operation:0
|
||||
@@ -3269,6 +3283,9 @@ msgid ""
|
||||
"\"%s\" contains too many dots. XML ids should not contain dots ! These are "
|
||||
"used to refer to other modules data, as in module.reference_id"
|
||||
msgstr ""
|
||||
"\"%s\" съдържа твърде много точки. XML-идентификаторите не трябва да "
|
||||
"съдържат точки! Те се използват за свързване към данни от други модули, "
|
||||
"например в module.reference_id"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.ui.menu,icon:0
|
||||
@@ -3324,7 +3341,7 @@ msgstr "Списък за контрол на достъпа"
|
||||
#. module: base
|
||||
#: model:res.country,name:base.um
|
||||
msgid "USA Minor Outlying Islands"
|
||||
msgstr ""
|
||||
msgstr "САЩ Малки далечни острови"
|
||||
|
||||
#. module: base
|
||||
#: field:res.partner.bank,state:0
|
||||
@@ -3375,7 +3392,7 @@ msgstr "Собственик на банковата сметка"
|
||||
#: model:ir.actions.act_window,name:base.act_values_form
|
||||
#: model:ir.ui.menu,name:base.menu_values_form
|
||||
msgid "Client Actions Connections"
|
||||
msgstr ""
|
||||
msgstr "Връзки на действията на клиента"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.ui.view_sc,resource:0
|
||||
@@ -3395,7 +3412,7 @@ msgstr "Гваделупа (Франция)"
|
||||
#. module: base
|
||||
#: field:ir.report.custom.fields,cumulate:0
|
||||
msgid "Accumulate"
|
||||
msgstr ""
|
||||
msgstr "Акумулирай"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/ir/ir_report_custom.py:0
|
||||
@@ -3505,7 +3522,7 @@ msgstr "STOCK_DND_MULTIPLE"
|
||||
#: model:ir.actions.act_window,name:base.action_partner_addess_tree
|
||||
#: view:res.partner:0
|
||||
msgid "Partner Contacts"
|
||||
msgstr ""
|
||||
msgstr "Партньорски контакти"
|
||||
|
||||
#. module: base
|
||||
#: wizard_field:module.module.update,update,add:0
|
||||
@@ -3694,7 +3711,7 @@ msgstr "terp-sale"
|
||||
#. module: base
|
||||
#: view:res.lang:0
|
||||
msgid "%d - Day of the month as a decimal number [01,31]."
|
||||
msgstr ""
|
||||
msgstr "%d - пореден номер на деня от месеца като десетично число [01,31]."
|
||||
|
||||
#. module: base
|
||||
#: view:res.lang:0
|
||||
@@ -3763,12 +3780,12 @@ msgstr "Ботсвана"
|
||||
#: model:ir.ui.menu,name:base.menu_partner_title_partner
|
||||
#: view:res.partner.title:0
|
||||
msgid "Partner Titles"
|
||||
msgstr ""
|
||||
msgstr "Обръщения към партньори"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.actions.todo,type:0
|
||||
msgid "Service"
|
||||
msgstr ""
|
||||
msgstr "Услуга"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.actions.act_window,auto_refresh:0
|
||||
@@ -4149,7 +4166,7 @@ msgstr "А4"
|
||||
#. module: base
|
||||
#: field:ir.actions.act_window,search_view_id:0
|
||||
msgid "Search View Ref."
|
||||
msgstr ""
|
||||
msgstr "\"Изглед\" търсене в справки"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.rule.group:0
|
||||
@@ -4340,7 +4357,7 @@ msgstr "E-mail на изпращащия"
|
||||
#. module: base
|
||||
#: field:ir.default,field_name:0
|
||||
msgid "Object Field"
|
||||
msgstr ""
|
||||
msgstr "Поле на Обекта"
|
||||
|
||||
#. module: base
|
||||
#: selection:module.lang.install,init,lang:0
|
||||
@@ -4990,7 +5007,7 @@ msgstr "Модулния файл: %s, не можеда да бъде създ
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_meta_information
|
||||
msgid "The kernel of OpenERP, needed for all installation."
|
||||
msgstr ""
|
||||
msgstr "Ядрото на OpenERP, необходимо при всяка инсталация"
|
||||
|
||||
#. module: base
|
||||
#: wizard_button:base.module.import,init,end:0
|
||||
@@ -5011,7 +5028,7 @@ msgstr "Откажи"
|
||||
#: code:addons/base/ir/ir_actions.py:0
|
||||
#, python-format
|
||||
msgid "Please specify server option --smtp-from !"
|
||||
msgstr ""
|
||||
msgstr "Моля укажете опцията на сървъра --smtp-from !"
|
||||
|
||||
#. module: base
|
||||
#: selection:wizard.module.lang.export,format:0
|
||||
@@ -5190,7 +5207,7 @@ msgstr "Ще бъдат инсталирани"
|
||||
#: model:ir.module.module,shortdesc:base.module_meta_information
|
||||
#: field:res.currency,base:0
|
||||
msgid "Base"
|
||||
msgstr ""
|
||||
msgstr "База"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.lr
|
||||
@@ -5261,7 +5278,7 @@ msgstr "Създай"
|
||||
#. module: base
|
||||
#: field:ir.exports,export_fields:0
|
||||
msgid "Export ID"
|
||||
msgstr ""
|
||||
msgstr "Идентификатор на извличането"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.fr
|
||||
@@ -5292,7 +5309,7 @@ msgstr "Грешка!"
|
||||
#. module: base
|
||||
#: model:res.partner.bank.type.field,name:base.bank_normal_field_contry
|
||||
msgid "country_id"
|
||||
msgstr ""
|
||||
msgstr "Идентификатор на държава"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.cron,interval_type:0
|
||||
@@ -5308,7 +5325,7 @@ msgstr "Вид"
|
||||
#. module: base
|
||||
#: selection:ir.actions.todo,start_on:0
|
||||
msgid "Manual"
|
||||
msgstr ""
|
||||
msgstr "Ръчно"
|
||||
|
||||
#. module: base
|
||||
#: field:res.bank,fax:0
|
||||
@@ -5337,6 +5354,8 @@ msgid ""
|
||||
"Select the action that will be executed. Loop action will not be avaliable "
|
||||
"inside loop."
|
||||
msgstr ""
|
||||
"Изберете действие което да бъде изпълнено. Циклични действия няма да бъдат "
|
||||
"допустими в цикъла."
|
||||
|
||||
#. module: base
|
||||
#: selection:module.lang.install,init,lang:0
|
||||
@@ -5409,17 +5428,17 @@ msgstr "Активни събития на партньора"
|
||||
#: model:ir.ui.menu,name:base.menu_partner_function_form
|
||||
#: view:res.partner.function:0
|
||||
msgid "Contact Functions"
|
||||
msgstr ""
|
||||
msgstr "Функции на контакта"
|
||||
|
||||
#. module: base
|
||||
#: view:multi_company.default:0
|
||||
msgid "Multi Company"
|
||||
msgstr ""
|
||||
msgstr "Холдинг"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.sequence:0
|
||||
msgid "Day of the year: %(doy)s"
|
||||
msgstr ""
|
||||
msgstr "Ден от годината: %(ден)а"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.nt
|
||||
@@ -5553,7 +5572,7 @@ msgstr "GPL-3 или по-късна версия"
|
||||
#. module: base
|
||||
#: selection:ir.actions.report.xml,report_type:0
|
||||
msgid "HTML from HTML(Mako)"
|
||||
msgstr ""
|
||||
msgstr "HTML от HTML(Mako)"
|
||||
|
||||
#. module: base
|
||||
#: field:workflow.activity,action:0
|
||||
@@ -5686,7 +5705,7 @@ msgstr "Не е инсталиран"
|
||||
#. module: base
|
||||
#: field:workflow.activity,out_transitions:0
|
||||
msgid "Outgoing Transitions"
|
||||
msgstr ""
|
||||
msgstr "Изходящи преходи"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.ui.menu,icon:0
|
||||
@@ -5739,19 +5758,19 @@ msgstr "Самоа"
|
||||
#. module: base
|
||||
#: field:ir.ui.menu,child_id:0
|
||||
msgid "Child IDs"
|
||||
msgstr ""
|
||||
msgstr "Подчинени идентификатори"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/ir/ir_actions.py:0
|
||||
#, python-format
|
||||
msgid "Problem in configuration `Record Id` in Server Action!"
|
||||
msgstr ""
|
||||
msgstr "Проблем в конфигурацията 'Record Id' в Действия на Сървъра!"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/maintenance/maintenance.py:0
|
||||
#, python-format
|
||||
msgid "This error occurs on database %s"
|
||||
msgstr ""
|
||||
msgstr "Тази грешка възниква в база данни %s"
|
||||
|
||||
#. module: base
|
||||
#: wizard_button:base.module.import,init,import:0
|
||||
@@ -5779,7 +5798,7 @@ msgstr "Ел. поща"
|
||||
#: model:ir.actions.act_window,name:base.action_wizard_update_translations
|
||||
#: model:ir.ui.menu,name:base.menu_wizard_update_translations
|
||||
msgid "Resynchronise Terms"
|
||||
msgstr "Повторно синхронизиране на условията"
|
||||
msgstr "Ресинхронизиране на изразите"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.tg
|
||||
@@ -5794,7 +5813,7 @@ msgstr "Спиране на всички"
|
||||
#. module: base
|
||||
#: view:res.lang:0
|
||||
msgid "3. %x ,%X ==> 12/05/08, 18:25:20"
|
||||
msgstr ""
|
||||
msgstr "3. %x ,%X ==> 12/05/08, 18:25:20"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.model.fields,on_delete:0
|
||||
@@ -5805,13 +5824,13 @@ msgstr "Каскадно"
|
||||
#: code:addons/base/ir/ir_report_custom.py:0
|
||||
#, python-format
|
||||
msgid "Field %d should be a figure"
|
||||
msgstr ""
|
||||
msgstr "Поле %d трябва да бъде изображение"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.action_inventory_form
|
||||
#: model:ir.ui.menu,name:base.menu_action_inventory_form
|
||||
msgid "Default Company per Object"
|
||||
msgstr ""
|
||||
msgstr "Компания по подразбиране за обекта"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.actions.configuration.wizard:0
|
||||
@@ -5867,6 +5886,9 @@ msgid ""
|
||||
"translations for your own module, you can also publish all your translation "
|
||||
"at once."
|
||||
msgstr ""
|
||||
"За да се подобрите превода на изрази от официалния превод на OpenERP, Вие "
|
||||
"трябва да промените изразите в \"launchpad\". Ако сте превели голяма част от "
|
||||
"ваш модул, може да публикувате вашите преводи наведнъж."
|
||||
|
||||
#. module: base
|
||||
#: wizard_button:module.lang.install,init,start:0
|
||||
@@ -5876,7 +5898,7 @@ msgstr "Започни инсталацията"
|
||||
#. module: base
|
||||
#: help:res.lang,code:0
|
||||
msgid "This field is used to set/get locales for user"
|
||||
msgstr ""
|
||||
msgstr "Това поле служи за задаване/доставяне на локали за потребителя"
|
||||
|
||||
#. module: base
|
||||
#: model:res.partner.category,name:base.res_partner_category_2
|
||||
@@ -5930,6 +5952,9 @@ msgid ""
|
||||
"' \\n 'for the currency: %s \n"
|
||||
"' \\n 'at the date: %s"
|
||||
msgstr ""
|
||||
"Не е намерен курс \n"
|
||||
"' \\n 'за валута: %s \n"
|
||||
"' \\n 'към дата: %s"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.actions.act_window:0
|
||||
@@ -5986,7 +6011,7 @@ msgstr "Сомалия"
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.action_config_simple_view_form
|
||||
msgid "Configure Simple View"
|
||||
msgstr ""
|
||||
msgstr "Настрой прост изглед"
|
||||
|
||||
#. module: base
|
||||
#: model:res.partner.category,name:base.res_partner_category_13
|
||||
@@ -6055,7 +6080,7 @@ msgstr "Час 00->24: %(h24)"
|
||||
#. module: base
|
||||
#: help:multi_company.default,field_id:0
|
||||
msgid "Select field property"
|
||||
msgstr ""
|
||||
msgstr "Изберете свойство на полето"
|
||||
|
||||
#. module: base
|
||||
#: field:res.request.history,date_sent:0
|
||||
@@ -6125,7 +6150,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 ""
|
||||
msgstr "Област/Щат"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.model:0
|
||||
@@ -6146,7 +6171,7 @@ msgstr "Родител"
|
||||
#. module: base
|
||||
#: view:multi_company.default:0
|
||||
msgid "Returning"
|
||||
msgstr ""
|
||||
msgstr "Възвращаемо"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.actions.act_window,res_model:0
|
||||
@@ -6200,7 +6225,7 @@ msgstr "Извличане на файл с превод"
|
||||
#. module: base
|
||||
#: field:ir.ui.view_sc,user_id:0
|
||||
msgid "User Ref."
|
||||
msgstr ""
|
||||
msgstr "Справка за потребител"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.menu_base_config
|
||||
@@ -6296,7 +6321,7 @@ msgstr "terp-administration"
|
||||
#: model:ir.actions.act_window,name:base.action_translation
|
||||
#: model:ir.ui.menu,name:base.menu_action_translation
|
||||
msgid "All terms"
|
||||
msgstr "Всички условия"
|
||||
msgstr "Всички изрази"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.no
|
||||
@@ -6306,7 +6331,7 @@ msgstr "Норвегия"
|
||||
#. module: base
|
||||
#: view:res.lang:0
|
||||
msgid "4. %b, %B ==> Dec, December"
|
||||
msgstr ""
|
||||
msgstr "4. %b, %B ==> Дек, Декември"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.wizard,name:base.wizard_lang_install
|
||||
@@ -6317,7 +6342,7 @@ msgstr "Зареждане на официален превод"
|
||||
#. module: base
|
||||
#: model:res.partner.category,name:base.res_partner_category_10
|
||||
msgid "Open Source Service Company"
|
||||
msgstr ""
|
||||
msgstr "Фирма за услуги с отворен код"
|
||||
|
||||
#. module: base
|
||||
#: selection:res.request,state:0
|
||||
@@ -6350,6 +6375,8 @@ msgid ""
|
||||
"If set to true, the wizard will not be displayed on the right toolbar of a "
|
||||
"form view."
|
||||
msgstr ""
|
||||
"Ако е зададено \"истина\", помощникът няма да бъде показан в дясната страна "
|
||||
"на лентата с инструменти във \"изглед–бланка\"."
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.ui.menu,icon:0
|
||||
@@ -6425,6 +6452,7 @@ msgstr "Коста Рика"
|
||||
#, python-format
|
||||
msgid "Your can't submit bug reports due to uncovered modules: %s"
|
||||
msgstr ""
|
||||
"Не можете да изпратите доклад за \"бъг\" заради неподдържани модули: %s"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.action_partner_other_form
|
||||
@@ -6472,7 +6500,7 @@ msgstr "workflow.instance"
|
||||
#. module: base
|
||||
#: view:res.lang:0
|
||||
msgid "10. %S ==> 20"
|
||||
msgstr ""
|
||||
msgstr "10. %S ==> 20"
|
||||
|
||||
#. module: base
|
||||
#: model:res.partner.title,name:base.res_partner_title_madam
|
||||
@@ -6563,6 +6591,8 @@ msgid ""
|
||||
"Important when you deal with multiple actions, the execution order will be "
|
||||
"decided based on this, low number is higher priority."
|
||||
msgstr ""
|
||||
"Важно! Когато работите с множество действия, реда на изпълнение ще се "
|
||||
"определя от това, че по-малкия номер има по-висок приоритет."
|
||||
|
||||
#. module: base
|
||||
#: field:ir.actions.report.xml,header:0
|
||||
@@ -6602,7 +6632,7 @@ msgstr "Неинсталируем"
|
||||
#. module: base
|
||||
#: view:res.partner.category:0
|
||||
msgid "Partner Category"
|
||||
msgstr ""
|
||||
msgstr "Категория на партньора"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.actions.server:0
|
||||
@@ -6621,6 +6651,8 @@ msgid ""
|
||||
"Access all the fields related to the current object using expression in "
|
||||
"double brackets, i.e. [[ object.partner_id.name ]]"
|
||||
msgstr ""
|
||||
"Достъп до всички полета свързани с текущия обект чрез израз в двойни скоби "
|
||||
"напр. [[ object.partner_id.name ]]"
|
||||
|
||||
#. module: base
|
||||
#: field:res.request.history,body:0
|
||||
@@ -6658,7 +6690,7 @@ msgstr "Графика"
|
||||
#: field:res.partner,child_ids:0
|
||||
#: field:res.request,ref_partner_id:0
|
||||
msgid "Partner Ref."
|
||||
msgstr ""
|
||||
msgstr "Справка за партньор"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.report.custom,print_format:0
|
||||
@@ -6715,7 +6747,7 @@ msgstr "Номер на сметка"
|
||||
#. module: base
|
||||
#: view:res.lang:0
|
||||
msgid "1. %c ==> Fri Dec 5 18:25:20 2008"
|
||||
msgstr ""
|
||||
msgstr "1. %c ==> Пет. Дек. 5 18:25:20 2008"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.ui.menu,groups_id:0
|
||||
@@ -6724,6 +6756,9 @@ msgid ""
|
||||
"groups. If this field is empty, Open ERP will compute visibility based on "
|
||||
"the related object's read access."
|
||||
msgstr ""
|
||||
"Ако използвате групи, видимоста на това меню ще се определя според групите. "
|
||||
"Ако полето е празно, Open ERP ще определи видимоста на менюто според правата "
|
||||
"за четене на свързаните обекти."
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.nc
|
||||
@@ -6761,7 +6796,7 @@ msgstr "От"
|
||||
#. module: base
|
||||
#: wizard_button:server.action.create,init,step_1:0
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
msgstr "Напред"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.ui.menu,icon:0
|
||||
@@ -6788,7 +6823,7 @@ msgstr "Китай"
|
||||
#: code:addons/base/ir/ir_model.py:0
|
||||
#, python-format
|
||||
msgid "Password empty !"
|
||||
msgstr ""
|
||||
msgstr "Не е въведена парола !"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.eh
|
||||
@@ -6836,6 +6871,8 @@ msgid ""
|
||||
"Only one client action will be execute, last "
|
||||
"clinent action will be consider in case of multiples clients actions"
|
||||
msgstr ""
|
||||
"Ще бъде изпълнено само едно клиентско действие. В случай, че са въведени "
|
||||
"множество действия, ще бъде изпълнено само последното."
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.ui.menu,icon:0
|
||||
@@ -6861,7 +6898,7 @@ msgstr "Име на канала"
|
||||
#. module: base
|
||||
#: view:res.lang:0
|
||||
msgid "5. %y, %Y ==> 08, 2008"
|
||||
msgstr ""
|
||||
msgstr "5. %y, %Y ==> 08, 2008"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.model.fields,model_id:0
|
||||
@@ -6899,7 +6936,7 @@ msgstr "child_of"
|
||||
#: view:res.users:0
|
||||
#: field:res.users,company_ids:0
|
||||
msgid "Accepted Companies"
|
||||
msgstr ""
|
||||
msgstr "Одобрени компании"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.report.custom.fields,operation:0
|
||||
@@ -6926,7 +6963,7 @@ msgstr "Ирак"
|
||||
#. module: base
|
||||
#: view:ir.actions.server:0
|
||||
msgid "Action to Launch"
|
||||
msgstr ""
|
||||
msgstr "Действие за стартиране"
|
||||
|
||||
#. module: base
|
||||
#: wizard_view:base.module.import,import:0
|
||||
@@ -6948,7 +6985,7 @@ msgstr "CSV Файл"
|
||||
#: selection:ir.model,state:0
|
||||
#: selection:ir.model.grid,state:0
|
||||
msgid "Base Object"
|
||||
msgstr ""
|
||||
msgstr "Базов обект"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.ui.menu,icon:0
|
||||
@@ -6991,7 +7028,7 @@ msgstr "Джибути"
|
||||
#. module: base
|
||||
#: field:ir.translation,value:0
|
||||
msgid "Translation Value"
|
||||
msgstr "Преведено значение"
|
||||
msgstr "Превод"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.ag
|
||||
@@ -7036,6 +7073,9 @@ msgid ""
|
||||
"through launchpad. We use their online interface to synchronize all "
|
||||
"translations efforts."
|
||||
msgstr ""
|
||||
"Официалният превод на всички OpenERP/OpenObjects модули се управляват чрез "
|
||||
"launchpad. Ние използваме техния онлайн интерфейс за синхронизиране на "
|
||||
"всички действия по преводите."
|
||||
|
||||
#. module: base
|
||||
#: field:ir.actions.report.xml,report_rml:0
|
||||
@@ -7067,7 +7107,7 @@ msgstr "турски / Türkçe"
|
||||
#: model:ir.actions.act_window,name:base.action_translation_untrans
|
||||
#: model:ir.ui.menu,name:base.menu_action_translation_untrans
|
||||
msgid "Untranslated terms"
|
||||
msgstr "Непреведен термин"
|
||||
msgstr "Непреведени изрази"
|
||||
|
||||
#. module: base
|
||||
#: wizard_view:module.lang.import,init:0
|
||||
@@ -7100,7 +7140,7 @@ msgstr "="
|
||||
#: code:addons/base/ir/ir_report_custom.py:0
|
||||
#, python-format
|
||||
msgid "Second field should be figures"
|
||||
msgstr ""
|
||||
msgstr "Второто поле трябва да съдържа числа"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.action_model_grid_security
|
||||
@@ -7139,7 +7179,7 @@ msgstr "Туркменистан"
|
||||
#. module: base
|
||||
#: model:res.country,name:base.pm
|
||||
msgid "Saint Pierre and Miquelon"
|
||||
msgstr ""
|
||||
msgstr "Сен Пиер и Микелон"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.actions.report.xml,header:0
|
||||
@@ -7189,7 +7229,7 @@ msgstr "датски / Dansk"
|
||||
#. module: base
|
||||
#: model:res.country,name:base.cx
|
||||
msgid "Christmas Island"
|
||||
msgstr ""
|
||||
msgstr "о. Рождество"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.actions.server:0
|
||||
@@ -7211,7 +7251,7 @@ msgstr "Канали"
|
||||
#. module: base
|
||||
#: view:ir.module.module:0
|
||||
msgid "Schedule for Installation"
|
||||
msgstr "График на инсталация"
|
||||
msgstr "Инсталирай"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.model.fields,select_level:0
|
||||
@@ -7232,7 +7272,7 @@ msgstr "Изпрати"
|
||||
#. module: base
|
||||
#: field:ir.translation,src:0
|
||||
msgid "Source"
|
||||
msgstr "Източник"
|
||||
msgstr "Оригинал"
|
||||
|
||||
#. module: base
|
||||
#: help:res.partner.address,partner_id:0
|
||||
@@ -7242,7 +7282,7 @@ msgstr "Оставете празно за личен адрес несвърз
|
||||
#. module: base
|
||||
#: model:res.country,name:base.vu
|
||||
msgid "Vanuatu"
|
||||
msgstr ""
|
||||
msgstr "Вануату"
|
||||
|
||||
#. module: base
|
||||
#: view:res.company:0
|
||||
@@ -7256,6 +7296,8 @@ msgid ""
|
||||
"Save this document to a .tgz file. This archive containt UTF-8 %s files and "
|
||||
"may be uploaded to launchpad."
|
||||
msgstr ""
|
||||
"Запази документа като .tgz файл. Този архив съдържа %s UTF-8 файлове и може "
|
||||
"да бъде качен в launchpad."
|
||||
|
||||
#. module: base
|
||||
#: wizard_button:module.upgrade,end,config:0
|
||||
@@ -7287,7 +7329,7 @@ msgstr "Саудитска Арабия"
|
||||
#: code:addons/base/ir/ir_report_custom.py:0
|
||||
#, python-format
|
||||
msgid "Bar charts need at least two fields"
|
||||
msgstr ""
|
||||
msgstr "Графиката с правоъгълници има нужда от минимум две полета"
|
||||
|
||||
#. module: base
|
||||
#: help:res.partner,supplier:0
|
||||
@@ -7295,16 +7337,18 @@ msgid ""
|
||||
"Check this box if the partner is a supplier. If it's not checked, purchase "
|
||||
"people will not see it when encoding a purchase order."
|
||||
msgstr ""
|
||||
"Отметнете ако партньора е доставчик. Ако не е отметнато, хората за поръчки "
|
||||
"няма да го виждат когато изготвят поръчка за доставка."
|
||||
|
||||
#. module: base
|
||||
#: field:ir.model.fields,relation_field:0
|
||||
msgid "Relation Field"
|
||||
msgstr ""
|
||||
msgstr "Зависимо поле"
|
||||
|
||||
#. module: base
|
||||
#: field:workflow.triggers,instance_id:0
|
||||
msgid "Destination Instance"
|
||||
msgstr ""
|
||||
msgstr "Дестинация"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.actions.wizard,multi:0
|
||||
@@ -7344,6 +7388,10 @@ msgid ""
|
||||
"of each users on the different objects of the system.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"Създайте вашите потребители.\n"
|
||||
"Може да назначите групи към потребителите. Групите определят правата на "
|
||||
"достъп на всеки потребител до различните обекти на системата.\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: selection:res.request,priority:0
|
||||
@@ -7432,7 +7480,7 @@ msgstr "ir.actions.act_window"
|
||||
#. module: base
|
||||
#: model:res.country,name:base.vi
|
||||
msgid "Virgin Islands (USA)"
|
||||
msgstr ""
|
||||
msgstr "Вирджински острови (САЩ)"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.tw
|
||||
@@ -7476,7 +7524,7 @@ msgstr "Неинсталируем"
|
||||
#. module: base
|
||||
#: rml:ir.module.reference:0
|
||||
msgid "View :"
|
||||
msgstr ""
|
||||
msgstr "\"Изглед\":"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.model.fields,view_load:0
|
||||
@@ -7524,7 +7572,7 @@ msgstr "Провинция"
|
||||
#. module: base
|
||||
#: view:multi_company.default:0
|
||||
msgid "Matching"
|
||||
msgstr ""
|
||||
msgstr "Сравняване"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.actions.configuration.wizard,name:0
|
||||
@@ -7571,7 +7619,7 @@ msgstr "Бахрейн"
|
||||
#. module: base
|
||||
#: model:res.partner.category,name:base.res_partner_category_12
|
||||
msgid "Segmentation"
|
||||
msgstr ""
|
||||
msgstr "Разделяне"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.ui.menu,icon:0
|
||||
@@ -7631,7 +7679,7 @@ msgstr "Гибралтар"
|
||||
#. module: base
|
||||
#: model:res.country,name:base.vg
|
||||
msgid "Virgin Islands (British)"
|
||||
msgstr ""
|
||||
msgstr "Вирджински острови (Великобритания)"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.ui.menu,icon:0
|
||||
@@ -7646,7 +7694,7 @@ msgstr "чешки / Čeština"
|
||||
#. module: base
|
||||
#: model:res.country,name:base.wf
|
||||
msgid "Wallis and Futuna Islands"
|
||||
msgstr ""
|
||||
msgstr "О-ви Уолис и Футуна"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.rw
|
||||
@@ -7666,7 +7714,7 @@ msgstr "Изчисли сума"
|
||||
#. module: base
|
||||
#: view:ir.sequence:0
|
||||
msgid "Day of the week (0:Monday): %(weekday)s"
|
||||
msgstr ""
|
||||
msgstr "Ден от седмицата (0:Понеделник): %(ден)а"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.ck
|
||||
@@ -7680,6 +7728,9 @@ msgid ""
|
||||
"invoice, then `object.invoice_address_id.mobile` is the field which gives "
|
||||
"the correct mobile number"
|
||||
msgstr ""
|
||||
"Оказва полетата които ще се използват за доставяне на мобилен номер, напр., "
|
||||
"когато изберете фактура, тогава 'object.invoice_address_id.mobile' е полето "
|
||||
"което дава правилния мобилен номер"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.model.data,noupdate:0
|
||||
@@ -7689,7 +7740,7 @@ msgstr "Не обновяем"
|
||||
#. module: base
|
||||
#: selection:module.lang.install,init,lang:0
|
||||
msgid "Klingon"
|
||||
msgstr ""
|
||||
msgstr "Клингон"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sg
|
||||
@@ -7756,7 +7807,7 @@ msgstr "Тегло"
|
||||
#. module: base
|
||||
#: view:res.lang:0
|
||||
msgid "%X - Appropriate time representation."
|
||||
msgstr ""
|
||||
msgstr "%X - Правилно представяне на времето."
|
||||
|
||||
#. module: base
|
||||
#: view:res.company:0
|
||||
@@ -7771,6 +7822,11 @@ msgid ""
|
||||
"1,06,500;[1,2,-1] will represent it to be 106,50,0;[3] will represent it as "
|
||||
"106,500. Provided ',' as the thousand separator in each case."
|
||||
msgstr ""
|
||||
"Формата на разделителя трябва дабъде [,n] , където 0 < n : като се започне "
|
||||
"от цифрата за единици. \"-1\" спира разделянето. Например, [3,2,-1] ще "
|
||||
"представи 106500 като 1,06,500; [1,2,-1] ще представи същото като 106,50,0; "
|
||||
"[3] ще представи същото като 106,500. ',' е разделител за хиляди във всеки "
|
||||
"случай."
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.action_partner_customer_form_new
|
||||
@@ -7826,7 +7882,7 @@ msgstr "Помощници на настройките"
|
||||
#. module: base
|
||||
#: field:res.lang,code:0
|
||||
msgid "Locale Code"
|
||||
msgstr ""
|
||||
msgstr "Код на локала"
|
||||
|
||||
#. module: base
|
||||
#: field:workflow.activity,split_mode:0
|
||||
@@ -7862,7 +7918,7 @@ msgstr "Вмъкни файл с превод"
|
||||
#. module: base
|
||||
#: help:ir.values,model_id:0
|
||||
msgid "This field is not used, it only helps you to select a good model."
|
||||
msgstr ""
|
||||
msgstr "Това поле не се използва, то само помага да се избере добър модел."
|
||||
|
||||
#. module: base
|
||||
#: field:ir.ui.view,name:0
|
||||
@@ -7877,7 +7933,7 @@ msgstr "италиански / Italiano"
|
||||
#. module: base
|
||||
#: field:ir.actions.report.xml,attachment:0
|
||||
msgid "Save As Attachment Prefix"
|
||||
msgstr ""
|
||||
msgstr "Префикс на \"Запази като приложение\""
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.hr
|
||||
@@ -7918,7 +7974,7 @@ msgstr "Сейшелски о-ви"
|
||||
#: code:addons/base/res/res_user.py:0
|
||||
#, python-format
|
||||
msgid "You can not have two users with the same login !"
|
||||
msgstr ""
|
||||
msgstr "Не може да има двама потребитела с един и същ \"логин\"!"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sl
|
||||
@@ -7939,7 +7995,7 @@ msgstr "terp-product"
|
||||
#. module: base
|
||||
#: model:res.country,name:base.tc
|
||||
msgid "Turks and Caicos Islands"
|
||||
msgstr ""
|
||||
msgstr "о-ви Търкс и Кайкос"
|
||||
|
||||
#. module: base
|
||||
#: field:res.partner.bank,owner_name:0
|
||||
@@ -8014,7 +8070,7 @@ msgstr "BIC/Swift код"
|
||||
#. module: base
|
||||
#: model:res.partner.category,name:base.res_partner_category_1
|
||||
msgid "Prospect"
|
||||
msgstr ""
|
||||
msgstr "Перспектива"
|
||||
|
||||
#. module: base
|
||||
#: selection:module.lang.install,init,lang:0
|
||||
@@ -8024,7 +8080,7 @@ msgstr "полски / Język polski"
|
||||
#. module: base
|
||||
#: field:ir.exports,name:0
|
||||
msgid "Export Name"
|
||||
msgstr ""
|
||||
msgstr "Име на извлечането"
|
||||
|
||||
#. module: base
|
||||
#: help:res.partner.address,type:0
|
||||
@@ -8032,6 +8088,8 @@ msgid ""
|
||||
"Used to select automatically the right address according to the context in "
|
||||
"sales and purchases documents."
|
||||
msgstr ""
|
||||
"Използва се за автоматично избаране на правилния адрес според контекста на "
|
||||
"документите за продажби и поръчки."
|
||||
|
||||
#. module: base
|
||||
#: wizard_view:module.lang.install,init:0
|
||||
|
||||
@@ -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: 2009-12-18 08:39+0000\n"
|
||||
"PO-Revision-Date: 2010-03-16 05:12+0000\n"
|
||||
"PO-Revision-Date: 2010-03-19 08:39+0000\n"
|
||||
"Last-Translator: OpenERP Administrators <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: 2010-03-17 04:39+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-03-20 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base
|
||||
@@ -174,7 +174,7 @@ msgstr "ir.report.custom.fields"
|
||||
#. module: base
|
||||
#: view:res.partner:0
|
||||
msgid "Search Partner"
|
||||
msgstr ""
|
||||
msgstr "Otsi partnerit"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/module/wizard/wizard_export_lang.py:0
|
||||
@@ -574,7 +574,7 @@ msgstr "Papua Uus Guinea"
|
||||
#. module: base
|
||||
#: model:res.partner.category,name:base.res_partner_category_4
|
||||
msgid "Basic Partner"
|
||||
msgstr "Elementaarne partner"
|
||||
msgstr "Elementaarne klient"
|
||||
|
||||
#. module: base
|
||||
#: rml:ir.module.reference:0
|
||||
@@ -584,7 +584,7 @@ msgstr ","
|
||||
#. module: base
|
||||
#: view:res.partner:0
|
||||
msgid "My Partners"
|
||||
msgstr ""
|
||||
msgstr "Minu partnerid"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.es
|
||||
@@ -1319,6 +1319,7 @@ msgstr "Kommertsperspektiiv"
|
||||
msgid ""
|
||||
"Couldn't generate the next id because some partners have an alphabetic id !"
|
||||
msgstr ""
|
||||
"Ei saanud genereerida järgmist id-d sest osadel partneritel on täheline id!"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.attachment:0
|
||||
@@ -3096,7 +3097,7 @@ msgstr "Sisemine kasutaja, kes vastutab selle partneriga suhtlemise eest."
|
||||
#. module: base
|
||||
#: field:res.partner,parent_id:0
|
||||
msgid "Parent Partner"
|
||||
msgstr ""
|
||||
msgstr "Ülem partner"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.module.module:0
|
||||
@@ -6203,7 +6204,7 @@ msgstr "Algusaeg"
|
||||
#. module: base
|
||||
#: model:res.partner.category,name:base.res_partner_category_5
|
||||
msgid "Gold Partner"
|
||||
msgstr "Kuldpartnerid"
|
||||
msgstr "Kuldpartner"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_res_partner
|
||||
@@ -6402,7 +6403,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.action_partner_other_form
|
||||
msgid "Other Partners"
|
||||
msgstr ""
|
||||
msgstr "Teised partnerid"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.model:0
|
||||
|
||||
@@ -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: 2009-12-18 08:39+0000\n"
|
||||
"PO-Revision-Date: 2010-03-13 05:29+0000\n"
|
||||
"PO-Revision-Date: 2010-03-24 05:45+0000\n"
|
||||
"Last-Translator: OpenERP Administrators <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: 2010-03-14 05:02+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-03-26 04:47+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base
|
||||
@@ -938,7 +938,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: field:res.roles,name:0
|
||||
msgid "Role Name"
|
||||
msgstr "Roolinimi"
|
||||
msgstr "Työtehtävän nimi"
|
||||
|
||||
#. module: base
|
||||
#: field:res.partner,user_id:0
|
||||
@@ -2173,7 +2173,7 @@ msgstr "Yrityksen nimi"
|
||||
#: view:res.users:0
|
||||
#: field:res.users,roles_id:0
|
||||
msgid "Roles"
|
||||
msgstr "Roolit"
|
||||
msgstr "Työtehtävät"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.action_country
|
||||
@@ -3240,7 +3240,7 @@ msgstr "%H - Tunnit (24:n tunnin kello) desimaalilukuna [00,23]."
|
||||
#. module: base
|
||||
#: view:res.roles:0
|
||||
msgid "Role"
|
||||
msgstr "Rooli"
|
||||
msgstr "Työtehtävä"
|
||||
|
||||
#. module: base
|
||||
#: help:res.country.state,code:0
|
||||
@@ -3485,7 +3485,7 @@ msgstr "Tapahtumat"
|
||||
#: model:ir.actions.act_window,name:base.action_res_roles
|
||||
#: model:ir.ui.menu,name:base.menu_action_res_roles
|
||||
msgid "Roles Structure"
|
||||
msgstr "Roolien rakenne"
|
||||
msgstr "Työtehtävien rakenne"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_ir_actions_url
|
||||
@@ -3517,7 +3517,7 @@ msgstr "Lisättyjen moduulien määrä"
|
||||
#. module: base
|
||||
#: field:workflow.transition,role_id:0
|
||||
msgid "Role Required"
|
||||
msgstr "Vaadittu rooli"
|
||||
msgstr "Vaadittu työtehtävä"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.module.module:0
|
||||
@@ -5060,7 +5060,7 @@ msgstr "Islanti"
|
||||
#: view:res.users:0
|
||||
msgid "Roles are used to defined available actions, provided by workflows."
|
||||
msgstr ""
|
||||
"Roolit määrittelevät käytettävissä olevat toiminnot, joita työnkulut "
|
||||
"Työtehtävät määrittelevät käytettävissä olevat toiminnot, joita työnkulut "
|
||||
"edellyttävät."
|
||||
|
||||
#. 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: 2009-12-18 08:39+0000\n"
|
||||
"PO-Revision-Date: 2010-03-17 05:13+0000\n"
|
||||
"PO-Revision-Date: 2010-03-31 06:01+0000\n"
|
||||
"Last-Translator: goranc <goranc@gmail.com>\n"
|
||||
"Language-Team: openerp-translators\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2010-03-18 04:34+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-01 03:40+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
"Language: hr\n"
|
||||
|
||||
|
||||
+21
-19
@@ -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: 2009-12-18 08:39+0000\n"
|
||||
"PO-Revision-Date: 2010-03-12 05:20+0000\n"
|
||||
"Last-Translator: Maurizio.Colella <m.colella88@gmail.com>\n"
|
||||
"PO-Revision-Date: 2010-03-31 05:14+0000\n"
|
||||
"Last-Translator: OpenERP Administrators <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: 2010-03-13 04:50+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-01 03:40+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base
|
||||
@@ -2452,7 +2452,7 @@ msgstr "Contenuto SXW"
|
||||
#. module: base
|
||||
#: view:ir.cron:0
|
||||
msgid "Action to Trigger"
|
||||
msgstr ""
|
||||
msgstr "Azione da innescare"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.report.custom.fields,fc0_operande:0
|
||||
@@ -3348,7 +3348,7 @@ msgstr "Isole minori esterne degli USA"
|
||||
#: field:res.partner.bank,state:0
|
||||
#: field:res.partner.bank.type.field,bank_type_id:0
|
||||
msgid "Bank Type"
|
||||
msgstr ""
|
||||
msgstr "Tipo Conto"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/res/res_user.py:0
|
||||
@@ -3393,7 +3393,7 @@ msgstr "Titolare del conto"
|
||||
#: model:ir.actions.act_window,name:base.act_values_form
|
||||
#: model:ir.ui.menu,name:base.menu_values_form
|
||||
msgid "Client Actions Connections"
|
||||
msgstr ""
|
||||
msgstr "Connessioni alle azioni del client"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.ui.view_sc,resource:0
|
||||
@@ -3413,13 +3413,15 @@ msgstr "Guadalupa (Francia)"
|
||||
#. module: base
|
||||
#: field:ir.report.custom.fields,cumulate:0
|
||||
msgid "Accumulate"
|
||||
msgstr ""
|
||||
msgstr "Accumula"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/ir/ir_report_custom.py:0
|
||||
#, python-format
|
||||
msgid "Tree can only be used in tabular reports"
|
||||
msgstr ""
|
||||
"La struttura ad albero può essere utilizzata esclusivamente nei report "
|
||||
"tabellari"
|
||||
|
||||
#. module: base
|
||||
#: rml:ir.module.reference:0
|
||||
@@ -3639,7 +3641,7 @@ msgstr "Crea azione"
|
||||
#. module: base
|
||||
#: selection:ir.actions.report.xml,report_type:0
|
||||
msgid "HTML from HTML"
|
||||
msgstr ""
|
||||
msgstr "HTML da HTML"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.actions.report.xml,report_type:0
|
||||
@@ -3731,12 +3733,12 @@ msgstr "STOCK_ADD"
|
||||
#. module: base
|
||||
#: field:ir.cron,doall:0
|
||||
msgid "Repeat Missed"
|
||||
msgstr ""
|
||||
msgstr "Ripeti mancato"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.actions.server,state:0
|
||||
msgid "Type of the Action that is to be executed"
|
||||
msgstr ""
|
||||
msgstr "Tipo dell'azione che deve essere eseguita"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.server.object.lines,server_id:0
|
||||
@@ -3781,7 +3783,7 @@ msgstr "Botswana"
|
||||
#: model:ir.ui.menu,name:base.menu_partner_title_partner
|
||||
#: view:res.partner.title:0
|
||||
msgid "Partner Titles"
|
||||
msgstr ""
|
||||
msgstr "Qualifiche Partner"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.actions.todo,type:0
|
||||
@@ -6720,7 +6722,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: field:res.partner.bank,acc_number:0
|
||||
msgid "Account Number"
|
||||
msgstr ""
|
||||
msgstr "Numero conto"
|
||||
|
||||
#. module: base
|
||||
#: view:res.lang:0
|
||||
@@ -7512,7 +7514,7 @@ msgstr "Visualizza Auto-Caricamento"
|
||||
#: model:ir.actions.act_window,name:base.action_partner_supplier_form
|
||||
#: view:res.partner:0
|
||||
msgid "Suppliers"
|
||||
msgstr ""
|
||||
msgstr "Fornitori"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.ui.menu,icon:0
|
||||
@@ -7549,7 +7551,7 @@ msgstr "Stati"
|
||||
#. module: base
|
||||
#: view:multi_company.default:0
|
||||
msgid "Matching"
|
||||
msgstr ""
|
||||
msgstr "Confronto"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.actions.configuration.wizard,name:0
|
||||
@@ -7624,7 +7626,7 @@ msgstr "Limite"
|
||||
#. module: base
|
||||
#: help:ir.actions.server,wkf_model_id:0
|
||||
msgid "Workflow to be executed on this model."
|
||||
msgstr ""
|
||||
msgstr "Flusso di lavoro da eseguire su questo modello."
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.jm
|
||||
@@ -7640,7 +7642,7 @@ msgstr "Azerbaijan"
|
||||
#: code:addons/base/res/partner/partner.py:0
|
||||
#, python-format
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
msgstr "Avviso"
|
||||
|
||||
#. module: base
|
||||
#: selection:module.lang.install,init,lang:0
|
||||
@@ -7770,12 +7772,12 @@ msgstr "Nome Categoria"
|
||||
#. module: base
|
||||
#: view:ir.actions.act_window:0
|
||||
msgid "Select Groups"
|
||||
msgstr ""
|
||||
msgstr "Seleziona gruppi"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.sequence,weight:0
|
||||
msgid "Weight"
|
||||
msgstr ""
|
||||
msgstr "Peso"
|
||||
|
||||
#. module: base
|
||||
#: view:res.lang:0
|
||||
@@ -7975,7 +7977,7 @@ msgstr "Turks e Caicos"
|
||||
#. module: base
|
||||
#: field:res.partner.bank,owner_name:0
|
||||
msgid "Account Owner"
|
||||
msgstr ""
|
||||
msgstr "Titolare Conto"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.attachment,res_model:0
|
||||
|
||||
@@ -8,13 +8,13 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-server\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2009-12-18 08:39+0000\n"
|
||||
"PO-Revision-Date: 2010-03-17 05:14+0000\n"
|
||||
"PO-Revision-Date: 2010-03-31 05:47+0000\n"
|
||||
"Last-Translator: Harry (Open ERP) <hmo@tinyerp.com>\n"
|
||||
"Language-Team: Japanese <ja@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: 2010-03-18 04:33+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-01 03:40+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\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: 2009-12-18 08:39+0000\n"
|
||||
"PO-Revision-Date: 2010-02-21 06:01+0000\n"
|
||||
"Last-Translator: OpenERP Administrators <Unknown>\n"
|
||||
"PO-Revision-Date: 2010-03-22 05:21+0000\n"
|
||||
"Last-Translator: Bartosz Kaszubowski <gosimek@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: 2010-02-22 04:41+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-03-24 04:52+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base
|
||||
@@ -1592,7 +1592,7 @@ msgstr "Akcja serwera"
|
||||
#. module: base
|
||||
#: model:res.country,name:base.tt
|
||||
msgid "Trinidad and Tobago"
|
||||
msgstr "Trinidad i Tobago"
|
||||
msgstr "Trynidad i Tobago"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.lv
|
||||
@@ -2687,7 +2687,7 @@ msgstr "Boliwia"
|
||||
#. module: base
|
||||
#: model:res.country,name:base.gh
|
||||
msgid "Ghana"
|
||||
msgstr "Gana"
|
||||
msgstr "Ghana"
|
||||
|
||||
#. module: base
|
||||
#: field:res.lang,direction:0
|
||||
@@ -6817,7 +6817,7 @@ msgstr "Puste hasło !"
|
||||
#. module: base
|
||||
#: model:res.country,name:base.eh
|
||||
msgid "Western Sahara"
|
||||
msgstr "Zachodnia Sahara"
|
||||
msgstr "Sahara Zachodnia"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_workflow
|
||||
@@ -7218,7 +7218,7 @@ msgstr ""
|
||||
#. module: base
|
||||
#: model:res.country,name:base.cx
|
||||
msgid "Christmas Island"
|
||||
msgstr "Wyspy Bożego Narodzenia"
|
||||
msgstr "Wyspa Bożego Narodzenia"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.actions.server:0
|
||||
|
||||
+154
-135
File diff suppressed because it is too large
Load Diff
@@ -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: 2009-12-18 08:39+0000\n"
|
||||
"PO-Revision-Date: 2010-03-17 05:09+0000\n"
|
||||
"PO-Revision-Date: 2010-03-31 04:49+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: 2010-03-18 04:34+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-01 03:40+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base
|
||||
|
||||
@@ -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: 2009-12-18 08:39+0000\n"
|
||||
"PO-Revision-Date: 2010-03-17 05:13+0000\n"
|
||||
"PO-Revision-Date: 2010-03-31 05:27+0000\n"
|
||||
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.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: 2010-03-18 04:34+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-01 03:40+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\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: 2009-12-18 08:39+0000\n"
|
||||
"PO-Revision-Date: 2010-03-17 05:11+0000\n"
|
||||
"PO-Revision-Date: 2010-03-31 05:03+0000\n"
|
||||
"Last-Translator: OpenERP Administrators <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: 2010-03-18 04:34+0000\n"
|
||||
"X-Launchpad-Export-Date: 2010-04-01 03:40+0000\n"
|
||||
"X-Generator: Launchpad (build Unknown)\n"
|
||||
|
||||
#. module: base
|
||||
|
||||
@@ -369,7 +369,7 @@
|
||||
<separator colspan="4" string="Select Groups" />
|
||||
<field name="groups_id" nolabel="1" colspan="4" />
|
||||
</page>
|
||||
</notebook>
|
||||
</notebook>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
@@ -431,7 +431,7 @@
|
||||
<menuitem action="ir_action_wizard" id="menu_ir_action_wizard" parent="base.next_id_6"/>
|
||||
|
||||
<!-- Companies -->
|
||||
<menuitem id="menu_res_company_global"
|
||||
<menuitem id="menu_res_company_global"
|
||||
parent="base.menu_administration"
|
||||
name="Companies"
|
||||
sequence="5"/>
|
||||
@@ -570,7 +570,7 @@
|
||||
<field name="name"/>
|
||||
<field name="type"/>
|
||||
<field name="model"/>
|
||||
<field name="inherit_id"/>
|
||||
<field name="inherit_id"/>
|
||||
<field name="priority"/>
|
||||
<field name="field_parent"/>
|
||||
</tree>
|
||||
@@ -1176,6 +1176,11 @@
|
||||
<separator colspan="4" string="Manual domain setup"/>
|
||||
<field name="domain_force"/>
|
||||
<label colspan="4" string="If you don't force the domain, it will use the simple domain setup"/>
|
||||
<newline/>
|
||||
<field name="perm_read"/>
|
||||
<field name="perm_write"/>
|
||||
<field name="perm_create"/>
|
||||
<field name="perm_unlink"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
@@ -1187,6 +1192,10 @@
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Test">
|
||||
<field name="domain"/>
|
||||
<field name="perm_read"/>
|
||||
<field name="perm_write"/>
|
||||
<field name="perm_create"/>
|
||||
<field name="perm_unlink"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
@@ -15,7 +15,7 @@
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
@@ -88,7 +88,7 @@ class ir_rule(osv.osv):
|
||||
for rule in self.browse(cr, uid, ids, context):
|
||||
eval_user_data = {'user': self.pool.get('res.users').browse(cr, 1, uid),
|
||||
'time':time}
|
||||
|
||||
|
||||
if rule.domain_force:
|
||||
res[rule.id] = eval(rule.domain_force, eval_user_data)
|
||||
else:
|
||||
@@ -111,27 +111,41 @@ class ir_rule(osv.osv):
|
||||
'operand':fields.selection(_operand,'Operand', size=64),
|
||||
'rule_group': fields.many2one('ir.rule.group', 'Group', select=2, required=True, ondelete="cascade"),
|
||||
'domain_force': fields.char('Force Domain', size=250),
|
||||
'domain': fields.function(_domain_force_get, method=True, string='Domain', type='char', size=250)
|
||||
'domain': fields.function(_domain_force_get, method=True, string='Domain', type='char', size=250),
|
||||
'perm_read': fields.boolean('Read Access'),
|
||||
'perm_write': fields.boolean('Write Access'),
|
||||
'perm_create': fields.boolean('Create Access'),
|
||||
'perm_unlink': fields.boolean('Delete Access')
|
||||
}
|
||||
_defaults = {
|
||||
'perm_read': lambda *a: True,
|
||||
'perm_write': lambda *a: True,
|
||||
'perm_create': lambda *a: True,
|
||||
'perm_unlink': lambda *a: True,
|
||||
}
|
||||
_sql_constraints = [
|
||||
('no_access_rights', 'CHECK (perm_read!=False or perm_write!=False or perm_create!=False or perm_unlink!=False)', 'Rule must have atleast one checked access right'),
|
||||
]
|
||||
|
||||
def onchange_all(self, cr, uid, ids, field_id, operator, operand):
|
||||
if not (field_id or operator or operand):
|
||||
return {}
|
||||
|
||||
def domain_get(self, cr, uid, model_name, context={}):
|
||||
def domain_get(self, cr, uid, model_name, mode='read', context={}):
|
||||
if uid == 1:
|
||||
return [], [], ['"'+self.pool.get(model_name)._table+'"']
|
||||
|
||||
cr.execute("""SELECT r.id FROM
|
||||
ir_rule r
|
||||
cr.execute("""SELECT r.id
|
||||
FROM ir_rule r
|
||||
JOIN (ir_rule_group g
|
||||
JOIN ir_model m ON (g.model_id = m.id))
|
||||
ON (g.id = r.rule_group)
|
||||
WHERE m.model = %s
|
||||
AND r.perm_""" + mode + """
|
||||
AND (g.id IN (SELECT rule_group_id FROM group_rule_group_rel g_rel
|
||||
JOIN res_groups_users_rel u_rel ON (g_rel.group_id = u_rel.gid)
|
||||
WHERE u_rel.uid = %s) OR g.global)""", (model_name, uid))
|
||||
ids = map(lambda x:x[0], cr.fetchall())
|
||||
ids = map(lambda x: x[0], cr.fetchall())
|
||||
dom = []
|
||||
for rule in self.browse(cr, uid, ids):
|
||||
dom += rule.domain
|
||||
|
||||
@@ -100,11 +100,7 @@ class ir_ui_menu(osv.osv):
|
||||
|
||||
if menu.action:
|
||||
# we check if the user has access to the action of the menu
|
||||
#m, oid = menu.action.split(',', 1)
|
||||
#data = self.pool.get(m).browse(cr, 1, int(oid))
|
||||
data = menu.action
|
||||
m = data._name
|
||||
|
||||
if data:
|
||||
model_field = { 'ir.actions.act_window': 'res_model',
|
||||
'ir.actions.report.custom': 'model',
|
||||
@@ -113,7 +109,7 @@ class ir_ui_menu(osv.osv):
|
||||
'ir.actions.server': 'model_id',
|
||||
}
|
||||
|
||||
field = model_field.get(m)
|
||||
field = model_field.get(menu.action._name)
|
||||
if field and data[field]:
|
||||
if not modelaccess.check(cr, uid, data[field], raise_exception=False):
|
||||
continue
|
||||
|
||||
@@ -104,6 +104,7 @@
|
||||
</group>
|
||||
<group colspan="2" col="2">
|
||||
<separator string="Postal Address" colspan="4" col="4"/>
|
||||
<field name="type"/>
|
||||
<field name="street"/>
|
||||
<field name="street2"/>
|
||||
<field name="zip"/>
|
||||
@@ -113,7 +114,6 @@
|
||||
</group>
|
||||
<group colspan="2" col="2">
|
||||
<separator string="Communication" colspan="4" col="4"/>
|
||||
<field name="type"/>
|
||||
<field name="phone"/>
|
||||
<field name="fax"/>
|
||||
<field name="mobile"/>
|
||||
@@ -287,6 +287,7 @@
|
||||
<newline/>
|
||||
<group colspan="2" col="4">
|
||||
<separator string="Postal Address" colspan="4" col="4" />
|
||||
<field name="type" string="Type" colspan="2"/>
|
||||
<field name="street" colspan="4"/>
|
||||
<field name="street2" colspan="4"/>
|
||||
<field name="zip"/>
|
||||
@@ -296,7 +297,6 @@
|
||||
</group>
|
||||
<group colspan="2" col="2">
|
||||
<separator string="Communication" colspan="2" col="2" />
|
||||
<field name="type" string="Type" />
|
||||
<field name="phone"/>
|
||||
<field name="mobile"/>
|
||||
<field name="fax"/>
|
||||
|
||||
@@ -62,7 +62,7 @@ class lang(osv.osv):
|
||||
]
|
||||
|
||||
@tools.cache(skiparg=3)
|
||||
def _lang_data_get(self, cr, uid, lang_id):
|
||||
def _lang_data_get(self, cr, uid, lang_id, monetary=False):
|
||||
conv = localeconv()
|
||||
lang_obj=self.browse(cr,uid,lang_id)
|
||||
thousands_sep = lang_obj.thousands_sep or conv[monetary and 'mon_thousands_sep' or 'thousands_sep']
|
||||
@@ -120,7 +120,7 @@ class lang(osv.osv):
|
||||
if percent[0] != '%':
|
||||
raise ValueError("format() must be given exactly one %char format specifier")
|
||||
|
||||
lang_grouping, thousands_sep, decimal_point = self._lang_data_get(cr, uid, ids[0])
|
||||
lang_grouping, thousands_sep, decimal_point = self._lang_data_get(cr, uid, ids[0], monetary)
|
||||
|
||||
formatted = percent % value
|
||||
# floats and decimal ints need special action!
|
||||
|
||||
+6
-3
@@ -366,7 +366,7 @@ class one2many(_column):
|
||||
_prefetch = False
|
||||
_type = 'one2many'
|
||||
|
||||
def __init__(self, obj, fields_id, string='unknown', limit=20, **args):
|
||||
def __init__(self, obj, fields_id, string='unknown', limit=None, **args):
|
||||
args.update({'parent_field':fields_id})
|
||||
_column.__init__(self, string=string, **args)
|
||||
self._obj = obj
|
||||
@@ -756,11 +756,14 @@ class related(function):
|
||||
if self._type != "many2one":
|
||||
t_id = t_data.id
|
||||
t_data = t_data[self.arg[i]][0]
|
||||
else:
|
||||
t_data = False
|
||||
break
|
||||
else:
|
||||
t_id = t_data['id']
|
||||
t_data = t_data[self.arg[i]]
|
||||
|
||||
if t_id:
|
||||
if t_id and t_data:
|
||||
obj.pool.get(field_detail['object']).write(cr,uid,[t_id],{args[-1]:values}, context=context)
|
||||
|
||||
def _fnct_read(self, obj, cr, uid, ids, field_name, args, context=None):
|
||||
@@ -921,7 +924,7 @@ class property(function):
|
||||
res[id] = default_val
|
||||
for prop in property.browse(cr, uid, nids):
|
||||
if prop.value.find(',') >= 0:
|
||||
res[int(prop.res_id.split(',')[1])] = (prop.value and \
|
||||
res[int(prop.res_id.id)] = (prop.value and \
|
||||
int(prop.value.split(',')[1])) or False
|
||||
else:
|
||||
res[int(prop.res_id.split(',')[1])] = prop.value or ''
|
||||
|
||||
+72
-68
@@ -69,6 +69,15 @@ from tools.config import config
|
||||
|
||||
regex_order = re.compile('^(([a-z0-9_]+|"[a-z0-9_]+")( *desc| *asc)?( *, *|))+$', re.I)
|
||||
|
||||
|
||||
POSTGRES_CONFDELTYPES = {
|
||||
'RESTRICT': 'r',
|
||||
'NO ACTION': 'a',
|
||||
'CASCADE': 'c',
|
||||
'SET NULL': 'n',
|
||||
'SET DEFAULT': 'd',
|
||||
}
|
||||
|
||||
def last_day_of_current_month():
|
||||
today = datetime.date.today()
|
||||
last_day = str(calendar.monthrange(today.year, today.month)[1])
|
||||
@@ -249,11 +258,14 @@ class browse_record(object):
|
||||
new_data[n] = self._list_class([browse_record(self._cr, self._uid, id, self._table.pool.get(f._obj), self._cache, context=self._context, list_class=self._list_class, fields_process=self._fields_process) for id in data[n]], self._context)
|
||||
elif f._type in ('reference'):
|
||||
if data[n]:
|
||||
ref_obj, ref_id = data[n].split(',')
|
||||
ref_id = long(ref_id)
|
||||
obj = self._table.pool.get(ref_obj)
|
||||
compids = False
|
||||
new_data[n] = browse_record(self._cr, self._uid, ref_id, obj, self._cache, context=self._context, list_class=self._list_class, fields_process=self._fields_process)
|
||||
if isinstance(data[n], browse_record):
|
||||
new_data[n] = data[n]
|
||||
else:
|
||||
ref_obj, ref_id = data[n].split(',')
|
||||
ref_id = long(ref_id)
|
||||
obj = self._table.pool.get(ref_obj)
|
||||
compids = False
|
||||
new_data[n] = browse_record(self._cr, self._uid, ref_id, obj, self._cache, context=self._context, list_class=self._list_class, fields_process=self._fields_process)
|
||||
else:
|
||||
new_data[n] = browse_null()
|
||||
else:
|
||||
@@ -1866,13 +1878,15 @@ class orm(orm_template):
|
||||
_protected = ['read','write','create','default_get','perm_read','unlink','fields_get','fields_view_get','search','name_get','distinct_field_get','name_search','copy','import_data','search_count', 'exists']
|
||||
|
||||
def read_group(self, cr, uid, domain, fields, groupby, offset=0, limit=None, context=None):
|
||||
groupby_list = groupby
|
||||
groupby = groupby[0]
|
||||
context = context or {}
|
||||
self.pool.get('ir.model.access').check(cr, uid, self._name, 'read', context=context)
|
||||
if not fields:
|
||||
fields = self._columns.keys()
|
||||
|
||||
(where_clause, where_params, tables) = self._where_calc(cr, uid, domain, context=context)
|
||||
dom = self.pool.get('ir.rule').domain_get(cr, uid, self._name, context=context)
|
||||
dom = self.pool.get('ir.rule').domain_get(cr, uid, self._name, 'read', context=context)
|
||||
where_clause = where_clause + dom[0]
|
||||
where_params = where_params + dom[1]
|
||||
for t in dom[2]:
|
||||
@@ -1912,6 +1926,8 @@ class orm(orm_template):
|
||||
alldata = {}
|
||||
groupby = group_by
|
||||
for r in cr.dictfetchall():
|
||||
for fld,val in r.items():
|
||||
if val == None:r[fld] = False
|
||||
alldata[r['id']] = r
|
||||
del r['id']
|
||||
data = self.read(cr, uid, alldata.keys(), [groupby], context=context)
|
||||
@@ -1919,6 +1935,7 @@ class orm(orm_template):
|
||||
|
||||
for d in data:
|
||||
d['__domain'] = [(groupby,'=',alldata[d['id']][groupby] or False)] + domain
|
||||
d['__context'] = {'group_by':groupby_list[1:]}
|
||||
if fget.has_key(groupby):
|
||||
if d[groupby] and fget[groupby]['type'] in ('date','datetime'):
|
||||
dt = datetime.datetime.strptime(alldata[d['id']][groupby][:7],'%Y-%m')
|
||||
@@ -2274,14 +2291,7 @@ class orm(orm_template):
|
||||
"AND con.contype = 'f'", (self._table, ref, k, 'id'))
|
||||
res = cr.dictfetchall()
|
||||
if res:
|
||||
confdeltype = {
|
||||
'RESTRICT': 'r',
|
||||
'NO ACTION': 'a',
|
||||
'CASCADE': 'c',
|
||||
'SET NULL': 'n',
|
||||
'SET DEFAULT': 'd',
|
||||
}
|
||||
if res[0]['confdeltype'] != confdeltype.get(f.ondelete.upper(), 'a'):
|
||||
if res[0]['confdeltype'] != POSTGRES_CONFDELTYPES.get(f.ondelete.upper(), 'a'):
|
||||
cr.execute('ALTER TABLE "' + self._table + '" DROP CONSTRAINT "' + res[0]['conname'] + '"')
|
||||
cr.execute('ALTER TABLE "' + self._table + '" ADD FOREIGN KEY ("' + k + '") REFERENCES "' + ref + '" ON DELETE ' + f.ondelete)
|
||||
cr.commit()
|
||||
@@ -2474,6 +2484,7 @@ class orm(orm_template):
|
||||
#
|
||||
# Update objects that uses this one to update their _inherits fields
|
||||
#
|
||||
|
||||
def _inherits_reload_src(self):
|
||||
for obj in self.pool.obj_pool.values():
|
||||
if self._name in obj._inherits:
|
||||
@@ -2540,8 +2551,7 @@ class orm(orm_template):
|
||||
fields_to_read = self._columns.keys()
|
||||
|
||||
# construct a clause for the rules :
|
||||
d1, d2, tables = self.pool.get('ir.rule').domain_get(cr, user, self._name, context=context)
|
||||
|
||||
d1, d2, tables = self.pool.get('ir.rule').domain_get(cr, user, self._name, 'read', context=context)
|
||||
# all inherited fields + all non inherited fields for which the attribute whose name is in load is True
|
||||
fields_pre = [f for f in fields_to_read if
|
||||
f == self.CONCURRENCY_CHECK_FIELD
|
||||
@@ -2562,17 +2572,16 @@ class orm(orm_template):
|
||||
return '"%s"' % (f,)
|
||||
fields_pre2 = map(convert_field, fields_pre)
|
||||
order_by = self._parent_order or self._order
|
||||
for i in range(0, len(ids), cr.IN_MAX):
|
||||
sub_ids = ids[i:i+cr.IN_MAX]
|
||||
for sub_ids in cr.split_for_in_conditions(ids):
|
||||
if d1:
|
||||
cr.execute('SELECT %s FROM %s WHERE %s.id = ANY (%%s) AND %s ORDER BY %s' % \
|
||||
cr.execute('SELECT %s FROM %s WHERE %s.id IN %%s AND %s ORDER BY %s' % \
|
||||
(','.join(fields_pre2 + [self._table + '.id']), ','.join(tables), self._table, ' and '.join(d1),
|
||||
order_by),[sub_ids,]+d2)
|
||||
if not cr.rowcount == len({}.fromkeys(sub_ids)):
|
||||
if cr.rowcount != len(sub_ids):
|
||||
raise except_orm(_('AccessError'),
|
||||
_('You try to bypass an access rule while reading (Document type: %s).') % self._description)
|
||||
else:
|
||||
cr.execute('SELECT %s FROM \"%s\" WHERE id = ANY (%%s) ORDER BY %s' %
|
||||
cr.execute('SELECT %s FROM \"%s\" WHERE id IN %%s ORDER BY %s' %
|
||||
(','.join(fields_pre2 + ['id']), self._table,
|
||||
order_by), (sub_ids,))
|
||||
res.extend(cr.dictfetchall())
|
||||
@@ -2724,6 +2733,25 @@ class orm(orm_template):
|
||||
if res and res[0]:
|
||||
raise except_orm('ConcurrencyException', _('Records were modified in the meanwhile'))
|
||||
|
||||
def check_access_rule(self, cr, uid, ids, operation, context=None):
|
||||
"""Verifies that the operation given by ``operation`` is allowed for the user
|
||||
according to ir.rules.
|
||||
@param ``operation``: one of ``'read'``, ``'write'``, ``'unlink'``
|
||||
@raise ``except_orm``: if current ir.rules do not permit this operation.
|
||||
@return: ``None`` if the operation is allowed
|
||||
"""
|
||||
where_clause, where_params, tables = self.pool.get('ir.rule').domain_get(cr, uid, self._name, operation, context=context)
|
||||
if where_clause:
|
||||
where_clause = ' and ' + ' and '.join(where_clause)
|
||||
for sub_ids in cr.split_for_in_conditions(ids):
|
||||
cr.execute('SELECT ' + self._table + '.id FROM ' + ','.join(tables) +
|
||||
' WHERE ' + self._table + '.id IN %s' + where_clause,
|
||||
[sub_ids] + where_params)
|
||||
if cr.rowcount != len(sub_ids):
|
||||
raise except_orm(_('AccessError'),
|
||||
_('Operation prohibited by access rules (Operation: %s, Document type: %s).')
|
||||
% (operation, self._name))
|
||||
|
||||
def unlink(self, cr, uid, ids, context=None):
|
||||
if not ids:
|
||||
return True
|
||||
@@ -2753,26 +2781,13 @@ class orm(orm_template):
|
||||
# ids2 = [x[self._inherits[key]] for x in res]
|
||||
# self.pool.get(key).unlink(cr, uid, ids2)
|
||||
|
||||
d1, d2,tables = self.pool.get('ir.rule').domain_get(cr, uid, self._name, context=context)
|
||||
if d1:
|
||||
d1 = ' AND '+' and '.join(d1)
|
||||
|
||||
for i in range(0, len(ids), cr.IN_MAX):
|
||||
sub_ids = ids[i:i+cr.IN_MAX]
|
||||
str_d = string.join(('%s',)*len(sub_ids), ',')
|
||||
if d1:
|
||||
cr.execute('SELECT '+self._table+'.id FROM '+','.join(tables)+' ' \
|
||||
'WHERE '+self._table+'.id IN ('+str_d+')'+d1, sub_ids+d2)
|
||||
if not cr.rowcount == len(sub_ids):
|
||||
raise except_orm(_('AccessError'),
|
||||
_('You try to bypass an access rule (Document type: %s).') % \
|
||||
self._description)
|
||||
|
||||
cr.execute('delete from '+self._table+' ' \
|
||||
'where id in ('+str_d+')', sub_ids)
|
||||
self.check_access_rule(cr, uid, ids, 'unlink', context=context)
|
||||
for sub_ids in cr.split_for_in_conditions(ids):
|
||||
cr.execute('delete from ' + self._table + ' ' \
|
||||
'where id in %s', sub_ids)
|
||||
|
||||
for order, object, store_ids, fields in result_store:
|
||||
if object<>self._name:
|
||||
if object != self._name:
|
||||
obj = self.pool.get(object)
|
||||
cr.execute('select id from '+obj._table+' where id in ('+','.join(map(str, store_ids))+')')
|
||||
rids = map(lambda x: x[0], cr.fetchall())
|
||||
@@ -2868,29 +2883,10 @@ class orm(orm_template):
|
||||
upd1.append(user)
|
||||
|
||||
if len(upd0):
|
||||
|
||||
d1, d2,tables = self.pool.get('ir.rule').domain_get(cr, user, self._name, context=context)
|
||||
if d1:
|
||||
d1 = ' and '+' and '.join(d1)
|
||||
|
||||
for i in range(0, len(ids), cr.IN_MAX):
|
||||
sub_ids = ids[i:i+cr.IN_MAX]
|
||||
ids_str = string.join(map(str, sub_ids), ',')
|
||||
if d1:
|
||||
cr.execute('SELECT '+self._table+'.id FROM '+','.join(tables)+' ' \
|
||||
'WHERE '+self._table+'.id IN ('+ids_str+')'+d1, d2)
|
||||
if not cr.rowcount == len({}.fromkeys(sub_ids)):
|
||||
raise except_orm(_('AccessError'),
|
||||
_('You try to bypass an access rule while writing (Document type: %s).') % \
|
||||
self._description)
|
||||
else:
|
||||
cr.execute('SELECT id FROM "'+self._table+'" WHERE id IN ('+ids_str+')')
|
||||
if not cr.rowcount == len({}.fromkeys(sub_ids)):
|
||||
raise except_orm(_('AccessError'),
|
||||
_('You try to write on an record that doesn\'t exist ' \
|
||||
'(Document type: %s).') % self._description)
|
||||
cr.execute('update '+self._table+' set '+string.join(upd0, ',')+' ' \
|
||||
'where id in ('+ids_str+')', upd1)
|
||||
self.check_access_rule(cr, user, ids, 'write', context=context)
|
||||
for sub_ids in cr.split_for_in_conditions(ids):
|
||||
cr.execute('update ' + self._table + ' set ' + ','.join(upd0) + ' ' \
|
||||
'where id in %s', upd1 + [sub_ids])
|
||||
|
||||
if totranslate:
|
||||
# TODO: optimize
|
||||
@@ -2921,11 +2917,9 @@ class orm(orm_template):
|
||||
for table in self._inherits:
|
||||
col = self._inherits[table]
|
||||
nids = []
|
||||
for i in range(0, len(ids), cr.IN_MAX):
|
||||
sub_ids = ids[i:i+cr.IN_MAX]
|
||||
ids_str = string.join(map(str, sub_ids), ',')
|
||||
for sub_ids in cr.split_for_in_conditions(ids):
|
||||
cr.execute('select distinct "'+col+'" from "'+self._table+'" ' \
|
||||
'where id in ('+ids_str+')', upd1)
|
||||
'where id in %s', (sub_ids,))
|
||||
nids.extend([x[0] for x in cr.fetchall()])
|
||||
|
||||
v = {}
|
||||
@@ -3104,7 +3098,8 @@ class orm(orm_template):
|
||||
upd1 = upd1 + ',' + self._columns[field]._symbol_set[0]
|
||||
upd2.append(self._columns[field]._symbol_set[1](vals[field]))
|
||||
else:
|
||||
upd_todo.append(field)
|
||||
if not isinstance(self._columns[field], fields.related):
|
||||
upd_todo.append(field)
|
||||
if field in self._columns \
|
||||
and hasattr(self._columns[field], 'selection') \
|
||||
and vals[field]:
|
||||
@@ -3128,6 +3123,15 @@ class orm(orm_template):
|
||||
upd1 += ',%s,now()'
|
||||
upd2.append(user)
|
||||
cr.execute('insert into "'+self._table+'" (id'+upd0+") values ("+str(id_new)+upd1+')', tuple(upd2))
|
||||
d1, d2, tables = self.pool.get('ir.rule').domain_get(cr, user, self._name, 'create', context=context)
|
||||
if d1:
|
||||
d1 = ' AND '+' AND '.join(d1)
|
||||
cr.execute('SELECT '+self._table+'.id FROM '+','.join(tables)+' ' \
|
||||
'WHERE '+self._table+'.id = ' +str(id_new)+d1,d2)
|
||||
if not cr.rowcount:
|
||||
raise except_orm(_('AccessError'),
|
||||
_('You try to bypass an access rule to create (Document type: %s).') \
|
||||
% self._name)
|
||||
upd_todo.sort(lambda x, y: self._columns[x].priority-self._columns[y].priority)
|
||||
|
||||
if self._parent_store:
|
||||
@@ -3334,7 +3338,7 @@ class orm(orm_template):
|
||||
context = {}
|
||||
# compute the where, order by, limit and offset clauses
|
||||
(qu1, qu2, tables) = self._where_calc(cr, user, args, context=context)
|
||||
dom = self.pool.get('ir.rule').domain_get(cr, user, self._name, context=context)
|
||||
dom = self.pool.get('ir.rule').domain_get(cr, user, self._name, 'read', context=context)
|
||||
qu1 = qu1 + dom[0]
|
||||
qu2 = qu2 + dom[1]
|
||||
for t in dom[2]:
|
||||
|
||||
@@ -138,7 +138,8 @@ class report_rml(report_int):
|
||||
def create_rml(self, cr, xml, uid, context=None):
|
||||
if not context:
|
||||
context={}
|
||||
service = netsvc.LocalService("object_proxy")
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
ir_translation_obj = pool.get('ir.translation')
|
||||
|
||||
# In some case we might not use xsl ...
|
||||
if not self.xsl:
|
||||
@@ -159,9 +160,7 @@ class report_rml(report_int):
|
||||
|
||||
def translate(doc, lang):
|
||||
for node in doc.xpath('//*[@t]'):
|
||||
translation = service.execute(
|
||||
cr.dbname, uid, 'ir.translation', '_get_source',
|
||||
self.name2, 'xsl', lang, node.text)
|
||||
translation = ir_translation_obj._get_source(cr, uid, self.name2, 'xsl', lang, node.text)
|
||||
if translation:
|
||||
node.text = translation
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@ import os
|
||||
import socket
|
||||
|
||||
import tiny_socket
|
||||
|
||||
class TinySocketClientThread(threading.Thread, netsvc.OpenERPDispatcher):
|
||||
def __init__(self, sock, threads):
|
||||
threading.Thread.__init__(self)
|
||||
@@ -119,8 +120,8 @@ class TinySocketServerThread(threading.Thread,netsvc.Server):
|
||||
"Netrpc: %d threads" % len(self.threads))
|
||||
self.socket.close()
|
||||
except Exception, e:
|
||||
netsvc.Logger().notifyChannel("web-services", netsvc.LOG_WARNING,
|
||||
"Netrpc: closing because of exception %s" % str(e))
|
||||
import logging
|
||||
logging.getLogger('web-services').warning("Netrpc: closing because of exception %s" % str(e))
|
||||
self.socket.close()
|
||||
return False
|
||||
|
||||
|
||||
+7
-1
@@ -63,7 +63,7 @@ re_into = re.compile('.* into "?([a-zA-Z_0-9]+)"? .*$');
|
||||
sql_counter = 0
|
||||
|
||||
class Cursor(object):
|
||||
IN_MAX = 1000
|
||||
IN_MAX = 1000 # decent limit on size of IN queries - guideline = Oracle limit
|
||||
__logger = logging.getLogger('db.cursor')
|
||||
|
||||
def check(f):
|
||||
@@ -142,6 +142,12 @@ class Cursor(object):
|
||||
self.sql_into_log[res_into.group(1)][1] += delay
|
||||
return res
|
||||
|
||||
|
||||
def split_for_in_conditions(self, ids):
|
||||
"""Split a list of identifiers into one or more smaller tuples
|
||||
safe for IN conditions, after uniquifying them."""
|
||||
return tools.misc.split_every(self.IN_MAX, set(ids))
|
||||
|
||||
def print_log(self):
|
||||
global sql_counter
|
||||
sql_counter += self.sql_log_count
|
||||
|
||||
@@ -376,7 +376,7 @@ form: module.record_id""" % (xml_id,)
|
||||
usage = rec.get('usage','').encode('utf-8')
|
||||
limit = rec.get('limit','').encode('utf-8')
|
||||
auto_refresh = rec.get('auto_refresh','').encode('utf-8')
|
||||
|
||||
uid = self.uid
|
||||
# def ref() added because , if context has ref('id') eval wil use this ref
|
||||
|
||||
active_id=str("active_id") # for further reference in client/bin/tools/__init__.py
|
||||
|
||||
@@ -32,6 +32,7 @@ import zipfile
|
||||
import release
|
||||
import socket
|
||||
import re
|
||||
from itertools import islice
|
||||
|
||||
if sys.version_info[:2] < (2, 4):
|
||||
from threadinglocal import local
|
||||
@@ -1267,6 +1268,18 @@ def detect_server_timezone():
|
||||
return 'UTC'
|
||||
|
||||
|
||||
def split_every(n, iterable, piece_maker=tuple):
|
||||
"""Splits an iterable into length-n pieces. The last piece will be shorter
|
||||
if ``n`` does not evenly divide the iterable length.
|
||||
@param ``piece_maker``: function to build the pieces
|
||||
from the slices (tuple,list,...)
|
||||
"""
|
||||
iterator = iter(iterable)
|
||||
piece = piece_maker(islice(iterator, n))
|
||||
while piece:
|
||||
yield piece
|
||||
piece = piece_maker(islice(iterator, n))
|
||||
|
||||
if __name__ == '__main__':
|
||||
import doctest
|
||||
doctest.testmod()
|
||||
|
||||
Reference in New Issue
Block a user