From 7af2e71817714f5221b85982b8c9e192c1f74404 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Mon, 21 May 2012 09:38:51 +0200 Subject: [PATCH 01/14] [FIX] fields: remove leftover print statement from r.4160 bzr revid: odo@openerp.com-20120521073851-0e9k8ujhexysg95v --- openerp/osv/fields.py | 1 - 1 file changed, 1 deletion(-) diff --git a/openerp/osv/fields.py b/openerp/osv/fields.py index 4fc5b911f4b..2a6d0d6e3eb 100644 --- a/openerp/osv/fields.py +++ b/openerp/osv/fields.py @@ -1176,7 +1176,6 @@ class related(function): # name_get as root, as seeing the name of a related # object depends on access right of source document, # not target, so user may not have access. - print self._obj, self.string ng = dict(obj.pool.get(self._obj).name_get(cr, 1, ids, context=context)) for r in res: if res[r]: From d117f3d4bddbbbffcaab7b096a65050880e9a68e Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Mon, 21 May 2012 11:59:41 +0200 Subject: [PATCH 02/14] [imp] implemented quick_create_enabled an create_enabled bzr revid: nicolas.vanhoren@openerp.com-20120521095941-qukymjtik97s5d1h --- addons/web_kanban/static/src/js/kanban.js | 18 ++++++++++++++++-- .../web_kanban/static/src/xml/web_kanban.xml | 8 +++++--- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js index 2a143934d2b..1b06fd91ce1 100644 --- a/addons/web_kanban/static/src/js/kanban.js +++ b/addons/web_kanban/static/src/js/kanban.js @@ -12,7 +12,7 @@ instance.web_kanban.KanbanView = instance.web.View.extend({ view_type: "kanban", init: function (parent, dataset, view_id, options) { this._super(parent, dataset, view_id, options); - _.defaults(this.options, {"quick_creatable": true}); + _.defaults(this.options, {"quick_creatable": true, "creatable": true}); this.fields_view = {}; this.fields_keys = []; this.group_by = null; @@ -35,6 +35,7 @@ instance.web_kanban.KanbanView = instance.web.View.extend({ this.add_group_mutex = new $.Mutex(); }, on_loaded: function(data) { + this.fields_view = data; this.$buttons = $(QWeb.render("KanbanView.buttons", {'widget': this})); if (this.options.$buttons) { this.$buttons.appendTo(this.options.$buttons); @@ -44,12 +45,25 @@ instance.web_kanban.KanbanView = instance.web.View.extend({ this.$buttons .on('click','button.oe_kanban_button_new', this.do_add_record); this.$groups = this.$element.find('.oe_kanban_groups tr'); - this.fields_view = data; this.fields_keys = _.keys(this.fields_view.fields); this.add_qweb_template(); this.has_been_loaded.resolve(); return $.when(); }, + _is_quick_create_enabled: function() { + if (! this.options.quick_creatable) + return false; + if (this.fields_view.arch.attrs.quick_create !== undefined) + return JSON.parse(this.fields_view.arch.attrs.quick_create); + return !! this.group_by; + }, + _is_create_enabled: function() { + if (! this.options.creatable) + return false; + if (this.fields_view.arch.attrs.create !== undefined) + return JSON.parse(this.fields_view.arch.attrs.create); + return true; + }, add_qweb_template: function() { for (var i=0, ii=this.fields_view.arch.children.length; i < ii; i++) { var child = this.fields_view.arch.children[i]; diff --git a/addons/web_kanban/static/src/xml/web_kanban.xml b/addons/web_kanban/static/src/xml/web_kanban.xml index 9ab08957d51..4a193323ce5 100644 --- a/addons/web_kanban/static/src/xml/web_kanban.xml +++ b/addons/web_kanban/static/src/xml/web_kanban.xml @@ -12,7 +12,9 @@
- + + +
@@ -20,7 +22,7 @@
- +
@@ -37,7 +39,7 @@

- + From c47dc13048bf049c4f6084e473067fd2f60afab7 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Mon, 21 May 2012 12:02:04 +0200 Subject: [PATCH 03/14] [imp] modified rng of kanban view to add quick_create/create flags bzr revid: nicolas.vanhoren@openerp.com-20120521100204-maa76010h4ugz6oz --- openerp/addons/base/rng/view.rng | 2 ++ 1 file changed, 2 insertions(+) diff --git a/openerp/addons/base/rng/view.rng b/openerp/addons/base/rng/view.rng index e96c83f44bf..5991b57e529 100644 --- a/openerp/addons/base/rng/view.rng +++ b/openerp/addons/base/rng/view.rng @@ -206,6 +206,8 @@ grouping is selected in the search view --> + + From f2b5d602bcdb167393038bd7159d21e47e3c5144 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Mon, 21 May 2012 13:40:38 +0200 Subject: [PATCH 04/14] [ADD] QWeb2: added 'void' reserved keyword bzr revid: fme@openerp.com-20120521114038-tz48ac3cgg8zjmti --- addons/web/static/lib/qweb/qweb2.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/web/static/lib/qweb/qweb2.js b/addons/web/static/lib/qweb/qweb2.js index d4f7781e88b..c9b065ee69f 100644 --- a/addons/web/static/lib/qweb/qweb2.js +++ b/addons/web/static/lib/qweb/qweb2.js @@ -4,7 +4,7 @@ // TODO: t-set + t-value + children node == scoped variable ? var QWeb2 = { expressions_cache: {}, - RESERVED_WORDS: 'true,false,NaN,null,undefined,debugger,console,in,instanceof,new,function,return,this,typeof,eval,Math,RegExp,Array,Object,Date'.split(','), + RESERVED_WORDS: 'true,false,NaN,null,undefined,debugger,console,in,instanceof,new,function,return,this,typeof,eval,void,Math,RegExp,Array,Object,Date'.split(','), ACTIONS_PRECEDENCE: 'foreach,if,call,set,esc,escf,raw,rawf,js,debug,log'.split(','), WORD_REPLACEMENT: { 'and': '&&', From 791061b067c787cf00a3a3a24d2c756a80957e28 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Mon, 21 May 2012 13:47:27 +0200 Subject: [PATCH 05/14] [IMP] Merge previous fp's base.css changes in base.sass bzr revid: fme@openerp.com-20120521114727-ou14pali2255am6w --- addons/web/static/src/css/base.css | 5 +---- addons/web/static/src/css/base.sass | 13 ++++--------- 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index a2fefddb32a..7682f92fcc6 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -517,6 +517,7 @@ border-right: 1px solid #afafb6; text-shadow: 0 1px 1px white; padding-bottom: 16px; + line-height: 18px; } .openerp a.oe_logo { width: 220px; @@ -729,10 +730,6 @@ .openerp .oe_menu_more_container .oe_menu_more li a { white-space: nowrap; } -.oe_leftbar { - line-height: 18px; -} - .openerp .oe_secondary_menu_section { font-weight: bold; margin-left: 8px; diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass index d7e42639254..f10224522c5 100644 --- a/addons/web/static/src/css/base.sass +++ b/addons/web/static/src/css/base.sass @@ -105,7 +105,6 @@ $colour4: #8a89ba border-right: none th, td padding: 0 - line-height: 18px text-align: left th font-weight: bold @@ -423,6 +422,7 @@ $colour4: #8a89ba border-right: 1px solid #afafb6 text-shadow: 0 1px 1px white padding-bottom: 16px + line-height: 18px a.oe_logo width: 220px display: block @@ -784,11 +784,6 @@ $colour4: #8a89ba .oe_view_manager_buttons white-space: nowrap // }}} - // ViewManager.body {{{ - .oe_view_manager_body - h4 - margin: 8px 0 - // }}} // ViewManager.pager {{{ .oe_view_manager_pager line-height: 26px @@ -1112,11 +1107,12 @@ $colour4: #8a89ba .oe_view_nocontent > img float: left - margin-right: 1.5em + margin: 1.5em > div // don't encroach on my arrow overflow: hidden - padding: 6px + padding: 35px 0px 0px 0px + max-width: 700px font-size: 125% .oe_view_topbar border-bottom: 1px solid #cacaca @@ -1308,7 +1304,6 @@ $colour4: #8a89ba padding-left: 8px @include box-shadow(none) @include radius(0px) - color: #666 .oe_form_field_many2one input, .oe_form_field_binary input, .oe_form_field_binary input, From cd9614cfdb7e6c29ea0d2fc4a76db221606c8b8f Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Mon, 21 May 2012 13:50:59 +0200 Subject: [PATCH 06/14] [ADD] Added oe_form_bottom class bzr revid: fme@openerp.com-20120521115059-ouw03odyc3bhpbls --- addons/web/static/src/css/base.css | 2 +- addons/web/static/src/css/base.sass | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index 7682f92fcc6..4a426e13e39 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -1495,7 +1495,7 @@ padding: 8px 0; border-bottom: 1px solid #dddddd; } -.openerp .oe_application .oe_form_sheet_width { +.openerp .oe_application .oe_form_sheet_width, .openerp .oe_application .oe_form_bottom { min-width: 650px; max-width: 980px; margin: 0 auto; diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass index f10224522c5..f128d93c4c1 100644 --- a/addons/web/static/src/css/base.sass +++ b/addons/web/static/src/css/base.sass @@ -1216,7 +1216,7 @@ $colour4: #8a89ba background: url(/web/static/src/img/form_sheetbg.png) padding: 8px 0 border-bottom: 1px solid #ddd - .oe_form_sheet_width + .oe_form_sheet_width, .oe_form_bottom min-width: 650px max-width: 980px margin: 0 auto From 2a0d2178568f4bf623c24c747f44a92f5c4d9560 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Mon, 21 May 2012 13:53:56 +0200 Subject: [PATCH 07/14] [IMP] Improved some form views. Use oe_form_bottom class instead of oe_form_sheet_width bzr revid: fme@openerp.com-20120521115356-c8a854lifxongy95 --- addons/crm/crm_lead_view.xml | 4 ++-- addons/hr_recruitment/hr_recruitment_view.xml | 2 +- addons/mail/res_users_view.xml | 2 +- addons/project/project_view.xml | 4 ++-- addons/sale/sale_view.xml | 2 +- addons/stock/stock_view.xml | 4 ++-- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml index 9c3bd07562c..5295695369d 100644 --- a/addons/crm/crm_lead_view.xml +++ b/addons/crm/crm_lead_view.xml @@ -155,7 +155,7 @@ -
+
@@ -530,7 +530,7 @@ -
+
diff --git a/addons/hr_recruitment/hr_recruitment_view.xml b/addons/hr_recruitment/hr_recruitment_view.xml index 5d175bd16f5..00098a4a766 100644 --- a/addons/hr_recruitment/hr_recruitment_view.xml +++ b/addons/hr_recruitment/hr_recruitment_view.xml @@ -145,7 +145,7 @@ -
+
diff --git a/addons/mail/res_users_view.xml b/addons/mail/res_users_view.xml index 072f2fc3ba5..0411bd418dc 100644 --- a/addons/mail/res_users_view.xml +++ b/addons/mail/res_users_view.xml @@ -27,7 +27,7 @@ -
+
diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml index d1e58193aa8..6266258046c 100644 --- a/addons/project/project_view.xml +++ b/addons/project/project_view.xml @@ -100,7 +100,7 @@ -
+
@@ -405,7 +405,7 @@ -
+
diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml index eef3713fcb4..0d466dd21fc 100644 --- a/addons/sale/sale_view.xml +++ b/addons/sale/sale_view.xml @@ -265,7 +265,7 @@ -
+
diff --git a/addons/stock/stock_view.xml b/addons/stock/stock_view.xml index 907d8146a7c..35baed85186 100644 --- a/addons/stock/stock_view.xml +++ b/addons/stock/stock_view.xml @@ -942,7 +942,7 @@ -
+
@@ -1058,7 +1058,7 @@ -
+
From 5feabe936f519760ad34884ee611e0b3e0cc9cca Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Mon, 21 May 2012 15:09:14 +0200 Subject: [PATCH 08/14] [IMP] Project Kanban: jslint and code indentation bzr revid: fme@openerp.com-20120521130914-c2iijoifs763am83 --- addons/project/static/src/css/project.css | 296 ++++++++++++---------- addons/project/static/src/js/project.js | 37 ++- 2 files changed, 179 insertions(+), 154 deletions(-) diff --git a/addons/project/static/src/css/project.css b/addons/project/static/src/css/project.css index 93437c878ba..7a354d5a801 100644 --- a/addons/project/static/src/css/project.css +++ b/addons/project/static/src/css/project.css @@ -1,42 +1,50 @@ .project_fields { - margin-top: 1px; - margin-bottom: 1px; - font-size: 11px; - padding-left: 0px; - } + margin-top: 1px; + margin-bottom: 1px; + font-size: 11px; + padding-left: 0px; +} .project_fields td { border: none; - padding: 2px 0 2px 8px; } + padding: 2px 0 2px 8px; +} .project_fields th { padding: 0; border-right: 1px solid #dddddd; vertical-align: top; - margin-right: 8px; } + margin-right: 8px; +} .project_vignettes{ - padding: 4px !important } - .project_vignettes li { + padding: 4px !important; +} +.project_vignettes li { float: left; - } - .project_vignettes .project_avatar { +} +.project_vignettes .project_avatar { width: 30px; height: 30px; - padding-left: 0px; } - .project_vignettes .project_fields { - width: 100%; } - .project_vignettes .project_fields th { - width: 120px; - font-weight: normal; } - .project_vignettes .project_fields td { - color: #888888; } - .project_vignettes h4 a { - color: #4c4c4c; } - .project_vignettes > li h4 { + padding-left: 0px; +} +.project_vignettes .project_fields { + width: 100%; +} +.project_vignettes .project_fields th { + width: 120px; + font-weight: normal; +} +.project_vignettes .project_fields td { + color: #888888; +} +.project_vignettes h4 a { + color: #4c4c4c; +} +.project_vignettes > li h4 { margin-bottom: 2px; - padding-left: 2px; } - + padding-left: 2px; +} .oe_project_buttons { padding: 2px 2px !important; - background: none !important; + background: none !important; background-color: transparent !important; border: hidden !important; color: #8A89BA !important; @@ -51,8 +59,8 @@ border-radius: 4px; -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); - -box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); - } + -box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); +} .click_button { background: none !important; background-color: transparent !important; @@ -68,54 +76,60 @@ -webkit-box-align: baseline; } - .click_button:hover { cursor: default !important; } .dropdown-menu { - display: none; - position: absolute; } + display: none; + position: absolute; +} .dropdown { - position: relative; } + position: relative; +} .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); - -khtml-opacity: 0.5; - -moz-opacity: 0.5; - opacity: 0.5; } - .oe_project_kanban_vignette .dropdown-menu .color-chooser { - padding: 0 3px; } - .oe_project_kanban_vignette .dropdown-menu .color-chooser li { - float: left; } - .oe_project_kanban_vignette .dropdown-menu .color-chooser li a { - padding: 2px; } + 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); + -khtml-opacity: 0.5; + -moz-opacity: 0.5; + opacity: 0.5; +} +.oe_project_kanban_vignette .dropdown-menu .color-chooser { + padding: 0 3px; +} +.oe_project_kanban_vignette .dropdown-menu .color-chooser li { + float: left; +} +.oe_project_kanban_vignette .dropdown-menu .color-chooser li a { + padding: 2px; +} a.oe_project_kanban_action { - position: absolute; - right: 0; - display: none; - } - a.oe_project_kanban_action:hover { - text-decoration: none; } - a.oe_project_kanban_action .oe_i { - color: #4c4c4c; } - -.square { - display: inline-block; - width: 18px; - height: 18px; - border:1px solid grey; - } + position: absolute; + right: 0; + display: none; +} +a.oe_project_kanban_action:hover { + text-decoration: none; +} +a.oe_project_kanban_action .oe_i { + color: #4c4c4c; +} +.square { + display: inline-block; + width: 18px; + height: 18px; + border:1px solid grey; +} .oe_kanban_color_0 { background: white; } @@ -136,85 +150,97 @@ a.oe_project_kanban_action { } .open { - display: block; - } - .open .dropdown-menu { - display: block; } + display: block; +} +.open .dropdown-menu { + display: block; +} a.oe_project_kanban_action { - position: absolute; - right: 0; - } - a.oe_project_kanban_action:hover { + position: absolute; + right: 0; +} +a.oe_project_kanban_action:hover { text-decoration: none; - } - a.oe_project_kanban_action .eo_i { - color: #4c4c4c; } +} +a.oe_project_kanban_action .eo_i { + color: #4c4c4c; +} .oe_project_kanban_vignette { - position: relative; - min-height: 50px; - /*background: white;*/ - border: 1px solid #d8d8d8; - border-bottom-color: #b9b9b9; - padding: 6px; - margin: 6px 0; - display: inline-block; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; - border-radius: 4px; - + position: relative; + min-height: 50px; + /*background: white;*/ + border: 1px solid #d8d8d8; + border-bottom-color: #b9b9b9; + padding: 6px; + margin: 6px 0; + display: inline-block; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; } - .oe_project_kanban_vignette:last-child { - margin-bottom: 0; } - .oe_project_kanban_vignette:hover { +.oe_project_kanban_vignette:last-child { + margin-bottom: 0; +} +.oe_project_kanban_vignette:hover { -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.6); -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.6); - -box-shadow: 0 0 3px rgba(0, 0, 0, 0.6); } - .oe_project_kanban_vignette h4 { - margin: 0 0 2px; } + -box-shadow: 0 0 3px rgba(0, 0, 0, 0.6); +} +.oe_project_kanban_vignette h4 { + margin: 0 0 2px; +} .oe_project_kanban_vignette .dropdown-menu { - top: 30px; - right: -140px; - padding: 4px; - border: 1px solid #afafb6; - width: 160px; - overflow-x: hidden; - z-index: 900; - background: white; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - border-radius: 3px; - -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); } - .oe_project_kanban_vignette .dropdown-menu p { - margin-left: 12px; } - .oe_project_kanban_vignette .dropdown-menu li { + top: 30px; + right: -140px; + padding: 4px; + border: 1px solid #afafb6; + width: 160px; + overflow-x: hidden; + z-index: 900; + background: white; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + -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); +} +.oe_project_kanban_vignette .dropdown-menu p { + margin-left: 12px; +} +.oe_project_kanban_vignette .dropdown-menu li { float: none; display: block; - background-color: none; } - .oe_project_kanban_vignette .dropdown-menu li a { - display: block; - padding: 3px 6px; - clear: both; - font-weight: normal; - line-height: 14px; - color: #4c4c4c; - text-decoration: none; } - .oe_project_kanban_vignette .dropdown-menu li a:hover { - background: #f0f0fa; - background: -moz-linear-gradient(#f0f0fa, #eeeef6); - background: -webkit-gradient(linear, left top, left bottom, from(#f0f0fa), to(#eeeef6)); - background: -webkit-linear-gradient(#f0f0fa, #eeeef6); - -moz-box-shadow: none; - -webkit-box-shadow: none; - -box-shadow: none; } + background-color: none; +} +.oe_project_kanban_vignette .dropdown-menu li a { + display: block; + padding: 3px 6px; + clear: both; + font-weight: normal; + line-height: 14px; + color: #4c4c4c; + text-decoration: none; +} +.oe_project_kanban_vignette .dropdown-menu li a:hover { + background: #f0f0fa; + background: -moz-linear-gradient(#f0f0fa, #eeeef6); + background: -webkit-gradient(linear, left top, left bottom, from(#f0f0fa), to(#eeeef6)); + background: -webkit-linear-gradient(#f0f0fa, #eeeef6); + -moz-box-shadow: none; + -webkit-box-shadow: none; + -box-shadow: none; +} .oe_project_kanban_vignette .dropdown-menu .color-chooser { - padding: 0 3px; } - .oe_project_kanban_vignette .dropdown-menu .color-chooser li { - float: left; } - .oe_project_kanban_vignette .dropdown-menu .color-chooser li a { - padding: 2px; } + padding: 0 3px; +} +.oe_project_kanban_vignette .dropdown-menu .color-chooser li { + float: left; +} +.oe_project_kanban_vignette .dropdown-menu .color-chooser li a { + padding: 2px; +} diff --git a/addons/project/static/src/js/project.js b/addons/project/static/src/js/project.js index 09a7c9eb256..8d806fb0605 100644 --- a/addons/project/static/src/js/project.js +++ b/addons/project/static/src/js/project.js @@ -3,31 +3,30 @@ openerp.project = function(openerp) { bind_events: function() { var self = this; self._super(); - if(this.view.dataset.model == 'project.project') { - + if (this.view.dataset.model == 'project.project') { /*set avatar title for members. In many2many fields, returns only list of ids. we can implement return value of m2m fields like [(1,"Adminstration"),...]. */ - _.each($(this.$element).find('.project_avatar'),function(avatar){ + _.each($(this.$element).find('.project_avatar'), function(avatar) { var dataset = new openerp.web.DataSetSearch(this, 'res.users', self.session.context, [['id','=',avatar.id]]); - dataset.read_slice(['name']).then(function(result){ - avatar.setAttribute("title",result[0].name) + dataset.read_slice(['name']).then(function(result) { + avatar.setAttribute("title",result[0].name); }); - }); - + }); + // set sequence like Tasks,Issues,Timesheets and Phases - var my_list = $("#list a") + var my_list = $("#list a"); my_list.sort(function (a, b) { - var aValue = parseInt(a.id); - var bValue = parseInt(b.id); + var aValue = parseInt(a.id, 10); + var bValue = parseInt(b.id, 10); return aValue == bValue ? 0 : aValue < bValue ? -1 : 1; - }); + }); $('#list').replaceWith(my_list); - + // when vignette is clicked, it opens the first action in sequence - if (my_list.length != 0) { - var click_button = $(this.$element).find('.click_button') + if (my_list.length !== 0) { + var click_button = $(this.$element).find('.click_button'); click_button.attr('data-name', my_list[0].getAttribute('data-name')); click_button.attr('data-type', "action"); } @@ -36,13 +35,13 @@ openerp.project = function(openerp) { we can do other way to implement new widget. because we need to rpc call for that. */ - this.$element.find('.bgcolor').click(function(){ - var color = parseInt($(this).find('span').attr('class').split(' ')[0].substring(16)) - var color_class = $(this).find('span').attr('class').split(' ')[0] + this.$element.find('.bgcolor').click(function() { + var color = parseInt($(this).find('span').attr('class').split(' ')[0].substring(16), 10); + var color_class = $(this).find('span').attr('class').split(' ')[0]; $(this).closest('#oe_project_kanban_vignette').removeClass().addClass(color_class + ' oe_project_kanban_vignette'); - self.view.dataset.write(parseInt(this.id), {color:color}); + self.view.dataset.write(parseInt(this.id, 10), {color:color}); }); } } }); -} +}; From 14c5ecc056c041c84128b76f84889a7091689d49 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Mon, 21 May 2012 15:55:56 +0200 Subject: [PATCH 09/14] [FIX] correct default values from yaml import bzr revid: chs@openerp.com-20120521135556-xa1jifioz3boxhqt --- openerp/tools/yaml_import.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/openerp/tools/yaml_import.py b/openerp/tools/yaml_import.py index 082b6487baa..136d1bcee7b 100644 --- a/openerp/tools/yaml_import.py +++ b/openerp/tools/yaml_import.py @@ -323,12 +323,11 @@ class YamlInterpreter(object): self.cr.commit() def _create_record(self, model, fields, view=False, parent={}, default=True): - allfields = model.fields_get(self.cr, 1, context=self.context) if view is not False: - defaults = default and model.default_get(self.cr, 1, allfields, context=self.context) or {} + defaults = default and model._add_missing_default_values(self.cr, 1, {}, context=self.context) or {} fg = model.fields_get(self.cr, 1, context=self.context) else: - default = {} + defaults = {} fg = {} record_dict = {} fields = fields or {} From 70a1ed47d317a3e4193cd5a374e28860244d3f68 Mon Sep 17 00:00:00 2001 From: Fabien Pinckaers Date: Mon, 21 May 2012 15:58:56 +0200 Subject: [PATCH 10/14] [IMP] Removing context_XXX_id for default searches; replaced by save as default search in the new search widget bzr revid: fp@tinyerp.com-20120521135856-hc0kzrpgrxozpq9r --- addons/crm/crm.py | 21 +----------------- addons/crm/crm_view.xml | 26 ---------------------- addons/hr/hr_department.py | 9 -------- addons/hr/hr_department_view.xml | 22 ------------------ addons/import_sugarcrm/import_sugarcrm.py | 1 - addons/project/project.py | 7 ------ addons/project/project_view.xml | 27 +---------------------- addons/project_issue/project_issue.py | 7 ------ 8 files changed, 2 insertions(+), 118 deletions(-) diff --git a/addons/crm/crm.py b/addons/crm/crm.py index 467ea64e633..8ab1e6e4ef0 100644 --- a/addons/crm/crm.py +++ b/addons/crm/crm.py @@ -224,10 +224,7 @@ class crm_base(object): return uid def _get_section(self, cr, uid, context=None): - """Gives section id for current User - """ - user = self.pool.get('res.users').browse(cr, uid, uid, context=context) - return user.context_section_id.id or False + return False def onchange_partner_address_id(self, cr, uid, ids, add, email=False): """This function returns value of partner email based on Partner Address @@ -605,20 +602,4 @@ def _links_get(self, cr, uid, context=None): res = obj.read(cr, uid, ids, ['object', 'name'], context) return [(r['object'], r['name']) for r in res] -class users(osv.osv): - _inherit = 'res.users' - _description = "Users" - _columns = { - 'context_section_id': fields.many2one('crm.case.section', 'Sales Team'), - } - - def create(self, cr, uid, vals, context=None): - res = super(users, self).create(cr, uid, vals, context=context) - section_obj=self.pool.get('crm.case.section') - if vals.get('context_section_id'): - section_obj.write(cr, uid, [vals['context_section_id']], {'member_ids':[(4, res)]}, context) - return res - -users() - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/crm/crm_view.xml b/addons/crm/crm_view.xml index 22f999188e7..dd24ef38911 100644 --- a/addons/crm/crm_view.xml +++ b/addons/crm/crm_view.xml @@ -376,32 +376,6 @@ groups="base.group_no_one" sequence="15" parent="base.menu_base_config" /> - - view.users.form.crm.modif.inherited1 - res.users - - form - - - - - - - - - view.users.form.crm.modif.inherited2 - res.users - form - - - - - - - - - diff --git a/addons/hr/hr_department.py b/addons/hr/hr_department.py index 3332207cb17..e0ad03721d6 100644 --- a/addons/hr/hr_department.py +++ b/addons/hr/hr_department.py @@ -105,14 +105,5 @@ class ir_action_window(osv.osv): ir_action_window() -class res_users(osv.osv): - _inherit = 'res.users' - _description = 'User' - - _columns = { - 'context_department_id': fields.many2one('hr.department', 'Departments'), - } - -res_users() # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/hr/hr_department_view.xml b/addons/hr/hr_department_view.xml index 0171b41e881..0a66fd478b9 100644 --- a/addons/hr/hr_department_view.xml +++ b/addons/hr/hr_department_view.xml @@ -57,27 +57,5 @@ - - res.users.form - form - res.users - - - - - - - - - view.department.form.hr.inherited1 - res.users - - form - - - - - - diff --git a/addons/import_sugarcrm/import_sugarcrm.py b/addons/import_sugarcrm/import_sugarcrm.py index 3ff14bcf1c7..11d3c26a207 100644 --- a/addons/import_sugarcrm/import_sugarcrm.py +++ b/addons/import_sugarcrm/import_sugarcrm.py @@ -898,7 +898,6 @@ class sugar_import(import_framework): 'context_lang' : 'context_lang', 'password' : 'password', '.id' : '.id', - 'context_department_id/id': self.get_users_department, 'user_email' : 'email1', } } diff --git a/addons/project/project.py b/addons/project/project.py index 10ab7987774..7c8b3462668 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -504,13 +504,6 @@ def Project(): project() -class users(osv.osv): - _inherit = 'res.users' - _columns = { - 'context_project_id': fields.many2one('project.project', 'Project') - } -users() - class task(osv.osv): _name = "project.task" _description = "Task" diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml index 6266258046c..344942cb3d5 100644 --- a/addons/project/project_view.xml +++ b/addons/project/project_view.xml @@ -745,31 +745,6 @@ - - res.users.project.form1 - res.users - form - - - - - - - - - - - view.users.form.project.modif.inherited1 - res.users - - form - - - - - - - - + diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py index 5a792ac4d28..1b208bc3796 100644 --- a/addons/project_issue/project_issue.py +++ b/addons/project_issue/project_issue.py @@ -140,12 +140,6 @@ class project_issue(crm.crm_case, osv.osv): res[issue.id] = {'progress' : progress} return res - def _get_project(self, cr, uid, context=None): - user = self.pool.get('res.users').browse(cr, uid, uid, context=context) - if user.context_project_id: - return user.context_project_id.id - return False - def on_change_project(self, cr, uid, ids, project_id, context=None): return {} @@ -233,7 +227,6 @@ class project_issue(crm.crm_case, osv.osv): 'section_id': crm.crm_case._get_section, 'company_id': lambda s, cr, uid, c: s.pool.get('res.company')._company_default_get(cr, uid, 'crm.helpdesk', context=c), 'priority': crm.AVAILABLE_PRIORITIES[2][0], - 'project_id':_get_project, 'categ_id' : lambda *a: False, } From 9e165e6dae78eda72e40f3d12f152a5c232e824c Mon Sep 17 00:00:00 2001 From: Fabien Pinckaers Date: Mon, 21 May 2012 16:25:13 +0200 Subject: [PATCH 11/14] [IMP] improvement in burndown chart computation for companies not using the planned/remaining hours bzr revid: fp@tinyerp.com-20120521142513-8hnu35e2nbkh8f5d --- addons/project/project.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/project/project.py b/addons/project/project.py index 7c8b3462668..7f4e104db81 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -1335,7 +1335,7 @@ class project_task_history_cumulative(osv.osv): id as history_id, date+generate_series(0, CAST((coalesce(end_date,DATE 'tomorrow')::date - date)AS integer)-1) as date, task_id, type_id, user_id, kanban_state, state, - remaining_hours, planned_hours + greatest(remaining_hours,1) as remaining_hours, greatest(planned_hours,1) as planned_hours FROM project_task_history ) as history From 7bc2664663d637bcbb56b6fd0c9bc557290511aa Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Mon, 21 May 2012 16:38:13 +0200 Subject: [PATCH 12/14] [IMP] view.rng: allow @groups for