diff --git a/bin/addons/base/base.sql b/bin/addons/base/base.sql
index 1f7955eff10..bb792b78845 100644
--- a/bin/addons/base/base.sql
+++ b/bin/addons/base/base.sql
@@ -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
diff --git a/bin/addons/base/base_data.xml b/bin/addons/base/base_data.xml
index 4f61dd1ddfc..6c9185eee7a 100644
--- a/bin/addons/base/base_data.xml
+++ b/bin/addons/base/base_data.xml
@@ -1001,6 +1001,8 @@
Tiny sprl
+
+
@@ -1011,14 +1013,18 @@
(+32).81.81.37.00
default
+
+
-
+
EUR
EUR
0.01
4
+
+
1.0
@@ -1042,12 +1048,21 @@
-
+
+
+
+
+
+
+
-
+
+
+
+
USD
USD
diff --git a/bin/addons/base/i18n/bg.po b/bin/addons/base/i18n/bg.po
index 1e17e3f0311..a0d0053c68e 100644
--- a/bin/addons/base/i18n/bg.po
+++ b/bin/addons/base/i18n/bg.po
@@ -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 \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
diff --git a/bin/addons/base/i18n/et.po b/bin/addons/base/i18n/et.po
index d4461213af4..309dca1a8ff 100644
--- a/bin/addons/base/i18n/et.po
+++ b/bin/addons/base/i18n/et.po
@@ -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 \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
diff --git a/bin/addons/base/i18n/fi.po b/bin/addons/base/i18n/fi.po
index d76791b3541..aabfe2c1ca5 100644
--- a/bin/addons/base/i18n/fi.po
+++ b/bin/addons/base/i18n/fi.po
@@ -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 \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
diff --git a/bin/addons/base/i18n/hr.po b/bin/addons/base/i18n/hr.po
index 96d5ca04a71..7e9a7965906 100644
--- a/bin/addons/base/i18n/hr.po
+++ b/bin/addons/base/i18n/hr.po
@@ -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 \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"
diff --git a/bin/addons/base/i18n/it.po b/bin/addons/base/i18n/it.po
index ed9e2a191a3..f98e352340b 100644
--- a/bin/addons/base/i18n/it.po
+++ b/bin/addons/base/i18n/it.po
@@ -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 \n"
+"PO-Revision-Date: 2010-03-31 05:14+0000\n"
+"Last-Translator: OpenERP Administrators \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
diff --git a/bin/addons/base/i18n/ja.po b/bin/addons/base/i18n/ja.po
index 22fb11fc66a..81af2e76f06 100644
--- a/bin/addons/base/i18n/ja.po
+++ b/bin/addons/base/i18n/ja.po
@@ -8,13 +8,13 @@ msgstr ""
"Project-Id-Version: openobject-server\n"
"Report-Msgid-Bugs-To: FULL NAME \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) \n"
"Language-Team: Japanese \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
diff --git a/bin/addons/base/i18n/pl.po b/bin/addons/base/i18n/pl.po
index 8fbd25231e0..63fd07334ec 100644
--- a/bin/addons/base/i18n/pl.po
+++ b/bin/addons/base/i18n/pl.po
@@ -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 \n"
+"PO-Revision-Date: 2010-03-22 05:21+0000\n"
+"Last-Translator: Bartosz Kaszubowski \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
diff --git a/bin/addons/base/i18n/pt_BR.po b/bin/addons/base/i18n/pt_BR.po
index 11e0be4a1c1..2be3d5f5ac0 100644
--- a/bin/addons/base/i18n/pt_BR.po
+++ b/bin/addons/base/i18n/pt_BR.po
@@ -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-01-12 06:01+0000\n"
-"Last-Translator: Fabien (Open ERP) \n"
+"PO-Revision-Date: 2010-03-24 05:43+0000\n"
+"Last-Translator: OpenERP Administrators \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-01-14 04:48+0000\n"
+"X-Launchpad-Export-Date: 2010-03-26 04:48+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
@@ -746,7 +746,7 @@ msgstr "Irã"
#: model:ir.actions.act_window,name:base.res_request-act
#: model:ir.ui.menu,name:base.menu_res_request_act
msgid "My Requests"
-msgstr "Minhas Solicitações"
+msgstr "Minhas mensagens"
#. module: base
#: field:ir.sequence,name:0
@@ -955,7 +955,7 @@ msgstr "-"
#. module: base
#: field:res.payterm,name:0
msgid "Payment Term (short name)"
-msgstr ""
+msgstr "Condições de pagamento(abreviado)"
#. module: base
#: model:ir.model,name:base.model_res_bank
@@ -999,7 +999,7 @@ msgstr "Login"
#: view:maintenance.contract:0
#: field:maintenance.contract,module_ids:0
msgid "Covered Modules"
-msgstr ""
+msgstr "Módulos cobertos"
#. module: base
#: selection:ir.ui.menu,icon:0
@@ -1047,7 +1047,7 @@ msgstr "Ações do Servidor"
#. module: base
#: model:res.country,name:base.tp
msgid "East Timor"
-msgstr ""
+msgstr "Timor Leste"
#. module: base
#: view:ir.rule:0
@@ -1062,7 +1062,7 @@ msgstr "Precisão computacional"
#. module: base
#: model:res.country,name:base.kg
msgid "Kyrgyz Republic (Kyrgyzstan)"
-msgstr ""
+msgstr "República do Quirguizistão"
#. module: base
#: model:ir.model,name:base.model_wizard_ir_model_menu_create_line
@@ -1231,7 +1231,7 @@ msgstr "Automático"
#. module: base
#: view:res.request:0
msgid "End of Request"
-msgstr "Fim da requisição"
+msgstr "Fim da mensagem"
#. module: base
#: view:res.request:0
@@ -1522,13 +1522,13 @@ msgstr ""
#. module: base
#: field:ir.model.config,password_check:0
msgid "Confirmation"
-msgstr ""
+msgstr "Confirmação"
#. module: base
#: code:addons/base/ir/ir_report_custom.py:0
#, python-format
msgid "Enter at least one field !"
-msgstr ""
+msgstr "Digite pelo menos um campo !"
#. module: base
#: field:ir.ui.view_sc,name:0
@@ -1546,11 +1546,13 @@ 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 ""
+"Forneça o nome do campo que o id do registro refere para a operação de "
+"gravação(write). Se vazio, se refere ao id do objeto ativo."
#. module: base
#: model:res.country,name:base.zw
msgid "Zimbabwe"
-msgstr ""
+msgstr "Zimbábue"
#. module: base
#: model:ir.ui.menu,name:base.menu_translation_export
@@ -1571,29 +1573,29 @@ msgstr "Endereço de E-mail"
#. module: base
#: selection:module.lang.install,init,lang:0
msgid "French (BE) / Français (BE)"
-msgstr ""
+msgstr "Frances(BE) / Frances(BE)"
#. module: base
#: code:addons/base/ir/ir_model.py:0
#, python-format
msgid "You can not write in this document! (%s)"
-msgstr ""
+msgstr "Voce não pode atualizar este documento! (%s)"
#. module: base
#: view:ir.actions.server:0
#: field:workflow.activity,action_id:0
msgid "Server Action"
-msgstr ""
+msgstr "Ação de servidor"
#. module: base
#: model:res.country,name:base.tt
msgid "Trinidad and Tobago"
-msgstr ""
+msgstr "Trinidade e Tobago"
#. module: base
#: model:res.country,name:base.lv
msgid "Latvia"
-msgstr ""
+msgstr "Letônia"
#. module: base
#: view:ir.values:0
@@ -1609,7 +1611,7 @@ msgstr "Mapeando campos"
#: model:ir.actions.act_window,name:base.res_request-closed
#: model:ir.ui.menu,name:base.next_id_12_close
msgid "My Closed Requests"
-msgstr "Minhas Requisições Encerradas"
+msgstr "Minhas mensagens encerradas"
#. module: base
#: model:ir.ui.menu,name:base.menu_custom
@@ -1619,7 +1621,7 @@ msgstr "Customização"
#. module: base
#: model:res.country,name:base.py
msgid "Paraguay"
-msgstr ""
+msgstr "Paraguai"
#. module: base
#: selection:ir.report.custom.fields,alignment:0
@@ -1639,7 +1641,7 @@ msgstr "Destino"
#. module: base
#: model:res.country,name:base.lt
msgid "Lithuania"
-msgstr ""
+msgstr "Lituânia"
#. module: base
#: selection:ir.ui.menu,icon:0
@@ -1649,7 +1651,7 @@ msgstr "STOCK_PRINT_PREVIEW"
#. module: base
#: model:res.country,name:base.si
msgid "Slovenia"
-msgstr ""
+msgstr "Eslovênia"
#. module: base
#: view:res.partner.canal:0
@@ -1665,7 +1667,7 @@ msgstr "%p - Equivalente de cada uma das AM ou PM."
#. module: base
#: view:ir.actions.server:0
msgid "Iteration Actions"
-msgstr ""
+msgstr "Ações de repetição"
#. module: base
#: field:maintenance.contract,date_stop:0
@@ -1675,7 +1677,7 @@ msgstr "Data final"
#. module: base
#: model:res.country,name:base.nz
msgid "New Zealand"
-msgstr ""
+msgstr "Nova Zelândia"
#. module: base
#: model:res.partner.category,name:base.res_partner_category_7
@@ -1685,7 +1687,7 @@ msgstr "Openstuff.net"
#. module: base
#: model:res.country,name:base.nf
msgid "Norfolk Island"
-msgstr ""
+msgstr "Ilhas Norfolk"
#. module: base
#: selection:ir.ui.menu,icon:0
@@ -1700,7 +1702,7 @@ msgstr "Operador"
#. module: base
#: wizard_view:module.lang.install,start:0
msgid "Installation Done"
-msgstr ""
+msgstr "Instalação concluída"
#. module: base
#: selection:ir.ui.menu,icon:0
@@ -1711,7 +1713,7 @@ msgstr "STOCK_OPEN"
#: field:ir.actions.server,action_id:0
#: selection:ir.actions.server,state:0
msgid "Client Action"
-msgstr ""
+msgstr "Ação de cliente"
#. module: base
#: selection:ir.report.custom.fields,alignment:0
@@ -1721,7 +1723,7 @@ msgstr "direita"
#. module: base
#: model:res.country,name:base.bd
msgid "Bangladesh"
-msgstr ""
+msgstr "Bangladesh"
#. module: base
#: constraint:res.company:0
@@ -1737,7 +1739,7 @@ msgstr "Válido"
#: code:addons/base/ir/ir_model.py:0
#, python-format
msgid "You can not delete this document! (%s)"
-msgstr ""
+msgstr "Você não pode excluir este documento! (%s)"
#. module: base
#: selection:ir.translation,type:0
@@ -1753,7 +1755,7 @@ msgstr "Impossível atualizar o módulo '%s'. Ele não está instalado."
#. module: base
#: model:res.country,name:base.cu
msgid "Cuba"
-msgstr ""
+msgstr "Cuba"
#. module: base
#: view:res.lang:0
@@ -2133,7 +2135,7 @@ msgstr "terp-account"
#: code:addons/base/module/module.py:0
#, python-format
msgid "Recursion error in modules dependencies !"
-msgstr ""
+msgstr "Erro de recursão nas dependências dos módulos !"
#. module: base
#: view:ir.model:0
@@ -2146,6 +2148,8 @@ msgid ""
"Value Added Tax number. Check the box if the partner is subjected to the "
"VAT. Used by the VAT legal statement."
msgstr ""
+"Valor do imposto adicionado. Marque a caixa se o parceiro está sujeito ao "
+"imposto. Usado para impostos oficiais."
#. module: base
#: model:ir.actions.act_window,name:base.action_module_category_tree
@@ -2156,7 +2160,7 @@ msgstr "Categorias de Módulos"
#. module: base
#: selection:module.lang.install,init,lang:0
msgid "Ukrainian / украї́нська мо́ва"
-msgstr ""
+msgstr "Ucrânia"
#. module: base
#: selection:ir.actions.todo,state:0
@@ -2166,7 +2170,7 @@ msgstr "Não Iniciado"
#. module: base
#: model:res.country,name:base.ru
msgid "Russian Federation"
-msgstr ""
+msgstr "Rússia"
#. module: base
#: field:res.company,name:0
@@ -2234,7 +2238,7 @@ msgstr "%M - Minuto com dois decimais [00,59]."
#. module: base
#: model:res.country,name:base.tj
msgid "Tajikistan"
-msgstr ""
+msgstr "Tajiquistão"
#. module: base
#: model:ir.actions.act_window,name:base.act_values_form_action
@@ -2250,7 +2254,7 @@ msgstr "GPL-2 ou versão superior"
#. module: base
#: selection:res.partner.event,type:0
msgid "Prospect Contact"
-msgstr ""
+msgstr "Contato"
#. module: base
#: model:ir.model,name:base.model_ir_actions_wizard
@@ -2261,7 +2265,7 @@ msgstr "ir.actions.wizard"
#. module: base
#: model:res.country,name:base.nr
msgid "Nauru"
-msgstr ""
+msgstr "Nauru"
#. module: base
#: model:ir.model,name:base.model_ir_property
@@ -2279,7 +2283,7 @@ msgstr "Form."
#. module: base
#: model:res.country,name:base.me
msgid "Montenegro"
-msgstr ""
+msgstr "Montenegro"
#. module: base
#: selection:ir.ui.menu,icon:0
@@ -2289,7 +2293,7 @@ msgstr "STOCK_QUIT"
#. module: base
#: view:ir.cron:0
msgid "Technical Data"
-msgstr ""
+msgstr "Dados Técnicos"
#. module: base
#: view:res.partner:0
@@ -2312,7 +2316,7 @@ msgstr "A ser atualizado"
#. module: base
#: model:res.country,name:base.ly
msgid "Libya"
-msgstr ""
+msgstr "Líbia"
#. module: base
#: selection:ir.ui.menu,icon:0
@@ -2327,12 +2331,12 @@ msgstr "Repositórios"
#. module: base
#: model:res.country,name:base.cf
msgid "Central African Republic"
-msgstr ""
+msgstr "República Centro-Africana"
#. module: base
#: model:res.country,name:base.li
msgid "Liechtenstein"
-msgstr ""
+msgstr "Suíça"
#. module: base
#: model:res.partner.title,name:base.res_partner_title_ltd
@@ -2347,7 +2351,7 @@ msgstr "EAN13"
#. module: base
#: model:res.country,name:base.pt
msgid "Portugal"
-msgstr ""
+msgstr "Portugal"
#. module: base
#: selection:maintenance.contract,state:0
@@ -2357,7 +2361,7 @@ msgstr "Inválido"
#. module: base
#: field:ir.module.module,certificate:0
msgid "Quality Certificate"
-msgstr ""
+msgstr "Certificado de qualidade"
#. module: base
#: view:res.lang:0
@@ -2380,12 +2384,12 @@ msgstr "Idiomas"
#. module: base
#: model:res.country,name:base.pw
msgid "Palau"
-msgstr ""
+msgstr "Palau"
#. module: base
#: model:res.country,name:base.ec
msgid "Ecuador"
-msgstr ""
+msgstr "Equador"
#. module: base
#: code:addons/base/module/wizard/wizard_export_lang.py:0
@@ -2403,12 +2407,12 @@ msgstr ""
#: model:ir.actions.act_window,name:base.action_partner_customer_form
#: view:res.partner:0
msgid "Customers"
-msgstr ""
+msgstr "Clientes"
#. module: base
#: model:res.country,name:base.au
msgid "Australia"
-msgstr ""
+msgstr "Austrália"
#. module: base
#: help:res.partner,lang:0
@@ -2443,7 +2447,7 @@ msgstr "Conteúdo SXW"
#. module: base
#: view:ir.cron:0
msgid "Action to Trigger"
-msgstr ""
+msgstr "Ação a Disparar"
#. module: base
#: field:ir.report.custom.fields,fc0_operande:0
@@ -2493,7 +2497,7 @@ msgstr "Cabeçalho/Rodapé"
#. module: base
#: model:res.country,name:base.lb
msgid "Lebanon"
-msgstr ""
+msgstr "Líbano"
#. module: base
#: wizard_field:module.lang.import,init,name:0
@@ -2503,7 +2507,7 @@ msgstr "Idioma"
#. module: base
#: model:res.country,name:base.va
msgid "Holy See (Vatican City State)"
-msgstr ""
+msgstr "Santa Sé (Vaticano)"
#. module: base
#: help:ir.actions.server,condition:0
@@ -2511,6 +2515,8 @@ msgid ""
"Condition that is to be tested before action is executed, e.g. "
"object.list_price > object.cost_price"
msgstr ""
+"Condição a ser testada antes da ação ser executada. Ex.: object.list_price > "
+"object.cost_price"
#. module: base
#: wizard_field:base.module.import,init,module_file:0
@@ -2520,7 +2526,7 @@ msgstr "Arquivo de módulo .ZIP"
#. module: base
#: field:res.roles,child_id:0
msgid "Children"
-msgstr ""
+msgstr "Filhos"
#. module: base
#: field:workflow.transition,trigger_model:0
@@ -2546,7 +2552,7 @@ msgstr "Transações de Entrada"
#. module: base
#: model:res.country,name:base.sr
msgid "Suriname"
-msgstr ""
+msgstr "Suriname"
#. module: base
#: field:ir.values,key2:0
@@ -2590,7 +2596,7 @@ msgstr "Licença"
#: code:addons/base/ir/ir_report_custom.py:0
#, python-format
msgid "Invalid operation"
-msgstr ""
+msgstr "Operação inválida"
#. module: base
#: selection:ir.ui.menu,icon:0
@@ -2600,7 +2606,7 @@ msgstr "STOCK_SAVE_AS"
#. module: base
#: selection:ir.translation,type:0
msgid "SQL Constraint"
-msgstr ""
+msgstr "Restrição de SQL"
#. module: base
#: field:ir.actions.server,srcmodel_id:0
@@ -2623,18 +2629,18 @@ msgstr "Abrir uma janela"
#. module: base
#: model:res.country,name:base.gq
msgid "Equatorial Guinea"
-msgstr ""
+msgstr "Guiné Equatorial"
#. module: base
#: wizard_view:base.module.import,init:0
msgid "Module Import"
-msgstr ""
+msgstr "Importar módulo"
#. module: base
#: code:addons/base/ir/ir_model.py:0
#, python-format
msgid "You can not remove the field '%s' !"
-msgstr ""
+msgstr "Voce não pode remover o campo '%s' !"
#. module: base
#: field:res.bank,zip:0
@@ -2666,17 +2672,17 @@ msgstr "%c - representação adequada para Data e hora."
#. module: base
#: selection:module.lang.install,init,lang:0
msgid "Finland / Suomi"
-msgstr ""
+msgstr "Finlândia"
#. module: base
#: model:res.country,name:base.bo
msgid "Bolivia"
-msgstr ""
+msgstr "Bolívia"
#. module: base
#: model:res.country,name:base.gh
msgid "Ghana"
-msgstr ""
+msgstr "Gana"
#. module: base
#: field:res.lang,direction:0
@@ -2713,12 +2719,13 @@ msgstr "Regras"
#, python-format
msgid "You try to remove a module that is installed or will be installed"
msgstr ""
+"Voce tentou remover um módulo que esta instalado ou poderá ser instalado"
#. module: base
#: help:ir.values,key2:0
msgid ""
"The kind of action or button in the client side that will trigger the action."
-msgstr ""
+msgstr "O tipo de ação ou butão no lado cliente que irá disparar a ação."
#. module: base
#: selection:ir.ui.menu,icon:0
@@ -2728,7 +2735,7 @@ msgstr "STOCK_PASTE"
#. module: base
#: model:res.country,name:base.gt
msgid "Guatemala"
-msgstr ""
+msgstr "Guatemala"
#. module: base
#: model:ir.actions.act_window,name:base.action_workflow_form
@@ -2765,17 +2772,17 @@ msgstr "Saltar"
#: model:ir.actions.act_window,name:base.res_request_link-act
#: model:ir.ui.menu,name:base.menu_res_request_link_act
msgid "Accepted Links in Requests"
-msgstr "Ligações aceitas nas mensagens"
+msgstr "Links aceitos nas mensagens"
#. module: base
#: model:res.country,name:base.ls
msgid "Lesotho"
-msgstr ""
+msgstr "Lesoto"
#. module: base
#: model:res.country,name:base.ke
msgid "Kenya"
-msgstr ""
+msgstr "Quênia"
#. module: base
#: view:res.config.view:0
@@ -2791,22 +2798,22 @@ msgstr ""
#. module: base
#: model:res.country,name:base.sm
msgid "San Marino"
-msgstr ""
+msgstr "São Marinho"
#. module: base
#: model:res.country,name:base.bm
msgid "Bermuda"
-msgstr ""
+msgstr "Bermudas"
#. module: base
#: model:res.country,name:base.pe
msgid "Peru"
-msgstr ""
+msgstr "Perú"
#. module: base
#: selection:ir.model.fields,on_delete:0
msgid "Set NULL"
-msgstr ""
+msgstr "Definir como NULL"
#. module: base
#: field:res.partner.event,som:0
@@ -2842,7 +2849,7 @@ msgstr "Chave"
#. module: base
#: field:ir.cron,nextcall:0
msgid "Next Call Date"
-msgstr ""
+msgstr "Data da próxima chamada"
#. module: base
#: field:res.company,rml_header:0
@@ -2852,7 +2859,7 @@ msgstr "Cabeçalho 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
@@ -2874,12 +2881,12 @@ msgstr "Segurança"
#: code:addons/base/ir/ir_report_custom.py:0
#, python-format
msgid "Using a relation field which uses an unknown object"
-msgstr ""
+msgstr "Usando uma relação que usa um objeto desconhecido"
#. module: base
#: model:res.country,name:base.za
msgid "South Africa"
-msgstr ""
+msgstr "África do Sul"
#. module: base
#: model:ir.model,name:base.model_wizard_module_lang_export
@@ -2895,12 +2902,12 @@ msgstr "Instalado"
#. module: base
#: model:res.country,name:base.sn
msgid "Senegal"
-msgstr ""
+msgstr "Senegal"
#. module: base
#: model:res.country,name:base.hu
msgid "Hungary"
-msgstr ""
+msgstr "Hungria"
#. module: base
#: model:ir.model,name:base.model_res_groups
@@ -2926,12 +2933,12 @@ msgstr "Preços"
#. module: base
#: selection:module.lang.install,init,lang:0
msgid "Albanian / Shqipëri"
-msgstr ""
+msgstr "Albânia"
#. module: base
#: model:res.country,name:base.sy
msgid "Syria"
-msgstr ""
+msgstr "Síria"
#. module: base
#: view:res.lang:0
@@ -2941,22 +2948,22 @@ msgstr "======================================================"
#. module: base
#: field:ir.report.custom.fields,field_child2:0
msgid "Field child2"
-msgstr ""
+msgstr "Campo filho2"
#. module: base
#: field:ir.report.custom.fields,field_child3:0
msgid "Field child3"
-msgstr ""
+msgstr "Campo filho3"
#. module: base
#: field:ir.report.custom.fields,field_child0:0
msgid "Field child0"
-msgstr ""
+msgstr "Campo filho0"
#. module: base
#: field:ir.report.custom.fields,field_child1:0
msgid "Field child1"
-msgstr ""
+msgstr "Campo filho 1"
#. module: base
#: field:ir.model.fields,selection:0
@@ -2966,7 +2973,7 @@ msgstr ": Seleção de Campo"
#. module: base
#: selection:res.request,state:0
msgid "draft"
-msgstr ""
+msgstr "esboço"
#. module: base
#: field:res.currency,date:0
@@ -2980,7 +2987,7 @@ msgstr "Data"
#. module: base
#: field:ir.actions.report.xml,report_sxw:0
msgid "SXW path"
-msgstr ""
+msgstr "endereço do SXW"
#. module: base
#: view:ir.attachment:0
@@ -3008,6 +3015,8 @@ msgid ""
"If set to true, the action will not be displayed on the right toolbar of a "
"form view."
msgstr ""
+"Se definido como verdadeiro, a ação não será exibida na barra de ferramentas "
+"a direita."
#. module: base
#: model:ir.ui.menu,name:base.menu_custom_multicompany
@@ -3039,7 +3048,7 @@ msgstr "Criador"
#. module: base
#: model:res.country,name:base.mx
msgid "Mexico"
-msgstr ""
+msgstr "México"
#. module: base
#: selection:module.lang.install,init,lang:0
@@ -3059,7 +3068,7 @@ msgstr "res.users"
#. module: base
#: model:res.country,name:base.ni
msgid "Nicaragua"
-msgstr ""
+msgstr "Nicarágua"
#. module: base
#: view:res.partner.event:0
@@ -3086,7 +3095,7 @@ msgstr "Campo"
#. module: base
#: model:res.country,name:base.ve
msgid "Venezuela"
-msgstr ""
+msgstr "Venezuela"
#. module: base
#: view:res.lang:0
@@ -3096,7 +3105,7 @@ msgstr "9. %j ==> 340"
#. module: base
#: model:res.country,name:base.zm
msgid "Zambia"
-msgstr ""
+msgstr "Zâmbia"
#. module: base
#: model:ir.actions.act_window,name:base.ir_action_report_xml
@@ -3116,7 +3125,7 @@ msgstr ""
#. module: base
#: field:res.partner,parent_id:0
msgid "Parent Partner"
-msgstr ""
+msgstr "Parceiro Pai"
#. module: base
#: view:ir.module.module:0
@@ -3126,12 +3135,12 @@ msgstr "Cancelar Atualização"
#. module: base
#: model:res.country,name:base.ci
msgid "Ivory Coast (Cote D'Ivoire)"
-msgstr ""
+msgstr "Costa do Marfim"
#. module: base
#: model:res.country,name:base.kz
msgid "Kazakhstan"
-msgstr ""
+msgstr "Cazaquistão"
#. module: base
#: field:ir.actions.report.xml,name:0
@@ -3164,7 +3173,7 @@ msgstr "Nome"
#. module: base
#: model:res.country,name:base.ms
msgid "Montserrat"
-msgstr ""
+msgstr "Montserrat"
#. module: base
#: model:ir.ui.menu,name:base.menu_translation_app
@@ -3326,7 +3335,7 @@ msgstr "Lista de controles de acesso"
#. module: base
#: model:res.country,name:base.um
msgid "USA Minor Outlying Islands"
-msgstr ""
+msgstr "USA Minor Outlying Islands"
#. module: base
#: field:res.partner.bank,state:0
@@ -3377,7 +3386,7 @@ msgstr "Titular da conta bancária"
#: 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 "Conexões de ações de cliente"
#. module: base
#: field:ir.ui.view_sc,resource:0
@@ -3601,7 +3610,7 @@ msgstr "Micronésia"
#. module: base
#: view:res.request.history:0
msgid "Request History"
-msgstr "Pedir Histórico"
+msgstr "Histórico das mensagens"
#. module: base
#: field:ir.actions.act_window,menus:0
@@ -4340,7 +4349,7 @@ msgstr ""
#. module: base
#: selection:module.lang.install,init,lang:0
msgid "French (CH) / Français (CH)"
-msgstr ""
+msgstr "Frances (CH)"
#. module: base
#: selection:ir.ui.menu,icon:0
@@ -4559,7 +4568,7 @@ msgstr "%a - Nome da semana abreviado."
#. module: base
#: rml:ir.module.reference:0
msgid "Introspection report on objects"
-msgstr ""
+msgstr "Relatório de instrospecção nos objetos"
#. module: base
#: model:res.country,name:base.pf
@@ -4569,7 +4578,7 @@ msgstr "Polinésia (França)"
#. module: base
#: model:res.country,name:base.dm
msgid "Dominica"
-msgstr ""
+msgstr "Dominica"
#. module: base
#: model:ir.model,name:base.model_res_currency_rate
@@ -4737,12 +4746,12 @@ msgstr "Objetos"
#. module: base
#: field:ir.model.fields,selectable:0
msgid "Selectable"
-msgstr ""
+msgstr "Selecionável"
#. module: base
#: view:res.request.link:0
msgid "Request Link"
-msgstr ""
+msgstr "Link"
#. module: base
#: field:ir.module.module,url:0
@@ -4815,7 +4824,7 @@ msgstr "Traduções"
#. module: base
#: field:ir.sequence,padding:0
msgid "Number padding"
-msgstr ""
+msgstr "Preencher número"
#. module: base
#: model:res.country,name:base.ua
@@ -4876,7 +4885,7 @@ msgstr "XSL path"
#. module: base
#: model:res.country,name:base.bn
msgid "Brunei Darussalam"
-msgstr ""
+msgstr "Brunei Darussalam"
#. module: base
#: field:ir.actions.act_window,view_type:0
@@ -5445,7 +5454,7 @@ msgstr "Seleção"
#. module: base
#: field:ir.actions.act_window,search_view:0
msgid "Search View"
-msgstr ""
+msgstr "Visão de Pesquisa"
#. module: base
#: field:ir.rule,domain_force:0
@@ -5546,7 +5555,7 @@ msgstr "GPL-3 ou versão posterior"
#. module: base
#: selection:ir.actions.report.xml,report_type:0
msgid "HTML from HTML(Mako)"
-msgstr ""
+msgstr "HTML from HTML(Mako)"
#. module: base
#: field:workflow.activity,action:0
@@ -5646,7 +5655,7 @@ msgstr "Ações da janela"
#. module: base
#: model:res.country,name:base.kn
msgid "Saint Kitts & Nevis Anguilla"
-msgstr ""
+msgstr "Saint Kitts & Nevis Anguilla"
#. module: base
#: selection:ir.ui.menu,icon:0
@@ -5667,6 +5676,7 @@ msgid ""
"Object in which you want to create / write the object. If it is empty then "
"refer to the Object field."
msgstr ""
+"Objeto no qual você deseja gravar/criar. Se vazio, veja o campo \"Objeto\"."
#. module: base
#: selection:ir.module.module,state:0
@@ -5700,7 +5710,7 @@ msgstr "Martinica(França)"
#: model:ir.ui.menu,name:base.next_id_12
#: view:res.request:0
msgid "Requests"
-msgstr "Requisições"
+msgstr "Mensagens"
#. module: base
#: model:res.country,name:base.ye
@@ -5730,13 +5740,13 @@ msgstr "Samoa"
#. module: base
#: field:ir.ui.menu,child_id:0
msgid "Child IDs"
-msgstr ""
+msgstr "IDs filhos"
#. module: base
#: code:addons/base/ir/ir_actions.py:0
#, python-format
msgid "Problem in configuration `Record Id` in Server Action!"
-msgstr ""
+msgstr "Prbolemas na configuracao do 'id do registro' na ação do servidor!"
#. module: base
#: code:addons/base/maintenance/maintenance.py:0
@@ -5770,7 +5780,7 @@ msgstr "E-mail"
#: 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 "Re-sincroniar termos"
#. module: base
#: model:res.country,name:base.tg
@@ -5796,7 +5806,7 @@ msgstr "Cascata"
#: code:addons/base/ir/ir_report_custom.py:0
#, python-format
msgid "Field %d should be a figure"
-msgstr ""
+msgstr "Campo %d pode ser uma imagem"
#. module: base
#: model:ir.actions.act_window,name:base.action_inventory_form
@@ -5832,7 +5842,7 @@ msgstr "Nome do Estado"
#. module: base
#: field:workflow.activity,join_mode:0
msgid "Join Mode"
-msgstr ""
+msgstr "Modo de junção"
#. module: base
#: field:res.users,context_tz:0
@@ -5871,6 +5881,7 @@ msgstr "Iniciar instalação"
#: help:res.lang,code:0
msgid "This field is used to set/get locales for user"
msgstr ""
+"Este campo é utilizado para gravar/obter localização (locale) do usuário"
#. module: base
#: model:res.partner.category,name:base.res_partner_category_2
@@ -5952,7 +5963,7 @@ msgstr "Granada"
#. module: base
#: view:ir.actions.server:0
msgid "Trigger Configuration"
-msgstr ""
+msgstr "Configuração de Gatilhos"
#. module: base
#: selection:server.action.create,init,type:0
@@ -6052,7 +6063,7 @@ msgstr "Hora 00->24: %(h24)s"
#. module: base
#: help:multi_company.default,field_id:0
msgid "Select field property"
-msgstr ""
+msgstr "Selecionar propriedade do campo"
#. module: base
#: field:res.request.history,date_sent:0
@@ -6133,7 +6144,7 @@ msgstr "Regras de Acesso"
#. module: base
#: field:ir.default,ref_table:0
msgid "Table Ref."
-msgstr ""
+msgstr "Ref. Tabela"
#. module: base
#: field:res.roles,parent_id:0
@@ -6143,7 +6154,7 @@ msgstr "Superior"
#. module: base
#: view:multi_company.default:0
msgid "Returning"
-msgstr ""
+msgstr "Retornando"
#. module: base
#: field:ir.actions.act_window,res_model:0
@@ -6197,7 +6208,7 @@ msgstr "Exportar arquivo de tradução"
#. module: base
#: field:ir.ui.view_sc,user_id:0
msgid "User Ref."
-msgstr ""
+msgstr "Ref. Usuário"
#. module: base
#: model:ir.ui.menu,name:base.menu_base_config
@@ -6209,7 +6220,7 @@ msgstr "Configuração"
#. module: base
#: field:ir.actions.server,expression:0
msgid "Loop Expression"
-msgstr ""
+msgstr "Expressão de repetição"
#. module: base
#: selection:res.partner.event,partner_type:0
@@ -6347,6 +6358,7 @@ msgid ""
"If set to true, the wizard will not be displayed on the right toolbar of a "
"form view."
msgstr ""
+"Se marcado, o ajudante não mostrará a barra de ferramenta no formulário"
#. module: base
#: selection:ir.ui.menu,icon:0
@@ -6361,7 +6373,7 @@ msgstr "Ilhas Heard e McDonald"
#. module: base
#: field:ir.actions.act_window,view_id:0
msgid "View Ref."
-msgstr ""
+msgstr "Ref. de visão"
#. module: base
#: selection:module.lang.install,init,lang:0
@@ -6522,7 +6534,7 @@ msgstr "República Democrática do Congo"
#: field:res.request,body:0
#: field:res.request.history,req_id:0
msgid "Request"
-msgstr "Requisitar"
+msgstr "Mensagem"
#. module: base
#: model:res.country,name:base.jp
@@ -6532,7 +6544,7 @@ msgstr "Japão"
#. module: base
#: field:ir.cron,numbercall:0
msgid "Number of Calls"
-msgstr ""
+msgstr "Numero de chamadas"
#. module: base
#: wizard_view:module.lang.install,start:0
@@ -6821,7 +6833,7 @@ msgstr "só uma vez"
#. module: base
#: selection:ir.actions.server,state:0
msgid "Write Object"
-msgstr ""
+msgstr "Objeto de gravação"
#. module: base
#: model:res.country,name:base.bg
@@ -6844,6 +6856,8 @@ msgid ""
"Only one client action will be execute, last "
"clinent action will be consider in case of multiples clients actions"
msgstr ""
+"Somente uma ação do cliente será executada, a ultima ação do cliente será "
+"considerada no caso de múltiplas ações."
#. module: base
#: selection:ir.ui.menu,icon:0
@@ -7111,13 +7125,13 @@ msgstr "="
#: code:addons/base/ir/ir_report_custom.py:0
#, python-format
msgid "Second field should be figures"
-msgstr ""
+msgstr "O segundo campo deve ser uma imagem"
#. module: base
#: model:ir.actions.act_window,name:base.action_model_grid_security
#: model:ir.ui.menu,name:base.menu_ir_access_grid
msgid "Access Controls Grid"
-msgstr ""
+msgstr "Grid dos controles de acesso"
#. module: base
#: model:ir.actions.act_window,name:base.ir_sequence_actions
@@ -7200,7 +7214,7 @@ msgstr ""
#. module: base
#: model:res.country,name:base.cx
msgid "Christmas Island"
-msgstr ""
+msgstr "Ilhas Natal"
#. module: base
#: view:ir.actions.server:0
@@ -7314,7 +7328,7 @@ msgstr ""
#. module: base
#: field:ir.model.fields,relation_field:0
msgid "Relation Field"
-msgstr ""
+msgstr "Campo de relação"
#. module: base
#: field:workflow.triggers,instance_id:0
@@ -7388,7 +7402,7 @@ msgstr "Telefone"
#. module: base
#: field:res.groups,menu_access:0
msgid "Access Menu"
-msgstr ""
+msgstr "Menu de Acesso"
#. module: base
#: model:res.country,name:base.th
@@ -7479,7 +7493,7 @@ msgstr "Campo inferior(filho)"
#: field:ir.actions.server,usage:0
#: field:ir.actions.wizard,usage:0
msgid "Action Usage"
-msgstr ""
+msgstr "Uso de ação"
#. module: base
#: model:ir.model,name:base.model_workflow_workitem
@@ -7499,7 +7513,7 @@ msgstr "View :"
#. module: base
#: field:ir.model.fields,view_load:0
msgid "View Auto-Load"
-msgstr ""
+msgstr "Auto-carregar Visão"
#. module: base
#: model:ir.actions.act_window,name:base.action_partner_supplier_form
@@ -7542,7 +7556,7 @@ msgstr "Estados"
#. module: base
#: view:multi_company.default:0
msgid "Matching"
-msgstr ""
+msgstr "Correspondendo a"
#. module: base
#: field:ir.actions.configuration.wizard,name:0
@@ -7606,7 +7620,7 @@ msgstr "Incluir contrato de manutenção"
#. module: base
#: selection:module.lang.install,init,lang:0
msgid "Vietnam / Cộng hòa xã hội chủ nghĩa Việt Nam"
-msgstr ""
+msgstr "Vietnam"
#. module: base
#: field:ir.actions.act_window,limit:0
@@ -7617,7 +7631,7 @@ msgstr "Limite"
#. module: base
#: help:ir.actions.server,wkf_model_id:0
msgid "Workflow to be executed on this model."
-msgstr ""
+msgstr "Fluxo de trabalho a ser executado nesse modelo"
#. module: base
#: model:res.country,name:base.jm
@@ -7724,7 +7738,7 @@ msgstr "Janela Atual"
#. module: base
#: view:ir.values:0
msgid "Action Source"
-msgstr ""
+msgstr "Fonte de ação"
#. module: base
#: selection:ir.ui.menu,icon:0
@@ -7751,7 +7765,7 @@ msgstr "Nome Completo"
#. module: base
#: view:ir.report.custom:0
msgid "Subscribe Report"
-msgstr ""
+msgstr "Subscreva relatório"
#. module: base
#: field:ir.values,object:0
@@ -7791,6 +7805,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 ""
+"O Formato de Separador deveria ser como [, n] onde 0 < n: a partir de dígito "
+"de Unidade.-1 terminará a separação. por exemplo. [3,2, -1] representará "
+"106500 para ser 1,06,500; [1,2, -1] representará isto para ser 106,50,0; [3] "
+"representará isto como 106500. Sendo ',' como o separador de milhar em cada "
+"caso."
#. module: base
#: model:ir.actions.act_window,name:base.action_partner_customer_form_new
@@ -7851,7 +7870,7 @@ msgstr "Código de País/Língua"
#. module: base
#: field:workflow.activity,split_mode:0
msgid "Split Mode"
-msgstr ""
+msgstr "Modo de separação"
#. module: base
#: model:ir.ui.menu,name:base.menu_localisation
@@ -8019,7 +8038,7 @@ msgstr "Coréia do Norte"
#. module: base
#: view:ir.report.custom:0
msgid "Unsubscribe Report"
-msgstr ""
+msgstr "Cancelar relatorio"
#. module: base
#: selection:ir.actions.server,state:0
@@ -8034,7 +8053,7 @@ msgstr "Código BIC/Swift"
#. module: base
#: model:res.partner.category,name:base.res_partner_category_1
msgid "Prospect"
-msgstr ""
+msgstr "Prospecto"
#. module: base
#: selection:module.lang.install,init,lang:0
@@ -8044,7 +8063,7 @@ msgstr "Polish / Język polski"
#. module: base
#: field:ir.exports,name:0
msgid "Export Name"
-msgstr ""
+msgstr "Nome de exportação"
#. module: base
#: help:res.partner.address,type:0
diff --git a/bin/addons/base/i18n/sv.po b/bin/addons/base/i18n/sv.po
index ffafa36c6b0..c342e6457fb 100644
--- a/bin/addons/base/i18n/sv.po
+++ b/bin/addons/base/i18n/sv.po
@@ -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 \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
diff --git a/bin/addons/base/i18n/uk.po b/bin/addons/base/i18n/uk.po
index 55cbba030fc..822ac82f43d 100644
--- a/bin/addons/base/i18n/uk.po
+++ b/bin/addons/base/i18n/uk.po
@@ -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) \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
diff --git a/bin/addons/base/i18n/zh_CN.po b/bin/addons/base/i18n/zh_CN.po
index 147fb54dc58..9573d0c4996 100644
--- a/bin/addons/base/i18n/zh_CN.po
+++ b/bin/addons/base/i18n/zh_CN.po
@@ -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 \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
diff --git a/bin/addons/base/ir/ir.xml b/bin/addons/base/ir/ir.xml
index 0c280d2c0b3..2e589ef361e 100644
--- a/bin/addons/base/ir/ir.xml
+++ b/bin/addons/base/ir/ir.xml
@@ -369,7 +369,7 @@
-
+
@@ -431,7 +431,7 @@
-
@@ -570,7 +570,7 @@
-
+
@@ -1176,6 +1176,11 @@
+
+
+
+
+
@@ -1187,6 +1192,10 @@
+
+
+
+
diff --git a/bin/addons/base/ir/ir_rule.py b/bin/addons/base/ir/ir_rule.py
index c14fb5b0759..c4165d1bc93 100644
--- a/bin/addons/base/ir/ir_rule.py
+++ b/bin/addons/base/ir/ir_rule.py
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
##############################################################################
-#
+#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2009 Tiny SPRL ().
#
@@ -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 .
+# along with this program. If not, see .
#
##############################################################################
@@ -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
diff --git a/bin/addons/base/ir/ir_ui_menu.py b/bin/addons/base/ir/ir_ui_menu.py
index cb2e91e7671..e242de45802 100644
--- a/bin/addons/base/ir/ir_ui_menu.py
+++ b/bin/addons/base/ir/ir_ui_menu.py
@@ -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
diff --git a/bin/addons/base/res/partner/partner_view.xml b/bin/addons/base/res/partner/partner_view.xml
index b638742fd41..8c374acb80b 100644
--- a/bin/addons/base/res/partner/partner_view.xml
+++ b/bin/addons/base/res/partner/partner_view.xml
@@ -104,6 +104,7 @@
+
@@ -113,7 +114,6 @@
-
@@ -287,6 +287,7 @@
+
@@ -296,7 +297,6 @@
-
diff --git a/bin/addons/base/res/res_lang.py b/bin/addons/base/res/res_lang.py
index 8a3af7dd175..8427b366703 100644
--- a/bin/addons/base/res/res_lang.py
+++ b/bin/addons/base/res/res_lang.py
@@ -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!
diff --git a/bin/osv/fields.py b/bin/osv/fields.py
index 19735857680..edf78156dcc 100644
--- a/bin/osv/fields.py
+++ b/bin/osv/fields.py
@@ -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 ''
diff --git a/bin/osv/orm.py b/bin/osv/orm.py
index c580474b8b9..6b78c18b83e 100644
--- a/bin/osv/orm.py
+++ b/bin/osv/orm.py
@@ -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]:
diff --git a/bin/report/interface.py b/bin/report/interface.py
index 9f67bdd6de1..6aecfe66133 100644
--- a/bin/report/interface.py
+++ b/bin/report/interface.py
@@ -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
diff --git a/bin/service/netrpc_server.py b/bin/service/netrpc_server.py
index 6260ec3d0e5..9a8a699cb76 100644
--- a/bin/service/netrpc_server.py
+++ b/bin/service/netrpc_server.py
@@ -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
diff --git a/bin/sql_db.py b/bin/sql_db.py
index 17bfa340653..94336cde69a 100644
--- a/bin/sql_db.py
+++ b/bin/sql_db.py
@@ -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
diff --git a/bin/tools/convert.py b/bin/tools/convert.py
index 75b438cc6ea..1d4b1fd9d0b 100644
--- a/bin/tools/convert.py
+++ b/bin/tools/convert.py
@@ -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
diff --git a/bin/tools/misc.py b/bin/tools/misc.py
index 284324873de..ff20966857e 100644
--- a/bin/tools/misc.py
+++ b/bin/tools/misc.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()