summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJérome Maes <jem@openerp.com>2016-08-04 08:50:00 +0200
committerJérome Maes <jem@openerp.com>2016-08-04 12:02:14 +0200
commit8a399930f316fc4d65828441d86301d4a8dfa669 (patch)
treea45780e27942f303dc6a28a1213978c214229167
parentfd09ddb6f3c40e9ec5854cc58c7eb791d4498dc0 (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.
-rw-r--r--addons/survey/controllers/main.py30
-rw-r--r--addons/website/controllers/main.py2
-rw-r--r--addons/website/models/ir_http.py4
-rw-r--r--addons/website/models/website.py9
-rw-r--r--addons/website/tests/__init__.py2
-rw-r--r--addons/website/tests/test_converter.py5
-rw-r--r--addons/website/tests/test_crawl.py3
-rw-r--r--addons/website/tests/test_ui.py5
-rw-r--r--addons/website/tests/test_views.py63
-rw-r--r--addons/website_blog/controllers/main.py6
-rw-r--r--addons/website_crm_partner_assign/controllers/main.py10
-rw-r--r--addons/website_customer/controllers/main.py4
-rw-r--r--addons/website_event/controllers/main.py12
-rw-r--r--addons/website_event_sale/controllers/main.py4
-rw-r--r--addons/website_event_track/controllers/main.py10
-rw-r--r--addons/website_forum/controllers/main.py38
-rw-r--r--addons/website_forum_doc/controllers/main.py6
-rw-r--r--addons/website_google_map/controllers/main.py2
-rw-r--r--addons/website_hr/controllers/main.py2
-rw-r--r--addons/website_hr_recruitment/controllers/main.py2
-rw-r--r--addons/website_links/controller/main.py4
-rw-r--r--addons/website_livechat/controllers/main.py4
-rw-r--r--addons/website_mail_channel/controllers/main.py10
-rw-r--r--addons/website_mass_mailing/controllers/main.py4
-rw-r--r--addons/website_membership/controllers/main.py4
-rw-r--r--addons/website_partner/controllers/main.py2
-rw-r--r--addons/website_payment/controllers/main.py6
-rw-r--r--addons/website_portal/controllers/main.py4
-rw-r--r--addons/website_portal_sale/controllers/main.py10
-rw-r--r--addons/website_project/controllers/main.py8
-rw-r--r--addons/website_project_issue/controllers/main.py4
-rw-r--r--addons/website_quote/controllers/main.py18
-rw-r--r--addons/website_rating_project_issue/controllers/main.py4
-rw-r--r--addons/website_sale/controllers/main.py22
-rw-r--r--addons/website_sale_options/controllers/main.py2
-rw-r--r--addons/website_slides/controllers/main.py16
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('&', '&amp;'),
- view.arch,
- 'inline script should be escaped server side'
+ replacement.replace('&', '&amp;'),
+ 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;amp; &amp;lt;b&amp;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('&', '&amp;'),
- 'text node characters wrongly unescaped when rendering'
+ replacement,
+ view.render().replace('&', '&amp;'),
+ '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})