From 45ddb1f0b747dde81553f75000feee75b13f8005 Mon Sep 17 00:00:00 2001 From: "Hardik Ansodariy (OpenERP)" Date: Thu, 18 Aug 2011 17:25:20 +0530 Subject: [PATCH 01/11] [IMP]: improved view and provide access right accordingly bzr revid: han@tinyerp.com-20110818115520-5hp5zoydw467jrwj --- addons/delivery/delivery.py | 2 +- addons/delivery/delivery_demo.xml | 1 + addons/delivery/delivery_view.xml | 8 +++----- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/addons/delivery/delivery.py b/addons/delivery/delivery.py index d70af4b4d1e..55199a9aa19 100644 --- a/addons/delivery/delivery.py +++ b/addons/delivery/delivery.py @@ -71,7 +71,7 @@ class delivery_carrier(osv.osv): 'free_if_more_than': fields.boolean('Free If More Than'), 'amount': fields.float('Amount'), 'use_detailed_pricelist': fields.boolean('Use Detailed Pricelist'), - 'pricelist_ids': fields.one2many('delivery.grid', 'carrier_id', 'Price List'), + 'pricelist_ids': fields.one2many('delivery.grid', 'carrier_id', 'Advanced Pricing'), } _defaults = { diff --git a/addons/delivery/delivery_demo.xml b/addons/delivery/delivery_demo.xml index 4dfef0c105b..94666efb26c 100644 --- a/addons/delivery/delivery_demo.xml +++ b/addons/delivery/delivery_demo.xml @@ -17,6 +17,7 @@ Delivery by Poste + Delivery service diff --git a/addons/delivery/delivery_view.xml b/addons/delivery/delivery_view.xml index 72f811632ce..4ade9b321a7 100644 --- a/addons/delivery/delivery_view.xml +++ b/addons/delivery/delivery_view.xml @@ -9,7 +9,6 @@ tree - @@ -22,10 +21,9 @@
- - + @@ -82,7 +80,7 @@ Define the delivery methods you are using and their pricing in order to reinvoice the delivery costs when you are doing invoicing based on delivery orders - + @@ -132,7 +130,7 @@ tree,form The delivery price list allows you to compute the cost and sales price of the delivery according to the weight of the products and other criteria. You can define several price lists for one delivery method, per country or a zone in a specific country defined by a postal code range. - + delivery.grid.line.form From 0dff60cf2684bcf5dc6c4f89ddf0cdd3661ce116 Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" Date: Wed, 14 Sep 2011 16:05:57 +0200 Subject: [PATCH 02/11] [FIX] hr_payroll: fixed rule in demo data bzr revid: qdp-launchpad@openerp.com-20110914140557-nkm6j1fjpo34nfd2 --- addons/hr_payroll/hr_payroll_demo.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/hr_payroll/hr_payroll_demo.xml b/addons/hr_payroll/hr_payroll_demo.xml index 8af4785dde7..87deaef2f51 100644 --- a/addons/hr_payroll/hr_payroll_demo.xml +++ b/addons/hr_payroll/hr_payroll_demo.xml @@ -89,7 +89,7 @@ Get 1% of sales - result = (inputs.SALEURO.amount + inputs.SALASIA.amount) * contract.wage * 0.01 + result = (inputs.SALEURO.amount + inputs.SALASIA.amount) * 0.01 From 7a154e5689887dd3c4ed3d6244ae1b5711cc98f7 Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" Date: Wed, 14 Sep 2011 16:06:30 +0200 Subject: [PATCH 03/11] [IMP] hr_payroll_l10n_be: demo data enhancement bzr revid: qdp-launchpad@openerp.com-20110914140630-89b8rcilb0si9pyf --- addons/hr_payroll_l10n_be/hr_payroll_l10n_be_demo.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/hr_payroll_l10n_be/hr_payroll_l10n_be_demo.xml b/addons/hr_payroll_l10n_be/hr_payroll_l10n_be_demo.xml index f40e4c4dc84..c9e284f8e9b 100644 --- a/addons/hr_payroll_l10n_be/hr_payroll_l10n_be_demo.xml +++ b/addons/hr_payroll_l10n_be/hr_payroll_l10n_be_demo.xml @@ -4,7 +4,7 @@ - Bonamy's Contract (C.P.218) + Bonamy's Contract (Belgium payroll C.P. 218) From bedd3306c103fd907154a2db546c2eb45f545a1b Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" Date: Wed, 14 Sep 2011 16:06:59 +0200 Subject: [PATCH 04/11] [IMP] hr_payroll_l10n_be: better view for contracts bzr revid: qdp-launchpad@openerp.com-20110914140659-mmwzoojdiksibzqm --- addons/hr_payroll_l10n_be/hr_payroll_l10n_be_view.xml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/addons/hr_payroll_l10n_be/hr_payroll_l10n_be_view.xml b/addons/hr_payroll_l10n_be/hr_payroll_l10n_be_view.xml index 2b5264dbc96..213e2a8aa47 100644 --- a/addons/hr_payroll_l10n_be/hr_payroll_l10n_be_view.xml +++ b/addons/hr_payroll_l10n_be/hr_payroll_l10n_be_view.xml @@ -9,7 +9,7 @@ - + @@ -29,9 +29,6 @@ - - - From 9ab8acb85886a78d2a1c0676d921eb654c34c4a6 Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" Date: Wed, 14 Sep 2011 16:23:43 +0200 Subject: [PATCH 05/11] [IMP] hr_contract: added names on page and group of contract view, for xpath bzr revid: qdp-launchpad@openerp.com-20110914142343-3y2fkxlz1de6iwqj --- addons/hr_contract/hr_contract_view.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/hr_contract/hr_contract_view.xml b/addons/hr_contract/hr_contract_view.xml index 2d2bdc5a178..cfccd8912dc 100644 --- a/addons/hr_contract/hr_contract_view.xml +++ b/addons/hr_contract/hr_contract_view.xml @@ -75,8 +75,8 @@ - - + + @@ -85,7 +85,7 @@ - + From 7dfc61350c653ea0eb0dcc659e8c41c3014e0e9c Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" Date: Wed, 14 Sep 2011 16:24:50 +0200 Subject: [PATCH 06/11] [IMP] hr_payroll: default value for scheduled pay field bzr revid: qdp-launchpad@openerp.com-20110914142450-au5t6fkg6h420qwg --- addons/hr_payroll/hr_payroll.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/addons/hr_payroll/hr_payroll.py b/addons/hr_payroll/hr_payroll.py index 9578f322217..464c3d295a4 100644 --- a/addons/hr_payroll/hr_payroll.py +++ b/addons/hr_payroll/hr_payroll.py @@ -132,6 +132,10 @@ class hr_contract(osv.osv): ], 'Scheduled Pay', select=True), } + _defaults = { + 'schedule_pay': 'monthly', + } + def get_all_structures(self, cr, uid, contract_ids, context=None): """ @param contract_ids: list of contracts From d12fca41f8f8a5f50916ebd306bebb5a227f2b10 Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" Date: Wed, 14 Sep 2011 16:30:34 +0200 Subject: [PATCH 07/11] [IMP] hr_payroll_l10n_be: better view for contracts bzr revid: qdp-launchpad@openerp.com-20110914143034-0xn6gvzr7rms21he --- .../hr_payroll_l10n_be_view.xml | 21 ++++--------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/addons/hr_payroll_l10n_be/hr_payroll_l10n_be_view.xml b/addons/hr_payroll_l10n_be/hr_payroll_l10n_be_view.xml index 213e2a8aa47..c4dca86166d 100644 --- a/addons/hr_payroll_l10n_be/hr_payroll_l10n_be_view.xml +++ b/addons/hr_payroll_l10n_be/hr_payroll_l10n_be_view.xml @@ -9,17 +9,15 @@ - + - - - - - + + + @@ -45,17 +43,6 @@ - - hr.contract.struc - hr.contract - - form - - - - - - hr.hr.employee.view.for hr.employee From c57bb71be15524e6a7f2719826bb9c279602b1c7 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Wed, 14 Sep 2011 17:03:52 +0200 Subject: [PATCH 08/11] [ADD] listview padding to 5 visible rows at all time bzr revid: xmo@openerp.com-20110914150352-jxnom223gdmtys2n --- addons/web/static/src/js/list.js | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/addons/web/static/src/js/list.js b/addons/web/static/src/js/list.js index 60ba22dc68c..e0c6405db2f 100644 --- a/addons/web/static/src/js/list.js +++ b/addons/web/static/src/js/list.js @@ -775,6 +775,31 @@ openerp.web.ListView.List = openerp.web.Class.extend( /** @lends openerp.web.Lis this.$current.empty().append( QWeb.render('ListView.rows', _.extend({ render_cell: openerp.web.format_cell}, this))); + this.pad_table_to(5); + }, + pad_table_to: function (count) { + if (this.records.length >= count || + _(this.columns).any(function(column) { return column.meta; })) { + return; + } + var cells = []; + if (this.options.selectable) { + cells.push(''); + } + _(this.columns).each(function(column) { + if (column.invisible !== '1') { + cells.push(' '); + } + }); + if (this.options.deletable) { + cells.push(''); + } + cells.unshift(''); + cells.push(''); + + var row = cells.join(''); + this.$current.append(new Array(count - this.records.length + 1).join(row)); + this.refresh_zebra(this.records.length); }, /** * Gets the ids of all currently selected records, if any From e05e41ccf8d75a664aefdc5182237f60a034f277 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Wed, 14 Sep 2011 17:37:07 +0200 Subject: [PATCH 09/11] [IMP] restrict droppable targets bzr revid: xmo@openerp.com-20110914153707-i4xycxgo1qdl5vtl --- addons/web/static/src/js/list.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/addons/web/static/src/js/list.js b/addons/web/static/src/js/list.js index e0c6405db2f..ad0a9f849b6 100644 --- a/addons/web/static/src/js/list.js +++ b/addons/web/static/src/js/list.js @@ -1162,6 +1162,8 @@ openerp.web.ListView.Groups = openerp.web.Class.extend( /** @lends openerp.web.L } // ondrop, move relevant record & fix sequences list.$current.sortable({ + axis: 'y', + items: '> tr[data-id]', stop: function (event, ui) { var to_move = list.records.get(ui.item.data('id')), target_id = ui.item.prev().data('id'); From 2b72220d8449f7bd68c4d11d9c51bb00c1c693f0 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Wed, 14 Sep 2011 17:46:08 +0200 Subject: [PATCH 10/11] [FIX] weird offset bug I completely missed in listview d&d bzr revid: xmo@openerp.com-20110914154608-gkyh0n74xejryxmr --- addons/web/static/src/js/list.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/web/static/src/js/list.js b/addons/web/static/src/js/list.js index ad0a9f849b6..883fae81bbf 100644 --- a/addons/web/static/src/js/list.js +++ b/addons/web/static/src/js/list.js @@ -1169,7 +1169,7 @@ openerp.web.ListView.Groups = openerp.web.Class.extend( /** @lends openerp.web.L target_id = ui.item.prev().data('id'); list.records.remove(to_move); - var to = target_id ? list.records.indexOf(list.records.get(target_id)) : 0; + var to = target_id ? list.records.indexOf(list.records.get(target_id)) + 1 : 0; list.records.add(to_move, { at: to }); // resequencing time! From b17ae5506b25fa4acd91f61e73704acc1f0f30a4 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Wed, 14 Sep 2011 17:46:10 +0200 Subject: [PATCH 11/11] [IMP] Form: date and datetime widgets are correctly formatted/parsed bzr revid: fme@openerp.com-20110914154610-hlha0bp28197xg1m --- addons/web/static/src/css/base.css | 18 ++++++-- addons/web/static/src/js/form.js | 73 +++++++++++++++++++++--------- addons/web/static/src/xml/base.xml | 12 +++-- 3 files changed, 71 insertions(+), 32 deletions(-) diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index 6012bec1f29..02ea33e4ec3 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -821,6 +821,7 @@ label.error { } .openerp td.oe_form_frame_cell { padding: 2px; + position: relative; } .openerp td.oe_form_frame_cell.oe_form_group { padding: 0; @@ -887,12 +888,19 @@ label.error { position: relative; vertical-align: top; } -.openerp img.ui-datepicker-trigger { - margin-left: -20px; - vertical-align: middle; +.openerp .oe_input_icon { + position: absolute; cursor: pointer; - position: relative; - top: -1px; + right: 5px; + top: 5px; +} +.openerp .oe_input_icon_disabled { + position: absolute; + cursor: default; + opacity: 0.5; + filter:alpha(opacity=50); + right: 5px; + top: 5px; } .openerp img.oe_field_translate { margin-left: -21px; diff --git a/addons/web/static/src/js/form.js b/addons/web/static/src/js/form.js index ff8e695278e..aecc52c5eef 100644 --- a/addons/web/static/src/js/form.js +++ b/addons/web/static/src/js/form.js @@ -1105,37 +1105,51 @@ openerp.web.form.FieldDatetime = openerp.web.form.Field.extend({ this.jqueryui_object = 'datetimepicker'; }, start: function() { + var self = this; this._super.apply(this, arguments); - this.$element.find('input').change(this.on_ui_change)[this.jqueryui_object]({ - dateFormat: 'yy-mm-dd', - timeFormat: 'hh:mm:ss', - showOn: 'button', - buttonImage: '/web/static/src/img/ui/field_calendar.png', - buttonImageOnly: true, - constrainInput: false + this.$element.find('input').change(this.on_ui_change); + this.picker({ + onSelect: this.on_picker_select, + changeMonth: true, + changeYear: true, + showWeek: true, + showButtonPanel: false + }); + this.$element.find('img.oe_datepicker_trigger').click(function() { + if (!self.readonly) { + self.picker('setDate', self.value || new Date()); + self.$element.find('.oe_datepicker').toggle(); + } + }); + this.$element.find('.ui-datepicker-inline').removeClass('ui-widget-content ui-corner-all'); + this.$element.find('button.oe_datepicker_close').click(function() { + self.$element.find('.oe_datepicker').hide(); }); }, + picker: function() { + return $.fn[this.jqueryui_object].apply(this.$element.find('.oe_datepicker_container'), arguments); + }, + on_picker_select: function(text, instance) { + var date = this.picker('getDate'); + this.$element.find('input').val(date ? this.format_client(date) : '').change(); + }, set_value: function(value) { - this._super.apply(this, arguments); - if (!value) { - this.$element.find('input').val(''); - } else { - this.$element.find('input').unbind('change'); - // jQuery UI date picker wrongly call on_change event herebelow - this.$element.find('input')[this.jqueryui_object]('setDate', this.parse(value)); - this.$element.find('input').change(this.on_ui_change); - } + value = this.parse(value); + this._super(value); + this.$element.find('input').val(value ? this.format_client(value) : ''); + }, + get_value: function() { + return this.format(this.value); }, set_value_from_ui: function() { - this.value = this.$element.find('input')[this.jqueryui_object]('getDate') || false; - if (this.value) { - this.value = this.format(this.value); - } + var value = this.$element.find('input').val() || false; + this.value = this.parse_client(value); this._super(); }, update_dom: function() { this._super.apply(this, arguments); - this.$element.find('input').datepicker(this.readonly ? 'disable' : 'enable'); + this.$element.find('input').attr('disabled', this.readonly); + this.$element.find('img.oe_datepicker_trigger').toggleClass('oe_input_icon_disabled', this.readonly); }, validate: function() { this.invalid = false; @@ -1143,15 +1157,26 @@ openerp.web.form.FieldDatetime = openerp.web.form.Field.extend({ if (value === "") { this.invalid = this.required; } else { - this.invalid = !this.$element.find('input')[this.jqueryui_object]('getDate'); + try { + this.parse_client(value); + this.invalid = false; + } catch(e) { + this.invalid = true; + } } }, focus: function() { this.$element.find('input').focus(); }, parse: openerp.web.auto_str_to_date, + parse_client: function(v) { + return openerp.web.parse_value(v, this.field); + }, format: function(val) { return openerp.web.auto_date_to_str(val, this.field.type); + }, + format_client: function(v) { + return openerp.web.format_value(v, this.field); } }); @@ -1159,6 +1184,10 @@ openerp.web.form.FieldDate = openerp.web.form.FieldDatetime.extend({ init: function(view, node) { this._super(view, node); this.jqueryui_object = 'datepicker'; + }, + on_picker_select: function(text, instance) { + this._super(text, instance); + this.$element.find('.oe_datepicker').hide(); } }); diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index 041e2ced2e9..422ecca5760 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -810,11 +810,13 @@ - + + +