From 63ee6a74a91a630f5b5049f10ae67291df85f760 Mon Sep 17 00:00:00 2001 From: "Divyesh Makwana (Open ERP)" Date: Mon, 9 Jul 2012 17:09:54 +0530 Subject: [PATCH 01/56] [IMP] project : column project_task_history_cumulative.project_id does not exist. lp bug: https://launchpad.net/bugs/1022509 fixed bzr revid: mdi@tinyerp.com-20120709113954-l17wlurxovz6z05i --- addons/project/report/project_cumulative.xml | 3 --- 1 file changed, 3 deletions(-) diff --git a/addons/project/report/project_cumulative.xml b/addons/project/report/project_cumulative.xml index 3f7f3b26d96..535fbaf5f87 100644 --- a/addons/project/report/project_cumulative.xml +++ b/addons/project/report/project_cumulative.xml @@ -9,7 +9,6 @@ - @@ -63,9 +62,7 @@ - - From e2ba0eb95c38a16839836deeaa9a73b58221e9aa Mon Sep 17 00:00:00 2001 From: "Divyesh Makwana (Open ERP)" Date: Mon, 9 Jul 2012 18:42:59 +0530 Subject: [PATCH 02/56] [IMP] project : Revert the unneccessary changes. bzr revid: mdi@tinyerp.com-20120709131259-c9fl7g3hgwhxutgb --- addons/project/report/project_cumulative.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/project/report/project_cumulative.xml b/addons/project/report/project_cumulative.xml index 535fbaf5f87..177e945bc93 100644 --- a/addons/project/report/project_cumulative.xml +++ b/addons/project/report/project_cumulative.xml @@ -9,6 +9,7 @@ + From cb265f710c0b752e2928553ffc8a654ed2436ca5 Mon Sep 17 00:00:00 2001 From: "Vidhin Mehta (OpenERP)" Date: Thu, 4 Oct 2012 17:57:11 +0530 Subject: [PATCH 03/56] [IMP]replace callenabled for on_record_loaded method. bzr revid: vme@tinyerp.com-20121004122711-hzymzdnzbyutxge5 --- addons/web/static/src/js/view_form.js | 20 ++++++---- addons/web_diagram/static/src/js/diagram.js | 42 +++++++++++++++++---- 2 files changed, 47 insertions(+), 15 deletions(-) diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 1c32d5ef63e..279f44827ba 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -111,6 +111,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM self.on("change:actual_mode", self, self.init_pager); self.init_pager(); }); + self.on("record_load", self, self.on_record_loaded); instance.web.bus.on('clear_uncommitted_changes', this, function(e) { if (!this.can_be_discarded()) { e.preventDefault(); @@ -316,7 +317,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM fields.push('display_name'); return self.dataset.read_index(fields, { context: { 'bin_size': true, 'future_display_name' : true } - }).pipe(self.on_record_loaded); + }).pipe(function(r){self.trigger('record_load',r)}); }); } return shown.pipe(function() { @@ -364,6 +365,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM field._inhibit_on_change_flag = false; set_values.push(result); }); + console.log("on_record_loaded"); return $.when.apply(null, set_values).pipe(function() { if (!record.id) { // New record: Second pass in order to trigger the onchanges @@ -398,12 +400,13 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM * @return {$.Deferred} */ load_defaults: function () { + var self = this; var keys = _.keys(this.fields_view.fields); if (keys.length) { return this.dataset.default_get(keys) - .pipe(this.on_record_loaded); + .pipe(function(r){self.trigger('record_load',r)}); } - return this.on_record_loaded({}); + return self.trigger('record_load',{}); }, on_form_changed: function() { this.trigger("view_content_has_changed"); @@ -737,7 +740,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM this.trigger('history_back'); } else { this.to_view_mode(); - this.on_record_loaded(this.datarecord); + self.trigger('record_load',this.datarecord); } } return false; @@ -943,7 +946,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM fields.push('display_name'); return self.dataset.read_index(fields, { context : { 'bin_size' : true, 'future_display_name' : true } - }).pipe(self.on_record_loaded); + }).pipe(function(r){self.trigger('record_load',r)}); } }); }, @@ -3291,9 +3294,10 @@ instance.web.form.FieldOne2Many = instance.web.form.AbstractField.extend({ if (self.get("effective_readonly")) { $(".oe_form_buttons", controller.$el).children().remove(); } - controller.on_record_loaded.add_last(function() { - once.resolve(); - }); + controller.on("record_load", self, function(){ + console.log("view manager form"); + once.resolve(); + }); controller.on_pager_action.add_first(function() { self.save_any_view(); }); diff --git a/addons/web_diagram/static/src/js/diagram.js b/addons/web_diagram/static/src/js/diagram.js index 543cc6a9c12..e2ec463ec8e 100644 --- a/addons/web_diagram/static/src/js/diagram.js +++ b/addons/web_diagram/static/src/js/diagram.js @@ -241,22 +241,35 @@ instance.web.DiagramView = instance.web.View.extend({ } ); - pop.on_write.add(function() { + pop.on_write_completed.add(function() { self.dataset.read_index(_.keys(self.fields_view.fields)).pipe(self.on_diagram_loaded); }); var form_fields = [self.parent_field]; var form_controller = pop.view_form; - form_controller.on_record_loaded.add_first(function() { + /*form_controller.on_record_loaded.add_first(function() { + console.log("web diagram add_first"); _.each(form_fields, function(fld) { if (!(fld in form_controller.fields)) { return; } var field = form_controller.fields[fld]; field.$input.prop('disabled', true); field.$drop_down.unbind(); - field.$menu_btn.unbind(); + //field.$menu_btn.unbind(); }); - }); + });*/ + form_controller.on("record_load", self, function(){ + console.log("web diagram add_first"); + _.each(form_fields, function(fld) { + if (!(fld in form_controller.fields)) { return; } + var field = form_controller.fields[fld]; + field.$input.prop('disabled', true); + field.$drop_down.unbind(); + //field.$menu_btn.unbind(); + }); + }); + + }, // Creates a popup to add a node to the diagram @@ -281,7 +294,15 @@ instance.web.DiagramView = instance.web.View.extend({ var form_controller = pop.view_form; var form_fields = [this.parent_field]; - form_controller.on_record_loaded.add_last(function() { + /*form_controller.on_record_loaded.add_last(function() { + _.each(form_fields, function(fld) { + if (!(fld in form_controller.fields)) { return; } + var field = form_controller.fields[fld]; + field.set_value(self.id); + field.dirty = true; + }); + });*/ + form_controller.on("record_load", self, function(){ _.each(form_fields, function(fld) { if (!(fld in form_controller.fields)) { return; } var field = form_controller.fields[fld]; @@ -340,12 +361,19 @@ instance.web.DiagramView = instance.web.View.extend({ var form_controller = pop.view_form; - form_controller.on_record_loaded.add_last(function () { + /*form_controller.on_record_loaded.add_last(function () { form_controller.fields[self.connectors.attrs.source].set_value(node_source_id); form_controller.fields[self.connectors.attrs.source].dirty = true; form_controller.fields[self.connectors.attrs.destination].set_value(node_dest_id); form_controller.fields[self.connectors.attrs.destination].dirty = true; - }); + });*/ + form_controller.on("record_load", self, function(){ + console.log("add_connector"); + form_controller.fields[self.connectors.attrs.source].set_value(node_source_id); + form_controller.fields[self.connectors.attrs.source].dirty = true; + form_controller.fields[self.connectors.attrs.destination].set_value(node_dest_id); + form_controller.fields[self.connectors.attrs.destination].dirty = true; + }); }, on_pager_action: function(action) { From 6b30915df24f7f5082d0ad3a636e57de12d4bb7d Mon Sep 17 00:00:00 2001 From: Vishmita Date: Mon, 8 Oct 2012 12:57:33 +0530 Subject: [PATCH 04/56] [Fix]replace callenabled for on_button_cancel bzr revid: vja@tinyerp.com-20121008072733-kveozkvheu9kiti2 --- addons/web_kanban/static/src/js/kanban.js | 4 ++-- addons/web_view_editor/static/src/js/view_editor.js | 4 +--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js index 41cc366226f..dae3d7b214d 100644 --- a/addons/web_kanban/static/src/js/kanban.js +++ b/addons/web_kanban/static/src/js/kanban.js @@ -194,7 +194,7 @@ instance.web_kanban.KanbanView = instance.web.View.extend({ }); var am = instance.webclient.action_manager; var form = am.dialog_widget.views.form.controller; - form.on_button_cancel.add_last(am.dialog.on_close); + form.on("on_button_cancel",self,am.dialog.on_close); form.on_created.add_last(function(r) { (new instance.web.DataSet(self, self.group_by_field.relation)).name_get([r.result]).then(function(new_record) { am.dialog.on_close(); @@ -672,7 +672,7 @@ instance.web_kanban.KanbanGroup = instance.web.Widget.extend({ }); var am = instance.webclient.action_manager; var form = am.dialog_widget.views.form.controller; - form.on_button_cancel.add_last(am.dialog.on_close); + form.on("on_button_cancel",self,am.dialog.on_close); form.on_saved.add_last(function() { am.dialog.on_close(); self.view.do_reload(); diff --git a/addons/web_view_editor/static/src/js/view_editor.js b/addons/web_view_editor/static/src/js/view_editor.js index e65f0ab5d38..f26e12a55d7 100644 --- a/addons/web_view_editor/static/src/js/view_editor.js +++ b/addons/web_view_editor/static/src/js/view_editor.js @@ -1014,9 +1014,7 @@ instance.web_view_editor.ViewEditor = instance.web.Widget.extend({ var action_manager = new instance.web.ActionManager(self); $.when(action_manager.do_action(action)).then(function() { var controller = action_manager.dialog_widget.views['form'].controller; - controller.on_button_cancel.add_last(function(){ - action_manager.destroy() - }); + controller.on("on_button_cancel",self,action_manager.destroy); controller.do_save.add_last(function(){ action_manager.destroy(); var value =controller.fields.name.get('value'); From 33952153679e8227fcfa720c9dfc1e0573ce8fe8 Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" Date: Mon, 8 Oct 2012 11:12:43 +0200 Subject: [PATCH 05/56] [IMP] crm: lead search view bzr revid: qdp-launchpad@openerp.com-20121008091243-f0ktqoee67y6kb3x --- addons/crm/crm_lead_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml index f91a8756598..1a099fcb803 100644 --- a/addons/crm/crm_lead_view.xml +++ b/addons/crm/crm_lead_view.xml @@ -359,7 +359,7 @@ - + From 777243bef32482803e8ccbc6735293c19187a54a Mon Sep 17 00:00:00 2001 From: Vishmita Date: Mon, 8 Oct 2012 15:03:15 +0530 Subject: [PATCH 06/56] [Fix]Improve code bzr revid: vja@tinyerp.com-20121008093315-tnfnrr0rhum2yyoy --- addons/web_view_editor/static/src/js/view_editor.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/addons/web_view_editor/static/src/js/view_editor.js b/addons/web_view_editor/static/src/js/view_editor.js index f26e12a55d7..b3a4f0dcfac 100644 --- a/addons/web_view_editor/static/src/js/view_editor.js +++ b/addons/web_view_editor/static/src/js/view_editor.js @@ -1014,7 +1014,9 @@ instance.web_view_editor.ViewEditor = instance.web.Widget.extend({ var action_manager = new instance.web.ActionManager(self); $.when(action_manager.do_action(action)).then(function() { var controller = action_manager.dialog_widget.views['form'].controller; - controller.on("on_button_cancel",self,action_manager.destroy); + controller.on("on_button_cancel",self,function(){ + action_manager.destroy(); + }); controller.do_save.add_last(function(){ action_manager.destroy(); var value =controller.fields.name.get('value'); From 0cfb72791dd068f1cb349a024208d6b4b7c486b3 Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" Date: Mon, 8 Oct 2012 12:00:32 +0200 Subject: [PATCH 07/56] [IMP] renamed filter 'Inbox' into 'Unread Messages' which is clearer bzr revid: qdp-launchpad@openerp.com-20121008100032-mh7sd740fhsbjemr --- addons/base_calendar/crm_meeting_view.xml | 2 +- addons/crm/crm_lead_view.xml | 6 +++--- addons/event/event_view.xml | 4 ++-- addons/hr_recruitment/hr_recruitment_view.xml | 2 +- addons/project/project_view.xml | 4 ++-- addons/project_issue/project_issue_view.xml | 2 +- addons/purchase/purchase_view.xml | 2 +- addons/sale/sale_view.xml | 2 +- 8 files changed, 12 insertions(+), 12 deletions(-) diff --git a/addons/base_calendar/crm_meeting_view.xml b/addons/base_calendar/crm_meeting_view.xml index adcfc23a520..3782141fd3f 100644 --- a/addons/base_calendar/crm_meeting_view.xml +++ b/addons/base_calendar/crm_meeting_view.xml @@ -279,7 +279,7 @@ - + diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml index 1a099fcb803..0c6d1d1fe96 100644 --- a/addons/crm/crm_lead_view.xml +++ b/addons/crm/crm_lead_view.xml @@ -356,7 +356,7 @@ - + @@ -569,10 +569,10 @@ - + - + diff --git a/addons/event/event_view.xml b/addons/event/event_view.xml index 003072616f7..a290172d499 100644 --- a/addons/event/event_view.xml +++ b/addons/event/event_view.xml @@ -339,7 +339,7 @@ - + @@ -529,7 +529,7 @@ - + diff --git a/addons/hr_recruitment/hr_recruitment_view.xml b/addons/hr_recruitment/hr_recruitment_view.xml index 08e5f31a2d2..d48086f5663 100644 --- a/addons/hr_recruitment/hr_recruitment_view.xml +++ b/addons/hr_recruitment/hr_recruitment_view.xml @@ -208,7 +208,7 @@ - + diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml index bd63eec84c5..686ae08ee73 100644 --- a/addons/project/project_view.xml +++ b/addons/project/project_view.xml @@ -163,7 +163,7 @@ - + @@ -619,7 +619,7 @@ - + diff --git a/addons/project_issue/project_issue_view.xml b/addons/project_issue/project_issue_view.xml index 3214b93c8d3..4cd9e2c19ff 100644 --- a/addons/project_issue/project_issue_view.xml +++ b/addons/project_issue/project_issue_view.xml @@ -198,7 +198,7 @@ - + diff --git a/addons/purchase/purchase_view.xml b/addons/purchase/purchase_view.xml index 7702d182b09..bfff06f5eaf 100644 --- a/addons/purchase/purchase_view.xml +++ b/addons/purchase/purchase_view.xml @@ -323,7 +323,7 @@ - + diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml index 5505a6a88b5..4323261a19d 100644 --- a/addons/sale/sale_view.xml +++ b/addons/sale/sale_view.xml @@ -337,7 +337,7 @@ - + From da443ff975c233d37126cda2d86d4d20a4f93226 Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" Date: Mon, 8 Oct 2012 12:05:47 +0200 Subject: [PATCH 08/56] [IMP] hr: removed job and manager from hr.employee search view bzr revid: qdp-launchpad@openerp.com-20121008100547-nlos20k0xyz3f72e --- addons/hr/hr_view.xml | 2 -- 1 file changed, 2 deletions(-) diff --git a/addons/hr/hr_view.xml b/addons/hr/hr_view.xml index 69567902763..89c327f4d13 100644 --- a/addons/hr/hr_view.xml +++ b/addons/hr/hr_view.xml @@ -112,8 +112,6 @@ - - From 109d418de05226bbd242745c6f55010b7f6a8cb7 Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" Date: Mon, 8 Oct 2012 12:11:31 +0200 Subject: [PATCH 09/56] [IMP] hr_expense: search view bzr revid: qdp-launchpad@openerp.com-20121008101131-r34boe2joemso1mu --- addons/hr_expense/hr_expense_view.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/addons/hr_expense/hr_expense_view.xml b/addons/hr_expense/hr_expense_view.xml index 388e5262f6e..2032d3f0567 100644 --- a/addons/hr_expense/hr_expense_view.xml +++ b/addons/hr_expense/hr_expense_view.xml @@ -155,11 +155,12 @@ - + + + - From d058f68e2f9c2d301880219880ba9e32cb64dfd0 Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" Date: Mon, 8 Oct 2012 12:11:44 +0200 Subject: [PATCH 10/56] [IMP] account: search view bzr revid: qdp-launchpad@openerp.com-20121008101144-bx103sqfkhd03a21 --- addons/account/account_invoice_view.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/addons/account/account_invoice_view.xml b/addons/account/account_invoice_view.xml index 26e18271dc2..3c2922ff141 100644 --- a/addons/account/account_invoice_view.xml +++ b/addons/account/account_invoice_view.xml @@ -458,7 +458,6 @@ - From bc3009d590af243ee28bb1e6994bcb2fae6d2bba Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Mon, 8 Oct 2012 14:03:51 +0200 Subject: [PATCH 11/56] [FIX] mail: default alias_domain should be web.base.url bzr revid: odo@openerp.com-20121008120351-fqmjckrjmy52xdji --- addons/mail/data/mail_demo.xml | 5 ----- addons/mail/res_config.py | 13 +++++++++++-- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/addons/mail/data/mail_demo.xml b/addons/mail/data/mail_demo.xml index 1350fd33547..7bda32c002b 100644 --- a/addons/mail/data/mail_demo.xml +++ b/addons/mail/data/mail_demo.xml @@ -42,10 +42,5 @@ This month you also get 250 EUR of eco-vouchers if you have been in the company comment - - mail.catchall.domain - demo.openerp.com - - diff --git a/addons/mail/res_config.py b/addons/mail/res_config.py index ce2f75687ba..91606e1c720 100644 --- a/addons/mail/res_config.py +++ b/addons/mail/res_config.py @@ -19,6 +19,8 @@ # ############################################################################## +import urlparse + from openerp.osv import osv, fields class project_configuration(osv.TransientModel): @@ -31,9 +33,16 @@ class project_configuration(osv.TransientModel): } def get_default_alias_domain(self, cr, uid, ids, context=None): - return {'alias_domain': self.pool.get("ir.config_parameter").get_param(cr, uid, "mail.catchall.domain", context=context)} + alias_domain = self.pool.get("ir.config_parameter").get_param(cr, uid, "mail.catchall.domain", context=context) + if not alias_domain: + domain = self.pool.get("ir.config_parameter").get_param(cr, uid, "web.base.url", context=context) + try: + alias_domain = urlparse.urlsplit(domain).netloc.split(':')[0] + except Exception: + pass + return {'alias_domain': alias_domain} def set_alias_domain(self, cr, uid, ids, context=None): config_parameters = self.pool.get("ir.config_parameter") for record in self.browse(cr, uid, ids, context=context): - config_parameters.set_param(cr, uid, "mail.catchall.domain", record.alias_domain or '', context=context) \ No newline at end of file + config_parameters.set_param(cr, uid, "mail.catchall.domain", record.alias_domain or '', context=context) From 43595fbeb1f2020ab7e1f545c0dbf6a579bf77b2 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Mon, 8 Oct 2012 14:04:21 +0200 Subject: [PATCH 12/56] [FIX] mail: default email From should consider user email if there is no alias bzr revid: odo@openerp.com-20121008120421-k9aj7g6vsr3zu5u2 --- addons/mail/mail_mail.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/addons/mail/mail_mail.py b/addons/mail/mail_mail.py index e9a569a8192..5b4a096e969 100644 --- a/addons/mail/mail_mail.py +++ b/addons/mail/mail_mail.py @@ -63,10 +63,12 @@ class mail_mail(osv.Model): } def _get_default_from(self, cr, uid, context=None): - cur = self.pool.get('res.users').browse(cr, uid, uid, context=context) - if not cur.alias_domain: - raise osv.except_osv(_('Invalid Action!'), _('Unable to send email, set an alias domain in your server settings.')) - return cur.alias_name + '@' + cur.alias_domain + this = self.pool.get('res.users').browse(cr, uid, uid, context=context) + if this.alias_domain: + return '%s@%s' % (this.alias, this.alias_domain) + elif this.email: + return this.email + raise osv.except_osv(_('Invalid Action!'), _("Unable to send email, please configure the sender's email address or alias.")) _defaults = { 'state': 'outgoing', From d54120565152cc0f1c8164bf7538802f7d527332 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Mon, 8 Oct 2012 15:02:45 +0200 Subject: [PATCH 13/56] [FIX] portal: add test email address for outgoing emails sent during tests bzr revid: odo@openerp.com-20121008130245-7n1ed3i2ez9bzniy --- addons/portal/tests/test_portal.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/addons/portal/tests/test_portal.py b/addons/portal/tests/test_portal.py index 653a05d40aa..10392be53ff 100644 --- a/addons/portal/tests/test_portal.py +++ b/addons/portal/tests/test_portal.py @@ -49,6 +49,9 @@ class test_portal(test_mail.TestMailMockups): self.user_chell = self.res_users.browse(cr, uid, self.user_chell_id) self.partner_chell_id = self.user_chell.partner_id.id + # Set an email address for the user running the tests, used as Sender for outgoing mails + self.res_users.write(cr, uid, uid, {'email': 'test@localhost'}) + def test_00_access_rights(self): """ Test basic mail_message and mail_group access rights for portal users. """ cr, uid = self.cr, self.uid From a369130a35341779d0876da02aaa49b284f8f09f Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" Date: Mon, 8 Oct 2012 15:08:31 +0200 Subject: [PATCH 14/56] [IMP] crm: remove 'sale team' from res.partner search view bzr revid: qdp-launchpad@openerp.com-20121008130831-hjm46vehb54tqc74 --- addons/crm/res_partner_view.xml | 16 ---------------- addons/hr_expense/hr_expense_view.xml | 2 +- 2 files changed, 1 insertion(+), 17 deletions(-) diff --git a/addons/crm/res_partner_view.xml b/addons/crm/res_partner_view.xml index 84a0bd4cf49..4b313bcef71 100644 --- a/addons/crm/res_partner_view.xml +++ b/addons/crm/res_partner_view.xml @@ -15,28 +15,12 @@ - - view.res.partner.tree.crm.inherited2 - res.partner - - - - - - - - - view.res.partner.search.crm.inherited3 res.partner - - - - diff --git a/addons/hr_expense/hr_expense_view.xml b/addons/hr_expense/hr_expense_view.xml index 2032d3f0567..67d629eee6a 100644 --- a/addons/hr_expense/hr_expense_view.xml +++ b/addons/hr_expense/hr_expense_view.xml @@ -158,7 +158,7 @@ - + From 635c3225dbf78dd6ff548b9f979f549a49a663da Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Mon, 8 Oct 2012 16:08:57 +0200 Subject: [PATCH 15/56] [FIX] project_long_term: demo project with phases should be marked as `use_phases` bzr revid: odo@openerp.com-20121008140857-zd3kcyq8t2ewyfno --- addons/project_long_term/project_long_term_demo.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/project_long_term/project_long_term_demo.xml b/addons/project_long_term/project_long_term_demo.xml index bca8231fdaa..fda481d5a11 100644 --- a/addons/project_long_term/project_long_term_demo.xml +++ b/addons/project_long_term/project_long_term_demo.xml @@ -7,6 +7,7 @@ + From a9b9412f182c3bc7e53b7a001d5edfa0b21b24bf Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" Date: Mon, 8 Oct 2012 16:26:19 +0200 Subject: [PATCH 16/56] [IMP] crm: remove 'country_id' from res.partner search view bzr revid: qdp-launchpad@openerp.com-20121008142619-mxqis0ubc8m3o4z9 --- addons/crm/res_partner_view.xml | 3 --- 1 file changed, 3 deletions(-) diff --git a/addons/crm/res_partner_view.xml b/addons/crm/res_partner_view.xml index 4b313bcef71..b7aa334a9c3 100644 --- a/addons/crm/res_partner_view.xml +++ b/addons/crm/res_partner_view.xml @@ -21,9 +21,6 @@ - - - From 6210cf76a6fba0d3054dcbe837e0824858eeea4b Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" Date: Mon, 8 Oct 2012 16:27:57 +0200 Subject: [PATCH 17/56] [IMP] base: module search view imp bzr revid: qdp-launchpad@openerp.com-20121008142757-c3597to9h42e56tl --- openerp/addons/base/module/module_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openerp/addons/base/module/module_view.xml b/openerp/addons/base/module/module_view.xml index 729d3ef7b4c..c3b3684f07c 100644 --- a/openerp/addons/base/module/module_view.xml +++ b/openerp/addons/base/module/module_view.xml @@ -39,7 +39,7 @@ + 'ilike', self)]" string="Module"/> From 5db1b37797c2e2e8ed2743e89cac8dd7489b6d8d Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" Date: Mon, 8 Oct 2012 16:47:22 +0200 Subject: [PATCH 18/56] [IMP] crm: opportunity search view imp bzr revid: qdp-launchpad@openerp.com-20121008144722-r6th49qhfzq8jmbf --- addons/crm/crm_lead_view.xml | 3 +-- addons/crm_partner_assign/crm_lead_view.xml | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml index 0c6d1d1fe96..6a152f44b67 100644 --- a/addons/crm/crm_lead_view.xml +++ b/addons/crm/crm_lead_view.xml @@ -580,9 +580,8 @@ domain="['|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]" context="{'invisible_section': False}" help="Opportunities that are assigned to either me or one of the sale teams I manage" /> - - + diff --git a/addons/crm_partner_assign/crm_lead_view.xml b/addons/crm_partner_assign/crm_lead_view.xml index cd2e3f08c9a..2cffb6fb899 100644 --- a/addons/crm_partner_assign/crm_lead_view.xml +++ b/addons/crm_partner_assign/crm_lead_view.xml @@ -56,7 +56,7 @@ - + From 5300124eb0cf643297971e4c7d9d6756ffd40c62 Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Mon, 8 Oct 2012 18:49:24 +0200 Subject: [PATCH 19/56] [FIX] wrong var assignation lp bug: https://launchpad.net/bugs/1022509 fixed bzr revid: abo@openerp.com-20121008164924-6pfc9k8lzt11uw9m --- addons/board/static/src/js/dashboard.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/board/static/src/js/dashboard.js b/addons/board/static/src/js/dashboard.js index 43d7ca76d39..6037c8c08fa 100644 --- a/addons/board/static/src/js/dashboard.js +++ b/addons/board/static/src/js/dashboard.js @@ -173,7 +173,7 @@ instance.web.form.DashBoard = instance.web.form.FormWidget.extend({ }, on_load_action: function(result, index, action_attrs) { var self = this, - action = result.result, + action = result, view_mode = action_attrs.view_mode; if (action_attrs.context && action_attrs.context['dashboard_merge_domains_contexts'] === false) { From bcefce701e8c1edd32de5268798838f89f757f72 Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" Date: Tue, 9 Oct 2012 11:21:29 +0200 Subject: [PATCH 20/56] [IMP] account: monetary widget for bank statements bzr revid: qdp-launchpad@openerp.com-20121009092129-w4pjhhuhxpabdjqg --- addons/account/account_bank_statement.py | 5 +++-- addons/account/account_view.xml | 9 +++------ 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/addons/account/account_bank_statement.py b/addons/account/account_bank_statement.py index 8b2a9aff257..549363ce269 100644 --- a/addons/account/account_bank_statement.py +++ b/addons/account/account_bank_statement.py @@ -461,9 +461,10 @@ class account_bank_statement(osv.osv): return {} balance_start = self._compute_balance_end_real(cr, uid, journal_id, context=context) - journal_data = self.pool.get('account.journal').read(cr, uid, journal_id, ['company_id'], context=context) + journal_data = self.pool.get('account.journal').read(cr, uid, journal_id, ['company_id', 'currency'], context=context) company_id = journal_data['company_id'] - return {'value': {'balance_start': balance_start, 'company_id': company_id}} + currency_id = journal_data['currency'] or self.pool.get('res.company').browse(cr, uid, company_id[0], context=context).currency_id.id + return {'value': {'balance_start': balance_start, 'company_id': company_id, 'currency': currency_id}} def unlink(self, cr, uid, ids, context=None): stat = self.read(cr, uid, ids, ['state'], context=context) diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml index 1c40bebba52..3391158696a 100644 --- a/addons/account/account_view.xml +++ b/addons/account/account_view.xml @@ -633,13 +633,10 @@ + - From 1b7d0029221be19c6b23634f60d6f8109db852d8 Mon Sep 17 00:00:00 2001 From: Vishmita Date: Tue, 9 Oct 2012 15:40:28 +0530 Subject: [PATCH 21/56] [IMP]replace callenabled for on_mode_switch bzr revid: vja@tinyerp.com-20121009101028-z5andmt2pi0973za --- addons/web/static/src/js/view_form.js | 2 +- addons/web/static/src/js/views.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index b41039361c0..db68b8d7a23 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -3370,7 +3370,7 @@ instance.web.form.FieldOne2Many = instance.web.form.AbstractField.extend({ } def.resolve(); }); - this.viewmanager.on_mode_switch.add_first(function(n_mode, b, c, d, e) { + this.viewmanager.on('on_mode_switch',self,function(n_mode, b, c, d, e) { $.when(self.save_any_view()).then(function() { if(n_mode === "list") $.async_when().then(function() {self.reload_current_view();}); diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index 21f539fed1b..18d7e9d5666 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -552,7 +552,7 @@ instance.web.ViewManager = instance.web.Widget.extend({ add_breadcrumb: function(on_reverse_breadcrumb) { var self = this; var views = [this.active_view || this.views_src[0].view_type]; - this.on_mode_switch.add(function(mode) { + this.on('on_mode_switch',self,function(mode) { var last = views.slice(-1)[0]; if (mode !== last) { if (mode !== 'form') { From 42ece6cdb779bfdaed041768736a521dbc2aadc3 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Tue, 9 Oct 2012 12:35:35 +0200 Subject: [PATCH 22/56] [FIX] project: leftover typos in mail processing methods bzr revid: odo@openerp.com-20121009103535-ohvpd1u81hcc5izi --- addons/project/project.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/addons/project/project.py b/addons/project/project.py index 6b02a018293..98c385c0ce3 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -1173,11 +1173,10 @@ class task(base_stage, osv.osv): """ Override to updates the document according to the email. """ if custom_values is None: custom_values = {} custom_values.update({ - 'name': subject, + 'name': msg.get('subject'), 'planned_hours': 0.0, - 'subject': msg.get('subject'), }) - return super(project_tasks,self).message_new(cr, uid, msg, custom_values=custom_values, context=context) + return super(task,self).message_new(cr, uid, msg, custom_values=custom_values, context=context) def message_update(self, cr, uid, ids, msg, update_vals=None, context=None): """ Override to update the task according to the email. """ @@ -1202,7 +1201,7 @@ class task(base_stage, osv.osv): act = 'do_%s' % res.group(2).lower() if act: getattr(self,act)(cr, uid, ids, context=context) - return super(project_tasks,self).message_update(cr, uid, msg, update_vals=update_vals, context=context) + return super(task,self).message_update(cr, uid, msg, update_vals=update_vals, context=context) # --------------------------------------------------- # OpenChatter methods and notifications From fb3a8ca573e4ce66ad562e1b504a9abd4fa0f695 Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Tue, 9 Oct 2012 14:23:49 +0200 Subject: [PATCH 23/56] [REM] commented code bzr revid: abo@openerp.com-20121009122349-ex5ypwulksc7ibx4 --- addons/project/report/project_cumulative.xml | 30 -------------------- 1 file changed, 30 deletions(-) diff --git a/addons/project/report/project_cumulative.xml b/addons/project/report/project_cumulative.xml index 3531b5ffc27..dc556be22e7 100644 --- a/addons/project/report/project_cumulative.xml +++ b/addons/project/report/project_cumulative.xml @@ -29,21 +29,6 @@ - - - - - - - - - - - - - - - project.task.history.cumulative.search @@ -78,20 +63,5 @@ id="menu_action_view_task_history_cumulative" parent="base.menu_project_report" /> - - - - - - - - - - - - - - - From abac1cae455e3380fee45a2d9503427ed6fa3269 Mon Sep 17 00:00:00 2001 From: "Vidhin Mehta (OpenERP)" Date: Tue, 9 Oct 2012 18:05:32 +0530 Subject: [PATCH 24/56] [IMP]improvements to record load event. bzr revid: vme@tinyerp.com-20121009123532-bwlrg4ldtprd1w2d --- addons/web/static/src/js/view_form.js | 3 +- addons/web_diagram/static/src/js/diagram.js | 34 +++------------------ addons/web_tests/static/src/js/web_tests.js | 6 ++-- 3 files changed, 8 insertions(+), 35 deletions(-) diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index e55258d45d1..45e49366ba2 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -380,7 +380,6 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM field._inhibit_on_change_flag = false; set_values.push(result); }); - console.log("on_record_loaded"); return $.when.apply(null, set_values).pipe(function() { if (!record.id) { // New record: Second pass in order to trigger the onchanges @@ -755,7 +754,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM this.trigger('history_back'); } else { this.to_view_mode(); - self.trigger('record_load',this.datarecord); + this.trigger('record_load',this.datarecord); } } return false; diff --git a/addons/web_diagram/static/src/js/diagram.js b/addons/web_diagram/static/src/js/diagram.js index 083dfd56dc0..6c32a12384a 100644 --- a/addons/web_diagram/static/src/js/diagram.js +++ b/addons/web_diagram/static/src/js/diagram.js @@ -239,24 +239,13 @@ instance.web.DiagramView = instance.web.View.extend({ title: _t("Open: ") + title } ); - - pop.on_write_completed.add(function() { + pop.on('on_write_complete', self, function() { self.dataset.read_index(_.keys(self.fields_view.fields)).pipe(self.on_diagram_loaded); }); - + var form_fields = [self.parent_field]; var form_controller = pop.view_form; - /*form_controller.on_record_loaded.add_first(function() { - console.log("web diagram add_first"); - _.each(form_fields, function(fld) { - if (!(fld in form_controller.fields)) { return; } - var field = form_controller.fields[fld]; - field.$input.prop('disabled', true); - field.$drop_down.unbind(); - //field.$menu_btn.unbind(); - }); - });*/ form_controller.on("record_load", self, function(){ console.log("web diagram add_first"); _.each(form_fields, function(fld) { @@ -264,7 +253,6 @@ instance.web.DiagramView = instance.web.View.extend({ var field = form_controller.fields[fld]; field.$input.prop('disabled', true); field.$drop_down.unbind(); - //field.$menu_btn.unbind(); }); }); @@ -293,14 +281,6 @@ instance.web.DiagramView = instance.web.View.extend({ var form_controller = pop.view_form; var form_fields = [this.parent_field]; - /*form_controller.on_record_loaded.add_last(function() { - _.each(form_fields, function(fld) { - if (!(fld in form_controller.fields)) { return; } - var field = form_controller.fields[fld]; - field.set_value(self.id); - field.dirty = true; - }); - });*/ form_controller.on("record_load", self, function(){ _.each(form_fields, function(fld) { if (!(fld in form_controller.fields)) { return; } @@ -324,7 +304,7 @@ instance.web.DiagramView = instance.web.View.extend({ title: _t("Open: ") + title } ); - pop.on_write.add(function() { + pop.on('on_write_complete', self, function() { self.dataset.read_index(_.keys(self.fields_view.fields)).pipe(self.on_diagram_loaded); }); }, @@ -360,14 +340,8 @@ instance.web.DiagramView = instance.web.View.extend({ var form_controller = pop.view_form; - /*form_controller.on_record_loaded.add_last(function () { - form_controller.fields[self.connectors.attrs.source].set_value(node_source_id); - form_controller.fields[self.connectors.attrs.source].dirty = true; - form_controller.fields[self.connectors.attrs.destination].set_value(node_dest_id); - form_controller.fields[self.connectors.attrs.destination].dirty = true; - });*/ + form_controller.on("record_load", self, function(){ - console.log("add_connector"); form_controller.fields[self.connectors.attrs.source].set_value(node_source_id); form_controller.fields[self.connectors.attrs.source].dirty = true; form_controller.fields[self.connectors.attrs.destination].set_value(node_dest_id); diff --git a/addons/web_tests/static/src/js/web_tests.js b/addons/web_tests/static/src/js/web_tests.js index 5b9c1d02503..8c146644372 100644 --- a/addons/web_tests/static/src/js/web_tests.js +++ b/addons/web_tests/static/src/js/web_tests.js @@ -23,14 +23,14 @@ openerp.web_tests = function (instance) { on_everything_loaded: function (slice) { var records = slice[0].records; if (!records.length) { - this.form.on_record_loaded({}); + this.form.trigger("record_load",{}); return; } - this.form.on_record_loaded(records[0]); + this.form.trigger("record_load", records[0]) _(records.slice(1)).each(function (record, index) { this.dataset.index = index+1; this.form.reposition($('
').appendTo(this.$el)); - this.form.on_record_loaded(record); + this.form.trigger("record_load", record) }, this); } }); From 5645a84a1651b9f2104ec22e62033de70fa8a334 Mon Sep 17 00:00:00 2001 From: "Vidhin Mehta (OpenERP)" Date: Tue, 9 Oct 2012 18:19:08 +0530 Subject: [PATCH 25/56] [IMP]replace add* method. bzr revid: vme@tinyerp.com-20121009124908-r33qqpx15ea39p78 --- addons/board/static/src/js/dashboard.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/board/static/src/js/dashboard.js b/addons/board/static/src/js/dashboard.js index 43d7ca76d39..bba076e8594 100644 --- a/addons/board/static/src/js/dashboard.js +++ b/addons/board/static/src/js/dashboard.js @@ -25,9 +25,9 @@ instance.web.form.DashBoard = instance.web.form.FormWidget.extend({ }).bind('sortstop', self.do_save_dashboard); var old_title = this.__parentedParent.get('title'); - this.__parentedParent.on_record_loaded.add_last(function(){ + this.__parentedParent.on('record_load', this, function(){ self.__parentedParent.set({ 'title' : old_title}); - }); + }) // Events this.$el.find('.oe_dashboard_link_reset').click(this.on_reset); this.$el.find('.oe_dashboard_link_change_layout').click(this.on_change_layout); From 91f97769790fbd59bd6360c0392a4c1c1cece0cd Mon Sep 17 00:00:00 2001 From: "Vidhin Mehta (OpenERP)" Date: Tue, 9 Oct 2012 18:26:47 +0530 Subject: [PATCH 26/56] [rem]console bzr revid: vme@tinyerp.com-20121009125647-zwx4fj95fjs0y34u --- addons/web_diagram/static/src/js/diagram.js | 1 - 1 file changed, 1 deletion(-) diff --git a/addons/web_diagram/static/src/js/diagram.js b/addons/web_diagram/static/src/js/diagram.js index 6c32a12384a..3b9e81fdf6e 100644 --- a/addons/web_diagram/static/src/js/diagram.js +++ b/addons/web_diagram/static/src/js/diagram.js @@ -247,7 +247,6 @@ instance.web.DiagramView = instance.web.View.extend({ var form_controller = pop.view_form; form_controller.on("record_load", self, function(){ - console.log("web diagram add_first"); _.each(form_fields, function(fld) { if (!(fld in form_controller.fields)) { return; } var field = form_controller.fields[fld]; From 70ebec1cd62b532fb21da247f2deb2d8e13e9db1 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Tue, 9 Oct 2012 14:56:53 +0200 Subject: [PATCH 27/56] [IMP] Do not update auth_oauth service providers bzr revid: fme@openerp.com-20121009125653-p9i84663xygtb1r0 --- addons/auth_oauth/auth_oauth_data.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/auth_oauth/auth_oauth_data.xml b/addons/auth_oauth/auth_oauth_data.xml index 83e9df2e44d..c07359a062c 100644 --- a/addons/auth_oauth/auth_oauth_data.xml +++ b/addons/auth_oauth/auth_oauth_data.xml @@ -1,6 +1,6 @@ - + OpenERP Accounts From b8d7b8cb0ac768220eb28b3823b02d63027267ca Mon Sep 17 00:00:00 2001 From: "Vidhin Mehta (OpenERP)" Date: Tue, 9 Oct 2012 18:30:30 +0530 Subject: [PATCH 28/56] [REM]one more console. bzr revid: vme@tinyerp.com-20121009130030-8437spz1j1eogh8x --- addons/web/static/src/js/view_form.js | 1 - 1 file changed, 1 deletion(-) diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 45e49366ba2..43afe3a3bf1 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -3372,7 +3372,6 @@ instance.web.form.FieldOne2Many = instance.web.form.AbstractField.extend({ $(".oe_form_buttons", controller.$el).children().remove(); } controller.on("record_load", self, function(){ - console.log("view manager form"); once.resolve(); }); controller.on_pager_action.add_first(function() { From 099825109ef0795693d6fce665891e0641d2766d Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Tue, 9 Oct 2012 15:19:11 +0200 Subject: [PATCH 29/56] [FIX] mail.message: catch more error cases when trying to resolve msg author + lint cleanup bzr revid: odo@openerp.com-20121009131911-6lo2knsrh2qgrxv8 --- addons/mail/mail_message.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/addons/mail/mail_message.py b/addons/mail/mail_message.py index 9c873a31097..98b7ef9f36d 100644 --- a/addons/mail/mail_message.py +++ b/addons/mail/mail_message.py @@ -180,7 +180,6 @@ class mail_message(osv.Model): fields allow to have the foreign record name without having to check external access rights). """ - child_nbr = len(msg.child_ids) has_voted = False vote_ids = self.pool.get('res.users').name_get(cr, SUPERUSER_ID, [user.id for user in msg.vote_user_ids], context=context) for vote in vote_ids: @@ -194,7 +193,7 @@ class mail_message(osv.Model): try: author_id = self.pool.get('res.partner').name_get(cr, uid, [msg.author_id.id], context=context)[0] is_author = uid == msg.author_id.user_ids[0].id - except (orm.except_orm, osv.except_osv): + except Exception: author_id = False is_author = False try: From fac6e9246be0f03915c199a2f9277658dd501c95 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Tue, 9 Oct 2012 15:31:32 +0200 Subject: [PATCH 30/56] [FIX] mail: allow overriding message_post in threads + fix res.users' delegation to res.partner bzr revid: odo@openerp.com-20121009133132-at5j8pm8engxqi10 --- addons/mail/mail_thread.py | 2 +- addons/mail/res_users.py | 16 +++++++++++++--- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/addons/mail/mail_thread.py b/addons/mail/mail_thread.py index 9f53b4c08b1..8dee944751c 100644 --- a/addons/mail/mail_thread.py +++ b/addons/mail/mail_thread.py @@ -427,7 +427,7 @@ class mail_thread(osv.AbstractModel): model_pool.message_update(cr, user_id, [thread_id], msg, context=context) else: thread_id = model_pool.message_new(cr, user_id, msg, custom_values, context=context) - self.message_post(cr, uid, [thread_id], context=context, **msg) + model_pool.message_post(cr, uid, [thread_id], context=context, **msg) return thread_id def message_new(self, cr, uid, msg_dict, custom_values=None, context=None): diff --git a/addons/mail/res_users.py b/addons/mail/res_users.py index 545198f4c7f..f870604b03a 100644 --- a/addons/mail/res_users.py +++ b/addons/mail/res_users.py @@ -110,9 +110,19 @@ class res_users(osv.Model): alias_pool.unlink(cr, uid, alias_ids, context=context) return res - def message_post(self, cr, uid, thread_id, **kwargs): - partner_id = self.pool.get('res.users').browse(cr, uid, thread_id)[0].partner_id.id - return self.pool.get('res.partner').message_post(cr, uid, partner_id, **kwargs) + def message_post(self, cr, uid, thread_id, context=None, **kwargs): + assert thread_id, "res.users does not support posting global messages" + if context and 'thread_model' in context: + context['thread_model'] = 'res.partner' + if isinstance(thread_id, (list, tuple)): + thread_id = thread_id[0] + partner_id = self.pool.get('res.users').browse(cr, uid, thread_id).partner_id.id + return self.pool.get('res.partner').message_post(cr, uid, partner_id, context=context, **kwargs) + + def message_update(self, cr, uid, ids, msg_dict, update_vals=None, context=None): + partner_id = self.pool.get('res.users').browse(cr, uid, ids)[0].partner_id.id + return self.pool.get('res.partner').message_update(cr, uid, [partner_id], msg_dict, + update_vals=update_vals, context=context) class res_users_mail_group(osv.Model): """ Update of res.users class From 0ce1ef32a872bd1f942dd73ee11214374b6ce520 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Tue, 9 Oct 2012 15:40:20 +0200 Subject: [PATCH 31/56] [FIX] mail: typos -> message-id header is mapped to message_id column bzr revid: odo@openerp.com-20121009134020-9wf96yszv8qcmbm1 --- addons/mail/mail_thread.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/mail/mail_thread.py b/addons/mail/mail_thread.py index 8dee944751c..2261b940944 100644 --- a/addons/mail/mail_thread.py +++ b/addons/mail/mail_thread.py @@ -422,7 +422,7 @@ class mail_thread(osv.AbstractModel): model_pool = self.pool.get(model) assert thread_id and hasattr(model_pool, 'message_update') or hasattr(model_pool, 'message_new'), \ "Undeliverable mail with Message-Id %s, model %s does not accept incoming emails" % \ - (msg['message-id'], model) + (msg['message_id'], model) if thread_id and hasattr(model_pool, 'message_update'): model_pool.message_update(cr, user_id, [thread_id], msg, context=context) else: @@ -538,7 +538,7 @@ class mail_thread(osv.AbstractModel): field may not be present if missing in original message:: - { 'message-id': msg_id, + { 'message_id': msg_id, 'subject': subject, 'from': from, 'to': to, From cb57169c97fa8577d2b2e24789b563f2066f059e Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Tue, 9 Oct 2012 15:44:14 +0200 Subject: [PATCH 32/56] [FIX] mail.mail: typo in previous commits bzr revid: odo@openerp.com-20121009134414-923kv1ciw00pxh6v --- addons/mail/mail_mail.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/mail/mail_mail.py b/addons/mail/mail_mail.py index 5b4a096e969..741184ef7a3 100644 --- a/addons/mail/mail_mail.py +++ b/addons/mail/mail_mail.py @@ -65,7 +65,7 @@ class mail_mail(osv.Model): def _get_default_from(self, cr, uid, context=None): this = self.pool.get('res.users').browse(cr, uid, uid, context=context) if this.alias_domain: - return '%s@%s' % (this.alias, this.alias_domain) + return '%s@%s' % (this.alias_name, this.alias_domain) elif this.email: return this.email raise osv.except_osv(_('Invalid Action!'), _("Unable to send email, please configure the sender's email address or alias.")) From 7f516d2835e3f2ba9a9b466d7ad4a92251566a20 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Tue, 9 Oct 2012 15:50:40 +0200 Subject: [PATCH 33/56] [FIX] mail.message: incorrect message-id generation, id/model were swapped For backwards-compatibility reasons we need to stick with this format: `res_id-model`, even if reversing the values would look more logical bzr revid: odo@openerp.com-20121009135040-spvejc1l4mos25yv --- addons/mail/mail_message.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/mail/mail_message.py b/addons/mail/mail_message.py index 98b7ef9f36d..7e77b2f2e8c 100644 --- a/addons/mail/mail_message.py +++ b/addons/mail/mail_message.py @@ -501,7 +501,7 @@ class mail_message(osv.Model): def create(self, cr, uid, values, context=None): if not values.get('message_id') and values.get('res_id') and values.get('model'): - values['message_id'] = tools.generate_tracking_message_id('%(model)s-%(res_id)s' % values) + values['message_id'] = tools.generate_tracking_message_id('%(res_id)s-%(model)s' % values) newid = super(mail_message, self).create(cr, uid, values, context) self._notify(cr, SUPERUSER_ID, newid, context=context) return newid From c98de15a09c4d2dda02426ccb0bda9f6d37677bd Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" Date: Tue, 9 Oct 2012 16:26:07 +0200 Subject: [PATCH 34/56] [IMP] osv/orm.py: evaluate in python the 'options' attribute of a field in an xml view, before enclosing it in json. This allow to use python instead of json syntax in the definition of the options of a widget, which is a much more consistent behavior bzr revid: qdp-launchpad@openerp.com-20121009142607-rk3l00atu3w3kksp --- openerp/addons/base/res/res_bank_view.xml | 4 ++-- openerp/addons/base/res/res_company_view.xml | 4 ++-- openerp/addons/base/res/res_country_view.xml | 2 +- openerp/addons/base/res/res_partner_view.xml | 6 +++--- openerp/osv/orm.py | 8 ++++++-- openerp/tools/safe_eval.py | 2 +- 6 files changed, 15 insertions(+), 11 deletions(-) diff --git a/openerp/addons/base/res/res_bank_view.xml b/openerp/addons/base/res/res_bank_view.xml index ac91684d4d9..33b98c690c6 100644 --- a/openerp/addons/base/res/res_bank_view.xml +++ b/openerp/addons/base/res/res_bank_view.xml @@ -106,8 +106,8 @@
- - + +
diff --git a/openerp/addons/base/res/res_company_view.xml b/openerp/addons/base/res/res_company_view.xml index cac53b7a76a..b8cb12d3dd0 100644 --- a/openerp/addons/base/res/res_company_view.xml +++ b/openerp/addons/base/res/res_company_view.xml @@ -46,10 +46,10 @@
- +
- +
@@ -177,7 +177,7 @@ + options='{"no_open": True}' attrs="{'invisible': [('is_company','=', True)]}" />
diff --git a/openerp/osv/orm.py b/openerp/osv/orm.py index c713c0378ea..8bc5c386527 100644 --- a/openerp/osv/orm.py +++ b/openerp/osv/orm.py @@ -60,7 +60,7 @@ import openerp import openerp.netsvc as netsvc import openerp.tools as tools from openerp.tools.config import config -from openerp.tools.safe_eval import safe_eval as eval +from openerp.tools.safe_eval import const_eval, safe_eval as eval from openerp.tools.translate import _ from openerp import SUPERUSER_ID from query import Query @@ -1732,7 +1732,11 @@ class BaseModel(object): field = model_fields.get(node.get('name')) if field: transfer_field_to_modifiers(field, modifiers) - + if node.get('options'): + try: + node.set('options', simplejson.dumps(const_eval(node.get('options')))) + except Exception, msg: + raise except_orm('Invalide Python code in %s'%(node.get('options')), msg[0]) elif node.tag in ('form', 'tree'): result = self.view_header_get(cr, user, False, node.tag, context) diff --git a/openerp/tools/safe_eval.py b/openerp/tools/safe_eval.py index 601fd95200a..6bc92e57465 100644 --- a/openerp/tools/safe_eval.py +++ b/openerp/tools/safe_eval.py @@ -46,7 +46,7 @@ _ALLOWED_MODULES = ['_strptime', 'time'] _CONST_OPCODES = set(opmap[x] for x in [ 'POP_TOP', 'ROT_TWO', 'ROT_THREE', 'ROT_FOUR', 'DUP_TOP', 'DUP_TOPX', 'POP_BLOCK','SETUP_LOOP', 'BUILD_LIST', 'BUILD_MAP', 'BUILD_TUPLE', - 'LOAD_CONST', 'RETURN_VALUE', 'STORE_SUBSCR'] if x in opmap) + 'LOAD_CONST', 'RETURN_VALUE', 'STORE_SUBSCR', 'STORE_MAP', 'LOAD_NAME'] if x in opmap) _EXPR_OPCODES = _CONST_OPCODES.union(set(opmap[x] for x in [ 'UNARY_POSITIVE', 'UNARY_NEGATIVE', 'UNARY_NOT', From fbbc0bad19c57bfbf5df9351373c8edd0ead3ded Mon Sep 17 00:00:00 2001 From: "Quentin (OpenERP)" Date: Tue, 9 Oct 2012 16:34:33 +0200 Subject: [PATCH 35/56] [IMP] all: replaced 'true' by 'True' in 'options' attribute in views, because now the syntax of these options must be expressed in python instead of json bzr revid: qdp-launchpad@openerp.com-20121009143433-s4y6isbewqdn2fu2 --- addons/account/account_invoice_view.xml | 2 +- addons/account/account_view.xml | 2 +- .../account_voucher/voucher_sales_purchase_view.xml | 2 +- addons/crm/crm_lead_view.xml | 12 ++++++------ addons/document_page/document_page_view.xml | 2 +- .../wizard/document_page_show_diff_view.xml | 2 +- .../wizard/email_template_preview_view.xml | 2 +- addons/event/event_view.xml | 4 ++-- addons/hr/hr_view.xml | 8 ++++---- addons/portal_crm/wizard/contact_view.xml | 4 ++-- addons/project/project_view.xml | 6 +++--- addons/project_gtd/project_gtd_view.xml | 4 ++-- addons/project_gtd/wizard/project_gtd_fill_view.xml | 2 +- addons/sale/sale_view.xml | 4 ++-- 14 files changed, 28 insertions(+), 28 deletions(-) diff --git a/addons/account/account_invoice_view.xml b/addons/account/account_invoice_view.xml index 26e18271dc2..48737bd5fef 100644 --- a/addons/account/account_invoice_view.xml +++ b/addons/account/account_invoice_view.xml @@ -322,7 +322,7 @@ + options='{"always_reload": True}'/> diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml index 3391158696a..d2680a8456f 100644 --- a/addons/account/account_view.xml +++ b/addons/account/account_view.xml @@ -635,7 +635,7 @@ - + diff --git a/addons/account_voucher/voucher_sales_purchase_view.xml b/addons/account_voucher/voucher_sales_purchase_view.xml index 4c388730644..a362c553ccd 100644 --- a/addons/account_voucher/voucher_sales_purchase_view.xml +++ b/addons/account_voucher/voucher_sales_purchase_view.xml @@ -73,7 +73,7 @@ - + diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml index f91a8756598..f7acb6b557d 100644 --- a/addons/crm/crm_lead_view.xml +++ b/addons/crm/crm_lead_view.xml @@ -160,17 +160,17 @@
- +
- +
@@ -488,7 +488,7 @@
diff --git a/addons/hr/hr_view.xml b/addons/hr/hr_view.xml index 69567902763..caa893aea6e 100644 --- a/addons/hr/hr_view.xml +++ b/addons/hr/hr_view.xml @@ -42,14 +42,14 @@ - + - + @@ -57,14 +57,14 @@ - + - + diff --git a/addons/portal_crm/wizard/contact_view.xml b/addons/portal_crm/wizard/contact_view.xml index 1776632d7ab..778e7f9562e 100644 --- a/addons/portal_crm/wizard/contact_view.xml +++ b/addons/portal_crm/wizard/contact_view.xml @@ -35,8 +35,8 @@ - - + +

diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml index bd63eec84c5..9d3b137f7c1 100644 --- a/addons/project/project_view.xml +++ b/addons/project/project_view.xml @@ -103,7 +103,7 @@ - + @@ -311,7 +311,7 @@ - +
@@ -401,7 +401,7 @@ - + diff --git a/addons/project_gtd/project_gtd_view.xml b/addons/project_gtd/project_gtd_view.xml index fdb8ae8495c..a7026da8854 100644 --- a/addons/project_gtd/project_gtd_view.xml +++ b/addons/project_gtd/project_gtd_view.xml @@ -92,8 +92,8 @@ - - + + diff --git a/addons/project_gtd/wizard/project_gtd_fill_view.xml b/addons/project_gtd/wizard/project_gtd_fill_view.xml index 8807c00a76b..626dfb699b8 100644 --- a/addons/project_gtd/wizard/project_gtd_fill_view.xml +++ b/addons/project_gtd/wizard/project_gtd_fill_view.xml @@ -8,7 +8,7 @@
- + diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml index 5505a6a88b5..0055deb8d3d 100644 --- a/addons/sale/sale_view.xml +++ b/addons/sale/sale_view.xml @@ -214,7 +214,7 @@