From 7e036f062e94064dce17d8619fd12bbdb4e02ddd Mon Sep 17 00:00:00 2001 From: Tristan Hill Date: Sun, 31 Jul 2011 14:48:24 +0100 Subject: [PATCH 01/10] [FIX] correct indentation bzr revid: dmitrijs.ledkovs@credativ.co.uk-20110731134824-t2f3r6uxrw27ah45 --- openerp/tools/convert.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/openerp/tools/convert.py b/openerp/tools/convert.py index 77abfa572b4..e0b7cdeeb5f 100644 --- a/openerp/tools/convert.py +++ b/openerp/tools/convert.py @@ -883,16 +883,16 @@ form: module.record_id""" % (xml_id,) for n in de.findall('./data'): for rec in n: - if rec.tag in self._tags: - try: - self._tags[rec.tag](self.cr, rec, n) - except: - self.__logger.error('Parse error in %s:%d: \n%s', - rec.getroottree().docinfo.URL, - rec.sourceline, - etree.tostring(rec).strip(), exc_info=True) - self.cr.rollback() - raise + if rec.tag in self._tags: + try: + self._tags[rec.tag](self.cr, rec, n) + except: + self.__logger.error('Parse error in %s:%d: \n%s', + rec.getroottree().docinfo.URL, + rec.sourceline, + etree.tostring(rec).strip(), exc_info=True) + self.cr.rollback() + raise return True def __init__(self, cr, module, idref, mode, report=None, noupdate=False): From f99e1b3eae2f45b6f6ce52161c75ef2b226ddf46 Mon Sep 17 00:00:00 2001 From: Maximilian Gass Date: Sun, 31 Jul 2011 15:09:54 +0100 Subject: [PATCH 02/10] [FIX] correct env hashbang line in a script bzr revid: dmitrijs.ledkovs@credativ.co.uk-20110731140954-xegjvx7negcttpo1 --- openerp/report/render/rml2txt/rml2txt.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openerp/report/render/rml2txt/rml2txt.py b/openerp/report/render/rml2txt/rml2txt.py index d4378c0749d..b6e5b54c357 100755 --- a/openerp/report/render/rml2txt/rml2txt.py +++ b/openerp/report/render/rml2txt/rml2txt.py @@ -1,4 +1,4 @@ -#!/bin/env python +#!/usr/bin/env python # -*- coding: utf-8 -*- ############################################################################## # From be0778eff16f1595ed526a54a5139d86079b19ef Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Mon, 8 Aug 2011 14:38:30 +0200 Subject: [PATCH 03/10] [FIX] Dashboard could not be reloaded with 'Reset' button bzr revid: fme@openerp.com-20110808123830-1v7x45v38ys1vixj --- addons/base_dashboard/static/src/js/dashboard.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/base_dashboard/static/src/js/dashboard.js b/addons/base_dashboard/static/src/js/dashboard.js index b5e59c17000..a30985001c7 100644 --- a/addons/base_dashboard/static/src/js/dashboard.js +++ b/addons/base_dashboard/static/src/js/dashboard.js @@ -244,8 +244,8 @@ openerp.base.form.DashBoard = openerp.base.form.Widget.extend({ return QWeb.render(this.template, this); }, do_reload: function() { - this.view.view_manager.stop(); - this.view.view_manager.start(); + this.view.widget_parent.stop(); + this.view.widget_parent.start(); } }); openerp.base.form.DashBoardLegacy = openerp.base.form.DashBoard.extend({ From f02dc603db0e416fe868a85fc8088bafc17c8d32 Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" Date: Mon, 8 Aug 2011 14:41:10 +0200 Subject: [PATCH 04/10] [FIX] crm_partner_assign: switch latitude and longitude fields bzr revid: qdp-launchpad@openerp.com-20110808124110-vi2q17dbvsadale4 --- addons/crm_partner_assign/partner_geo_assign.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/crm_partner_assign/partner_geo_assign.py b/addons/crm_partner_assign/partner_geo_assign.py index 50eae5825cb..2b67f80c066 100644 --- a/addons/crm_partner_assign/partner_geo_assign.py +++ b/addons/crm_partner_assign/partner_geo_assign.py @@ -35,7 +35,7 @@ def geo_find(addr): result = re.search(regex, xml, re.M|re.I) if not result: return None - return float(result.group(1)),float(result.group(2)) + return float(result.group(2)),float(result.group(1)) except Exception, e: raise osv.except_osv(_('Network error'), _('Could not contact geolocation servers, please make sure you have a working internet connection (%s)') % e) From ab2d202ed94427402b71313dd0266b858447f82f Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Mon, 8 Aug 2011 15:08:47 +0200 Subject: [PATCH 05/10] [FIX] Prevent field focus on embeded views bzr revid: fme@openerp.com-20110808130847-vz15aorcqel040nu --- addons/base/static/src/js/form.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/base/static/src/js/form.js b/addons/base/static/src/js/form.js index 5cc48251339..49751d423e6 100644 --- a/addons/base/static/src/js/form.js +++ b/addons/base/static/src/js/form.js @@ -156,7 +156,7 @@ openerp.base.FormView = openerp.base.View.extend( /** @lends openerp.base.FormVi if (this.sidebar) { this.sidebar.attachments.do_update(); } - if (this.default_focus_field) { + if (this.default_focus_field && !this.embedded_view) { this.default_focus_field.focus(); } }, From a0a0505c7e6dfe00c54ab75e14924306b7702bc0 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Mon, 8 Aug 2011 16:18:40 +0200 Subject: [PATCH 06/10] [FIX] Fixed event deletion in calendar view bzr revid: fme@openerp.com-20110808141840-8gxx1ssqd5e0l8y1 --- addons/base_calendar/static/src/js/calendar.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/base_calendar/static/src/js/calendar.js b/addons/base_calendar/static/src/js/calendar.js index 2d86009db7b..10e2631d15d 100644 --- a/addons/base_calendar/static/src/js/calendar.js +++ b/addons/base_calendar/static/src/js/calendar.js @@ -276,10 +276,10 @@ openerp.base_calendar.CalendarView = openerp.base.View.extend({ do_delete_event: function(event_id, event_obj) { // dhtmlx sends this event even when it does not exist in openerp. // Eg: use cancel in dhtmlx new event dialog - if (_.indexOf(this.dataset.ids, event_id) > -1) { - this.dataset.unlink(parseInt(event_id, 10, function() { + if (_.indexOf(this.dataset.ids, parseInt(event_id, 10)) > -1) { + this.dataset.unlink(parseInt(event_id, 10), function() { self.refresh_minical(); - })); + }); } }, get_event_data: function(event_obj) { From 6322a565f50dde247d8ff520aa319e9a58a7e8ea Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Mon, 8 Aug 2011 16:41:20 +0200 Subject: [PATCH 07/10] [IMP] Added View#do_switch_view [REM] Removed references to view_manager out of list view bzr revid: fme@openerp.com-20110808144120-xlut0922rd61moxc --- addons/base/static/src/js/list.js | 11 +++-------- addons/base/static/src/js/views.js | 3 +++ 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/addons/base/static/src/js/list.js b/addons/base/static/src/js/list.js index 04336e163c3..e4011e3fa12 100644 --- a/addons/base/static/src/js/list.js +++ b/addons/base/static/src/js/list.js @@ -85,8 +85,7 @@ openerp.base.ListView = openerp.base.View.extend( /** @lends openerp.base.ListVi * the default behaviors and possible options for the list view. * * @constructs - * @param view_manager - * @param session An OpenERP session object + * @param parent parent object * @param element_id the id of the DOM elements this view should link itself to * @param {openerp.base.DataSet} dataset the dataset the view should work with * @param {String} view_id the listview's identifier, if any @@ -103,7 +102,6 @@ openerp.base.ListView = openerp.base.View.extend( /** @lends openerp.base.ListVi init: function(parent, element_id, dataset, view_id, options) { this._super(parent, element_id); this.set_default_options(); - this.view_manager = parent || new openerp.base.NullViewManager(); this.dataset = dataset; this.model = dataset.model; this.view_id = view_id; @@ -123,7 +121,7 @@ openerp.base.ListView = openerp.base.View.extend( /** @lends openerp.base.ListVi /** * Retrieves the view's number of records per page (|| section) * - * options > defaults > view_manager.action.limit > indefinite + * options > defaults > indefinite * * @returns {Number|null} */ @@ -131,7 +129,6 @@ openerp.base.ListView = openerp.base.View.extend( /** @lends openerp.base.ListVi if (this._limit === undefined) { this._limit = (this.options.limit || this.defaults.limit - || (this.view_manager.action || {}).limit || null); } return this._limit; @@ -389,9 +386,7 @@ openerp.base.ListView = openerp.base.View.extend( /** @lends openerp.base.ListVi view = view || 'form'; this.dataset.index = index; _.delay(_.bind(function () { - if(this.view_manager) { - this.view_manager.on_mode_switch(view); - } + this.do_switch_view(view); }, this)); }, do_show: function () { diff --git a/addons/base/static/src/js/views.js b/addons/base/static/src/js/views.js index b9c8a01afc3..6eb445eeed6 100644 --- a/addons/base/static/src/js/views.js +++ b/addons/base/static/src/js/views.js @@ -165,6 +165,7 @@ openerp.base.ViewManager = openerp.base.Widget.extend({ if (view.embedded_view) { controller.set_embedded_view(view.embedded_view); } + controller.do_switch_view.add_last(this.on_mode_switch); if (view_type === 'list' && this.flags.search_view === false && this.action && this.action['auto_search']) { // In case the search view is not instantiated: manually call ListView#search var domains = !_(self.action.domain).isEmpty() @@ -511,6 +512,8 @@ openerp.base.View = openerp.base.Widget.extend({ set_embedded_view: function(embedded_view) { this.embedded_view = embedded_view; }, + do_switch_view: function(view) { + }, set_common_sidebar_sections: function(sidebar) { sidebar.add_section('customize', "Customize", [ { From 1a9e157eb56810de39fb0523ff2b273125f5a7ab Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Mon, 8 Aug 2011 18:39:00 +0200 Subject: [PATCH 08/10] [FIX] Avoid creating sidebar each time the list view reloads itself bzr revid: fme@openerp.com-20110808163900-qxowalfph0xeypmg --- addons/base/static/src/js/list.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/base/static/src/js/list.js b/addons/base/static/src/js/list.js index e4011e3fa12..4a2922651a2 100644 --- a/addons/base/static/src/js/list.js +++ b/addons/base/static/src/js/list.js @@ -264,7 +264,7 @@ openerp.base.ListView = openerp.base.View.extend( /** @lends openerp.base.ListVi }) .val(self._limit || 'NaN'); }); - if (this.options.sidebar && this.options.sidebar_id) { + if (!this.sidebar && this.options.sidebar && this.options.sidebar_id) { this.sidebar = new openerp.base.Sidebar(this, this.options.sidebar_id); this.sidebar.start(); this.sidebar.add_toolbar(data.fields_view.toolbar); From 16c38f64c7f78357effe3429cc2b5d79a38c9924 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Mon, 8 Aug 2011 19:14:07 +0200 Subject: [PATCH 09/10] [IMP] Dialog: renamed @options to @dialog_options in order to allow mixin without property collision bzr revid: fme@openerp.com-20110808171407-mfclmemaljegwsgg --- addons/base/static/src/js/chrome.js | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/addons/base/static/src/js/chrome.js b/addons/base/static/src/js/chrome.js index fd5fae7727d..e44e25b3c50 100644 --- a/addons/base/static/src/js/chrome.js +++ b/addons/base/static/src/js/chrome.js @@ -305,10 +305,10 @@ openerp.base.Notification = openerp.base.Widget.extend({ openerp.base.Dialog = openerp.base.OldWidget.extend({ dialog_title: "", identifier_prefix: 'dialog', - init: function (parent, options) { + init: function (parent, dialog_options) { var self = this; this._super(parent); - this.options = { + this.dialog_options = { modal: true, width: 'auto', min_width: 0, @@ -324,11 +324,11 @@ openerp.base.Dialog = openerp.base.OldWidget.extend({ }; for (var f in this) { if (f.substr(0, 10) == 'on_button_') { - this.options.buttons[f.substr(10)] = this[f]; + this.dialog_options.buttons[f.substr(10)] = this[f]; } } - if (options) { - this.set_options(options); + if (dialog_options) { + this.set_options(dialog_options); } }, set_options: function(options) { @@ -351,7 +351,7 @@ openerp.base.Dialog = openerp.base.OldWidget.extend({ if (!options.title && this.dialog_title) { options.title = this.dialog_title; } - _.extend(this.options, options); + _.extend(this.dialog_options, options); }, get_width: function(val) { return this.get_size(val.toString(), $(window.top).width()); @@ -369,19 +369,19 @@ openerp.base.Dialog = openerp.base.OldWidget.extend({ } }, start: function (auto_open) { - this.$dialog = $('
').dialog(this.options); + this.$dialog = $('
').dialog(this.dialog_options); if (auto_open !== false) { this.open(); } this._super(); }, - open: function(options) { + open: function(dialog_options) { // TODO fme: bind window on resize if (this.template) { this.$element.html(this.render()); } - this.set_options(options); - this.$dialog.dialog(this.options).dialog('open'); + this.set_options(dialog_options); + this.$dialog.dialog(this.dialog_options).dialog('open'); }, close: function() { // Closes the dialog but leave it in a state where it could be opened again. From e0fdc7078b16cf051ba1aa67c21d3f9340f24381 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Mon, 8 Aug 2011 19:32:30 +0200 Subject: [PATCH 10/10] [FIX] Fixed views options bzr revid: fme@openerp.com-20110808173230-fdzbdeaegxpnszd1 --- addons/base/static/src/js/form.js | 13 +++++++------ addons/base/static/src/js/list.js | 4 +--- addons/base/static/src/js/views.js | 13 ++++++++++--- addons/base_calendar/static/src/js/calendar.js | 2 +- 4 files changed, 19 insertions(+), 13 deletions(-) diff --git a/addons/base/static/src/js/form.js b/addons/base/static/src/js/form.js index 49751d423e6..5db5c62e856 100644 --- a/addons/base/static/src/js/form.js +++ b/addons/base/static/src/js/form.js @@ -19,7 +19,7 @@ openerp.base.FormView = openerp.base.View.extend( /** @lends openerp.base.FormVi */ init: function(parent, element_id, dataset, view_id, options) { this._super(parent, element_id); - this.set_default_options(); + this.set_default_options(options); this.dataset = dataset; this.model = dataset.model; this.view_id = view_id; @@ -36,7 +36,6 @@ openerp.base.FormView = openerp.base.View.extend( /** @lends openerp.base.FormVi this.registry = openerp.base.form.widgets; this.has_been_loaded = $.Deferred(); this.$form_header = null; - this.options = options || {}; _.defaults(this.options, {"always_show_new_button": true}); }, start: function() { @@ -1634,14 +1633,16 @@ openerp.base.form.FieldOne2Many = openerp.base.form.Field.extend({ modes = !!modes ? modes.split(",") : ["tree", "form"]; var views = []; _.each(modes, function(mode) { - var view = {view_id: false, view_type: mode == "tree" ? "list" : mode}; + var view = { + view_id: false, + view_type: mode == "tree" ? "list" : mode, + options: { sidebar : false } + }; if (self.field.views && self.field.views[mode]) { view.embedded_view = self.field.views[mode]; } if(view.view_type === "list") { - view.options = { - 'selectable': self.multi_selection - }; + view.options.selectable = self.multi_selection; } views.push(view); }); diff --git a/addons/base/static/src/js/list.js b/addons/base/static/src/js/list.js index 4a2922651a2..ea9cdaea1ee 100644 --- a/addons/base/static/src/js/list.js +++ b/addons/base/static/src/js/list.js @@ -101,15 +101,13 @@ openerp.base.ListView = openerp.base.View.extend( /** @lends openerp.base.ListVi */ init: function(parent, element_id, dataset, view_id, options) { this._super(parent, element_id); - this.set_default_options(); + this.set_default_options(_.extend({}, this.defaults, options || {})); this.dataset = dataset; this.model = dataset.model; this.view_id = view_id; this.columns = []; - this.options = _.extend({}, this.defaults, options || {}); - this.set_groups(new openerp.base.ListView.Groups(this)); if (this.dataset instanceof openerp.base.DataSetStatic) { diff --git a/addons/base/static/src/js/views.js b/addons/base/static/src/js/views.js index 6eb445eeed6..c75660571e8 100644 --- a/addons/base/static/src/js/views.js +++ b/addons/base/static/src/js/views.js @@ -130,13 +130,17 @@ openerp.base.ViewManager = openerp.base.Widget.extend({ this.$element.find('.oe_vm_switch button').click(function() { self.on_mode_switch($(this).data('view-type')); }); + var views_ids = {}; _.each(this.views_src, function(view) { self.views[view.view_type] = $.extend({}, view, { controller : null, options : _.extend({ - sidebar_id : self.element_id + '_sidebar_' + view.view_type - }, self.flags) + sidebar_id : self.element_id + '_sidebar_' + view.view_type, + action : self.action, + action_views_ids : views_ids + }, self.flags, view.options || {}) }); + views_ids[view.view_type] = view.view_id; }); if (this.flags.views_switcher === false) { this.$element.find('.oe_vm_switch').hide(); @@ -448,7 +452,9 @@ openerp.base.View = openerp.base.Widget.extend({ _.defaults(this.options, { // All possible views options should be defaulted here sidebar_id: null, - sidebar: true + sidebar: true, + action: null, + action_views_ids: {} }); }, /** @@ -511,6 +517,7 @@ openerp.base.View = openerp.base.Widget.extend({ */ set_embedded_view: function(embedded_view) { this.embedded_view = embedded_view; + this.options.sidebar = false; }, do_switch_view: function(view) { }, diff --git a/addons/base_calendar/static/src/js/calendar.js b/addons/base_calendar/static/src/js/calendar.js index 10e2631d15d..595e7ef1afa 100644 --- a/addons/base_calendar/static/src/js/calendar.js +++ b/addons/base_calendar/static/src/js/calendar.js @@ -9,7 +9,7 @@ openerp.base_calendar.CalendarView = openerp.base.View.extend({ // Dhtmlx scheduler ? init: function(parent, element_id, dataset, view_id, options) { this._super(parent, element_id); - this.set_default_options(); + this.set_default_options(options); this.dataset = dataset; this.model = dataset.model; this.view_id = view_id;