From af3428a86f03641f135a35b8723958ec1a54d532 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Thu, 23 Jan 2014 14:54:08 +0100 Subject: [PATCH 1/2] [REV] Revert some stuff in order to bring back main_object on all rendered views bzr revid: fme@openerp.com-20140123135408-qp4z7ry4a2vej2jy --- addons/website/controllers/main.py | 4 +--- addons/website/models/website.py | 16 +++++++++++++--- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/addons/website/controllers/main.py b/addons/website/controllers/main.py index 627773be496..d177f3df45d 100644 --- a/addons/website/controllers/main.py +++ b/addons/website/controllers/main.py @@ -104,9 +104,7 @@ class Website(openerp.addons.web.controllers.main.Home): page = 'website.%s' % page try: - module, xmlid = page.split('.', 1) - model, view_id = request.registry["ir.model.data"].get_object_reference(request.cr, request.uid, module, xmlid) - values['main_object'] = request.registry["ir.ui.view"].browse(request.cr, request.uid, view_id, context=request.context) + request.website.get_template(page) except ValueError, e: # page not found if request.context['editable']: diff --git a/addons/website/models/website.py b/addons/website/models/website.py index cee457b70fd..fe7d21c5267 100644 --- a/addons/website/models/website.py +++ b/addons/website/models/website.py @@ -209,6 +209,13 @@ class website(osv.osv): translatable=not is_master_lang, ) + def get_template(self, cr, uid, ids, template, context=None): + if '.' not in template: + template = 'website.%s' % template + module, xmlid = template.split('.', 1) + model, view_id = request.registry["ir.model.data"].get_object_reference(cr, uid, module, xmlid) + return self.pool["ir.ui.view"].browse(cr, uid, view_id, context=context) + def _render(self, cr, uid, ids, template, values=None, context=None): user = self.pool.get("res.users") if not context: @@ -233,10 +240,13 @@ class website(osv.osv): qweb_values.setdefault('editable', False) # in edit mode ir.ui.view will tag nodes - context['inherit_branding']=qweb_values['editable'] + context['inherit_branding'] = qweb_values['editable'] - result = self.pool['ir.ui.view'].render(cr, uid, template, qweb_values, engine='website.qweb', context=context) - return result + view = self.get_template(cr, uid, ids, template) + + if 'main_object' not in qweb_values: + qweb_values['main_object'] = view + return view.render(qweb_values, engine='website.qweb', context=context) def render(self, cr, uid, ids, template, values=None, status_code=None, context=None): def callback(template, values, context): From e965277a2c9a36ccc0d030bec9868ed172410aa1 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Thu, 23 Jan 2014 15:03:48 +0100 Subject: [PATCH 2/2] [FIX] website_hr_recruitment: unpublish jobs when stopping recruitment bzr revid: chs@openerp.com-20140123140348-e8j58tcnlsr24x9l --- addons/website_hr_recruitment/models/hr_job.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/addons/website_hr_recruitment/models/hr_job.py b/addons/website_hr_recruitment/models/hr_job.py index 0984c9d40eb..8c42671a44c 100644 --- a/addons/website_hr_recruitment/models/hr_job.py +++ b/addons/website_hr_recruitment/models/hr_job.py @@ -15,6 +15,10 @@ class hr_job(osv.osv): res[job.id] = "%s/job/detail/%s/" % (base_url, job.id) return res + def job_open(self, cr, uid, ids, context=None): + self.write(cr, uid, ids, {'website_published': False}, context=context) + return super(hr_job, self).job_open(cr, uid, ids, context) + _columns = { 'website_published': fields.boolean('Available in the website'), 'website_description': fields.html('Description for the website'),