From 388b85c751826aefde73b9afae9d19a9f60342fa Mon Sep 17 00:00:00 2001 From: "Meera Trambadia (OpenERP)" Date: Mon, 26 Mar 2012 15:26:51 +0530 Subject: [PATCH 01/15] [IMP] base:-corrected typo-dashboard bzr revid: mtr@tinyerp.com-20120326095651-47a4xwmoun01qjp8 --- openerp/addons/base/base_menu.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openerp/addons/base/base_menu.xml b/openerp/addons/base/base_menu.xml index c3ad5982f28..050b1e5adf1 100644 --- a/openerp/addons/base/base_menu.xml +++ b/openerp/addons/base/base_menu.xml @@ -28,7 +28,7 @@ /> - + From 7c354067b22a3181c4775c576d9fcc23578a6fd1 Mon Sep 17 00:00:00 2001 From: "Meera Trambadia (OpenERP)" Date: Mon, 26 Mar 2012 15:45:14 +0530 Subject: [PATCH 02/15] [IMP] account,auction,crm,document,event,hr,mrp,project_*,purchase,sale,stock:-improved the parent menu name for dashboard menus bzr revid: mtr@tinyerp.com-20120326101514-mkfubco6ngi9lzr0 --- addons/account/board_account_view.xml | 2 +- addons/auction/board_auction_view.xml | 2 +- addons/crm/board_crm_statistical_view.xml | 4 ++-- addons/document/board_document_view.xml | 2 +- addons/event/board_association_view.xml | 2 +- addons/hr/hr_board.xml | 2 +- addons/mrp/board_manufacturing_view.xml | 2 +- addons/project/board_project_view.xml | 6 +++--- addons/project_issue/board_project_issue_view.xml | 2 +- addons/project_planning/project_planning_view.xml | 4 ++-- addons/project_scrum/board_project_scrum_view.xml | 2 +- addons/purchase/board_purchase_view.xml | 2 +- addons/sale/board_sale_view.xml | 4 ++-- addons/stock/board_warehouse_view.xml | 2 +- 14 files changed, 19 insertions(+), 19 deletions(-) diff --git a/addons/account/board_account_view.xml b/addons/account/board_account_view.xml index 0ec75e7b5c8..6417bb99d88 100644 --- a/addons/account/board_account_view.xml +++ b/addons/account/board_account_view.xml @@ -61,7 +61,7 @@ - + diff --git a/addons/auction/board_auction_view.xml b/addons/auction/board_auction_view.xml index cb5ed07804c..360d8f38116 100644 --- a/addons/auction/board_auction_view.xml +++ b/addons/auction/board_auction_view.xml @@ -93,7 +93,7 @@ - + - + diff --git a/addons/event/board_association_view.xml b/addons/event/board_association_view.xml index b9187227b1c..96db3db6781 100644 --- a/addons/event/board_association_view.xml +++ b/addons/event/board_association_view.xml @@ -63,7 +63,7 @@ + parent="base.menu_reporting_dashboard" sequence="25"/> - + diff --git a/addons/mrp/board_manufacturing_view.xml b/addons/mrp/board_manufacturing_view.xml index 1815c4ceb12..cb81d51d439 100644 --- a/addons/mrp/board_manufacturing_view.xml +++ b/addons/mrp/board_manufacturing_view.xml @@ -29,7 +29,7 @@ + parent="base.menu_reporting_dashboard" sequence="15"/> menu - diff --git a/addons/project_planning/project_planning_view.xml b/addons/project_planning/project_planning_view.xml index 3beb5ad39a9..d12b62dbf18 100644 --- a/addons/project_planning/project_planning_view.xml +++ b/addons/project_planning/project_planning_view.xml @@ -292,11 +292,11 @@ - + + parent="project.menu_project_dashboard"/> diff --git a/addons/project_scrum/board_project_scrum_view.xml b/addons/project_scrum/board_project_scrum_view.xml index 7d993dd90c9..924a1cbf5cc 100644 --- a/addons/project_scrum/board_project_scrum_view.xml +++ b/addons/project_scrum/board_project_scrum_view.xml @@ -98,7 +98,7 @@ diff --git a/addons/purchase/board_purchase_view.xml b/addons/purchase/board_purchase_view.xml index 74f34a45cb6..4c9e776b96b 100644 --- a/addons/purchase/board_purchase_view.xml +++ b/addons/purchase/board_purchase_view.xml @@ -5,7 +5,7 @@ + parent="base.menu_reporting_dashboard" sequence="5"/> Request for Quotations diff --git a/addons/sale/board_sale_view.xml b/addons/sale/board_sale_view.xml index 57eee7f184b..8a6caf1a849 100644 --- a/addons/sale/board_sale_view.xml +++ b/addons/sale/board_sale_view.xml @@ -30,8 +30,8 @@ - - + + diff --git a/addons/stock/board_warehouse_view.xml b/addons/stock/board_warehouse_view.xml index 5c52c6412f3..b8de9cf445e 100644 --- a/addons/stock/board_warehouse_view.xml +++ b/addons/stock/board_warehouse_view.xml @@ -68,7 +68,7 @@ - + From e898fb01e7998df52e328255f8a60eb15b3986d5 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Mon, 26 Mar 2012 16:20:38 +0200 Subject: [PATCH 03/15] [imp] added doc bzr revid: nicolas.vanhoren@openerp.com-20120326142038-xr3wigzjmwj4qp21 --- addons/web/static/lib/novajs/src/nova.js | 31 ++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/addons/web/static/lib/novajs/src/nova.js b/addons/web/static/lib/novajs/src/nova.js index 30071c280ad..b01e8fa8dc1 100644 --- a/addons/web/static/lib/novajs/src/nova.js +++ b/addons/web/static/lib/novajs/src/nova.js @@ -134,18 +134,35 @@ nova = (function() { }).call(lib); // end of John Resig's code + /** + * Mixin to express the concept of destroying an object. + * When an object is destroyed, it should release any resource + * it could have reserved before. + */ lib.DestroyableMixin = { init: function() { this.__destroyableDestroyed = false; }, + /** + * Returns true if destroy() was called on the current object. + */ isDestroyed : function() { return this.__destroyableDestroyed; }, + /** + * Inform the object it should destroy itself, releasing any + * resource it could have reserved. + */ destroy : function() { this.__destroyableDestroyed = true; } }; + /** + * Mixin to structure objects' life-cycles folowing a parent-children + * relationship. Each object can a have a parent and multiple children. + * When an object is destroyed, all its children are destroyed too. + */ lib.ParentedMixin = _.extend({}, lib.DestroyableMixin, { __parentedMixin : true, init: function() { @@ -153,6 +170,14 @@ nova = (function() { this.__parentedChildren = []; this.__parentedParent = null; }, + /** + * Set the parent of the current object. When calling this method, the + * parent will also be informed and will return the current object + * when its getChildren() method is called. If the current object did + * already have a parent, it is unregistered before, which means the + * previous parent will not return the current object anymore when its + * getChildren() method is called. + */ setParent : function(parent) { if (this.getParent()) { if (this.getParent().__parentedMixin) { @@ -165,9 +190,15 @@ nova = (function() { parent.__parentedChildren.push(this); } }, + /** + * Return the current parent of the object (or null). + */ getParent : function() { return this.__parentedParent; }, + /** + * Return a list of the children of the current object. + */ getChildren : function() { return _.clone(this.__parentedChildren); }, From 6a57cb82ebf806f2e702c19a77d7baab933a93e8 Mon Sep 17 00:00:00 2001 From: Launchpad Translations on behalf of openerp <> Date: Tue, 27 Mar 2012 04:51:25 +0000 Subject: [PATCH 04/15] Launchpad automatic translations update. bzr revid: launchpad_translations_on_behalf_of_openerp-20120327045125-s5mj6gglrl462a5m --- openerp/addons/base/i18n/ja.po | 36 ++++++++++++++++++++++++---------- 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/openerp/addons/base/i18n/ja.po b/openerp/addons/base/i18n/ja.po index a55fc048ca0..a9a91136c1c 100644 --- a/openerp/addons/base/i18n/ja.po +++ b/openerp/addons/base/i18n/ja.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-server\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-02-08 00:44+0000\n" -"PO-Revision-Date: 2012-03-25 04:24+0000\n" +"PO-Revision-Date: 2012-03-27 01:45+0000\n" "Last-Translator: Akira Hiyama \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: 2012-03-26 04:37+0000\n" -"X-Generator: Launchpad (build 15008)\n" +"X-Launchpad-Export-Date: 2012-03-27 04:51+0000\n" +"X-Generator: Launchpad (build 15011)\n" #. module: base #: model:res.country,name:base.sh @@ -9773,7 +9773,7 @@ msgstr "BIC(銀行特定コード)" #: code:addons/orm.py:4085 #, python-format msgid "UserError" -msgstr "" +msgstr "ユーザエラー" #. module: base #: model:ir.module.module,description:base.module_account_analytic_default @@ -9789,23 +9789,33 @@ msgid "" "* Date\n" " " msgstr "" +"分析アカウントにデフォルト値をセットします。\n" +"標準に基づき自動的に分析アカウントを選択します:\n" +"=====================================================================\n" +"\n" +"・ 製品\n" +"・ パートナ\n" +"・ ユーザ\n" +"・ 会社\n" +"・ 日付\n" +" " #. module: base #: model:res.country,name:base.ae msgid "United Arab Emirates" -msgstr "" +msgstr "アラブ首長国連邦" #. module: base #: code:addons/orm.py:3704 #, python-format msgid "" "Unable to delete this document because it is used as a default property" -msgstr "" +msgstr "このドキュメントはデフォルトプロパティとして使用されているため削除できません。" #. module: base #: model:ir.ui.menu,name:base.menu_crm_case_job_req_main msgid "Recruitment" -msgstr "" +msgstr "採用" #. module: base #: model:ir.module.module,description:base.module_l10n_gr @@ -9827,7 +9837,7 @@ msgstr "" #. module: base #: view:ir.values:0 msgid "Action Reference" -msgstr "" +msgstr "アクション参照" #. module: base #: model:res.country,name:base.re @@ -9839,7 +9849,7 @@ msgstr "" #, python-format msgid "" "New column name must still start with x_ , because it is a custom field!" -msgstr "" +msgstr "それはカスタム項目であるため、新しいカラム名は x_ で始まる必要があります。" #. module: base #: model:ir.module.module,description:base.module_wiki @@ -9851,6 +9861,12 @@ msgid "" "Keep track of Wiki groups, pages, and history.\n" " " msgstr "" +"\n" +"この基本モジュールはドキュメント(Wiki)を管理します。\n" +"==========================================\n" +"\n" +"Wikiのグループ、ページ、履歴を管理します。\n" +" " #. module: base #: model:ir.module.module,shortdesc:base.module_mrp_repair @@ -14521,7 +14537,7 @@ msgstr "" "====================================================================\n" "\n" "ユーザは複数の分析計画を維持することができます。\n" -"これはあなたに仕入先の仕入注文の行を複数のアカウントと分析計画に分割させます。\n" +"これはあなたに仕入先の仕入注文のラインを複数のアカウントと分析計画に分割させます。\n" " " #. module: base From 162abf346d0b44f3fb2b79d609178676162c3e60 Mon Sep 17 00:00:00 2001 From: Launchpad Translations on behalf of openerp <> Date: Tue, 27 Mar 2012 04:58:11 +0000 Subject: [PATCH 05/15] Launchpad automatic translations update. bzr revid: launchpad_translations_on_behalf_of_openerp-20120327045157-gkctlodshhg3olls bzr revid: launchpad_translations_on_behalf_of_openerp-20120327045811-tm0ez29vvnoq6fuv --- addons/account/i18n/zh_CN.po | 15 ++-- addons/crm_todo/i18n/fi.po | 96 ++++++++++++++++++++ addons/google_base_account/i18n/it.po | 121 ++++++++++++++++++++++++++ addons/import_base/i18n/fi.po | 104 ++++++++++++++++++++++ addons/web_dashboard/i18n/ja.po | 22 ++--- addons/web_diagram/i18n/ja.po | 57 ++++++++++++ addons/web_gantt/i18n/ja.po | 28 ++++++ addons/web_process/i18n/ja.po | 118 +++++++++++++++++++++++++ 8 files changed, 543 insertions(+), 18 deletions(-) create mode 100644 addons/crm_todo/i18n/fi.po create mode 100644 addons/google_base_account/i18n/it.po create mode 100644 addons/import_base/i18n/fi.po create mode 100644 addons/web_diagram/i18n/ja.po create mode 100644 addons/web_gantt/i18n/ja.po create mode 100644 addons/web_process/i18n/ja.po diff --git a/addons/account/i18n/zh_CN.po b/addons/account/i18n/zh_CN.po index ae43e0a54d2..c5a78346b02 100644 --- a/addons/account/i18n/zh_CN.po +++ b/addons/account/i18n/zh_CN.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-02-08 00:35+0000\n" -"PO-Revision-Date: 2012-02-21 04:07+0000\n" +"PO-Revision-Date: 2012-03-27 01:25+0000\n" "Last-Translator: Jeff Wang \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: 2012-02-22 04:57+0000\n" -"X-Generator: Launchpad (build 14838)\n" +"X-Launchpad-Export-Date: 2012-03-27 04:51+0000\n" +"X-Generator: Launchpad (build 15011)\n" #. module: account #: view:account.invoice.report:0 @@ -6492,7 +6492,7 @@ msgstr "当前期间凭证列表" msgid "" "Check this box if you want to allow the cancellation the entries related to " "this journal or of the invoice related to this journal" -msgstr "请勾选这,如果您允许作废此账簿的分录或发票。" +msgstr "勾选这里,则此凭证簿下的亏即凭证或发票可以被作废。" #. module: account #: view:account.fiscalyear.close:0 @@ -6736,7 +6736,7 @@ msgstr "此报表用于生成一个试算平衡表的PDF报表。这样你可以 msgid "" "Check this box if you are unsure of that journal entry and if you want to " "note it as 'to be reviewed' by an accounting expert." -msgstr "勾选这里,如果您不肯定账簿的分录,您可以把它标注为“待审核”状态交由会计师来确定。" +msgstr "勾选这里,如果您不确定凭证是否正确,您可以把它标注为“待审核”状态交由会计师来确定。" #. module: account #: field:account.chart.template,complete_tax_set:0 @@ -6986,7 +6986,7 @@ msgstr "税模板" #. module: account #: view:account.journal.select:0 msgid "Are you sure you want to open Journal Entries?" -msgstr "您确定要打开账簿的分录吗?" +msgstr "你确定要显示这个凭证簿的会计凭证么?" #. module: account #: view:account.state.open:0 @@ -8830,7 +8830,8 @@ msgid "" "in which order. You can create your own view for a faster encoding in each " "journal." msgstr "" -"选择在输入或显示 账簿分录的视图。这视图可以定义字段是否显示,是否必输,是否只读,按什么序列显示。您可以为每个账簿的分录定义视图用于快速输入。" +"选择在输入或显示该凭证簿中的会计凭证行所使用的的视图。这视图可以定义字段是否显示,是否必输,是否只读,按什么序列显示。您可以为每个凭证簿定义视图用于快速输" +"入会计凭证行。" #. module: account #: field:account.period,date_stop:0 diff --git a/addons/crm_todo/i18n/fi.po b/addons/crm_todo/i18n/fi.po new file mode 100644 index 00000000000..10a17f7f87f --- /dev/null +++ b/addons/crm_todo/i18n/fi.po @@ -0,0 +1,96 @@ +# Finnish translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-02-08 00:36+0000\n" +"PO-Revision-Date: 2012-03-26 09:38+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Finnish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-03-27 04:51+0000\n" +"X-Generator: Launchpad (build 15011)\n" + +#. module: crm_todo +#: model:ir.model,name:crm_todo.model_project_task +msgid "Task" +msgstr "Tehtävä" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Timebox" +msgstr "Aikaikkuna" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "For cancelling the task" +msgstr "Peruuttaaksesi tehtävän" + +#. module: crm_todo +#: constraint:project.task:0 +msgid "Error ! Task end-date must be greater then task start-date" +msgstr "" +"Virhe! Tehtävän lopetuspäivän tulee olla myöhäisempi kuin aloituspäivä" + +#. module: crm_todo +#: model:ir.model,name:crm_todo.model_crm_lead +msgid "crm.lead" +msgstr "" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Next" +msgstr "seuraava" + +#. module: crm_todo +#: model:ir.actions.act_window,name:crm_todo.crm_todo_action +#: model:ir.ui.menu,name:crm_todo.menu_crm_todo +msgid "My Tasks" +msgstr "Omat tehtävät" + +#. module: crm_todo +#: view:crm.lead:0 +#: field:crm.lead,task_ids:0 +msgid "Tasks" +msgstr "Tehtävät" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Done" +msgstr "Valmis" + +#. module: crm_todo +#: constraint:project.task:0 +msgid "Error ! You cannot create recursive tasks." +msgstr "Virhe ! Et voi luoda rekursiivisiä tehtäviä." + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Cancel" +msgstr "Peruuta" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Extra Info" +msgstr "Lisätiedot" + +#. module: crm_todo +#: field:project.task,lead_id:0 +msgid "Lead / Opportunity" +msgstr "Liidi / mahdollisuus" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "For changing to done state" +msgstr "Vaihtaaksesi valmis tilaan" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Previous" +msgstr "edellinen" diff --git a/addons/google_base_account/i18n/it.po b/addons/google_base_account/i18n/it.po new file mode 100644 index 00000000000..82c3e8b6c0e --- /dev/null +++ b/addons/google_base_account/i18n/it.po @@ -0,0 +1,121 @@ +# Italian translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-02-08 00:36+0000\n" +"PO-Revision-Date: 2012-03-26 09:15+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Italian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-03-27 04:51+0000\n" +"X-Generator: Launchpad (build 15011)\n" + +#. module: google_base_account +#: field:res.users,gmail_user:0 +msgid "Username" +msgstr "Nome utente" + +#. module: google_base_account +#: model:ir.actions.act_window,name:google_base_account.act_google_login_form +msgid "Google Login" +msgstr "Login Google" + +#. module: google_base_account +#: code:addons/google_base_account/wizard/google_login.py:29 +#, python-format +msgid "Google Contacts Import Error!" +msgstr "Errore nell'importazione dei contatti da Google!" + +#. module: google_base_account +#: view:res.users:0 +msgid " Synchronization " +msgstr " Sincronizzazione " + +#. module: google_base_account +#: sql_constraint:res.users:0 +msgid "You can not have two users with the same login !" +msgstr "Non è possibile avere due utenti con lo stesso login !" + +#. module: google_base_account +#: code:addons/google_base_account/wizard/google_login.py:75 +#, python-format +msgid "Error" +msgstr "Errore" + +#. module: google_base_account +#: view:google.login:0 +msgid "Google login" +msgstr "Login Google" + +#. module: google_base_account +#: model:ir.model,name:google_base_account.model_res_users +msgid "res.users" +msgstr "res.users" + +#. module: google_base_account +#: field:google.login,password:0 +msgid "Google Password" +msgstr "Password Google" + +#. module: google_base_account +#: view:google.login:0 +msgid "_Cancel" +msgstr "_Annulla" + +#. module: google_base_account +#: view:res.users:0 +msgid "Google Account" +msgstr "Account Google" + +#. module: google_base_account +#: field:google.login,user:0 +msgid "Google Username" +msgstr "Nome Utente Google" + +#. module: google_base_account +#: code:addons/google_base_account/wizard/google_login.py:29 +#, python-format +msgid "" +"Please install gdata-python-client from http://code.google.com/p/gdata-" +"python-client/downloads/list" +msgstr "" +"Prego installare gdata-python-client da http://code.google.com/p/gdata-" +"python-client/downloads/list" + +#. module: google_base_account +#: model:ir.model,name:google_base_account.model_google_login +msgid "Google Contact" +msgstr "Contatto Google" + +#. module: google_base_account +#: view:google.login:0 +msgid "_Login" +msgstr "_Accedi" + +#. module: google_base_account +#: constraint:res.users:0 +msgid "The chosen company is not in the allowed companies for this user" +msgstr "L'azienda scelta non è fra la aziende abilitate per questo utente" + +#. module: google_base_account +#: field:res.users,gmail_password:0 +msgid "Password" +msgstr "Password" + +#. module: google_base_account +#: code:addons/google_base_account/wizard/google_login.py:75 +#, python-format +msgid "Authentication fail check the user and password !" +msgstr "Autenticazione fallita, controlla il nome utente e la password !" + +#. module: google_base_account +#: view:google.login:0 +msgid "ex: user@gmail.com" +msgstr "es: user@gmail.com" diff --git a/addons/import_base/i18n/fi.po b/addons/import_base/i18n/fi.po new file mode 100644 index 00000000000..39e9dcd8fca --- /dev/null +++ b/addons/import_base/i18n/fi.po @@ -0,0 +1,104 @@ +# Finnish translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-02-08 00:36+0000\n" +"PO-Revision-Date: 2012-03-26 06:59+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Finnish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-03-27 04:51+0000\n" +"X-Generator: Launchpad (build 15011)\n" + +#. module: import_base +#: code:addons/import_base/import_framework.py:434 +#, python-format +msgid "Import failed due to an unexpected error" +msgstr "Tuonti epäonnistui tuntemattoman virheen takia" + +#. module: import_base +#: code:addons/import_base/import_framework.py:461 +#, python-format +msgid "started at %s and finished at %s \n" +msgstr "aloitettu %s ja valmistui %s \n" + +#. module: import_base +#: code:addons/import_base/import_framework.py:448 +#, python-format +msgid "Import of your data finished at %s" +msgstr "Tietojen tuonti valmistui %s" + +#. module: import_base +#: code:addons/import_base/import_framework.py:463 +#, python-format +msgid "" +"but failed, in consequence no data were imported to keep database " +"consistency \n" +" error : \n" +msgstr "" +"mutta epäonnistui, tietojen yhtenäisyyden säilyttämiseksi tietoja ei tuotu \n" +" virhe: \n" + +#. module: import_base +#: code:addons/import_base/import_framework.py:477 +#, python-format +msgid "" +"The import of data \n" +" instance name : %s \n" +msgstr "" +"Tietojen tuonti \n" +" Instanssin nimi: %s \n" + +#. module: import_base +#: code:addons/import_base/import_framework.py:470 +#, python-format +msgid "%s has been successfully imported from %s %s, %s \n" +msgstr "%s on onnistuneesti tuotu %s %s, %s :stä \n" + +#. module: import_base +#: code:addons/import_base/import_framework.py:447 +#, python-format +msgid "Data Import failed at %s due to an unexpected error" +msgstr "Tietojen tuonti epäonnistui %s:ssä tuntemattoman virheen takia" + +#. module: import_base +#: code:addons/import_base/import_framework.py:436 +#, python-format +msgid "Import finished, notification email sended" +msgstr "Tuonti valmis, muistutussähköposti on lähetety" + +#. module: import_base +#: code:addons/import_base/import_framework.py:190 +#, python-format +msgid "%s is not a valid model name" +msgstr "%s ei ole sallittu mallin nimi" + +#. module: import_base +#: model:ir.ui.menu,name:import_base.menu_import_crm +msgid "Import" +msgstr "Tuo" + +#. module: import_base +#: code:addons/import_base/import_framework.py:467 +#, python-format +msgid "with no warning" +msgstr "ei varoituksia" + +#. module: import_base +#: code:addons/import_base/import_framework.py:469 +#, python-format +msgid "with warning : %s" +msgstr "varoituksella : %s" + +#. module: import_base +#: code:addons/import_base/import_framework.py:191 +#, python-format +msgid " fields imported : " +msgstr " Tuodut kentät : " diff --git a/addons/web_dashboard/i18n/ja.po b/addons/web_dashboard/i18n/ja.po index 177be1cc222..6272870ecba 100644 --- a/addons/web_dashboard/i18n/ja.po +++ b/addons/web_dashboard/i18n/ja.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-02-14 15:27+0100\n" -"PO-Revision-Date: 2012-03-06 06:40+0000\n" +"PO-Revision-Date: 2012-03-26 22:14+0000\n" "Last-Translator: Masaki Yamaya \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: 2012-03-07 05:38+0000\n" -"X-Generator: Launchpad (build 14907)\n" +"X-Launchpad-Export-Date: 2012-03-27 04:58+0000\n" +"X-Generator: Launchpad (build 15011)\n" #. openerp-web #: addons/web_dashboard/static/src/js/dashboard.js:63 @@ -71,41 +71,41 @@ msgstr " " #. openerp-web #: addons/web_dashboard/static/src/xml/web_dashboard.xml:28 msgid "Create" -msgstr "" +msgstr "作成" #. openerp-web #: addons/web_dashboard/static/src/xml/web_dashboard.xml:39 msgid "Choose dashboard layout" -msgstr "" +msgstr "ダッシュボードのレイアウトを選択" #. openerp-web #: addons/web_dashboard/static/src/xml/web_dashboard.xml:62 msgid "progress:" -msgstr "" +msgstr "プロセス" #. openerp-web #: addons/web_dashboard/static/src/xml/web_dashboard.xml:67 msgid "" "Click on the functionalites listed below to launch them and configure your " "system" -msgstr "" +msgstr "あなたのシステムを設定するために下記に示した機能をクリックしてください。" #. openerp-web #: addons/web_dashboard/static/src/xml/web_dashboard.xml:110 msgid "Welcome to OpenERP" -msgstr "" +msgstr "OpenERPへようこそ" #. openerp-web #: addons/web_dashboard/static/src/xml/web_dashboard.xml:118 msgid "Remember to bookmark" -msgstr "" +msgstr "ブックマークをお忘れなく" #. openerp-web #: addons/web_dashboard/static/src/xml/web_dashboard.xml:119 msgid "This url" -msgstr "" +msgstr "このURL" #. openerp-web #: addons/web_dashboard/static/src/xml/web_dashboard.xml:121 msgid "Your login:" -msgstr "" +msgstr "あなたのログイン:" diff --git a/addons/web_diagram/i18n/ja.po b/addons/web_diagram/i18n/ja.po new file mode 100644 index 00000000000..8bcb3c3f1ad --- /dev/null +++ b/addons/web_diagram/i18n/ja.po @@ -0,0 +1,57 @@ +# Japanese translation for openerp-web +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openerp-web package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openerp-web\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-02-06 17:33+0100\n" +"PO-Revision-Date: 2012-03-26 22:02+0000\n" +"Last-Translator: Masaki Yamaya \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: 2012-03-27 04:58+0000\n" +"X-Generator: Launchpad (build 15011)\n" + +#. openerp-web +#: addons/web_diagram/static/src/js/diagram.js:11 +msgid "Diagram" +msgstr "ダイアグラム" + +#. openerp-web +#: addons/web_diagram/static/src/js/diagram.js:208 +#: addons/web_diagram/static/src/js/diagram.js:224 +#: addons/web_diagram/static/src/js/diagram.js:257 +msgid "Activity" +msgstr "アクティビティ" + +#. openerp-web +#: addons/web_diagram/static/src/js/diagram.js:208 +#: addons/web_diagram/static/src/js/diagram.js:289 +#: addons/web_diagram/static/src/js/diagram.js:308 +msgid "Transition" +msgstr "変遷" + +#. openerp-web +#: addons/web_diagram/static/src/js/diagram.js:214 +#: addons/web_diagram/static/src/js/diagram.js:262 +#: addons/web_diagram/static/src/js/diagram.js:314 +msgid "Create:" +msgstr "作成:" + +#. openerp-web +#: addons/web_diagram/static/src/js/diagram.js:231 +#: addons/web_diagram/static/src/js/diagram.js:232 +#: addons/web_diagram/static/src/js/diagram.js:296 +msgid "Open: " +msgstr "開く: " + +#. openerp-web +#: addons/web_diagram/static/src/xml/base_diagram.xml:5 +#: addons/web_diagram/static/src/xml/base_diagram.xml:6 +msgid "New Node" +msgstr "新しいノード" diff --git a/addons/web_gantt/i18n/ja.po b/addons/web_gantt/i18n/ja.po new file mode 100644 index 00000000000..545a56cb1e3 --- /dev/null +++ b/addons/web_gantt/i18n/ja.po @@ -0,0 +1,28 @@ +# Japanese translation for openerp-web +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openerp-web package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openerp-web\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-02-06 17:33+0100\n" +"PO-Revision-Date: 2012-03-26 21:57+0000\n" +"Last-Translator: Masaki Yamaya \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: 2012-03-27 04:58+0000\n" +"X-Generator: Launchpad (build 15011)\n" + +#. openerp-web +#: addons/web_gantt/static/src/js/gantt.js:11 +msgid "Gantt" +msgstr "ガント" + +#. openerp-web +#: addons/web_gantt/static/src/xml/web_gantt.xml:10 +msgid "Create" +msgstr "作成する" diff --git a/addons/web_process/i18n/ja.po b/addons/web_process/i18n/ja.po new file mode 100644 index 00000000000..641e906d201 --- /dev/null +++ b/addons/web_process/i18n/ja.po @@ -0,0 +1,118 @@ +# Japanese translation for openerp-web +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openerp-web package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openerp-web\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-02-07 19:19+0100\n" +"PO-Revision-Date: 2012-03-26 22:04+0000\n" +"Last-Translator: Masaki Yamaya \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: 2012-03-27 04:58+0000\n" +"X-Generator: Launchpad (build 15011)\n" + +#. openerp-web +#: addons/web_process/static/src/js/process.js:261 +msgid "Cancel" +msgstr "キャンセル" + +#. openerp-web +#: addons/web_process/static/src/js/process.js:262 +msgid "Save" +msgstr "保存" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:6 +msgid "Process View" +msgstr "プロセス一覧" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:19 +msgid "Documentation" +msgstr "ドキュメンテーション" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:19 +msgid "Read Documentation Online" +msgstr "オンラインのドキュメンテーションを読んでください。" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:25 +msgid "Forum" +msgstr "フォーラム" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:25 +msgid "Community Discussion" +msgstr "コミュニティの議論" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:31 +msgid "Books" +msgstr "帳簿" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:31 +msgid "Get the books" +msgstr "帳簿を取る" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:37 +msgid "OpenERP Enterprise" +msgstr "OpenERPエンタープライズ" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:37 +msgid "Purchase OpenERP Enterprise" +msgstr "OpenERPエンタープライズを購入" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:52 +msgid "Process" +msgstr "プロセス" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:56 +msgid "Notes:" +msgstr "注記" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:59 +msgid "Last modified by:" +msgstr "最後に変更:" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:59 +msgid "N/A" +msgstr "該当なし" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:62 +msgid "Subflows:" +msgstr "サブフロー:" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:75 +msgid "Related:" +msgstr "関係:" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:88 +msgid "Select Process" +msgstr "プロセスを選んでください" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:98 +msgid "Select" +msgstr "選択する" + +#. openerp-web +#: addons/web_process/static/src/xml/web_process.xml:109 +msgid "Edit Process" +msgstr "プロセスを編集" From 7d9c9efef532530d456a13fb2cccaf41effec016 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Tue, 27 Mar 2012 10:45:35 +0200 Subject: [PATCH 06/15] [FIX] hr_holidays: added a missing ']' in the domain of 'year' filter. bzr revid: tde@openerp.com-20120327084535-igmpl852p0k8wq0t --- addons/hr_holidays/hr_holidays_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/hr_holidays/hr_holidays_view.xml b/addons/hr_holidays/hr_holidays_view.xml index 9be2b2bbb31..2fc3f99bdd3 100644 --- a/addons/hr_holidays/hr_holidays_view.xml +++ b/addons/hr_holidays/hr_holidays_view.xml @@ -12,7 +12,7 @@ - + Date: Tue, 27 Mar 2012 12:05:18 +0200 Subject: [PATCH 07/15] [FIX] Reference to legacy Widget#widget_parent bzr revid: fme@openerp.com-20120327100518-p64ada2s831exv52 --- addons/web/static/src/js/chrome.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index 0aaa0398e20..4a449d1152c 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -393,7 +393,7 @@ openerp.web.Database = openerp.web.OldWidget.extend(/** @lends openerp.web.Datab if (self.db_list) { self.db_list.push(self.to_object(fields)['db_name']); self.db_list.sort(); - self.widget_parent.set_db_list(self.db_list); + self.getParent().set_db_list(self.db_list); } var form_obj = self.to_object(fields); From 94c7dff4eafb5b64ae6326d31e12fda03b209b74 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Tue, 27 Mar 2012 17:13:57 +0200 Subject: [PATCH 08/15] [FIX] usage issue of py.eval: in py.js 0.4, it returns a JS object not a PY object, so .toJSON should not be called on the result bzr revid: xmo@openerp.com-20120327151357-4en4skjqb66b816c --- addons/web/static/src/js/view_form.js | 2 +- addons/web/static/src/js/view_page.js | 2 +- addons/web/static/src/js/views.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 8b1ec3098a6..b6788d979a5 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -1605,7 +1605,7 @@ openerp.web.form.FieldFloat = openerp.web.form.FieldChar.extend({ init: function (view, node) { this._super(view, node); if (node.attrs.digits) { - this.digits = py.eval(node.attrs.digits).toJSON(); + this.digits = py.eval(node.attrs.digits); } else { this.digits = view.fields_view.fields[node.attrs.name].digits; } diff --git a/addons/web/static/src/js/view_page.js b/addons/web/static/src/js/view_page.js index 50cc95cdea6..1e7c570abdf 100644 --- a/addons/web/static/src/js/view_page.js +++ b/addons/web/static/src/js/view_page.js @@ -93,7 +93,7 @@ openerp.web.page = function (openerp) { init: function (view, node) { this._super(view, node); if (node.attrs.digits) { - this.digits = py.eval(node.attrs.digits).toJSON(); + this.digits = py.eval(node.attrs.digits); } else { this.digits = view.fields_view.fields[node.attrs.name].digits; } diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index 5be0fad74f0..43ecc8444fc 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -763,7 +763,7 @@ session.web.ViewManagerAction = session.web.ViewManager.extend(/** @lends oepner _(log_records.reverse()).each(function (record) { var context = {}; if (record.context) { - try { context = py.eval(record.context).toJSON(); } + try { context = py.eval(record.context); } catch (e) { /* TODO: what do I do now? */ } } $(_.str.sprintf('
  • %s
  • ', record.name)) From c86b24b4c3a7206f3725ed83200270191dfc9dd6 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Tue, 27 Mar 2012 21:32:12 +0200 Subject: [PATCH 09/15] [FIX] Add 'More...' feature to main menu bzr revid: fme@openerp.com-20120327193212-kflgwnvxp89lkqmb --- addons/web/static/src/css/base.css | 615 +++++++++++++++------------- addons/web/static/src/css/base.sass | 14 + addons/web/static/src/js/chrome.js | 29 ++ addons/web/static/src/xml/base.xml | 6 + 4 files changed, 388 insertions(+), 276 deletions(-) diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index dab8e6070af..8bf4208ba72 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -5,279 +5,342 @@ color: #4c4c4c; font-size: 13px; background: white; - position: relative; } - .openerp2 a { - text-decoration: none; } - .openerp2 .oe_webclient { - position: absolute; - top: 0; - bottom: 0; - left: 0; - right: 0; } - .openerp2 .oe_webclient .oe_application { - position: absolute; - top: 32px; - bottom: 0; - left: 206px; - right: 0; } - .openerp2 .oe_content_full_screen .oe_application { - top: 0; - left: 0; } - .openerp2 .oe_content_full_screen .topbar, .openerp2 .oe_content_full_screen .leftbar { - display: none; } - .openerp2 .oe_topbar { - width: 100%; - height: 31px; - border-top: solid 1px #d3d3d3; - border-bottom: solid 1px black; - background-color: #646060; - background-image: -webkit-gradient(linear, left top, left bottom, from(#646060), to(#262626)); - background-image: -webkit-linear-gradient(top, #646060, #262626); - background-image: -moz-linear-gradient(top, #646060, #262626); - background-image: -ms-linear-gradient(top, #646060, #262626); - background-image: -o-linear-gradient(top, #646060, #262626); - background-image: linear-gradient(to bottom, #646060, #262626); } - .openerp2 .oe_topbar .oe_systray { - float: right; } - .openerp2 .oe_topbar .oe_systray > div { - float: left; - padding: 0 4px 0 4px; } - .openerp2 .oe_topbar .oe_topbar_item li { - float: left; } - .openerp2 .oe_topbar .oe_topbar_item li a { - display: block; - padding: 5px 10px 7px; - line-height: 20px; - height: 20px; - color: #eeeeee; - vertical-align: top; - text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2); } - .openerp2 .oe_topbar .oe_topbar_item li a:hover { - background: #303030; - color: white; - -moz-box-shadow: 0 1px 2px rgba(255, 255, 255, 0.3) inset; - -webkit-box-shadow: 0 1px 2px rgba(255, 255, 255, 0.3) inset; - -box-shadow: 0 1px 2px rgba(255, 255, 255, 0.3) inset; } - .openerp2 .oe_topbar .oe_topbar_item .oe_active { - background: #303030; - font-weight: bold; - color: white; - -moz-box-shadow: 0 1px 2px rgba(255, 255, 255, 0.3) inset; - -webkit-box-shadow: 0 1px 2px rgba(255, 255, 255, 0.3) inset; - -box-shadow: 0 1px 2px rgba(255, 255, 255, 0.3) inset; } - .openerp2 .oe_topbar .oe_topbar_avatar { - width: 24px; - height: 24px; - margin: -2px 2px 0 0; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; - border-radius: 4px; } - .openerp2 .oe_topbar .oe_topbar_avatar { - vertical-align: top; } - .openerp2 .oe_leftbar { - width: 205px; - height: 100%; - background: #f0eeee; - border-right: 1px solid #afafb6; - overflow: auto; - text-shadow: 0 1px 1px white; } - .openerp2 .oe_leftbar .oe_footer { - position: absolute; - width: 205px; - text-align: center; - bottom: 8px; } - .openerp2 a.oe_logo { - display: block; - text-align: center; - height: 70px; - line-height: 70px; } - .openerp2 a.oe_logo img { - height: 40px; - width: 157px; - margin: 14px 0; } - .openerp2 .oe_footer { - position: absolute; - width: 205px; - text-align: center; - bottom: 8px; } - .openerp2 .oe_footer a { - font-weight: 800; - font-family: serif; - font-size: 16px; - color: black; } - .openerp2 .oe_footer a span { - color: #c81010; - font-style: italic; } - .openerp2 .oe_menu { - float: left; - padding: 0; - margin: 0; } - .openerp2 .oe_menu li { - list-style-type: none; - float: left; } - .openerp2 .oe_menu a { - display: block; - padding: 5px 10px 7px; - line-height: 20px; - height: 20px; - color: #eeeeee; - vertical-align: top; - text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2); } - .openerp2 .oe_menu a:hover { - background: #303030; - color: white; - -moz-box-shadow: 0 1px 2px rgba(255, 255, 255, 0.3) inset; - -webkit-box-shadow: 0 1px 2px rgba(255, 255, 255, 0.3) inset; - -box-shadow: 0 1px 2px rgba(255, 255, 255, 0.3) inset; } - .openerp2 .oe_menu .oe_active { - background: #303030; - font-weight: bold; - color: white; - -moz-box-shadow: 0 1px 2px rgba(255, 255, 255, 0.3) inset; - -webkit-box-shadow: 0 1px 2px rgba(255, 255, 255, 0.3) inset; - -box-shadow: 0 1px 2px rgba(255, 255, 255, 0.3) inset; } - .openerp2 .oe_secondary_menu_section { - font-weight: bold; - margin-left: 8px; - color: #8a89ba; } - .openerp2 .oe_secondary_submenu { - padding: 2px 0 8px 0; - margin: 0; - width: 100%; - display: inline-block; } - .openerp2 .oe_secondary_submenu li { - position: relative; - padding: 1px 0 1px 16px; - list-style-type: none; } - .openerp2 .oe_secondary_submenu li a { - display: block; - color: #4c4c4c; - padding: 2px 4px 2px 0; } - .openerp2 .oe_secondary_submenu li .oe_menu_label { - position: absolute; - top: 1px; - right: 1px; - font-size: 10px; - background: #8a89ba; - color: white; - padding: 2px 4px; - margin: 1px 6px 0 0; - border: 1px solid lightGray; - text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2); - -moz-border-radius: 4px; - -webkit-border-radius: 4px; - border-radius: 4px; - -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2); - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2); - -box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2); } - .openerp2 .oe_secondary_submenu .oe_active { - background: #8a89ba; - border-top: 1px solid lightGray; - border-bottom: 1px solid lightGray; - text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2); - -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2); - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2); - -box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2); } - .openerp2 .oe_secondary_submenu .oe_active a { - color: white; } - .openerp2 .oe_secondary_submenu .oe_active .oe_menu_label { - background: #eeeeee; - color: #8a89ba; - text-shadow: 0 1px 1px white; - -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2); - -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2); - -box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2); } - .openerp2 .oe_secondary_submenu .oe_menu_toggler:before { - width: 0; - height: 0; - display: inline-block; - content: "&darr"; - text-indent: -99999px; - vertical-align: top; - margin-left: -8px; - margin-top: 4px; - margin-right: 4px; - border-top: 4px solid transparent; - border-bottom: 4px solid transparent; - border-left: 4px solid #4c4c4c; - filter: alpha(opacity=50); - opacity: 0.5; } - .openerp2 .oe_secondary_submenu .oe_menu_opened:before { - margin-top: 6px; - margin-left: -12px; - margin-right: 4px; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-top: 4px solid #4c4c4c; } - .openerp2 .oe_user_menu { - float: right; - padding: 0; - margin: 0; } - .openerp2 .oe_user_menu li { - list-style-type: none; - float: left; } - .openerp2 .oe_user_menu .oe_dropdown { - position: relative; } - .openerp2 .oe_user_menu .oe_dropdown_toggle:after { - width: 0; - height: 0; - display: inline-block; - content: "&darr"; - text-indent: -99999px; - vertical-align: top; - margin-top: 8px; - margin-left: 4px; - border-left: 4px solid transparent; - border-right: 4px solid transparent; - border-top: 4px solid white; - filter: alpha(opacity=50); - opacity: 0.5; } - .openerp2 .oe_user_menu .oe_dropdown_options { - float: left; - background: #333333; - background: rgba(37, 37, 37, 0.9); - display: none; - position: absolute; - top: 32px; - right: -1px; - border: 0; - z-index: 900; - margin-left: 0; - margin-right: 0; - padding: 6px 0; - zoom: 1; - border-color: #999999; - border-color: rgba(0, 0, 0, 0.2); - border-style: solid; - border-width: 0 1px 1px; - -moz-border-radius: 0 0 6px 6px; - -webkit-border-radius: 0 0 6px 6px; - border-radius: 0 0 6px 6px; - -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); - -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); - -box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); - -webkit-background-clip: padding-box; - -moz-background-clip: padding-box; - background-clip: padding-box; } - .openerp2 .oe_user_menu .oe_dropdown_options li { - float: none; - display: block; - background-color: none; } - .openerp2 .oe_user_menu .oe_dropdown_options li a { - display: block; - padding: 4px 15px; - clear: both; - font-weight: normal; - line-height: 18px; - color: #eeeeee; } - .openerp2 .oe_user_menu .oe_dropdown_options li a:hover { - background-color: #292929; - background-image: -webkit-gradient(linear, left top, left bottom, from(#292929), to(#191919)); - background-image: -webkit-linear-gradient(top, #292929, #191919); - background-image: -moz-linear-gradient(top, #292929, #191919); - background-image: -ms-linear-gradient(top, #292929, #191919); - background-image: -o-linear-gradient(top, #292929, #191919); - background-image: linear-gradient(to bottom, #292929, #191919); - -moz-box-shadow: none; - -webkit-box-shadow: none; - -box-shadow: none; } + position: relative; +} +.openerp2 a { + text-decoration: none; +} +.openerp2 .oe_webclient { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; +} +.openerp2 .oe_webclient .oe_application { + position: absolute; + top: 32px; + bottom: 0; + left: 206px; + right: 0; +} +.openerp2 .oe_content_full_screen .oe_application { + top: 0; + left: 0; +} +.openerp2 .oe_content_full_screen .topbar, .openerp2 .oe_content_full_screen .leftbar { + display: none; +} +.openerp2 .oe_topbar { + width: 100%; + height: 31px; + border-top: solid 1px #d3d3d3; + border-bottom: solid 1px black; + background-color: #646060; + background-image: -webkit-gradient(linear, left top, left bottom, from(#646060), to(#262626)); + background-image: -webkit-linear-gradient(top, #646060, #262626); + background-image: -moz-linear-gradient(top, #646060, #262626); + background-image: -ms-linear-gradient(top, #646060, #262626); + background-image: -o-linear-gradient(top, #646060, #262626); + background-image: linear-gradient(to bottom, #646060, #262626); +} +.openerp2 .oe_topbar .oe_systray { + float: right; +} +.openerp2 .oe_topbar .oe_systray > div { + float: left; + padding: 0 4px 0 4px; +} +.openerp2 .oe_topbar .oe_topbar_item li { + float: left; +} +.openerp2 .oe_topbar .oe_topbar_item li a { + display: block; + padding: 5px 10px 7px; + line-height: 20px; + height: 20px; + color: #eeeeee; + vertical-align: top; + text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2); +} +.openerp2 .oe_topbar .oe_topbar_item li a:hover { + background: #303030; + color: white; + -moz-box-shadow: 0 1px 2px rgba(255, 255, 255, 0.3) inset; + -webkit-box-shadow: 0 1px 2px rgba(255, 255, 255, 0.3) inset; + -box-shadow: 0 1px 2px rgba(255, 255, 255, 0.3) inset; +} +.openerp2 .oe_topbar .oe_topbar_item .oe_active { + background: #303030; + font-weight: bold; + color: white; + -moz-box-shadow: 0 1px 2px rgba(255, 255, 255, 0.3) inset; + -webkit-box-shadow: 0 1px 2px rgba(255, 255, 255, 0.3) inset; + -box-shadow: 0 1px 2px rgba(255, 255, 255, 0.3) inset; +} +.openerp2 .oe_topbar .oe_topbar_avatar { + width: 24px; + height: 24px; + margin: -2px 2px 0 0; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; +} +.openerp2 .oe_topbar .oe_topbar_avatar { + vertical-align: top; +} +.openerp2 .oe_leftbar { + width: 205px; + height: 100%; + background: #f0eeee; + border-right: 1px solid #afafb6; + overflow: auto; + text-shadow: 0 1px 1px white; +} +.openerp2 .oe_leftbar .oe_footer { + position: absolute; + width: 205px; + text-align: center; + bottom: 8px; +} +.openerp2 a.oe_logo { + display: block; + text-align: center; + height: 70px; + line-height: 70px; +} +.openerp2 a.oe_logo img { + height: 40px; + width: 157px; + margin: 14px 0; +} +.openerp2 .oe_footer { + position: absolute; + width: 205px; + text-align: center; + bottom: 8px; +} +.openerp2 .oe_footer a { + font-weight: 800; + font-family: serif; + font-size: 16px; + color: black; +} +.openerp2 .oe_footer a span { + color: #c81010; + font-style: italic; +} +.openerp2 .oe_menu { + float: left; + padding: 0; + margin: 0; +} +.openerp2 .oe_menu li { + list-style-type: none; + float: left; +} +.openerp2 .oe_menu a { + display: block; + padding: 5px 10px 7px; + line-height: 20px; + height: 20px; + color: #eeeeee; + vertical-align: top; + text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2); +} +.openerp2 .oe_menu a:hover { + background: #303030; + color: white; + -moz-box-shadow: 0 1px 2px rgba(255, 255, 255, 0.3) inset; + -webkit-box-shadow: 0 1px 2px rgba(255, 255, 255, 0.3) inset; + -box-shadow: 0 1px 2px rgba(255, 255, 255, 0.3) inset; +} +.openerp2 .oe_menu .oe_active { + background: #303030; + font-weight: bold; + color: white; + -moz-box-shadow: 0 1px 2px rgba(255, 255, 255, 0.3) inset; + -webkit-box-shadow: 0 1px 2px rgba(255, 255, 255, 0.3) inset; + -box-shadow: 0 1px 2px rgba(255, 255, 255, 0.3) inset; +} +.openerp2 .oe_menu_more_container { + position: relative; +} +.openerp2 .oe_menu_more_container .oe_menu_more { + position: absolute; + padding: 0; + background-color: #646060; + z-index: 1; + border: 1px solid black; + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; +} +.openerp2 .oe_menu_more_container .oe_menu_more li { + float: none; +} +.openerp2 .oe_menu_more_container .oe_menu_more li a { + white-space: nowrap; +} +.openerp2 .oe_secondary_menu_section { + font-weight: bold; + margin-left: 8px; + color: #8a89ba; +} +.openerp2 .oe_secondary_submenu { + padding: 2px 0 8px 0; + margin: 0; + width: 100%; + display: inline-block; +} +.openerp2 .oe_secondary_submenu li { + position: relative; + padding: 1px 0 1px 16px; + list-style-type: none; +} +.openerp2 .oe_secondary_submenu li a { + display: block; + color: #4c4c4c; + padding: 2px 4px 2px 0; +} +.openerp2 .oe_secondary_submenu li .oe_menu_label { + position: absolute; + top: 1px; + right: 1px; + font-size: 10px; + background: #8a89ba; + color: white; + padding: 2px 4px; + margin: 1px 6px 0 0; + border: 1px solid lightGray; + text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2); + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2); + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2); + -box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2); +} +.openerp2 .oe_secondary_submenu .oe_active { + background: #8a89ba; + border-top: 1px solid lightGray; + border-bottom: 1px solid lightGray; + text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2); + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2); + -box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2); +} +.openerp2 .oe_secondary_submenu .oe_active a { + color: white; +} +.openerp2 .oe_secondary_submenu .oe_active .oe_menu_label { + background: #eeeeee; + color: #8a89ba; + text-shadow: 0 1px 1px white; + -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2); + -box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2); +} +.openerp2 .oe_secondary_submenu .oe_menu_toggler:before { + width: 0; + height: 0; + display: inline-block; + content: "&darr"; + text-indent: -99999px; + vertical-align: top; + margin-left: -8px; + margin-top: 4px; + margin-right: 4px; + border-top: 4px solid transparent; + border-bottom: 4px solid transparent; + border-left: 4px solid #4c4c4c; + filter: alpha(opacity=50); + opacity: 0.5; +} +.openerp2 .oe_secondary_submenu .oe_menu_opened:before { + margin-top: 6px; + margin-left: -12px; + margin-right: 4px; + border-left: 4px solid transparent; + border-right: 4px solid transparent; + border-top: 4px solid #4c4c4c; +} +.openerp2 .oe_user_menu { + float: right; + padding: 0; + margin: 0; +} +.openerp2 .oe_user_menu li { + list-style-type: none; + float: left; +} +.openerp2 .oe_user_menu .oe_dropdown { + position: relative; +} +.openerp2 .oe_user_menu .oe_dropdown_toggle:after { + width: 0; + height: 0; + display: inline-block; + content: "&darr"; + text-indent: -99999px; + vertical-align: top; + margin-top: 8px; + margin-left: 4px; + border-left: 4px solid transparent; + border-right: 4px solid transparent; + border-top: 4px solid white; + filter: alpha(opacity=50); + opacity: 0.5; +} +.openerp2 .oe_user_menu .oe_dropdown_options { + float: left; + background: #333333; + background: rgba(37, 37, 37, 0.9); + display: none; + position: absolute; + top: 32px; + right: -1px; + border: 0; + z-index: 900; + margin-left: 0; + margin-right: 0; + padding: 6px 0; + zoom: 1; + border-color: #999999; + border-color: rgba(0, 0, 0, 0.2); + border-style: solid; + border-width: 0 1px 1px; + -moz-border-radius: 0 0 6px 6px; + -webkit-border-radius: 0 0 6px 6px; + border-radius: 0 0 6px 6px; + -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); + -box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); + -webkit-background-clip: padding-box; + -moz-background-clip: padding-box; + background-clip: padding-box; +} +.openerp2 .oe_user_menu .oe_dropdown_options li { + float: none; + display: block; + background-color: none; +} +.openerp2 .oe_user_menu .oe_dropdown_options li a { + display: block; + padding: 4px 15px; + clear: both; + font-weight: normal; + line-height: 18px; + color: #eeeeee; +} +.openerp2 .oe_user_menu .oe_dropdown_options li a:hover { + background-color: #292929; + background-image: -webkit-gradient(linear, left top, left bottom, from(#292929), to(#191919)); + background-image: -webkit-linear-gradient(top, #292929, #191919); + background-image: -moz-linear-gradient(top, #292929, #191919); + background-image: -ms-linear-gradient(top, #292929, #191919); + background-image: -o-linear-gradient(top, #292929, #191919); + background-image: linear-gradient(to bottom, #292929, #191919); + -moz-box-shadow: none; + -webkit-box-shadow: none; + -box-shadow: none; +} diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass index 56a735c98fd..89d4c785967 100644 --- a/addons/web/static/src/css/base.sass +++ b/addons/web/static/src/css/base.sass @@ -194,6 +194,20 @@ $colour4: #8a89ba font-weight: bold color: white @include box-shadow(0 1px 2px rgba(255,255,255,0.3) inset) + .oe_menu_more_container + position: relative + .oe_menu_more + position: absolute + padding: 0 + background-color: #646060 + z-index: 1 + border: 1px solid black + border-bottom-left-radius: 5px + border-bottom-right-radius: 5px + li + float: none + a + white-space: nowrap .oe_secondary_menu_section font-weight: bold margin-left: 8px diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index 4a449d1152c..25d41c37257 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -635,11 +635,13 @@ openerp.web.Menu = openerp.web.Widget.extend(/** @lends openerp.web.Menu# */{ init: function() { this._super.apply(this, arguments); this.has_been_loaded = $.Deferred(); + this.maximum_visible_links = 'auto'; // # of menu to show. 0 = do not crop, 'auto' = algo }, start: function() { this._super.apply(this, arguments); this.$secondary_menus = this.getParent().$element.find('.oe_secondary_menus_container'); this.$secondary_menus.on('click', 'a[data-menu]', this.on_menu_click); + $('html').bind('click', this.do_hide_more); }, do_reload: function() { var self = this; @@ -650,14 +652,40 @@ openerp.web.Menu = openerp.web.Widget.extend(/** @lends openerp.web.Menu# */{ }); }, on_loaded: function(data) { + var self = this; this.data = data; this.renderElement(); + this.limit_entries(); this.$element.on('click', 'a[data-menu]', this.on_menu_click); + this.$element.on('click', 'a.oe_menu_more_link', function() { + self.$element.find('.oe_menu_more').toggle(); + return false; + }); this.$secondary_menus.html(QWeb.render("Menu.secondary", { widget : this })); // Hide second level submenus this.$secondary_menus.find('.oe_menu_toggler').siblings('.oe_secondary_submenu').hide(); this.has_been_loaded.resolve(); }, + limit_entries: function() { + var maximum_visible_links = this.maximum_visible_links; + if (maximum_visible_links === 'auto') { + maximum_visible_links = this.auto_limit_entries(); + } + if (maximum_visible_links) { + var $more = $(QWeb.render('Menu.more')), + $index = this.$element.find('li').eq(maximum_visible_links - 1); + $index.after($more); + $more.find('.oe_menu_more').append($index.next().nextAll()); + } + }, + auto_limit_entries: function() { + // TODO: auto detect overflow and bind window on resize + var width = $(window).width(); + return Math.floor(width / 125); + }, + do_hide_more: function() { + this.$element.find('.oe_menu_more').hide(); + }, /** * Opens a given menu by id, as if a user had browsed to that menu by hand * except does not trigger any event on the way @@ -702,6 +730,7 @@ openerp.web.Menu = openerp.web.Widget.extend(/** @lends openerp.web.Menu# */{ } }, on_menu_click: function(ev, id) { + this.do_hide_more(); id = id || 0; var $clicked_menu, manual = false; diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index c8a6762ab34..5b3a79391a7 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -332,6 +332,12 @@ + +
  • + More... +