diff options
| author | Jérome Maes <jem@openerp.com> | 2016-08-04 08:50:00 +0200 |
|---|---|---|
| committer | Jérome Maes <jem@openerp.com> | 2016-08-04 12:02:14 +0200 |
| commit | 8a399930f316fc4d65828441d86301d4a8dfa669 (patch) | |
| tree | a45780e27942f303dc6a28a1213978c214229167 | |
| parent | fd09ddb6f3c40e9ec5854cc58c7eb791d4498dc0 (diff) | |
[REF] website_*: remove `render` method on website
Since saas-3, website controllers use `request.website.render`
to render the template of a web page. This was kept for retro
compatibility. It's time to stop using deprecated stuff.
Same for `_render` method on website.
'json' route don't use `request.render` since
`JsonRequest` has no `render` method.
36 files changed, 171 insertions, 170 deletions
diff --git a/addons/survey/controllers/main.py b/addons/survey/controllers/main.py index 7c0f42c558b..553fc5ad4b2 100644 --- a/addons/survey/controllers/main.py +++ b/addons/survey/controllers/main.py @@ -24,15 +24,15 @@ class WebsiteSurvey(http.Controller): # In case of auth required, block public user if survey.auth_required and request.env.user == request.website.user_id: - return request.website.render("survey.auth_required", {'survey': survey, 'token': token}) + return request.render("survey.auth_required", {'survey': survey, 'token': token}) # In case of non open surveys if survey.stage_id.closed: - return request.website.render("survey.notopen") + return request.render("survey.notopen") # If there is no pages if not survey.page_ids: - return request.website.render("survey.nopages") + return request.render("survey.nopages") # Everything seems to be ok return None @@ -46,7 +46,7 @@ class WebsiteSurvey(http.Controller): dt_deadline = fields.Datetime.from_string(deadline) dt_now = datetime.now() if dt_now > dt_deadline: # survey is not open anymore - return request.website.render("survey.notopen") + return request.render("survey.notopen") return None ## ROUTES HANDLERS ## @@ -63,7 +63,7 @@ class WebsiteSurvey(http.Controller): _logger.info("[survey] Phantom mode") user_input = UserInput.create({'survey_id': survey.id, 'test_entry': True}) data = {'survey': survey, 'page': None, 'token': user_input.token} - return request.website.render('survey.survey_init', data) + return request.render('survey.survey_init', data) # END Test mode # Controls if the survey can be displayed @@ -80,7 +80,7 @@ class WebsiteSurvey(http.Controller): else: user_input = UserInput.sudo().search([('token', '=', token)], limit=1) if not user_input: - return request.website.render("website.403") + return request.render("website.403") # Do not open expired survey errpage = self._check_deadline(user_input) @@ -90,7 +90,7 @@ class WebsiteSurvey(http.Controller): # Select the right page if user_input.state == 'new': # Intro page data = {'survey': survey, 'page': None, 'token': user_input.token} - return request.website.render('survey.survey_init', data) + return request.render('survey.survey_init', data) else: return request.redirect('/survey/fill/%s/%s' % (survey.id, user_input.token)) @@ -112,7 +112,7 @@ class WebsiteSurvey(http.Controller): try: user_input = UserInput.sudo().search([('token', '=', token)], limit=1) except IndexError: # Invalid token - return request.website.render("website.403") + return request.render("website.403") # Do not display expired survey (even if some pages have already been # displayed -- There's a time for everything!) @@ -126,9 +126,9 @@ class WebsiteSurvey(http.Controller): data = {'survey': survey, 'page': page, 'page_nr': page_nr, 'token': user_input.token} if last: data.update({'last': True}) - return request.website.render('survey.survey', data) + return request.render('survey.survey', data) elif user_input.state == 'done': # Display success message - return request.website.render('survey.sfinished', {'survey': survey, + return request.render('survey.sfinished', {'survey': survey, 'token': token, 'user_input': user_input}) elif user_input.state == 'skip': @@ -142,9 +142,9 @@ class WebsiteSurvey(http.Controller): data = {'survey': survey, 'page': page, 'page_nr': page_nr, 'token': user_input.token} if last: data.update({'last': True}) - return request.website.render('survey.survey', data) + return request.render('survey.survey', data) else: - return request.website.render("website.403") + return request.render("website.403") # AJAX prefilling of a survey @http.route(['/survey/prefill/<model("survey.survey"):survey>/<string:token>', @@ -225,7 +225,7 @@ class WebsiteSurvey(http.Controller): try: user_input = request.env['survey.user_input'].sudo().search([('token', '=', post['token'])], limit=1) except KeyError: # Invalid token - return request.website.render("website.403") + return request.render("website.403") user_id = request.env.user.id if user_input.type != 'link' else SUPERUSER_ID for question in questions: @@ -252,7 +252,7 @@ class WebsiteSurvey(http.Controller): def print_survey(self, survey, token=None, **post): '''Display an survey in printable view; if <token> is set, it will grab the answers of the user_input_id that has <token>.''' - return request.website.render('survey.survey_print', + return request.render('survey.survey_print', {'survey': survey, 'token': token, 'page_nr': 0, @@ -276,7 +276,7 @@ class WebsiteSurvey(http.Controller): filter_data = self.get_filter_data(post) current_filters = survey.filter_input_ids(filter_data, filter_finish) filter_display_data = survey.get_filter_display_data(filter_data) - return request.website.render(result_template, + return request.render(result_template, {'survey': survey, 'survey_dict': self.prepare_result_dict(survey, current_filters), 'page_range': self.page_range, diff --git a/addons/website/controllers/main.py b/addons/website/controllers/main.py index a0599ba6715..953c83e4fd0 100644 --- a/addons/website/controllers/main.py +++ b/addons/website/controllers/main.py @@ -238,7 +238,7 @@ class Website(Home): @http.route(['/website/snippets'], type='json', auth="user", website=True) def snippets(self): - return request.website._render('website.snippets') + return request.env['ir.ui.view'].render_template('website.snippets') @http.route('/website/reset_templates', type='http', auth='user', methods=['POST'], website=True) def reset_template(self, templates, redirect='/'): diff --git a/addons/website/models/ir_http.py b/addons/website/models/ir_http.py index f24f7fb1006..be89ca4dcac 100644 --- a/addons/website/models/ir_http.py +++ b/addons/website/models/ir_http.py @@ -299,9 +299,9 @@ class Http(models.AbstractModel): self._auth_method_public() try: - html = request.website._render('website.%s' % code, values) + html = request.env['ir.ui.view'].render_template('website.%s' % code, values) except Exception: - html = request.website._render('website.http_error', values) + html = request.env['ir.ui.view'].render_template('website.http_error', values) return werkzeug.wrappers.Response(html, status=code, content_type='text/html;charset=utf-8') def binary_content(self, xmlid=None, model='ir.attachment', id=None, field='datas', unique=False, filename=None, filename_field='datas_fname', download=False, mimetype=None, default_mimetype='application/octet-stream', env=None): diff --git a/addons/website/models/website.py b/addons/website/models/website.py index 54b8e3dd0f9..9bdf78f8b7f 100644 --- a/addons/website/models/website.py +++ b/addons/website/models/website.py @@ -425,15 +425,6 @@ class Website(models.Model): return View.browse(view_id) @api.model - def render(self, template, values=None, status_code=None): - # TODO: remove this. (just kept for backward api compatibility for saas-3) - return request.render(template, values, uid=self._uid) - - def _render(self, template, values=None): - # TODO: remove this. (just kept for backward api compatibility for saas-3) - return self.env['ir.ui.view'].render_template(template, values=values) - - @api.model def pager(self, url, total, page=1, step=30, scope=5, url_args=None): """ Generate a dict with required value to render `website.pager` template. This method compute url, page range to display, ... in the pager. diff --git a/addons/website/tests/__init__.py b/addons/website/tests/__init__.py index 468a16017e8..4088ad17c84 100644 --- a/addons/website/tests/__init__.py +++ b/addons/website/tests/__init__.py @@ -1,4 +1,6 @@ # -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + import test_converter import test_crawl import test_ui diff --git a/addons/website/tests/test_converter.py b/addons/website/tests/test_converter.py index 6a65197980e..0c3dfe0434a 100644 --- a/addons/website/tests/test_converter.py +++ b/addons/website/tests/test_converter.py @@ -1,8 +1,12 @@ # -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + import unittest from odoo.addons.website.models.website import slugify, unslug + class TestUnslug(unittest.TestCase): + def test_unslug(self): tests = { '': (None, None), @@ -28,6 +32,7 @@ class TestTitleToSlug(unittest.TestCase): Those tests should pass with or without python-slugify See website/models/website.py slugify method """ + def test_spaces(self): self.assertEqual( "spaces", diff --git a/addons/website/tests/test_crawl.py b/addons/website/tests/test_crawl.py index 189e6531e3f..5ef5c551163 100644 --- a/addons/website/tests/test_crawl.py +++ b/addons/website/tests/test_crawl.py @@ -1,4 +1,6 @@ # -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + import logging import urlparse import time @@ -10,6 +12,7 @@ import re _logger = logging.getLogger(__name__) + class Crawler(odoo.tests.HttpCase): """ Test suite crawling an Odoo CMS instance and checking that all internal links lead to a 200 response. diff --git a/addons/website/tests/test_ui.py b/addons/website/tests/test_ui.py index ecbc9b86327..cb5ab3cf7f8 100644 --- a/addons/website/tests/test_ui.py +++ b/addons/website/tests/test_ui.py @@ -1,7 +1,12 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +import odoo import odoo.tests class TestUi(odoo.tests.HttpCase): + def test_01_public_homepage(self): self.phantom_js("/", "console.log('ok')", "'website.snippets.animation' in odoo.__DEBUG__.services") diff --git a/addons/website/tests/test_views.py b/addons/website/tests/test_views.py index 8678e774529..5199b8b9f46 100644 --- a/addons/website/tests/test_views.py +++ b/addons/website/tests/test_views.py @@ -1,11 +1,13 @@ # -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + import itertools import unittest from lxml import etree as ET, html from lxml.html import builder as h -from openerp.tests import common +from odoo.tests import common def attrs(**kwargs): @@ -13,6 +15,7 @@ def attrs(**kwargs): class TestViewSaving(common.TransactionCase): + def eq(self, a, b): self.assertEqual(a.tag, b.tag) self.assertEqual(a.attrib, b.attrib) @@ -38,7 +41,7 @@ class TestViewSaving(common.TransactionCase): h.LI(h.SPAN("+00 00 000 00 0 000", attrs(model='res.company', id=1, field='phone', type='char'))) )) ) - self.view_id = self.registry('ir.ui.view').create(self.cr, self.uid, { + self.view_id = self.env['ir.ui.view'].create({ 'name': "Test View", 'type': 'qweb', 'arch': ET.tostring(self.arch, encoding='utf-8').decode('utf-8') @@ -60,7 +63,7 @@ class TestViewSaving(common.TransactionCase): self.env['ir.ui.view'].save_embedded_field(embedded) - company = self.registry('res.company').browse(self.cr, self.uid, 1) + company = self.env['res.company'].browse(1) self.assertEqual(company.phone, "+00 00 000 00 0 000") @unittest.skip("save conflict for embedded (saved by third party or previous version in page) not implemented") @@ -91,31 +94,26 @@ class TestViewSaving(common.TransactionCase): att['class'] = "foo bar" embedded = h.SPAN("My Company", att) - self.eq(View.to_field_ref(embedded), - h.SPAN({'t-field': 'bob', 'class': 'foo bar', 'id': 'whop'})) + self.eq(View.to_field_ref(embedded), h.SPAN({'t-field': 'bob', 'class': 'foo bar', 'id': 'whop'})) def test_replace_arch(self): replacement = h.P("Wheee") - result = self.registry('ir.ui.view').replace_arch_section( - self.cr, self.uid, [self.view_id], None, replacement) + result = self.view_id.replace_arch_section(None, replacement) self.eq(result, h.DIV("Wheee")) def test_replace_arch_2(self): replacement = h.DIV(h.P("Wheee")) - result = self.registry('ir.ui.view').replace_arch_section( - self.cr, self.uid, [self.view_id], None, replacement) + result = self.view_id.replace_arch_section(None, replacement) self.eq(result, replacement) def test_fixup_arch(self): replacement = h.H1("I am the greatest title alive!") - result = self.registry('ir.ui.view').replace_arch_section( - self.cr, self.uid, [self.view_id], '/div/div[1]/h3', - replacement) + result = self.view_id.replace_arch_section('/div/div[1]/h3', replacement) self.eq(result, h.DIV( h.DIV( @@ -135,12 +133,10 @@ class TestViewSaving(common.TransactionCase): def test_multiple_xpath_matches(self): with self.assertRaises(ValueError): - self.registry('ir.ui.view').replace_arch_section( - self.cr, self.uid, [self.view_id], '/div/div/h3', - h.H6("Lol nope")) + self.view_id.replace_arch_section('/div/div/h3', h.H6("Lol nope")) def test_save(self): - Company = self.registry('res.company') + Company = self.env['res.company'] View = self.env['ir.ui.view'] replacement = ET.tostring(h.DIV( @@ -151,13 +147,13 @@ class TestViewSaving(common.TransactionCase): h.LI(h.SPAN("+12 3456789", attrs(model='res.company', id=1, field='phone', expression="edmund", type='char'))), ) ), encoding='utf-8') - View.browse(self.view_id).save(value=replacement, xpath='/div/div[2]') + self.view_id.save(value=replacement, xpath='/div/div[2]') - company = Company.browse(self.cr, self.uid, 1) + company = Company.browse(1) self.assertEqual(company.name, "Acme Corporation") self.assertEqual(company.phone, "+12 3456789") self.eq( - ET.fromstring(View.browse(self.view_id).arch.encode('utf-8')), + ET.fromstring(self.view_id.arch.encode('utf-8')), h.DIV( h.DIV( h.H3("Column 1"), @@ -177,36 +173,35 @@ class TestViewSaving(common.TransactionCase): def test_save_escaped_text(self): """ Test saving html special chars in text nodes """ - view_id = self.registry('ir.ui.view').create(self.cr, self.uid, { - 'arch':'<t><p><h1>hello world</h1></p></t>', - 'type':'qweb' + view = self.env['ir.ui.view'].create({ + 'arch': '<t><p><h1>hello world</h1></p></t>', + 'type': 'qweb' }) - view = self.env['ir.ui.view'].browse(view_id) # script and style text nodes should not escaped client side replacement = '<script>1 && "hello & world"</script>' view.save(replacement, xpath='/t/p/h1') self.assertIn( - replacement.replace('&', '&'), - view.arch, - 'inline script should be escaped server side' + replacement.replace('&', '&'), + view.arch, + 'inline script should be escaped server side' ) self.assertIn( - replacement, - view.render(), - 'inline script should not be escaped when rendering' + replacement, + view.render(), + 'inline script should not be escaped when rendering' ) # common text nodes should be be escaped client side replacement = 'world &amp; &lt;b&gt;cie' view.save(replacement, xpath='/t/p') self.assertIn(replacement, view.arch, 'common text node should not be escaped server side') self.assertIn( - replacement, - view.render().replace('&', '&'), - 'text node characters wrongly unescaped when rendering' + replacement, + view.render().replace('&', '&'), + 'text node characters wrongly unescaped when rendering' ) def test_save_only_embedded(self): - Company = self.registry('res.company') + Company = self.env['res.company'] company_id = 1 company = Company.browse(company_id) company.write({'name': "Foo Corporation"}) @@ -226,7 +221,7 @@ class TestViewSaving(common.TransactionCase): field='phone', expression="edmund")), "whop whop" ), encoding="utf-8") - View.browse(self.view_id).save(value=replacement, xpath='/div/div[2]/ul/li[3]') + self.view_id.save(value=replacement, xpath='/div/div[2]/ul/li[3]') self.eq( ET.fromstring(self.view_id.arch.encode('utf-8')), diff --git a/addons/website_blog/controllers/main.py b/addons/website_blog/controllers/main.py index f7d8ce7be7d..76f9df51dbd 100644 --- a/addons/website_blog/controllers/main.py +++ b/addons/website_blog/controllers/main.py @@ -59,7 +59,7 @@ class WebsiteBlog(http.Controller): post_ids = blog_obj.search(cr, uid, [], offset=(page-1)*self._blog_post_per_page, limit=self._blog_post_per_page, context=context) posts = blog_obj.browse(cr, uid, post_ids, context=context) blog_url = QueryURL('', ['blog', 'tag']) - return request.website.render("website_blog.latest_blogs", { + return request.render("website_blog.latest_blogs", { 'posts': posts, 'pager': pager, 'blog_url': blog_url, @@ -160,7 +160,7 @@ class WebsiteBlog(http.Controller): 'blog_url': blog_url, 'date': date_begin, } - response = request.website.render("website_blog.blog_post_short", values) + response = request.render("website_blog.blog_post_short", values) return response @http.route(['/blog/<model("blog.blog"):blog>/feed'], type='http', auth="public") @@ -241,7 +241,7 @@ class WebsiteBlog(http.Controller): 'pager': pager, 'comments': comments, } - response = request.website.render("website_blog.blog_post_complete", values) + response = request.render("website_blog.blog_post_complete", values) request.session[request.session_id] = request.session.get(request.session_id, []) if not (blog_post.id in request.session[request.session_id]): diff --git a/addons/website_crm_partner_assign/controllers/main.py b/addons/website_crm_partner_assign/controllers/main.py index dd13570b4dd..febc83d57b3 100644 --- a/addons/website_crm_partner_assign/controllers/main.py +++ b/addons/website_crm_partner_assign/controllers/main.py @@ -73,7 +73,7 @@ class WebsiteAccount(website_account): 'default_url': '/my/leads', 'pager': pager }) - return request.website.render("website_crm_partner_assign.portal_my_leads", values) + return request.render("website_crm_partner_assign.portal_my_leads", values) @http.route(['/my/opportunities', '/my/opportunities/page/<int:page>'], type='http', auth="user", website=True) def portal_my_opportunities(self, page=1, date_begin=None, date_end=None, opportunity=None, sortby=None, **kw): @@ -134,15 +134,15 @@ class WebsiteAccount(website_account): 'default_url': '/my/opportunities', 'pager': pager }) - return request.website.render("website_crm_partner_assign.portal_my_opportunities", values) + return request.render("website_crm_partner_assign.portal_my_opportunities", values) @http.route(['/my/lead/<model("crm.lead"):lead>'], type='http', auth="user", website=True) def portal_my_lead(self, lead=None, **kw): - return request.website.render("website_crm_partner_assign.portal_my_lead", {'lead': lead}) + return request.render("website_crm_partner_assign.portal_my_lead", {'lead': lead}) @http.route(['/my/opportunity/<model("crm.lead"):lead>'], type='http', auth="user", website=True) def portal_my_opportunity(self, lead=None, **kw): - return request.website.render( + return request.render( "website_crm_partner_assign.portal_my_opportunity", { 'opportunity': lead, 'stages': request.env['crm.stage'].search([('probability', '!=', '100')], order='sequence desc'), @@ -292,5 +292,5 @@ class WebsiteCrmPartnerAssign(WebsitePartnerPage): 'current_grade': current_grade, 'current_country': current_country } - return request.website.render("website_crm_partner_assign.partner", values) + return request.render("website_crm_partner_assign.partner", values) return self.partners(**post) diff --git a/addons/website_customer/controllers/main.py b/addons/website_customer/controllers/main.py index 9af35347a82..9353d539a17 100644 --- a/addons/website_customer/controllers/main.py +++ b/addons/website_customer/controllers/main.py @@ -96,7 +96,7 @@ class WebsiteCustomer(http.Controller): 'tag': tag, 'tags': tags, } - return request.website.render("website_customer.index", values) + return request.render("website_customer.index", values) # Do not use semantic controller due to SUPERUSER_ID @http.route(['/customers/<partner_id>'], type='http', auth="public", website=True) @@ -107,5 +107,5 @@ class WebsiteCustomer(http.Controller): if partner.exists() and partner.website_published: values = {} values['main_object'] = values['partner'] = partner - return request.website.render("website_customer.details", values) + return request.render("website_customer.details", values) return self.customers(**post) diff --git a/addons/website_event/controllers/main.py b/addons/website_event/controllers/main.py index b4d428e4b18..b201d492032 100644 --- a/addons/website_event/controllers/main.py +++ b/addons/website_event/controllers/main.py @@ -131,7 +131,7 @@ class WebsiteEventController(http.Controller): 'search_path': "?%s" % werkzeug.url_encode(searches), } - return request.website.render("website_event.index", values) + return request.render("website_event.index", values) @http.route(['/event/<model("event.event"):event>/page/<path:page>'], type='http', auth="public", website=True) def event_page(self, event, page, **post): @@ -151,7 +151,7 @@ class WebsiteEventController(http.Controller): values['from_template'] = 'website_event.default_page' # .strip('website_event.') page = 'website.page_404' - return request.website.render(page, values) + return request.render(page, values) @http.route(['/event/<model("event.event"):event>'], type='http', auth="public", website=True) def event(self, event, **post): @@ -170,7 +170,7 @@ class WebsiteEventController(http.Controller): 'main_object': event, 'range': range, } - return request.website.render("website_event.event_description_full", values) + return request.render("website_event.event_description_full", values) @http.route('/event/add_event', type='http', auth="user", methods=['POST'], website=True) def add_event(self, event_name="New Event", **kwargs): @@ -215,7 +215,7 @@ class WebsiteEventController(http.Controller): "date": self.get_formated_date(event), "event": event, "url": event.website_url}) - return request.website.render("website_event.country_events_list", result) + return request.render("website_event.country_events_list", result) def _process_tickets_details(self, data): nb_register = int(data.get('nb_register-0', 0)) @@ -228,7 +228,7 @@ class WebsiteEventController(http.Controller): tickets = self._process_tickets_details(post) if not tickets: return request.redirect("/event/%s" % slug(event)) - return request.website._render("website_event.registration_attendee_details", {'tickets': tickets, 'event': event}) + return request.env['ir.ui.view'].render_template("website_event.registration_attendee_details", {'tickets': tickets, 'event': event}) def _process_registration_details(self, details): ''' Process data posted from the attendee details form. ''' @@ -255,7 +255,7 @@ class WebsiteEventController(http.Controller): Attendees += Attendees.sudo().create( Attendees._prepare_attendee_values(registration)) - return request.website.render("website_event.registration_complete", { + return request.render("website_event.registration_complete", { 'attendees': Attendees, 'event': event, }) diff --git a/addons/website_event_sale/controllers/main.py b/addons/website_event_sale/controllers/main.py index 3778c9bc7b5..0caea67df60 100644 --- a/addons/website_event_sale/controllers/main.py +++ b/addons/website_event_sale/controllers/main.py @@ -16,7 +16,7 @@ class WebsiteEventSaleController(WebsiteEventController): 'main_object': event.with_context(pricelist=pricelist_id), 'range': range, } - return request.website.render("website_event.event_description_full", values) + return request.render("website_event.event_description_full", values) def _process_tickets_details(self, data): ticket_post = {} @@ -47,7 +47,7 @@ class WebsiteEventSaleController(WebsiteEventController): attendees = request.env['event.registration'].browse(list(attendee_ids)) # clean context and session, then redirect to the confirmation page request.website.sale_reset() - return request.website.render("website_event.registration_complete", { + return request.render("website_event.registration_complete", { 'attendees': attendees, 'event': event, }) diff --git a/addons/website_event_track/controllers/main.py b/addons/website_event_track/controllers/main.py index a1643eb061a..5e0f8b1e7a2 100644 --- a/addons/website_event_track/controllers/main.py +++ b/addons/website_event_track/controllers/main.py @@ -16,7 +16,7 @@ class WebsiteEventTrackController(http.Controller): def event_track_view(self, event, track, **post): track = track.sudo() values = {'track': track, 'event': track.event_id, 'main_object': track} - return request.website.render("website_event_track.track_view", values) + return request.render("website_event_track.track_view", values) def _prepare_calendar(self, event, event_track_ids): local_tz = pytz.timezone(event.date_tz or 'UTC') @@ -72,7 +72,7 @@ class WebsiteEventTrackController(http.Controller): speakers_name = u" – ".join(track.speaker_ids.mapped('name')) speakers[track.id] = speakers_name - return request.website.render("website_event_track.agenda", { + return request.render("website_event_track.agenda", { 'event': event, 'days': days, 'days_nbr': days_tracks_count, @@ -100,11 +100,11 @@ class WebsiteEventTrackController(http.Controller): 'searches': searches, 'html2plaintext': html2plaintext } - return request.website.render("website_event_track.tracks", values) + return request.render("website_event_track.tracks", values) @http.route(['''/event/<model("event.event", "[('show_track_proposal','=',1)]"):event>/track_proposal'''], type='http', auth="public", website=True) def event_track_proposal(self, event, **post): - return request.website.render("website_event_track.event_track_proposal", {'event': event}) + return request.render("website_event_track.event_track_proposal", {'event': event}) @http.route(['/event/<model("event.event"):event>/track_proposal/post'], type='http', auth="public", methods=['POST'], website=True) def event_track_proposal_post(self, event, **post): @@ -130,4 +130,4 @@ class WebsiteEventTrackController(http.Controller): partner = request.env['res.partner'].sudo().search([('email', '=', post['email_from'])]) if partner: track.sudo().message_subscribe(partner_ids=partner.ids) - return request.website.render("website_event_track.event_track_proposal_success", {'track': track, 'event': event}) + return request.render("website_event_track.event_track_proposal_success", {'track': track, 'event': event}) diff --git a/addons/website_forum/controllers/main.py b/addons/website_forum/controllers/main.py index 98c7ae854c8..d9dd0a91041 100644 --- a/addons/website_forum/controllers/main.py +++ b/addons/website_forum/controllers/main.py @@ -81,7 +81,7 @@ class WebsiteForum(http.Controller): @http.route(['/forum'], type='http', auth="public", website=True) def forum(self, **kwargs): forums = request.env['forum.forum'].search([]) - return request.website.render("website_forum.forum_all", {'forums': forums}) + return request.render("website_forum.forum_all", {'forums': forums}) @http.route('/forum/new', type='http', auth="user", methods=['POST'], website=True) def forum_create(self, forum_name="New Forum", add_menu=False): @@ -163,12 +163,12 @@ class WebsiteForum(http.Controller): 'search': search, 'post_type': post_type, }) - return request.website.render("website_forum.forum_index", values) + return request.render("website_forum.forum_index", values) @http.route(['/forum/<model("forum.forum"):forum>/faq'], type='http', auth="public", website=True) def forum_faq(self, forum, **post): values = self._prepare_forum_values(forum=forum, searches=dict(), header={'is_guidelines': True}, **post) - return request.website.render("website_forum.faq", values) + return request.render("website_forum.faq", values) @http.route('/forum/get_tags', type='http', auth="public", methods=['GET'], website=True) def tag_read(self, q='', l=25, **post): @@ -204,11 +204,11 @@ class WebsiteForum(http.Controller): 'pager_tag_chars': first_char_list, 'active_char_tag': active_char_tag, }) - return request.website.render("website_forum.tag", values) + return request.render("website_forum.tag", values) @http.route('/forum/<model("forum.forum"):forum>/edit_welcome_message', auth="user", website=True) def edit_welcome_message(self, forum, **kw): - return request.website.render("website_forum.edit_welcome_message", {'forum': forum}) + return request.render("website_forum.edit_welcome_message", {'forum': forum}) # Questions # -------------------------------------------------- @@ -247,7 +247,7 @@ class WebsiteForum(http.Controller): 'filters': filters, 'reversed': reversed, }) - return request.website.render("website_forum.post_description_full", values) + return request.render("website_forum.post_description_full", values) @http.route('/forum/<model("forum.forum"):forum>/question/<model("forum.post"):question>/toggle_favourite', type='json', auth="user", methods=['POST'], website=True) def question_toggle_favorite(self, forum, question, **post): @@ -272,7 +272,7 @@ class WebsiteForum(http.Controller): 'forum': forum, 'reasons': reasons, }) - return request.website.render("website_forum.close_post", values) + return request.render("website_forum.close_post", values) @http.route('/forum/<model("forum.forum"):forum>/question/<model("forum.post"):question>/edit_answer', type='http', auth="user", website=True) def question_edit_answer(self, forum, question, **kwargs): @@ -312,14 +312,14 @@ class WebsiteForum(http.Controller): if not user.email or not tools.single_email_re.match(user.email): return werkzeug.utils.redirect("/forum/%s/user/%s/edit?email_required=1" % (slug(forum), request.session.uid)) values = self._prepare_forum_values(forum=forum, searches={}, header={'ask_hide': True}) - return request.website.render("website_forum.new_%s" % post_type, values) + return request.render("website_forum.new_%s" % post_type, values) @http.route(['/forum/<model("forum.forum"):forum>/new', '/forum/<model("forum.forum"):forum>/<model("forum.post"):post_parent>/reply'], type='http', auth="user", methods=['POST'], website=True) def post_create(self, forum, post_parent=None, post_type=None, **post): if post_type == 'question' and not post.get('post_name', '').strip(): - return request.website.render('website.http_error', {'status_code': _('Bad Request'), 'status_message': _('Title should not be empty.')}) + return request.render('website.http_error', {'status_code': _('Bad Request'), 'status_message': _('Title should not be empty.')}) post_tag_ids = forum._tag_to_write_vals(post.get('post_tags', '')) new_question = request.env['forum.post'].create({ 'forum_id': forum.id, @@ -378,12 +378,12 @@ class WebsiteForum(http.Controller): 'content': post.name, }) template = "website_forum.new_link" if post.post_type == 'link' and not post.parent_id else "website_forum.edit_post" - return request.website.render(template, values) + return request.render(template, values) @http.route('/forum/<model("forum.forum"):forum>/post/<model("forum.post"):post>/save', type='http', auth="user", methods=['POST'], website=True) def post_save(self, forum, post, **kwargs): if 'post_name' in kwargs and not kwargs.get('post_name').strip(): - return request.website.render('website.http_error', {'status_code': _('Bad Request'), 'status_message': _('Title should not be empty.')}) + return request.render('website.http_error', {'status_code': _('Bad Request'), 'status_message': _('Title should not be empty.')}) post_tags = forum._tag_to_write_vals(kwargs.get('post_tags', '')) vals = { 'tag_ids': post_tags, @@ -442,7 +442,7 @@ class WebsiteForum(http.Controller): 'queue_type': 'validation', }) - return request.website.render("website_forum.moderation_queue", values) + return request.render("website_forum.moderation_queue", values) @http.route('/forum/<model("forum.forum"):forum>/flagged_queue', type='http', auth="user", website=True) def flagged_queue(self, forum): @@ -460,7 +460,7 @@ class WebsiteForum(http.Controller): 'queue_type': 'flagged', }) - return request.website.render("website_forum.moderation_queue", values) + return request.render("website_forum.moderation_queue", values) @http.route('/forum/<model("forum.forum"):forum>/offensive_posts', type='http', auth="user", website=True) def offensive_posts(self, forum): @@ -478,7 +478,7 @@ class WebsiteForum(http.Controller): 'queue_type': 'offensive', }) - return request.website.render("website_forum.moderation_queue", values) + return request.render("website_forum.moderation_queue", values) @http.route('/forum/<model("forum.forum"):forum>/post/<model("forum.post"):post>/validate', type='http', auth="user", website=True) def post_accept(self, forum, post): @@ -512,7 +512,7 @@ class WebsiteForum(http.Controller): 'reasons': offensive_reasons, 'offensive': True, }) - return request.website.render("website_forum.close_post", values) + return request.render("website_forum.close_post", values) @http.route('/forum/<model("forum.forum"):forum>/post/<model("forum.post"):post>/mark_as_offensive', type='http', auth="user", methods=["POST"], website=True) def post_mark_as_offensive(self, forum, post, **kwargs): @@ -550,7 +550,7 @@ class WebsiteForum(http.Controller): 'pager': pager, }) - return request.website.render("website_forum.users", values) + return request.render("website_forum.users", values) @http.route(['/forum/<model("forum.forum"):forum>/partner/<int:partner_id>'], type='http', auth="public", website=True) def open_partner(self, forum, partner_id=0, **post): @@ -674,7 +674,7 @@ class WebsiteForum(http.Controller): 'posts': posts, 'vote_post': vote_ids, }) - return request.website.render("website_forum.user_detail_full", values) + return request.render("website_forum.user_detail_full", values) @http.route('/forum/<model("forum.forum"):forum>/user/<model("res.users"):user>/edit', type='http', auth="user", website=True) def edit_profile(self, forum, user, **kwargs): @@ -685,7 +685,7 @@ class WebsiteForum(http.Controller): 'countries': countries, 'notifications': self._get_notifications(), }) - return request.website.render("website_forum.edit_profile", values) + return request.render("website_forum.edit_profile", values) @http.route('/forum/<model("forum.forum"):forum>/user/<model("res.users"):user>/save', type='http', auth="user", methods=['POST'], website=True) def save_edited_profile(self, forum, user, **kwargs): @@ -714,7 +714,7 @@ class WebsiteForum(http.Controller): values.update({ 'badges': badges, }) - return request.website.render("website_forum.badge", values) + return request.render("website_forum.badge", values) # Messaging # -------------------------------------------------- diff --git a/addons/website_forum_doc/controllers/main.py b/addons/website_forum_doc/controllers/main.py index 6817a7e5ef0..86d94220286 100644 --- a/addons/website_forum_doc/controllers/main.py +++ b/addons/website_forum_doc/controllers/main.py @@ -20,7 +20,7 @@ class WebsiteDoc(http.Controller): 'forum': forum, 'sections': sections, } - return request.website.render("website_forum_doc.documentation", value) + return request.render("website_forum_doc.documentation", value) @http.route(['''/forum/how-to/<model("forum.documentation.toc"):toc>/<model("forum.post", "[('documentation_toc_id','=',toc[0])]"):post>'''], type='http', auth="public", website=True) def post(self, toc, post, **kwargs): @@ -32,7 +32,7 @@ class WebsiteDoc(http.Controller): 'main_object': post, 'forum': post.forum_id } - return request.website.render("website_forum_doc.documentation_post", value) + return request.render("website_forum_doc.documentation_post", value) @http.route('/forum/<model("forum.forum"):forum>/question/<model("forum.post"):post>/promote', type='http', auth="user", website=True) def post_toc(self, forum, post, **kwargs): @@ -42,7 +42,7 @@ class WebsiteDoc(http.Controller): 'forum': post.forum_id, 'chapters': request.env['forum.documentation.toc'].search([('child_ids', '=', False)]) } - return request.website.render("website_forum_doc.promote_question", value) + return request.render("website_forum_doc.promote_question", value) @http.route('/forum/<model("forum.forum"):forum>/promote_ok', type='http', auth="user", website=True) def post_toc_ok(self, forum, post_id, toc_id, **kwargs): diff --git a/addons/website_google_map/controllers/main.py b/addons/website_google_map/controllers/main.py index 101d3382dfe..f20f2d1817b 100644 --- a/addons/website_google_map/controllers/main.py +++ b/addons/website_google_map/controllers/main.py @@ -56,4 +56,4 @@ class GoogleMap(http.Controller): 'partner_url': partner_url, 'partner_data': json.dumps(partner_data) } - return request.website.render("website_google_map.google_map", values) + return request.render("website_google_map.google_map", values) diff --git a/addons/website_hr/controllers/main.py b/addons/website_hr/controllers/main.py index 9c8b768fcf0..c1d54a1bbd9 100644 --- a/addons/website_hr/controllers/main.py +++ b/addons/website_hr/controllers/main.py @@ -12,4 +12,4 @@ class WebsiteHr(http.Controller): if not request.env['res.users'].has_group('base.group_website_publisher'): employees_domain += [('website_published', '=', True)] employees = request.env['hr.employee'].search(employees_domain) - return request.website.render("website.aboutus", {'employees': employees}) + return request.render("website.aboutus", {'employees': employees}) diff --git a/addons/website_hr_recruitment/controllers/main.py b/addons/website_hr_recruitment/controllers/main.py index a98eeda16b3..aecc5fc0502 100644 --- a/addons/website_hr_recruitment/controllers/main.py +++ b/addons/website_hr_recruitment/controllers/main.py @@ -58,7 +58,7 @@ class website_hr_recruitment(http.Controller): office_id = False # Render page - return request.website.render("website_hr_recruitment.index", { + return request.render("website_hr_recruitment.index", { 'jobs': jobs, 'countries': countries, 'departments': departments, diff --git a/addons/website_links/controller/main.py b/addons/website_links/controller/main.py index 65a9a750c0e..73786696f46 100644 --- a/addons/website_links/controller/main.py +++ b/addons/website_links/controller/main.py @@ -14,7 +14,7 @@ class Website_Url(http.Controller): @http.route('/r', type='http', auth='user', website=True) def shorten_url(self, **post): - return request.website.render("website_links.page_shorten_url", post) + return request.render("website_links.page_shorten_url", post) @http.route('/website_links/add_code', type='json', auth='user') def add_code(self, **post): @@ -34,6 +34,6 @@ class Website_Url(http.Controller): code = request.env['link.tracker.code'].search([('code', '=', code)], limit=1) if code: - return request.website.render("website_links.graphs", code.link_id.read()[0]) + return request.render("website_links.graphs", code.link_id.read()[0]) else: return werkzeug.utils.redirect('', 301) diff --git a/addons/website_livechat/controllers/main.py b/addons/website_livechat/controllers/main.py index d40b4d41b68..0fa9ba265e9 100644 --- a/addons/website_livechat/controllers/main.py +++ b/addons/website_livechat/controllers/main.py @@ -13,7 +13,7 @@ class WebsiteLivechat(http.Controller): values = { 'channels': channels } - return request.website.render('website_livechat.channel_list_page', values) + return request.render('website_livechat.channel_list_page', values) @http.route('/livechat/channel/<model("im_livechat.channel"):channel>', type='http', auth='public', website=True) @@ -34,4 +34,4 @@ class WebsiteLivechat(http.Controller): 'team': channel.sudo().user_ids, 'percentage': percentage } - return request.website.render("website_livechat.channel_page", values) + return request.render("website_livechat.channel_page", values) diff --git a/addons/website_mail_channel/controllers/main.py b/addons/website_mail_channel/controllers/main.py index fc03002f5b8..19c1cec172b 100644 --- a/addons/website_mail_channel/controllers/main.py +++ b/addons/website_mail_channel/controllers/main.py @@ -46,7 +46,7 @@ class MailGroup(http.Controller): message_data = dict((message['res_id'], message['res_id_count']) for message in messages) group_data = dict((group.id, {'monthly_message_nbr': message_data.get(group.id, 0)}) for group in groups) - return request.website.render('website_mail_channel.mail_channels', {'groups': groups, 'group_data': group_data}) + return request.render('website_mail_channel.mail_channels', {'groups': groups, 'group_data': group_data}) @http.route(["/groups/is_member"], type='json', auth="public", website=True) def is_member(self, channel_id=0, **kw): @@ -144,7 +144,7 @@ class MailGroup(http.Controller): 'date_end': date_end, 'replies_per_page': self._replies_per_page, } - return request.website.render('website_mail_channel.group_messages', values) + return request.render('website_mail_channel.group_messages', values) @http.route([ '''/groups/<model('mail.channel'):group>/<model('mail.message', "[('model','=','mail.channel'), ('res_id','=',group[0])]"):message>''', @@ -168,7 +168,7 @@ class MailGroup(http.Controller): 'next_message': next_message, 'prev_message': prev_message, } - return request.website.render('website_mail_channel.group_message', values) + return request.render('website_mail_channel.group_message', values) @http.route( '''/groups/<model('mail.channel'):group>/<model('mail.message', "[('model','=','mail.channel'), ('res_id','=',group[0])]"):message>/get_replies''', @@ -210,7 +210,7 @@ class MailGroup(http.Controller): # add partner channel.sudo().write({'channel_partner_ids': [(4, partner_id)]}) - return request.website.render("website_mail_channel.confirmation_subscription", {'subscribing': True}) + return request.render("website_mail_channel.confirmation_subscription", {'subscribing': True}) @http.route("/groups/unsubscribe/<model('mail.channel'):channel>/<int:partner_id>/<string:token>", type='http', auth='public', website=True) def confirm_unsubscribe(self, channel, partner_id, token, **kw): @@ -226,4 +226,4 @@ class MailGroup(http.Controller): # remove partner channel.sudo().write({'channel_partner_ids': [(3, partner_id)]}) - return request.website.render("website_mail_channel.confirmation_subscription", {'subscribing': False}) + return request.render("website_mail_channel.confirmation_subscription", {'subscribing': False}) diff --git a/addons/website_mass_mailing/controllers/main.py b/addons/website_mass_mailing/controllers/main.py index 4664f2b45c9..5b5cb34fc5c 100644 --- a/addons/website_mass_mailing/controllers/main.py +++ b/addons/website_mass_mailing/controllers/main.py @@ -13,13 +13,13 @@ class MassMailController(MassMailController): if mailing.exists(): if mailing.mailing_model == 'mail.mass_mailing.contact': contacts = request.env['mail.mass_mailing.contact'].sudo().search([('email', '=', email)]) - return request.website.render('website_mass_mailing.page_unsubscribe', { + return request.render('website_mass_mailing.page_unsubscribe', { 'contacts': contacts, 'email': email, 'mailing_id': mailing_id}) else: super(MassMailController, self).mailing(mailing_id, email=email, res_id=res_id, **post) - return request.website.render('website_mass_mailing.page_unsubscribed') + return request.render('website_mass_mailing.page_unsubscribed') @http.route(['/mail/mailing/unsubscribe'], type='json', auth='none') def unsubscribe(self, mailing_id, opt_in_ids, opt_out_ids, email): diff --git a/addons/website_membership/controllers/main.py b/addons/website_membership/controllers/main.py index df953d74d40..dcd7170b00d 100644 --- a/addons/website_membership/controllers/main.py +++ b/addons/website_membership/controllers/main.py @@ -160,7 +160,7 @@ class WebsiteMembership(http.Controller): 'post': post, 'search': "?%s" % werkzeug.url_encode(post), } - return request.website.render("website_membership.index", values) + return request.render("website_membership.index", values) # Do not use semantic controller due to SUPERUSER_ID @http.route(['/members/<partner_id>'], type='http', auth="public", website=True) @@ -171,5 +171,5 @@ class WebsiteMembership(http.Controller): if partner.exists() and partner.website_published: # TODO should be done with access rules values = {} values['main_object'] = values['partner'] = partner - return request.website.render("website_membership.partner", values) + return request.render("website_membership.partner", values) return self.members(**post) diff --git a/addons/website_partner/controllers/main.py b/addons/website_partner/controllers/main.py index 00af6a7bdf8..0f41b3ef4b4 100644 --- a/addons/website_partner/controllers/main.py +++ b/addons/website_partner/controllers/main.py @@ -20,5 +20,5 @@ class WebsitePartnerPage(http.Controller): 'partner': partner_sudo, 'edit_page': False } - return request.website.render("website_partner.partner_page", values) + return request.render("website_partner.partner_page", values) return request.not_found() diff --git a/addons/website_payment/controllers/main.py b/addons/website_payment/controllers/main.py index afcc77e9ff9..f4d6f78a1ba 100644 --- a/addons/website_payment/controllers/main.py +++ b/addons/website_payment/controllers/main.py @@ -17,7 +17,7 @@ class website_payment(http.Controller): } for acquirer in acquirers: acquirer.form = acquirer.sudo()._registration_render(request.env.user.partner_id.id, {'error': {}, 'error_message': [], 'return_url': '/my/payment_method', 'json': False, 'bootstrap_formatting': True}) - return request.website.render("website_payment.pay_methods", values) + return request.render("website_payment.pay_methods", values) @http.route(['/website_payment/delete/'], methods=['POST'], type='http', auth="user", website=True) def delete(self, delete_pm_id=None): @@ -54,7 +54,7 @@ class website_payment(http.Controller): 'amount': float(amount), 'payment_form': payment_form, } - return request.website.render('website_payment.pay', values) + return request.render('website_payment.pay', values) @http.route(['/website_payment/transaction'], type='json', auth="public", website=True) def transaction(self, reference, amount, currency_id, acquirer_id): @@ -78,6 +78,6 @@ class website_payment(http.Controller): tx = request.env['payment.transaction'].browse(tx_id) status = (tx.state == 'done' and 'success') or 'danger' message = (tx.state == 'done' and 'Your payment was successful! It may take some time to be validated on our end.') or 'OOps! There was a problem with your payment.' - return request.website.render('website_payment.confirm', {'tx': tx, 'status': status, 'message': message}) + return request.render('website_payment.confirm', {'tx': tx, 'status': status, 'message': message}) else: return request.redirect('/my/home') diff --git a/addons/website_portal/controllers/main.py b/addons/website_portal/controllers/main.py index cd580e9bb56..d55f90b8f9d 100644 --- a/addons/website_portal/controllers/main.py +++ b/addons/website_portal/controllers/main.py @@ -53,7 +53,7 @@ class website_account(http.Controller): @http.route(['/my', '/my/home'], type='http', auth="public", website=True) def account(self, **kw): values = self._prepare_portal_layout_values() - return request.website.render("website_portal.portal_my_home", values) + return request.render("website_portal.portal_my_home", values) @http.route(['/my/account'], type='http', auth='user', website=True) def details(self, redirect=None, **post): @@ -86,7 +86,7 @@ class website_account(http.Controller): 'redirect': redirect, }) - return request.website.render("website_portal.details", values) + return request.render("website_portal.details", values) def details_form_validate(self, data): error = dict() diff --git a/addons/website_portal_sale/controllers/main.py b/addons/website_portal_sale/controllers/main.py index 91a13def95e..db93dd58fbc 100644 --- a/addons/website_portal_sale/controllers/main.py +++ b/addons/website_portal_sale/controllers/main.py @@ -77,7 +77,7 @@ class website_account(website_account): 'archive_groups': archive_groups, 'default_url': '/my/quotes', }) - return request.website.render("website_portal_sale.portal_my_quotations", values) + return request.render("website_portal_sale.portal_my_quotations", values) @http.route(['/my/orders', '/my/orders/page/<int:page>'], type='http', auth="user", website=True) def portal_my_orders(self, page=1, date_begin=None, date_end=None, **kw): @@ -114,7 +114,7 @@ class website_account(website_account): 'archive_groups': archive_groups, 'default_url': '/my/orders', }) - return request.website.render("website_portal_sale.portal_my_orders", values) + return request.render("website_portal_sale.portal_my_orders", values) @http.route(['/my/orders/<int:order>'], type='http', auth="user", website=True) def orders_followup(self, order=None, **kw): @@ -123,9 +123,9 @@ class website_account(website_account): order.check_access_rights('read') order.check_access_rule('read') except AccessError: - return request.website.render("website.403") + return request.render("website.403") order_invoice_lines = {il.product_id.id: il.invoice_id for il in order.invoice_ids.mapped('invoice_line_ids')} - return request.website.render("website_portal_sale.orders_followup", { + return request.render("website_portal_sale.orders_followup", { 'order': order.sudo(), 'order_invoice_lines': order_invoice_lines, }) @@ -168,7 +168,7 @@ class website_account(website_account): 'archive_groups': archive_groups, 'default_url': '/my/invoices', }) - return request.website.render("website_portal_sale.portal_my_invoices", values) + return request.render("website_portal_sale.portal_my_invoices", values) def details_form_validate(self, data): error, error_message = super(website_account, self).details_form_validate(data) diff --git a/addons/website_project/controllers/main.py b/addons/website_project/controllers/main.py index d4ecfff31b8..d5f86b3db51 100644 --- a/addons/website_project/controllers/main.py +++ b/addons/website_project/controllers/main.py @@ -61,11 +61,11 @@ class WebsiteAccount(website_account): 'default_url': '/my/projects', 'pager': pager }) - return request.website.render("website_project.my_projects", values) + return request.render("website_project.my_projects", values) @http.route(['/my/project/<model("project.project"):project>'], type='http', auth="user", website=True) def my_project(self, project=None, **kw): - return request.website.render("website_project.my_project", {'project': project}) + return request.render("website_project.my_project", {'project': project}) @http.route(['/my/tasks', '/my/tasks/page/<int:page>'], type='http', auth="user", website=True) def my_tasks(self, page=1, date_begin=None, date_end=None, project=None, sortby=None, **kw): @@ -123,8 +123,8 @@ class WebsiteAccount(website_account): 'default_url': '/my/tasks', 'pager': pager }) - return request.website.render("website_project.my_tasks", values) + return request.render("website_project.my_tasks", values) @http.route(['/my/task/<model("project.task"):task>'], type='http', auth="user", website=True) def my_task(self, task=None, **kw): - return request.website.render("website_project.my_task", {'task': task, 'user': request.env.user}) + return request.render("website_project.my_task", {'task': task, 'user': request.env.user}) diff --git a/addons/website_project_issue/controllers/main.py b/addons/website_project_issue/controllers/main.py index d81d9f69ff9..6b74503cf46 100644 --- a/addons/website_project_issue/controllers/main.py +++ b/addons/website_project_issue/controllers/main.py @@ -75,9 +75,9 @@ class WebsiteAccount(website_account): 'default_url': '/my/issues', 'pager': pager }) - return request.website.render("website_project_issue.my_issues", values) + return request.render("website_project_issue.my_issues", values) @http.route(['/my/issues/<int:issue_id>'], type='http', auth="user", website=True) def my_issues_issue(self, issue_id=None, **kw): issue = request.env['project.issue'].browse(issue_id) - return request.website.render("website_project_issue.my_issues_issue", {'issue': issue}) + return request.render("website_project_issue.my_issues_issue", {'issue': issue}) diff --git a/addons/website_quote/controllers/main.py b/addons/website_quote/controllers/main.py index 02a68ddec6d..c40d6d47484 100644 --- a/addons/website_quote/controllers/main.py +++ b/addons/website_quote/controllers/main.py @@ -32,7 +32,7 @@ class sale_quote(http.Controller): order = request.env['sale.order'].search([('id', '=', order_id)]) if not order: - return request.website.render('website.404') + return request.render('website.404') dummy, action = request.env['ir.model.data'].get_object_reference('sale', 'action_quotations') days = 0 @@ -81,16 +81,16 @@ class sale_quote(http.Controller): 'partner_id': order.partner_id.id, }, context=render_ctx) - return request.website.render('website_quote.so_quotation', values) + return request.render('website_quote.so_quotation', values) @http.route(['/quote/accept'], type='json', auth="public", website=True) def accept(self, order_id, token=None, signer=None, sign=None, **post): order_obj = request.registry.get('sale.order') order = order_obj.browse(request.cr, SUPERUSER_ID, order_id) if token != order.access_token: - return request.website.render('website.404') + return request.render('website.404') if order.require_payment: - return request.website.render('website.404') + return request.render('website.404') if order.state != 'sent': return False attachments=sign and [('signature.png', sign.decode('base64'))] or [] @@ -104,7 +104,7 @@ class sale_quote(http.Controller): order_obj = request.registry.get('sale.order') order = order_obj.browse(request.cr, SUPERUSER_ID, order_id) if token != order.access_token: - return request.website.render('website.404') + return request.render('website.404') if order.state != 'sent': return werkzeug.utils.redirect("/quote/%s/%s?message=4" % (order_id, token)) request.registry.get('sale.order').action_cancel(request.cr, SUPERUSER_ID, [order_id]) @@ -117,7 +117,7 @@ class sale_quote(http.Controller): def update(self, line_id, remove=False, unlink=False, order_id=None, token=None, **post): order = request.registry.get('sale.order').browse(request.cr, SUPERUSER_ID, int(order_id)) if token != order.access_token: - return request.website.render('website.404') + return request.render('website.404') if order.state not in ('draft','sent'): return False line_id=int(line_id) @@ -135,16 +135,16 @@ class sale_quote(http.Controller): @http.route(["/quote/template/<model('sale.quote.template'):quote>"], type='http', auth="user", website=True) def template_view(self, quote, **post): values = { 'template': quote } - return request.website.render('website_quote.so_template', values) + return request.render('website_quote.so_template', values) @http.route(["/quote/add_line/<int:option_id>/<int:order_id>/<token>"], type='http', auth="public", website=True) def add(self, option_id, order_id, token, **post): vals = {} order = request.registry.get('sale.order').browse(request.cr, SUPERUSER_ID, order_id) if token != order.access_token: - return request.website.render('website.404') + return request.render('website.404') if order.state not in ['draft', 'sent']: - return request.website.render('website.http_error', {'status_code': 'Forbidden', 'status_message': _('You cannot add options to a confirmed order.')}) + return request.render('website.http_error', {'status_code': 'Forbidden', 'status_message': _('You cannot add options to a confirmed order.')}) option_obj = request.registry.get('sale.order.option') option = option_obj.browse(request.cr, SUPERUSER_ID, option_id) diff --git a/addons/website_rating_project_issue/controllers/main.py b/addons/website_rating_project_issue/controllers/main.py index 4797ee4b0c7..4a066aa0c00 100644 --- a/addons/website_rating_project_issue/controllers/main.py +++ b/addons/website_rating_project_issue/controllers/main.py @@ -12,7 +12,7 @@ class WebsiteRatingProject(http.Controller): def index(self, **kw): projects = request.env['project.project'].sudo().search([('rating_status', '!=', 'no'), ('website_published', '=', True)]) values = {'projects': projects} - return request.website.render('website_rating_project_issue.index', values) + return request.render('website_rating_project_issue.index', values) @http.route(['/project/rating/<int:project_id>'], type='http', auth="public", website=True) def page(self, project_id=None, **kw): @@ -27,7 +27,7 @@ class WebsiteRatingProject(http.Controller): 'task_data': self._calculate_rating(project.id, "project.task"), 'issue_data': self._calculate_rating(project.id, "project.issue"), } - return request.website.render('website_rating_project_issue.project_rating_page', values) + return request.render('website_rating_project_issue.project_rating_page', values) def _calculate_rating(self, project_id, model_name): # Calculate rating for Tasks and Issues diff --git a/addons/website_sale/controllers/main.py b/addons/website_sale/controllers/main.py index 7e1f73f0a82..de209207c71 100644 --- a/addons/website_sale/controllers/main.py +++ b/addons/website_sale/controllers/main.py @@ -258,7 +258,7 @@ class WebsiteSale(http.Controller): } if category: values['main_object'] = category - return request.website.render("website_sale.products", values) + return request.render("website_sale.products", values) @http.route(['/shop/product/<model("product.template"):product>'], type='http', auth="public", website=True) def product(self, product, category='', search='', **kwargs): @@ -307,7 +307,7 @@ class WebsiteSale(http.Controller): 'rating_message_values': rating_message_values, 'rating_product': rating_product } - return request.website.render("website_sale.product", values) + return request.render("website_sale.product", values) @http.route(['/shop/change_pricelist/<model("product.pricelist"):pl_id>'], type='http', auth="public", website=True) def pricelist_change(self, pl_id, **post): @@ -347,12 +347,12 @@ class WebsiteSale(http.Controller): values['suggested_products'] = _order._cart_accessories() if post.get('type') == 'popover': - return request.website.render("website_sale.cart_popover", values) + return request.render("website_sale.cart_popover", values) if post.get('code_not_available'): values['code_not_available'] = post.get('code_not_available') - return request.website.render("website_sale.cart", values) + return request.render("website_sale.cart", values) @http.route(['/shop/cart/update'], type='http', auth="public", methods=['POST'], website=True, csrf=False) def cart_update(self, product_id, add_qty=1, set_qty=0, **kw): @@ -377,7 +377,7 @@ class WebsiteSale(http.Controller): value['cart_quantity'] = order.cart_quantity from_currency = order.company_id.currency_id to_currency = order.pricelist_id.currency_id - value['website_sale.cart_lines'] = request.website._render("website_sale.cart_lines", { + value['website_sale.cart_lines'] = request.env['ir.ui.view'].render_template("website_sale.cart_lines", { 'website_sale_order': order, 'compute_currency': lambda price: from_currency.compute(price, to_currency), 'suggested_products': order.with_context(pricelist=order.pricelist_id.id)._cart_accessories() @@ -594,7 +594,7 @@ class WebsiteSale(http.Controller): 'error': errors, 'callback': kw.get('callback'), } - return request.website.render("website_sale.address", render_values) + return request.render("website_sale.address", render_values) @http.route(['/shop/checkout'], type='http', auth="public", website=True) def checkout(self, **post): @@ -612,7 +612,7 @@ class WebsiteSale(http.Controller): # Avoid useless rendering if called in ajax if post.get('xhr'): return 'ok' - return request.website.render("website_sale.checkout", values) + return request.render("website_sale.checkout", values) @http.route(['/shop/confirm_order'], type='http', auth="public", website=True) def confirm_order(self, **post): @@ -665,7 +665,7 @@ class WebsiteSale(http.Controller): values.update(request.env['sale.order']._get_website_data(order)) - return request.website.render("website_sale.extra_info", values) + return request.render("website_sale.extra_info", values) # ------------------------------------------------------ # Payment @@ -721,7 +721,7 @@ class WebsiteSale(http.Controller): acquirer.button = acquirer_button values['acquirers'].append(acquirer) - return request.website.render("website_sale.payment", values) + return request.render("website_sale.payment", values) @http.route(['/shop/payment/transaction/<int:acquirer_id>'], type='json', auth="public", website=True) def payment_transaction(self, acquirer_id): @@ -808,7 +808,7 @@ class WebsiteSale(http.Controller): 'tx_post_msg': tx.acquirer_id.post_msg or None }) - return {'recall': flag, 'message': request.website._render("website_sale.order_state_message", values)} + return {'recall': flag, 'message': request.env['ir.ui.view'].render_template("website_sale.order_state_message", values)} @http.route('/shop/payment/validate', type='http', auth="public", website=True) def payment_validate(self, transaction_id=None, sale_order_id=None, **post): @@ -859,7 +859,7 @@ class WebsiteSale(http.Controller): sale_order_id = request.session.get('sale_last_order_id') if sale_order_id: order = request.env['sale.order'].sudo().browse(sale_order_id) - return request.website.render("website_sale.confirmation", {'order': order}) + return request.render("website_sale.confirmation", {'order': order}) else: return request.redirect('/shop') diff --git a/addons/website_sale_options/controllers/main.py b/addons/website_sale_options/controllers/main.py index c349dadc1cc..5d3f74b36d3 100644 --- a/addons/website_sale_options/controllers/main.py +++ b/addons/website_sale_options/controllers/main.py @@ -54,7 +54,7 @@ class WebsiteSaleOptions(WebsiteSale): to_currency = pricelist.currency_id compute_currency = lambda price: request.env['res.currency']._compute(from_currency, to_currency, price) product = request.env['product.product'].with_context(product_context).browse(int(product_id)) - return request.website._render("website_sale_options.modal", { + return request.env['ir.ui.view'].render_template("website_sale_options.modal", { 'product': product, 'compute_currency': compute_currency, 'get_attribute_value_ids': self.get_attribute_value_ids, diff --git a/addons/website_slides/controllers/main.py b/addons/website_slides/controllers/main.py index 651507df075..f3a90f78a26 100644 --- a/addons/website_slides/controllers/main.py +++ b/addons/website_slides/controllers/main.py @@ -56,10 +56,10 @@ class website_slides(http.Controller): """ channels = request.env['slide.channel'].search([], order='sequence, id') if not channels: - return request.website.render("website_slides.channel_not_found") + return request.render("website_slides.channel_not_found") elif len(channels) == 1: return request.redirect("/slides/%s" % channels.id) - return request.website.render('website_slides.channels', { + return request.render('website_slides.channels', { 'channels': channels, 'user': request.env.user, 'is_public_user': request.env.user == request.website.user_id @@ -131,7 +131,7 @@ class website_slides(http.Controller): } if search: values['search'] = search - return request.website.render('website_slides.slides_search', values) + return request.render('website_slides.slides_search', values) # Display uncategorized slides if not slide_type and not category: @@ -147,7 +147,7 @@ class website_slides(http.Controller): values.update({ 'category_datas': category_datas, }) - return request.website.render('website_slides.home', values) + return request.render('website_slides.home', values) # -------------------------------------------------- # SLIDE.SLIDE CONTOLLERS @@ -158,7 +158,7 @@ class website_slides(http.Controller): values = self._get_slide_detail(slide) if not values.get('private'): self._set_viewed_slide(slide, 'slide') - return request.website.render('website_slides.slide_detail_view', values) + return request.render('website_slides.slide_detail_view', values) @http.route('''/slides/slide/<model("slide.slide", "[('channel_id.can_see', '=', True), ('datas', '!=', False), ('slide_type', '=', 'presentation')]"):slide>/pdf_content''', type='http', auth="public", website=True) def slide_get_pdf_content(self, slide): @@ -225,7 +225,7 @@ class website_slides(http.Controller): ('Content-Disposition', disposition)]) elif not request.session.uid and slide.download_security == 'user': return werkzeug.utils.redirect('/web?redirect=/slides/slide/%s' % (slide.id)) - return request.website.render("website.403") + return request.render("website.403") @http.route('''/slides/slide/<model("slide.slide"):slide>/promote''', type='http', auth='user', website=True) def slide_set_promoted(self, slide): @@ -344,8 +344,8 @@ class website_slides(http.Controller): values['is_embedded'] = is_embedded if not values.get('private'): self._set_viewed_slide(slide, 'embed') - return request.website.render('website_slides.embed_slide', values) + return request.render('website_slides.embed_slide', values) except AccessError: # TODO : please, make it clean one day, or find another secure way to detect # if the slide can be embedded, and properly display the error message. slide = request.env['slide.slide'].sudo().browse(slide_id) - return request.website.render('website_slides.embed_slide_forbidden', {'slide': slide}) + return request.render('website_slides.embed_slide_forbidden', {'slide': slide}) |
