From c9f3b0f46a833adb32e11ccdddd03c2fc9afcbfc Mon Sep 17 00:00:00 2001 From: florian da Costa Date: Mon, 27 Feb 2012 16:06:20 -0300 Subject: [PATCH 001/122] [FIX] fixed sale order line properties not copied in procurement bug lp bug: https://launchpad.net/bugs/926107 fixed bzr revid: florian.dacosta@akretion.com.br-20120227190620-ltdpop07hggjc9lb --- addons/sale/sale.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/sale/sale.py b/addons/sale/sale.py index 82bfda7b580..5dca3d432f0 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -720,7 +720,8 @@ class sale_order(osv.osv): 'procure_method': line.type, 'move_id': move_id, 'company_id': order.company_id.id, - 'note': line.notes + 'note': line.notes, + 'property_ids': [(6, 0, [x.id for x in line.property_ids])] } def _prepare_order_line_move(self, cr, uid, order, line, picking_id, date_planned, context=None): From 5ba6b775acbedf74eac34fa1bc52a809585e96ff Mon Sep 17 00:00:00 2001 From: "Bhumi Thakkar (Open ERP)" Date: Tue, 8 May 2012 19:02:10 +0530 Subject: [PATCH 002/122] [IMP] Image displayed in kanban. bzr revid: bth@tinyerp.com-20120508133210-hs3ku34n957fkxvk --- addons/web_kanban/static/src/js/kanban.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js index 928a06d8ba2..f402573b4fc 100644 --- a/addons/web_kanban/static/src/js/kanban.js +++ b/addons/web_kanban/static/src/js/kanban.js @@ -581,10 +581,14 @@ instance.web_kanban.KanbanRecord = instance.web.OldWidget.extend({ }, kanban_image: function(model, field, id) { id = id || ''; - var url = instance.connection.prefix + '/web/binary/image?session_id=' + this.session.session_id + '&model=' + model + '&field=' + field + '&id=' + id; - if (this.record.__last_update && this.record.__last_update.raw_value) { - var time = instance.web.str_to_datetime(this.record.__last_update.raw_value).getTime(); - url += '&t=' + time; + if (typeof(id)=="string" && this.record[field].value && this.record[field].value.substr(0, 10).indexOf(' ') == -1) { + url = 'data:image/png;base64,' + this.record[field].value; + }else{ + var url = instance.connection.prefix + '/web/binary/image?session_id=' + this.session.session_id + '&model=' + model + '&field=' + field + '&id=' + id; + if (this.record.__last_update && this.record.__last_update.raw_value) { + var time = instance.web.str_to_datetime(this.record.__last_update.raw_value).getTime(); + url += '&t=' + time; + } } return url; }, From 4afcce3a4722cddef89a1548cfd406960f8e9c23 Mon Sep 17 00:00:00 2001 From: Alexis de Lattre <> Date: Mon, 21 May 2012 11:57:36 +0530 Subject: [PATCH 003/122] [FIX] the problem of Empty list of journals when trying to create invoice from picking lp bug: https://launchpad.net/bugs/1001806 fixed bzr revid: rmu@tinyerp.com-20120521062736-qkd3d20k0pxzn2l8 --- addons/stock/wizard/stock_invoice_onshipping.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/stock/wizard/stock_invoice_onshipping.py b/addons/stock/wizard/stock_invoice_onshipping.py index 46c55311045..ca294f8ec79 100644 --- a/addons/stock/wizard/stock_invoice_onshipping.py +++ b/addons/stock/wizard/stock_invoice_onshipping.py @@ -36,7 +36,7 @@ class stock_invoice_onshipping(osv.osv_memory): context = {} model = context.get('active_model') - if not model or model != 'stock.picking': + if not model or 'stock.picking' not in model: return [] model_pool = self.pool.get(model) From 70b78feb630a35f34312229fbd3e7ea805fc9bed Mon Sep 17 00:00:00 2001 From: "Jiten (OpenERP)" Date: Fri, 22 Jun 2012 11:44:47 +0530 Subject: [PATCH 004/122] [IMP] Improved kanban_image for o2m list(e.g. contacts of company). bzr revid: jra@tinyerp.com-20120622061447-kszcg6tq9q5qjctr --- addons/web_kanban/static/src/js/kanban.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js index 6811953465d..483f84aa3c5 100644 --- a/addons/web_kanban/static/src/js/kanban.js +++ b/addons/web_kanban/static/src/js/kanban.js @@ -718,6 +718,9 @@ instance.web_kanban.KanbanRecord = instance.web.OldWidget.extend({ // Set the cache duration in seconds. url += '&cache=' + parseInt(cache, 10); } + if (typeof(id)=="string" && this.record[field].value && this.record[field].value.substr(0, 10).indexOf(' ') == -1) { + url = 'data:image/png;base64,' + this.record[field].value; + } return url; }, kanban_text_ellipsis: function(s, size) { From 07e5b120e608f43973c7250b831800ca637d2e5b Mon Sep 17 00:00:00 2001 From: "Bharat Devnani (OpenERP)" Date: Fri, 22 Jun 2012 17:16:01 +0530 Subject: [PATCH 005/122] [IMP] improved the view of project related modules bzr revid: bde@tinyerp.com-20120622114601-58ivi12560qpw51l --- addons/project/project_view.xml | 2 +- addons/project_issue/project_issue_view.xml | 5 ++++- .../project_issue_sheet_view.xml | 14 +++++++++----- .../project_long_term/project_long_term_view.xml | 4 ++-- 4 files changed, 16 insertions(+), 9 deletions(-) diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml index f883f007bd6..f6c72655a41 100644 --- a/addons/project/project_view.xml +++ b/addons/project/project_view.xml @@ -361,10 +361,10 @@ + - diff --git a/addons/project_issue/project_issue_view.xml b/addons/project_issue/project_issue_view.xml index 2b93cfec105..5b48fc8d987 100644 --- a/addons/project_issue/project_issue_view.xml +++ b/addons/project_issue/project_issue_view.xml @@ -90,7 +90,6 @@ - @@ -111,6 +110,10 @@ + + + + diff --git a/addons/project_issue_sheet/project_issue_sheet_view.xml b/addons/project_issue_sheet/project_issue_sheet_view.xml index 2a98f186922..d883fadf2d9 100644 --- a/addons/project_issue_sheet/project_issue_sheet_view.xml +++ b/addons/project_issue_sheet/project_issue_sheet_view.xml @@ -10,11 +10,15 @@ on_change_project(project_id) - - - + + + + + + + diff --git a/addons/project_long_term/project_long_term_view.xml b/addons/project_long_term/project_long_term_view.xml index 18babab66a4..8750c98728f 100644 --- a/addons/project_long_term/project_long_term_view.xml +++ b/addons/project_long_term/project_long_term_view.xml @@ -212,7 +212,7 @@ - +

@@ -325,7 +325,7 @@ form - + From 3ed27adc6d269e7a911d54f97f91def721a9be48 Mon Sep 17 00:00:00 2001 From: "Bharat Devnani (OpenERP)" Date: Fri, 22 Jun 2012 18:55:36 +0530 Subject: [PATCH 006/122] [IMP] improved views of project module under configuration wizard bzr revid: bde@tinyerp.com-20120622132536-3ig2s3zwm0n1x06n --- addons/hr_holidays/hr_holidays_view.xml | 4 ++-- addons/resource/resource_view.xml | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/addons/hr_holidays/hr_holidays_view.xml b/addons/hr_holidays/hr_holidays_view.xml index edfff777c3e..31d30fc1d94 100644 --- a/addons/hr_holidays/hr_holidays_view.xml +++ b/addons/hr_holidays/hr_holidays_view.xml @@ -449,8 +449,8 @@ form - - + + diff --git a/addons/resource/resource_view.xml b/addons/resource/resource_view.xml index 4da1a465c42..f3c7deaa994 100644 --- a/addons/resource/resource_view.xml +++ b/addons/resource/resource_view.xml @@ -117,7 +117,7 @@ resource.calendar.attendance tree - + @@ -229,12 +229,12 @@ - - - + + + From 83d2af86765314ee40dac91a7dbc0e1f0f4a3414 Mon Sep 17 00:00:00 2001 From: "Bharat Devnani (OpenERP)" Date: Mon, 25 Jun 2012 13:00:40 +0530 Subject: [PATCH 007/122] [IMP] improved view for date fields bzr revid: bde@tinyerp.com-20120625073040-mtdcgxi9tkjqg0a1 --- addons/resource/resource_view.xml | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/addons/resource/resource_view.xml b/addons/resource/resource_view.xml index f3c7deaa994..003bbd8810c 100644 --- a/addons/resource/resource_view.xml +++ b/addons/resource/resource_view.xml @@ -120,8 +120,8 @@ - - + + @@ -132,11 +132,16 @@ form
- - - - - + + + + + @@ -232,9 +237,12 @@ - - - + + From 1c9a4ce12736664b8debbf48cae13350dc28fad8 Mon Sep 17 00:00:00 2001 From: Hardik Date: Tue, 26 Jun 2012 15:09:15 +0530 Subject: [PATCH 008/122] [IMP]association : membership product form view improvement bzr revid: hsa@tinyerp.com-20120626093915-30fvknrjzwmpmfex --- addons/membership/membership_view.xml | 82 ++++++++++++++++----------- 1 file changed, 50 insertions(+), 32 deletions(-) diff --git a/addons/membership/membership_view.xml b/addons/membership/membership_view.xml index 15645294bb7..93840b51bea 100644 --- a/addons/membership/membership_view.xml +++ b/addons/membership/membership_view.xml @@ -52,38 +52,56 @@ product.product form -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
From 3305e100f0ac0e3b50a2a1f320c0b46d07587c6e Mon Sep 17 00:00:00 2001 From: "DBR (OpenERP)" Date: Tue, 26 Jun 2012 15:57:19 +0530 Subject: [PATCH 009/122] [IMP]Lunch: Improve lunch form view bzr revid: dbr@tinyerp.com-20120626102719-6so8gmu8p2woj8cn --- addons/lunch/lunch_view.xml | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/addons/lunch/lunch_view.xml b/addons/lunch/lunch_view.xml index 1777fd85da6..53152292f68 100644 --- a/addons/lunch/lunch_view.xml +++ b/addons/lunch/lunch_view.xml @@ -30,14 +30,18 @@ - - - - - - - - + + + + + + + + + + + + From 41c0355b4fb0036990bb1a9f247f11f2232205a4 Mon Sep 17 00:00:00 2001 From: "DBR (OpenERP)" Date: Tue, 26 Jun 2012 16:18:24 +0530 Subject: [PATCH 010/122] [IMP] Membership: improve tax as m2m_tags bzr revid: dbr@tinyerp.com-20120626104824-uwv8bjefgn03mfgq --- addons/membership/membership_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/membership/membership_view.xml b/addons/membership/membership_view.xml index 93840b51bea..9ecf4c908a6 100644 --- a/addons/membership/membership_view.xml +++ b/addons/membership/membership_view.xml @@ -81,7 +81,7 @@ domain="[('type', '!=', 'view')]" /> - + Date: Tue, 26 Jun 2012 18:31:11 +0530 Subject: [PATCH 011/122] [IMP] survey: Improve view for title bzr revid: dbr@tinyerp.com-20120626130111-jxhbxan5l3k5tp5q --- addons/survey/survey_view.xml | 49 +++++++++++++++++++++-------------- 1 file changed, 30 insertions(+), 19 deletions(-) diff --git a/addons/survey/survey_view.xml b/addons/survey/survey_view.xml index c50613f466b..59422e1f51b 100644 --- a/addons/survey/survey_view.xml +++ b/addons/survey/survey_view.xml @@ -26,18 +26,36 @@ - - - - - From 1a2c33faa2fcd3112c76b287c19cd3be0538e728 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Thu, 5 Jul 2012 10:04:50 +0200 Subject: [PATCH 041/122] [WIP] breadcrumb bzr revid: fme@openerp.com-20120705080450-j1o7p0vebjtd4ch3 --- addons/web/static/src/js/view_form.js | 2 ++ addons/web/static/src/js/views.js | 45 +++++++++++++++++---------- 2 files changed, 31 insertions(+), 16 deletions(-) diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index d40a1760e81..607f3283179 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -287,10 +287,12 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM on_record_loaded: function(record) { var self = this, set_values = []; if (!record) { + this.set({ 'title' : undefined }); this.do_warn("Form", "The record could not be found in the database.", true); return $.Deferred().reject(); } this.datarecord = record; + this.set({ 'title' : record.id ? record.name : "New record" }); if (this.qweb) { this.kill_current_form(); diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index 368dd5e840c..f4ec3d4458d 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -156,25 +156,44 @@ instance.web.ActionManager = instance.web.Widget.extend({ } else { this.dialog_stop(); //this.content_stop(); - this.breadcrumb.hide_all(); + this.breadcrumb.hide_items(); if(action.menu_id) { return this.getParent().do_action(action, function () { instance.webclient.menu.open_menu(action.menu_id); }); } this.inner_action = action; - this.inner_viewmanager = new instance.web.ViewManagerAction(this, action); + var inner_viewmanager = this.inner_viewmanager = new instance.web.ViewManagerAction(this, action); this.inner_viewmanager.appendTo(this.$element); this.inner_viewmanager.$element.addClass("oe_view_manager_" + action.target); + this.breadcrumb.push({ - widget: this.inner_viewmanager, + widget: inner_viewmanager, + show: function() { + inner_viewmanager.$element.show(); + inner_viewmanager.on_mode_switch(action.view_mode.split(',')[0]); + }, action: action, title: action.name }); - // show - // hide - // destroy - // title // all view get_title ?? + inner_viewmanager.on_mode_switch.add_first(function(mode) { + if (mode === 'form' && !inner_viewmanager.views[mode].controller) { + self.breadcrumb.push({ + widget: inner_viewmanager, + show: function() { + inner_viewmanager.$element.show(); + inner_viewmanager.on_mode_switch('form'); + }, + action: action, + get_title: function() { + var form = inner_viewmanager.views['form'].controller; + if (form) { + return form.get('title'); + } + } + }); + } + }); } }, ir_actions_act_window_close: function (action, on_closed) { @@ -195,7 +214,7 @@ instance.web.ActionManager = instance.web.Widget.extend({ ir_actions_client: function (action) { //this.content_stop(); this.dialog_stop(); - this.breadcrumb.hide_all(); + this.breadcrumb.hide_items(); var ClientWidget = instance.web.client_actions.get_object(action.tag); (this.client_widget = new ClientWidget(this, action.params)).appendTo(this.$element); this.breadcrumb.push({ @@ -260,7 +279,7 @@ instance.web.BreadCrumb = instance.web.CallbackEnabled.extend({ } if (!item.get_title) { item.get_title = function() { - return item.action.name; + return item.title || item.action.name; }; } this.items.push(item); @@ -270,7 +289,7 @@ instance.web.BreadCrumb = instance.web.CallbackEnabled.extend({ this.remove_item(this.items.length - 1); this.select_item(this.items.length - 1); }, - hide_all: function() { + hide_items: function() { _.each(this.items, function(i) { i.hide(); }); @@ -1164,12 +1183,6 @@ instance.web.View = instance.web.Widget.extend({ } this.translate_dialog.open(field); }, - /** - * Get the title of the view - */ - get_title: function() { - return ""; - }, /** * Fetches and executes the action identified by ``action_data``. * From a11440cd40b22d64f0c0eacd69abf8cf043ec587 Mon Sep 17 00:00:00 2001 From: "Pinakin Nayi (OpenERP)" Date: Thu, 5 Jul 2012 18:13:05 +0530 Subject: [PATCH 042/122] [IMP]survey-kanban-view bzr revid: pna@tinyerp.com-20120705124305-am3bqq8v0yrqrc12 --- addons/survey/static/src/css/survey.css | 27 ++----------- addons/survey/survey.py | 1 + addons/survey/survey_view.xml | 53 ++++++++++++++----------- 3 files changed, 34 insertions(+), 47 deletions(-) diff --git a/addons/survey/static/src/css/survey.css b/addons/survey/static/src/css/survey.css index 0102dc1ade6..6964e4c2f3e 100644 --- a/addons/survey/static/src/css/survey.css +++ b/addons/survey/static/src/css/survey.css @@ -1,20 +1,3 @@ -.oe_module_survey{ - font-size: 12px; - border-style:dotted; - border-radius: 15px; - text-align: left; - height:145px; - width:220px; -} - -.oe_survey_title{ - font-size: 15px; - height: auto; - font-size: 16px; - font-weight:bold; - width: 205px; -} - .oe_survey_responsible{ height: auto; width: 200px; @@ -26,12 +9,10 @@ width: 200px; font-size: 14px; } - -.oe_survey_fill{ - align:right; - padding: 1px 165px; -} - .oe_survey_rate{ font-size: 14px; } +.oe_kanban_survey { + width: 300px; +} + diff --git a/addons/survey/survey.py b/addons/survey/survey.py index 40f13b226f8..1c1c8b6df91 100644 --- a/addons/survey/survey.py +++ b/addons/survey/survey.py @@ -68,6 +68,7 @@ class survey(osv.osv): 'users': fields.many2many('res.users', 'survey_users_rel', 'sid', 'uid', 'Users'), 'send_response': fields.boolean('Email Notification on Answer'), 'type': fields.many2one('survey.type', 'Type'), + 'color': fields.integer('Color Index'), 'invited_user_ids': fields.many2many('res.users', 'survey_invited_user_rel', 'sid', 'uid', 'Invited User'), } _defaults = { diff --git a/addons/survey/survey_view.xml b/addons/survey/survey_view.xml index dedb044eee9..bdba67738d0 100644 --- a/addons/survey/survey_view.xml +++ b/addons/survey/survey_view.xml @@ -313,32 +313,37 @@ + - +
+
+ i +
+
+

+
+ By: +

+
+ Open From: + + + , + + +

+
+ Rate: + Fill +
+
+
From a47b42cd69dec5ef4fde79ba94cb21f86691f870 Mon Sep 17 00:00:00 2001 From: "DBR (OpenERP)" Date: Thu, 5 Jul 2012 18:32:58 +0530 Subject: [PATCH 043/122] [IMP] remove extra class bzr revid: dbr@tinyerp.com-20120705130258-0fmma20qwhv2vssg --- addons/survey/survey_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/survey/survey_view.xml b/addons/survey/survey_view.xml index c1e0355073c..a8a8c59f24b 100644 --- a/addons/survey/survey_view.xml +++ b/addons/survey/survey_view.xml @@ -316,7 +316,7 @@ -
+
i
    From 58549bc503cd715589c4da32e9c4dbde4e419b6a Mon Sep 17 00:00:00 2001 From: "DBR (OpenERP)" Date: Thu, 5 Jul 2012 18:46:54 +0530 Subject: [PATCH 044/122] [IMP]String imp bzr revid: dbr@tinyerp.com-20120705131654-fy1c092kne3bwftj --- addons/survey/survey_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/survey/survey_view.xml b/addons/survey/survey_view.xml index a8a8c59f24b..8aeec213648 100644 --- a/addons/survey/survey_view.xml +++ b/addons/survey/survey_view.xml @@ -331,8 +331,8 @@ By:

- Open From: + Opened at , From 17b09849fb6c4d54796bc7e953264315d8f16acf Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Thu, 5 Jul 2012 16:22:46 +0200 Subject: [PATCH 045/122] [WIP] Breakpoint commit. Gonna refactor everything bzr revid: fme@openerp.com-20120705142246-yelkx5eqxxzyf45i --- addons/web/static/src/js/views.js | 108 ++++++++++++++--------------- addons/web/static/src/xml/base.xml | 2 +- 2 files changed, 54 insertions(+), 56 deletions(-) diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index f4ec3d4458d..73dd9002a52 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -166,34 +166,7 @@ instance.web.ActionManager = instance.web.Widget.extend({ var inner_viewmanager = this.inner_viewmanager = new instance.web.ViewManagerAction(this, action); this.inner_viewmanager.appendTo(this.$element); this.inner_viewmanager.$element.addClass("oe_view_manager_" + action.target); - - this.breadcrumb.push({ - widget: inner_viewmanager, - show: function() { - inner_viewmanager.$element.show(); - inner_viewmanager.on_mode_switch(action.view_mode.split(',')[0]); - }, - action: action, - title: action.name - }); - inner_viewmanager.on_mode_switch.add_first(function(mode) { - if (mode === 'form' && !inner_viewmanager.views[mode].controller) { - self.breadcrumb.push({ - widget: inner_viewmanager, - show: function() { - inner_viewmanager.$element.show(); - inner_viewmanager.on_mode_switch('form'); - }, - action: action, - get_title: function() { - var form = inner_viewmanager.views['form'].controller; - if (form) { - return form.get('title'); - } - } - }); - } - }); + this.breadcrumb.push_actionmanager(inner_viewmanager); } }, ir_actions_act_window_close: function (action, on_closed) { @@ -219,7 +192,6 @@ instance.web.ActionManager = instance.web.Widget.extend({ (this.client_widget = new ClientWidget(this, action.params)).appendTo(this.$element); this.breadcrumb.push({ widget: this.client_widget, - action: action, title: action.name }); }, @@ -269,34 +241,62 @@ instance.web.BreadCrumb = instance.web.CallbackEnabled.extend({ } if (!item.hide) { item.hide = function() { - return item.widget.$element.hide(); + item.widget.$element.hide(); }; } if (!item.destroy) { item.destroy = function() { - return item.widget.destroy(); + item.widget.destroy(); }; } if (!item.get_title) { item.get_title = function() { - return item.title || item.action.name; + return item.title || item.widget.get('title'); }; } this.items.push(item); - console.log("BreadCrumb: add ", item); + }, + push_actionmanager: function(am) { + var self = this; + var bookmarked_view = am.active_view; + this.push({ + widget: am, + show: function() { + am.$element.show(); + am.on_mode_switch(current_view); + } + }); + am.on_mode_switch.add_first(function(mode) { + if (mode === 'form' && !am.views[mode].controller) { + self.push({ + widget: am, + show: function() { + am.$element.show(); + inner_viewmanager.on_mode_switch('form'); + }, + action: action, + get_title: function() { + var form = inner_viewmanager.views['form'].controller; + if (form) { + return form.get('title'); + } + } + }); + } + }); }, pop: function() { this.remove_item(this.items.length - 1); this.select_item(this.items.length - 1); }, + get_title: function() { + return QWeb.render('BreadCrumb', { widget: this }); + }, hide_items: function() { _.each(this.items, function(i) { i.hide(); }); }, - get_title: function() { - return QWeb.render('BreadCrumb', { widget: this }); - }, on_item_clicked: function(ev) { var $e = $(ev.target); var index = $e.data('index'); @@ -380,6 +380,14 @@ instance.web.ViewManager = instance.web.Widget.extend({ if (this.flags.views_switcher === false) { this.$element.find('.oe_view_manager_switch').hide(); } + this.on('change:title', this, function() { + var breadcrumb = self.getParent().breadcrumb; + if (breadcrumb) { + self.$element.find('.oe_view_title_text:first').html(breadcrumb.get_title()); + } else { + self.$element.find('.oe_view_title_text:first').text(self.get('title')); + } + }); // If no default view defined, switch to the first one in sequence var default_view = this.flags.default_view || this.views_src[0].view_type; return this.on_mode_switch(default_view); @@ -416,10 +424,16 @@ instance.web.ViewManager = instance.web.Widget.extend({ } } var controller = new controllerclass(this, this.dataset, view.view_id, options); + controller.on("change:title", this, function() { + if (self.active_view === view_type) { + self.set({ 'title' : controller.get('title') }); + } + }); if (view.embedded_view) { controller.set_embedded_view(view.embedded_view); } controller.do_switch_view.add_last(_.bind(this.switch_view, this)); + controller.do_prev_view.add_last(this.on_prev_view); var container = this.$element.find(".oe_view_manager_view_" + view_type); view_promise = controller.appendTo(container); @@ -463,9 +477,6 @@ instance.web.ViewManager = instance.web.Widget.extend({ } } }); - - self.$element.find('.oe_view_title_text:first').html( - self.display_title()); }); return view_promise; }, @@ -561,14 +572,6 @@ instance.web.ViewManager = instance.web.Widget.extend({ */ on_action_executed: function () { }, - display_title: function () { - var view = this.views[this.active_view]; - if (view) { - // ick - return view.controller.fields_view.arch.attrs.string; - } - return ''; - } }); instance.web.ViewManagerAction = instance.web.ViewManager.extend({ @@ -613,7 +616,7 @@ instance.web.ViewManagerAction = instance.web.ViewManager.extend({ if (this.session.hidden_menutips) { return; } - this.session.hidden_menutips = {} + this.session.hidden_menutips = {}; }, /** * Initializes the ViewManagerAction: sets up the searchview (if the @@ -816,13 +819,8 @@ instance.web.ViewManagerAction = instance.web.ViewManager.extend({ self.views[self.active_view].controller.do_load_state(state, warm); }); }, - display_title: function () { - var am = this.getParent(); - if (am) { - return am.breadcrumb.get_title(); - } else { - return _.escape(this.action.name); - } + set_title: function (title) { + this.getParent().breadcrumb.update(); } }); diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index b5b4c708b97..c81b00d623c 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -417,7 +417,7 @@

- +

From 4f04c1b80b76eaf885cc298fc87554a1372a8cc2 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Thu, 5 Jul 2012 21:22:27 +0200 Subject: [PATCH 046/122] [WIP] Refactor views title managment + lazy loading bzr revid: fme@openerp.com-20120705192227-r4hu0kcq3ngqsud4 --- addons/web/static/src/js/views.js | 154 ++++++++++++++++------------- addons/web/static/src/xml/base.xml | 2 +- 2 files changed, 86 insertions(+), 70 deletions(-) diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index 73dd9002a52..dfb63808fac 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -164,9 +164,9 @@ instance.web.ActionManager = instance.web.Widget.extend({ } this.inner_action = action; var inner_viewmanager = this.inner_viewmanager = new instance.web.ViewManagerAction(this, action); + this.breadcrumb.push_actionmanager(inner_viewmanager); this.inner_viewmanager.appendTo(this.$element); this.inner_viewmanager.$element.addClass("oe_view_manager_" + action.target); - this.breadcrumb.push_actionmanager(inner_viewmanager); } }, ir_actions_act_window_close: function (action, on_closed) { @@ -254,36 +254,34 @@ instance.web.BreadCrumb = instance.web.CallbackEnabled.extend({ return item.title || item.widget.get('title'); }; } + console.log("breadcrumb push", item); this.items.push(item); }, - push_actionmanager: function(am) { + push_actionmanager: function(am, view_type) { var self = this; - var bookmarked_view = am.active_view; + var bookmarked_view = view_type || am.active_view || am.views_src[0].view_type; this.push({ widget: am, show: function() { am.$element.show(); - am.on_mode_switch(current_view); - } - }); - am.on_mode_switch.add_first(function(mode) { - if (mode === 'form' && !am.views[mode].controller) { - self.push({ - widget: am, - show: function() { - am.$element.show(); - inner_viewmanager.on_mode_switch('form'); - }, - action: action, - get_title: function() { - var form = inner_viewmanager.views['form'].controller; - if (form) { - return form.get('title'); - } - } - }); + if (am.active_view !== bookmarked_view) { + am.on_mode_switch(bookmarked_view); + am.set_title(); + } + }, + get_title: function() { + return am.views[bookmarked_view].controller.get('title'); } }); + if (bookmarked_view !== 'form') { + am.on_mode_switch.add_first(function(mode) { + if (mode === 'form') { + self.push_actionmanager(am, 'form'); + } else { + // select previous to form and remove form + } + }); + } }, pop: function() { this.remove_item(this.items.length - 1); @@ -314,9 +312,16 @@ instance.web.BreadCrumb = instance.web.CallbackEnabled.extend({ } }, remove_item: function(index) { + console.log("Breadcrumb remove index", index); var item = this.items.splice(index, 1)[0]; if (item) { - item.destroy(); + var dups = _.filter(this.items, function(it) { + return item.widget === it.widget; + }); + if (dups.length === 0) { + console.log("Breadcrumb Destroy", item); + item.destroy(); + } } else { console.warn("Breadcrumb: Can't remove item at index", index); } @@ -380,14 +385,6 @@ instance.web.ViewManager = instance.web.Widget.extend({ if (this.flags.views_switcher === false) { this.$element.find('.oe_view_manager_switch').hide(); } - this.on('change:title', this, function() { - var breadcrumb = self.getParent().breadcrumb; - if (breadcrumb) { - self.$element.find('.oe_view_title_text:first').html(breadcrumb.get_title()); - } else { - self.$element.find('.oe_view_title_text:first').text(self.get('title')); - } - }); // If no default view defined, switch to the first one in sequence var default_view = this.flags.default_view || this.views_src[0].view_type; return this.on_mode_switch(default_view); @@ -412,41 +409,7 @@ instance.web.ViewManager = instance.web.Widget.extend({ this.active_view = view_type; if (!view.controller) { - // Lazy loading of views - var controllerclass = this.registry.get_object(view_type); - var options = _.clone(view.options); - if (view_type === "form" && this.action) { - switch (this.action.target) { - case 'new': - case 'inline': - options.initial_mode = 'edit'; - break; - } - } - var controller = new controllerclass(this, this.dataset, view.view_id, options); - controller.on("change:title", this, function() { - if (self.active_view === view_type) { - self.set({ 'title' : controller.get('title') }); - } - }); - if (view.embedded_view) { - controller.set_embedded_view(view.embedded_view); - } - controller.do_switch_view.add_last(_.bind(this.switch_view, this)); - - controller.do_prev_view.add_last(this.on_prev_view); - var container = this.$element.find(".oe_view_manager_view_" + view_type); - view_promise = controller.appendTo(container); - this.views[view_type].controller = controller; - this.views[view_type].deferred.resolve(view_type); - $.when(view_promise).then(function() { - self.on_controller_inited(view_type, controller); - if (self.searchview - && self.flags.auto_search - && view.controller.searchable !== false) { - self.searchview.ready.then(self.searchview.do_search); - } - }); + view_promise = this.do_create_view(view_type); } else if (this.searchview && self.flags.auto_search && view.controller.searchable !== false) { @@ -480,6 +443,50 @@ instance.web.ViewManager = instance.web.Widget.extend({ }); return view_promise; }, + do_create_view: function(view_type) { + // Lazy loading of views + var self = this; + var view = this.views[view_type]; + var controllerclass = this.registry.get_object(view_type); + var options = _.clone(view.options); + if (view_type === "form" && this.action) { + switch (this.action.target) { + case 'new': + case 'inline': + options.initial_mode = 'edit'; + break; + } + } + var controller = new controllerclass(this, this.dataset, view.view_id, options); + + controller.on("change:title", this, function() { + if (self.active_view === view_type) { + self.set_title(controller.get('title')); + } + }); + + if (view.embedded_view) { + controller.set_embedded_view(view.embedded_view); + } + controller.do_switch_view.add_last(_.bind(this.switch_view, this)); + + controller.do_prev_view.add_last(this.on_prev_view); + var container = this.$element.find(".oe_view_manager_view_" + view_type); + var view_promise = controller.appendTo(container); + this.views[view_type].controller = controller; + this.views[view_type].deferred.resolve(view_type); + return $.when(view_promise).then(function() { + self.on_controller_inited(view_type, controller); + if (self.searchview + && self.flags.auto_search + && view.controller.searchable !== false) { + self.searchview.ready.then(self.searchview.do_search); + } + }); + }, + set_title: function(title) { + this.$element.find('.oe_view_title_text:first').text(title); + }, /** * Method used internally when a view asks to switch view. This method is meant * to be extended by child classes to change the default behavior, which simply @@ -798,6 +805,18 @@ instance.web.ViewManagerAction = instance.web.ViewManager.extend({ }); }, + do_create_view: function(view_type) { + var r = this._super.apply(this, arguments); + var view = this.views[view_type].controller; + view.set({ 'title': this.action.name }); + return r; + }, + set_title: function(title) { + var breadcrumb = this.getParent().breadcrumb; + if (breadcrumb) { + this.$element.find('.oe_breadcrumb_title:first').html(breadcrumb.get_title()); + } + }, do_push_state: function(state) { if (this.getParent() && this.getParent().do_push_state) { state["view_type"] = this.active_view; @@ -819,9 +838,6 @@ instance.web.ViewManagerAction = instance.web.ViewManager.extend({ self.views[self.active_view].controller.do_load_state(state, warm); }); }, - set_title: function (title) { - this.getParent().breadcrumb.update(); - } }); instance.web.Sidebar = instance.web.Widget.extend({ diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index c81b00d623c..7dbf3bd4d7a 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -399,7 +399,7 @@ - + / From 648ea3e7ca278796ac781f1ba918235fe31cbf4a Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Thu, 5 Jul 2012 21:27:01 +0200 Subject: [PATCH 047/122] [WIP] Breadcrumb: compact code, fix client actions bzr revid: fme@openerp.com-20120705192701-3lzkdadaqtjo7wm0 --- addons/web/static/src/js/views.js | 35 +++++++++++++------------------ 1 file changed, 14 insertions(+), 21 deletions(-) diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index dfb63808fac..e6d404701a1 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -189,11 +189,12 @@ instance.web.ActionManager = instance.web.Widget.extend({ this.dialog_stop(); this.breadcrumb.hide_items(); var ClientWidget = instance.web.client_actions.get_object(action.tag); - (this.client_widget = new ClientWidget(this, action.params)).appendTo(this.$element); + this.client_widget = new ClientWidget(this, action.params); this.breadcrumb.push({ widget: this.client_widget, title: action.name }); + this.client_widget.appendTo(this.$element); }, ir_actions_report_xml: function(action, on_closed) { var self = this; @@ -234,26 +235,18 @@ instance.web.BreadCrumb = instance.web.CallbackEnabled.extend({ this.action_manager.$element.on('click', '.oe_breadcrumb_item', this.on_item_clicked); }, push: function(item) { - if (!item.show) { - item.show = function() { - item.widget.$element.show(); - }; - } - if (!item.hide) { - item.hide = function() { - item.widget.$element.hide(); - }; - } - if (!item.destroy) { - item.destroy = function() { - item.widget.destroy(); - }; - } - if (!item.get_title) { - item.get_title = function() { - return item.title || item.widget.get('title'); - }; - } + item.show = item.show || function() { + item.widget.$element.show(); + }; + item.hide = item.hide || function() { + item.widget.$element.hide(); + }; + item.destroy = item.destroy || function() { + item.widget.destroy(); + }; + item.get_title = item.get_title || function() { + return item.title || item.widget.get('title'); + }; console.log("breadcrumb push", item); this.items.push(item); }, From f461d0373480ee5e0e905c76afa3776cb204540e Mon Sep 17 00:00:00 2001 From: "Atul Patel (OpenERP)" Date: Fri, 6 Jul 2012 09:24:23 +0530 Subject: [PATCH 048/122] [IMP]: Put document button after Tasks button in project view. bzr revid: atp@tinyerp.com-20120706035423-1bysvapisarm3c69 --- addons/project/project_view.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml index 3889d8d03ae..14ab283ddbb 100644 --- a/addons/project/project_view.xml +++ b/addons/project/project_view.xml @@ -99,12 +99,12 @@
- -
+
- + From d2e77a5de15f2d9195d771e3a39e4b8bc33842c4 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Wed, 11 Jul 2012 18:32:23 +0200 Subject: [PATCH 100/122] [REV] Revert last commit bzr revid: fme@openerp.com-20120711163223-zeqr498v3oxvmryd --- addons/web_kanban/static/src/js/kanban.js | 5 +++-- addons/web_kanban/static/src/xml/web_kanban.xml | 2 -- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js index ce56b7a041f..3480418c755 100644 --- a/addons/web_kanban/static/src/js/kanban.js +++ b/addons/web_kanban/static/src/js/kanban.js @@ -219,6 +219,7 @@ instance.web_kanban.KanbanView = instance.web.View.extend({ group.destroy(); }); this.groups = []; + this.$element.find('.oe_kanban_groups_headers, .oe_kanban_groups_records').empty(); }, do_add_groups: function(groups) { var self = this; @@ -226,7 +227,7 @@ instance.web_kanban.KanbanView = instance.web.View.extend({ self.groups[group.undefined_title ? 'unshift' : 'push'](group); }); var groups_started = _.map(this.groups, function(group) { - return group.insertBefore(self.$element.find('.oe_kanban_groups_headers td:last')); + return group.appendTo(self.$element.find('.oe_kanban_groups_headers')); }); return $.when.apply(null, groups_started).then(function () { self.on_groups_started(); @@ -393,7 +394,7 @@ instance.web_kanban.KanbanGroup = instance.web.OldWidget.extend({ self.quick.replace($(".oe_kanban_no_group_qc_placeholder")); } this.$records = $(QWeb.render('KanbanView.group_records_container', { widget : this})); - this.$records.insertBefore(this.view.$element.find('.oe_kanban_groups_records td:last')); + this.$records.appendTo(this.view.$element.find('.oe_kanban_groups_records')); this.$element.find(".oe_kanban_fold_icon").click(function() { self.do_toggle_fold(); self.view.compute_groups_width(); diff --git a/addons/web_kanban/static/src/xml/web_kanban.xml b/addons/web_kanban/static/src/xml/web_kanban.xml index 0557f71b85b..7eb453371b2 100644 --- a/addons/web_kanban/static/src/xml/web_kanban.xml +++ b/addons/web_kanban/static/src/xml/web_kanban.xml @@ -4,10 +4,8 @@
- -
From b0b5a5988f613350d16d50d09adc9c12eb15022a Mon Sep 17 00:00:00 2001 From: Launchpad Translations on behalf of openerp <> Date: Thu, 12 Jul 2012 04:58:48 +0000 Subject: [PATCH 101/122] Launchpad automatic translations update. bzr revid: launchpad_translations_on_behalf_of_openerp-20120712044116-gnxo3c234xwbzacm bzr revid: launchpad_translations_on_behalf_of_openerp-20120712045848-qoy4f00epmiytqw2 --- addons/account/i18n/zh_CN.po | 2 +- addons/base_setup/i18n/ja.po | 24 +++---- addons/point_of_sale/i18n/ja.po | 8 +-- addons/project_timesheet/i18n/mn.po | 2 +- addons/stock/i18n/ja.po | 6 +- addons/web_diagram/i18n/bg.po | 81 +++++++++++++++++++++ addons/web_gantt/i18n/bg.po | 28 ++++++++ addons/web_kanban/i18n/bg.po | 69 ++++++++++++++++++ addons/web_mobile/i18n/bg.po | 106 ++++++++++++++++++++++++++++ 9 files changed, 305 insertions(+), 21 deletions(-) create mode 100644 addons/web_diagram/i18n/bg.po create mode 100644 addons/web_gantt/i18n/bg.po create mode 100644 addons/web_kanban/i18n/bg.po create mode 100644 addons/web_mobile/i18n/bg.po diff --git a/addons/account/i18n/zh_CN.po b/addons/account/i18n/zh_CN.po index 37fe86db46b..96edc80159f 100644 --- a/addons/account/i18n/zh_CN.po +++ b/addons/account/i18n/zh_CN.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-07-11 05:15+0000\n" +"X-Launchpad-Export-Date: 2012-07-12 04:41+0000\n" "X-Generator: Launchpad (build 15593)\n" #. module: account diff --git a/addons/base_setup/i18n/ja.po b/addons/base_setup/i18n/ja.po index 8bf029ddbdb..7d6aaaee212 100644 --- a/addons/base_setup/i18n/ja.po +++ b/addons/base_setup/i18n/ja.po @@ -8,14 +8,14 @@ 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-06-25 05:03+0000\n" -"Last-Translator: Tomomi Mengelberg \n" +"PO-Revision-Date: 2012-07-12 01:34+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-06-26 05:22+0000\n" -"X-Generator: Launchpad (build 15482)\n" +"X-Launchpad-Export-Date: 2012-07-12 04:40+0000\n" +"X-Generator: Launchpad (build 15593)\n" #. module: base_setup #: field:user.preferences.config,menu_tips:0 @@ -200,17 +200,17 @@ msgstr "どのように顧客を呼びますか" #. module: base_setup #: field:migrade.application.installer.modules,quickbooks_ippids:0 msgid "Quickbooks Ippids" -msgstr "Quickbooks lppids" +msgstr "QuickBooksのIPP / IDS" #. module: base_setup #: selection:base.setup.terminology,partner:0 msgid "Client" -msgstr "取引先" +msgstr "顧客" #. module: base_setup #: field:migrade.application.installer.modules,import_saleforce:0 msgid "Import Saleforce" -msgstr "Saleforceを取り込む" +msgstr "Salesforceのインポート" #. module: base_setup #: field:user.preferences.config,context_tz:0 @@ -249,22 +249,22 @@ msgstr "user.preferences.config" #. module: base_setup #: model:ir.actions.act_window,name:base_setup.action_config_access_other_user msgid "Create Additional Users" -msgstr "追加ユーザを作成します。" +msgstr "追加ユーザの作成" #. module: base_setup #: model:ir.actions.act_window,name:base_setup.action_import_create_installer msgid "Create or Import Customers" -msgstr "顧客を作成または取り込みます。" +msgstr "顧客の作成 / インポート" #. module: base_setup #: field:migrade.application.installer.modules,import_sugarcrm:0 msgid "Import Sugarcrm" -msgstr "SugarCRMを取り込みます。" +msgstr "SugarCRMのインポート" #. module: base_setup #: help:product.installer,customers:0 msgid "Import or create customers" -msgstr "顧客を取り込みまたは作成します。" +msgstr "顧客の作成 / インポート" #. module: base_setup #: selection:user.preferences.config,view:0 @@ -279,7 +279,7 @@ msgstr "SugarCRMを取り込むために" #. module: base_setup #: selection:base.setup.terminology,partner:0 msgid "Partner" -msgstr "パートナー" +msgstr "パートナ" #. module: base_setup #: view:base.setup.terminology:0 diff --git a/addons/point_of_sale/i18n/ja.po b/addons/point_of_sale/i18n/ja.po index ce858ab93b6..ac3e2983d30 100644 --- a/addons/point_of_sale/i18n/ja.po +++ b/addons/point_of_sale/i18n/ja.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-02-08 01:37+0100\n" -"PO-Revision-Date: 2012-06-08 02:57+0000\n" +"PO-Revision-Date: 2012-07-11 05:37+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-06-09 05:39+0000\n" -"X-Generator: Launchpad (build 15376)\n" +"X-Launchpad-Export-Date: 2012-07-12 04:40+0000\n" +"X-Generator: Launchpad (build 15593)\n" #. module: point_of_sale #: field:report.transaction.pos,product_nb:0 @@ -765,7 +765,7 @@ msgstr "小計の合計" #. module: point_of_sale #: field:pos.order,lines:0 msgid "Order Lines" -msgstr "受注行" +msgstr "オーダー行" #. module: point_of_sale #: view:report.transaction.pos:0 diff --git a/addons/project_timesheet/i18n/mn.po b/addons/project_timesheet/i18n/mn.po index 0dbf42990af..47f4d277089 100644 --- a/addons/project_timesheet/i18n/mn.po +++ b/addons/project_timesheet/i18n/mn.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-07-11 05:15+0000\n" +"X-Launchpad-Export-Date: 2012-07-12 04:41+0000\n" "X-Generator: Launchpad (build 15593)\n" #. module: project_timesheet diff --git a/addons/stock/i18n/ja.po b/addons/stock/i18n/ja.po index cd0cc1d2155..524432fd1ce 100644 --- a/addons/stock/i18n/ja.po +++ b/addons/stock/i18n/ja.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-02-08 01:37+0100\n" -"PO-Revision-Date: 2012-06-29 23:16+0000\n" +"PO-Revision-Date: 2012-07-11 05:35+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-07-01 04:39+0000\n" -"X-Generator: Launchpad (build 15520)\n" +"X-Launchpad-Export-Date: 2012-07-12 04:40+0000\n" +"X-Generator: Launchpad (build 15593)\n" #. module: stock #: field:product.product,track_outgoing:0 diff --git a/addons/web_diagram/i18n/bg.po b/addons/web_diagram/i18n/bg.po new file mode 100644 index 00000000000..746c127c8fc --- /dev/null +++ b/addons/web_diagram/i18n/bg.po @@ -0,0 +1,81 @@ +# Bulgarian 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-07-02 09:06+0200\n" +"PO-Revision-Date: 2012-07-11 13:48+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Bulgarian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-07-12 04:58+0000\n" +"X-Generator: Launchpad (build 15593)\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:165 +msgid "Are you sure?" +msgstr "Сигурни ли сте?" + +#. openerp-web +#: addons/web_diagram/static/src/js/diagram.js:195 +msgid "" +"Deleting this node cannot be undone.\n" +"It will also delete all connected transitions.\n" +"\n" +"Are you sure ?" +msgstr "" +"Изтриването на този възел не може да бъде отменено.\n" +"То също така ще изтрие и всички свързани преходи.\n" +"\n" +"Сигурни ли сте?" + +#. openerp-web +#: addons/web_diagram/static/src/js/diagram.js:213 +msgid "" +"Deleting this transition cannot be undone.\n" +"\n" +"Are you sure ?" +msgstr "" +"Изтриването на този възел не може да бъде отменено.\n" +"\n" +"Сигурни ли сте?" + +#. openerp-web +#: 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:232 +#: addons/web_diagram/static/src/js/diagram.js:296 +msgid "Open: " +msgstr "Отвори: " + +#. openerp-web +#: 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:289 +#: addons/web_diagram/static/src/js/diagram.js:308 +msgid "Transition" +msgstr "Преход" + +#. openerp-web +#: addons/web_diagram/static/src/xml/base_diagram.xml:6 +msgid "New Node" +msgstr "Нов възел" diff --git a/addons/web_gantt/i18n/bg.po b/addons/web_gantt/i18n/bg.po new file mode 100644 index 00000000000..5b4bda644db --- /dev/null +++ b/addons/web_gantt/i18n/bg.po @@ -0,0 +1,28 @@ +# Bulgarian 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-07-02 09:06+0200\n" +"PO-Revision-Date: 2012-07-11 13:51+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Bulgarian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-07-12 04:58+0000\n" +"X-Generator: Launchpad (build 15593)\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_kanban/i18n/bg.po b/addons/web_kanban/i18n/bg.po new file mode 100644 index 00000000000..21d063845af --- /dev/null +++ b/addons/web_kanban/i18n/bg.po @@ -0,0 +1,69 @@ +# Bulgarian 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-07-02 09:06+0200\n" +"PO-Revision-Date: 2012-07-11 14:02+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Bulgarian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-07-12 04:58+0000\n" +"X-Generator: Launchpad (build 15593)\n" + +#. openerp-web +#: addons/web_kanban/static/src/js/kanban.js:10 +msgid "Kanban" +msgstr "Канбан" + +#. openerp-web +#: addons/web_kanban/static/src/js/kanban.js:372 +msgid "Undefined" +msgstr "Неопределен" + +#. openerp-web +#: addons/web_kanban/static/src/js/kanban.js:684 +msgid "Are you sure you want to delete this record ?" +msgstr "Сигурни ли сте, че искате да изтриете този запис?" + +#. openerp-web +#: addons/web_kanban/static/src/js/kanban.js:839 +msgid "Create: " +msgstr "" + +#. openerp-web +#: addons/web_kanban/static/src/xml/web_kanban.xml:53 +msgid "Show more... (" +msgstr "Покажи повече... (" + +#. openerp-web +#: addons/web_kanban/static/src/xml/web_kanban.xml:53 +msgid "remaining)" +msgstr "оставащ)" + +#. openerp-web +#: addons/web_kanban/static/src/xml/web_kanban.xml:71 +msgid "Add" +msgstr "" + +#. openerp-web +#: addons/web_kanban/static/src/xml/web_kanban.xml:71 +msgid "or" +msgstr "" + +#. openerp-web +#: addons/web_kanban/static/src/xml/web_kanban.xml:72 +msgid "Cancel" +msgstr "" + +#~ msgid "Create" +#~ msgstr "Създаване" + +#~ msgid "" +#~ msgstr "" diff --git a/addons/web_mobile/i18n/bg.po b/addons/web_mobile/i18n/bg.po new file mode 100644 index 00000000000..3c80927c542 --- /dev/null +++ b/addons/web_mobile/i18n/bg.po @@ -0,0 +1,106 @@ +# Bulgarian 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-07-02 09:06+0200\n" +"PO-Revision-Date: 2012-07-11 14:08+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Bulgarian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-07-12 04:58+0000\n" +"X-Generator: Launchpad (build 15593)\n" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:17 +msgid "OpenERP" +msgstr "OpenERP" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:22 +msgid "Database:" +msgstr "База данни:" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:30 +msgid "Login:" +msgstr "Вход:" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:32 +msgid "Password:" +msgstr "Парола:" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:34 +msgid "Login" +msgstr "Вход" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:36 +msgid "Bad username or password" +msgstr "Грешно потребителско име или парола" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:42 +msgid "Powered by openerp.com" +msgstr "Powered by openerp.com" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:49 +msgid "Home" +msgstr "Начало" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:57 +msgid "Favourite" +msgstr "Любими" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:58 +msgid "Preference" +msgstr "Предпочитания" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:123 +msgid "Logout" +msgstr "Изход" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:132 +msgid "There are no records to show." +msgstr "Няма записи за показване." + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:183 +msgid "Open this resource" +msgstr "Отвори този ресурс" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:223 +#: addons/web_mobile/static/src/xml/web_mobile.xml:226 +msgid "Percent of tasks closed according to total of tasks to do..." +msgstr "Процент на приключените задачи съпоставен с общия брой задачи..." + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:264 +#: addons/web_mobile/static/src/xml/web_mobile.xml:268 +msgid "On" +msgstr "Включено" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:265 +#: addons/web_mobile/static/src/xml/web_mobile.xml:269 +msgid "Off" +msgstr "Изключено" + +#. openerp-web +#: addons/web_mobile/static/src/xml/web_mobile.xml:294 +msgid "Form View" +msgstr "" From 7bc912723985fbef0aab7856b30597806a29696b Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Thu, 12 Jul 2012 11:17:56 +0200 Subject: [PATCH 102/122] [FIX] Hide only last item on push bzr revid: fme@openerp.com-20120712091756-g8gsmdxuvte9phse --- addons/web/static/src/js/views.js | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index 931019ce627..d2afb80ff23 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -28,9 +28,10 @@ instance.web.ActionManager = instance.web.Widget.extend({ } }, push_breadcrumb: function(item) { - _.each(this.breadcrumbs, function(i) { - i.hide(); - }); + var last = this.breadcrumbs.slice(-1)[0]; + if (last) { + last.hide(); + } item.id = _.uniqueId('breadcrumb_'); item.show = item.show || function() { item.widget.$element.show(); @@ -282,9 +283,6 @@ instance.web.ActionManager = instance.web.Widget.extend({ } }); -instance.web.BreadCrumb = instance.web.CallbackEnabled.extend({ -}); - instance.web.ViewManager = instance.web.Widget.extend({ template: "ViewManager", init: function(parent, dataset, views, flags) { From bdd6d0e5994045d6eadc443cd5d4d8d7549965fe Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Thu, 12 Jul 2012 11:37:08 +0200 Subject: [PATCH 103/122] [IMP] Use _.defaults bzr revid: fme@openerp.com-20120712093708-b5p58jzdn8y78xy4 --- addons/web/static/src/js/views.js | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index d2afb80ff23..62adafb2c05 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -33,18 +33,20 @@ instance.web.ActionManager = instance.web.Widget.extend({ last.hide(); } item.id = _.uniqueId('breadcrumb_'); - item.show = item.show || function() { - item.widget.$element.show(); - }; - item.hide = item.hide || function() { - item.widget.$element.hide(); - }; - item.destroy = item.destroy || function() { - item.widget.destroy(); - }; - item.get_title = item.get_title || function() { - return item.title || item.widget.get('title'); - }; + _.defaults(item, { + show: function() { + item.widget.$element.show(); + }, + hide: function() { + item.widget.$element.hide(); + }, + destroy: function() { + item.widget.destroy(); + }, + get_title: function() { + return item.title || item.widget.get('title'); + } + }); this.breadcrumbs.push(item); }, on_breadcrumb_clicked: function(ev) { From 76c0b261983c07147e875f41be9fdf54e7bc9063 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Thu, 12 Jul 2012 11:55:17 +0200 Subject: [PATCH 104/122] [ADD] Added doc to breadcrumb items callback bzr revid: fme@openerp.com-20120712095517-itzfdh52fd0zuzi4 --- addons/web/static/src/js/views.js | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index 62adafb2c05..bf385ff97f3 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -34,16 +34,36 @@ instance.web.ActionManager = instance.web.Widget.extend({ } item.id = _.uniqueId('breadcrumb_'); _.defaults(item, { - show: function() { + show: function(index) { + /* + * This callback is used whenever the widget should be shown. + * If multiple titles are used, the index can be used in order + * to define which item of the breadcrumb has been trigerred. + */ item.widget.$element.show(); }, hide: function() { + /* + * This callback is used whenever the widget should be hidden. + * Called on the last pushed item before pusing a new + * breadcrumb. + */ item.widget.$element.hide(); }, destroy: function() { + /* + * This callback is used whenever the widget should be + * destroyed. Happens when the breadcrumb is cleared. + */ item.widget.destroy(); }, get_title: function() { + /* + * Should return the title of the widget as a string. If an + * array is returned, multiple titles can be used (eg: a + * widget switching views). The #show() callback will receive + * the index of the selected title. + */ return item.title || item.widget.get('title'); } }); From 0aaa77339598e3ff14879b81ccafd61bd61fc9a5 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Thu, 12 Jul 2012 11:56:54 +0200 Subject: [PATCH 105/122] [REM] Removed useless argument causing problem in case of buggy load_state bzr revid: fme@openerp.com-20120712095654-32pj8yrwubf2up1w --- addons/web/static/src/js/views.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index bf385ff97f3..9a998d78545 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -800,7 +800,7 @@ instance.web.ViewManagerAction = instance.web.ViewManager.extend({ view: controller, view_manager: self })); - self.set_title(fvg.arch.attrs.string || fvg.name); + self.set_title(); }); }, do_create_view: function(view_type) { From b4b5321738cf39dfd5c2ba3b15c31625e2440e0c Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Thu, 12 Jul 2012 12:27:25 +0200 Subject: [PATCH 106/122] [ADD] Added jsdoc bzr revid: fme@openerp.com-20120712102725-fjd8izjibbbe0ljg --- addons/web/static/src/js/views.js | 40 +++++++++++++++---------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index 9a998d78545..1197ca2b4c8 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -27,6 +27,17 @@ instance.web.ActionManager = instance.web.Widget.extend({ this.dialog = null; } }, + /** + * Add a new item to the breadcrumb + * + * @param {Object} item breadcrumb item + * @param {Object} item.widget widget containing the view(s) to be added to the breadcrumb added + * @param {null|Function} item.show callback triggered whenever the widget should be shown back + * @param {null|Function} item.hide callback triggered whenever the widget should be shown hidden + * @param {null|Function} item.destroy callback triggered whenever the widget should be destroyed + * @param {null|String|Array} item.title title(s) of the view(s) to be displayed in the breadcrumb + * @param {null|Function} item.get_title function returning the title(s) of the view(s) to be displayed in the breadcrumb + */ push_breadcrumb: function(item) { var last = this.breadcrumbs.slice(-1)[0]; if (last) { @@ -35,35 +46,24 @@ instance.web.ActionManager = instance.web.Widget.extend({ item.id = _.uniqueId('breadcrumb_'); _.defaults(item, { show: function(index) { - /* - * This callback is used whenever the widget should be shown. - * If multiple titles are used, the index can be used in order - * to define which item of the breadcrumb has been trigerred. - */ + // If multiple titles are used, the index can be used in order + // to define which item of the breadcrumb has been trigerred. item.widget.$element.show(); }, hide: function() { - /* - * This callback is used whenever the widget should be hidden. - * Called on the last pushed item before pusing a new - * breadcrumb. - */ + // Called on the last pushed item before pusing a new breadcrumb. item.widget.$element.hide(); }, destroy: function() { - /* - * This callback is used whenever the widget should be - * destroyed. Happens when the breadcrumb is cleared. - */ + // Called on all breadcrumbs items when it should be cleared. + // Eg: new action triggered from menu item.widget.destroy(); }, get_title: function() { - /* - * Should return the title of the widget as a string. If an - * array is returned, multiple titles can be used (eg: a - * widget switching views). The #show() callback will receive - * the index of the selected title. - */ + // Should return the title(s) of the widget as a string. + // If an array is returned, multiple titles can be used + // (eg: a widget switching views). The #show() callback will receive + // the index of the selected title. return item.title || item.widget.get('title'); } }); From 87cf418d788c05adeaca0a31083f81bb51e52b98 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Thu, 12 Jul 2012 14:12:46 +0200 Subject: [PATCH 107/122] [FIX] Fixed loop bug bzr revid: fme@openerp.com-20120712121246-m16bo4d0cw7o7oz4 --- addons/web/static/src/js/views.js | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index 1197ca2b4c8..842536f5d67 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -71,17 +71,15 @@ instance.web.ActionManager = instance.web.Widget.extend({ }, on_breadcrumb_clicked: function(ev) { var $e = $(ev.target); + var id = $e.data('id'); var item; - for (var i = 0; i < this.breadcrumbs.length; i += 1) { + for (var i = this.breadcrumbs.length - 1; i >= 0; i--) { var it = this.breadcrumbs[i]; - if (it.id == $e.data('id')) { + if (it.id == id) { item = it; - continue; - } - if (item) { - // Remove items after selected item - this.remove_breadcrumb(i); + break; } + this.remove_breadcrumb(i); } var index = $e.parent().find('.oe_breadcrumb_item[data-id=' + $e.data('id') + ']').index($e); item.show(index, $e); From 0c4b5b5cf2ec6d94163c5010080bd8841241d6fc Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" Date: Thu, 12 Jul 2012 16:46:00 +0200 Subject: [PATCH 108/122] [IMP] project.*: usability, review of form views bzr revid: qdp-launchpad@openerp.com-20120712144600-irb7zscuotkz4jsg --- addons/account/project/project_view.xml | 4 +- ...analytic_contract_expense_project_view.xml | 8 +-- .../analytic_contract_project_view.xml | 15 +++-- addons/project/project.py | 4 +- addons/project/project_view.xml | 56 ++++++++----------- addons/project_issue/project_issue_view.xml | 43 ++++++++------ .../project_long_term_view.xml | 38 ++++++------- addons/resource/resource.py | 4 +- addons/resource/resource_view.xml | 32 +++++------ 9 files changed, 100 insertions(+), 104 deletions(-) diff --git a/addons/account/project/project_view.xml b/addons/account/project/project_view.xml index ca4d6f2214f..492ab249a39 100644 --- a/addons/account/project/project_view.xml +++ b/addons/account/project/project_view.xml @@ -264,8 +264,8 @@
diff --git a/addons/analytic_contract_expense_project/analytic_contract_expense_project_view.xml b/addons/analytic_contract_expense_project/analytic_contract_expense_project_view.xml index d4350c7325f..3e892d5940f 100644 --- a/addons/analytic_contract_expense_project/analytic_contract_expense_project_view.xml +++ b/addons/analytic_contract_expense_project/analytic_contract_expense_project_view.xml @@ -15,13 +15,13 @@ - + - + - + - +
+ + + +