From bec50b5df98290f77c921777b975f7855b30cc7a Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Fri, 4 May 2012 17:13:27 +0200 Subject: [PATCH 1/7] [IMP] orm: all workflow trigger calls in common method for increased flexibility bzr revid: odo@openerp.com-20120504151327-iib0qtvy3d79xgig --- openerp/osv/orm.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/openerp/osv/orm.py b/openerp/osv/orm.py index bdf78fd3567..6d5877e9bd5 100644 --- a/openerp/osv/orm.py +++ b/openerp/osv/orm.py @@ -3697,6 +3697,12 @@ class BaseModel(object): _('Operation prohibited by access rules, or performed on an already deleted document (Operation: %s, Document type: %s).') % (operation, self._description)) + def _workflow_trigger(self, cr, uid, ids, trigger, context=None): + """Call given workflow trigger as a result of a CRUD operation""" + wf_service = netsvc.LocalService("workflow") + for res_id in ids: + getattr(wf_service, trigger)(uid, self._name, res_id, cr) + def unlink(self, cr, uid, ids, context=None): """ Delete records with given ids @@ -3735,10 +3741,7 @@ class BaseModel(object): property_ids = ir_property.search(cr, uid, [('res_id', 'in', ['%s,%s' % (self._name, i) for i in ids])], context=context) ir_property.unlink(cr, uid, property_ids, context=context) - wf_service = netsvc.LocalService("workflow") - for oid in ids: - wf_service.trg_delete(uid, self._name, oid, cr) - + self._workflow_trigger(cr, uid, ids, 'trg_delete', context=context) self.check_access_rule(cr, uid, ids, 'unlink', context=context) pool_model_data = self.pool.get('ir.model.data') @@ -4039,9 +4042,7 @@ class BaseModel(object): todo.append(id) self.pool.get(object)._store_set_values(cr, user, todo, fields_to_recompute, context) - wf_service = netsvc.LocalService("workflow") - for id in ids: - wf_service.trg_write(user, self._name, id, cr) + self._workflow_trigger(cr, user, ids, 'trg_write', context=context) return True # @@ -4233,8 +4234,7 @@ class BaseModel(object): self.name_get(cr, user, [id_new], context=context)[0][1] + \ "' " + _("created.") self.log(cr, user, id_new, message, True, context=context) - wf_service = netsvc.LocalService("workflow") - wf_service.trg_create(user, self._name, id_new, cr) + self._workflow_trigger(cr, user, [id_new], 'trg_create', context=context) return id_new def browse(self, cr, uid, select, context=None, list_class=None, fields_process=None): From 16a2d354fc333d8fd3c0c638c5c2d74ffee8c580 Mon Sep 17 00:00:00 2001 From: Antony Lesuisse Date: Sat, 5 May 2012 18:23:23 +0200 Subject: [PATCH 2/7] [IMP] module loading add a second namespaced argument module(instance,module) bzr revid: al@openerp.com-20120505162323-ggqwrd4t1c2wcxcd --- addons/web/static/src/js/boot.js | 2 +- addons/web/static/src/js/coresetup.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/web/static/src/js/boot.js b/addons/web/static/src/js/boot.js index 29d953aadd8..f83dbc97095 100644 --- a/addons/web/static/src/js/boot.js +++ b/addons/web/static/src/js/boot.js @@ -37,7 +37,7 @@ }; openerp.instances[new_instance._session_id] = new_instance; for(var i=0; i < modules.length; i++) { - openerp[modules[i]](new_instance); + openerp[modules[i]](new_instance,new_instance[modules[i]]); } return new_instance; } diff --git a/addons/web/static/src/js/coresetup.js b/addons/web/static/src/js/coresetup.js index e633ea9cfec..8f5f150f125 100644 --- a/addons/web/static/src/js/coresetup.js +++ b/addons/web/static/src/js/coresetup.js @@ -280,7 +280,7 @@ instance.web.Session = instance.web.JsonRPC.extend( /** @lends instance.web.Sess instance[mod] = {}; // init module mod if(instance._openerp[mod] != undefined) { - instance._openerp[mod](instance); + instance._openerp[mod](instance,instance[mod]); this.module_loaded[mod] = true; } } From 3658063fa0bf77ff5b89c491d53092362fdfee6d Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Mon, 7 May 2012 15:02:56 +0200 Subject: [PATCH 3/7] [FIX] rename cookie when direct login bzr revid: chs@openerp.com-20120507130256-czruw5y9riqhg20z --- addons/web/controllers/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index 9b4c8335e35..0dd8f747fdb 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -331,7 +331,7 @@ class WebClient(openerpweb.Controller): req.session.authenticate(db, login, key, {}) redirect = werkzeug.utils.redirect('/web/webclient/home', 303) cookie_val = urllib2.quote(simplejson.dumps(req.session_id)) - redirect.set_cookie('session0|session_id', cookie_val) + redirect.set_cookie('instance0|session_id', cookie_val) return redirect @openerpweb.jsonrequest From b74a02bdfbc51a2b858650f594a506aacd17b460 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 23 Apr 2012 11:50:57 +0200 Subject: [PATCH 4/7] [FIX] bloody logo link bzr revid: xmo@openerp.com-20120423095057-4x3zbwpapz52mvwc --- addons/web/static/src/xml/base.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index 9f7071ae4f0..6c540fd6957 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -275,7 +275,10 @@ - + + d.url = '/' + (window.location.search || ''); + +