diff --git a/addons/point_of_sale/controllers/main.py b/addons/point_of_sale/controllers/main.py
index af55b9dfd93..adc1c85539f 100644
--- a/addons/point_of_sale/controllers/main.py
+++ b/addons/point_of_sale/controllers/main.py
@@ -4,7 +4,6 @@ import werkzeug.utils
from openerp import http
from openerp.http import request
-from openerp.addons.web.controllers.main import login_redirect, abort_and_redirect
_logger = logging.getLogger(__name__)
@@ -16,9 +15,6 @@ class PosController(http.Controller):
cr, uid, context, session = request.cr, request.uid, request.context, request.session
# if user not logged in, log him in
- if not session.uid:
- return login_redirect()
-
PosSession = request.registry['pos.session']
pos_session_ids = PosSession.search(cr, uid, [('state','=','opened'),('user_id','=',session.uid)], context=context)
if not pos_session_ids:
diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py
index bd5df34e6aa..57b67159501 100644
--- a/addons/web/controllers/main.py
+++ b/addons/web/controllers/main.py
@@ -309,15 +309,6 @@ def set_cookie_and_redirect(redirect_url):
redirect.autocorrect_location_header = False
return redirect
-def login_redirect():
- url = '/web/login?'
- # built the redirect url, keeping all the query parameters of the url
- redirect_url = '%s?%s' % (request.httprequest.base_url, werkzeug.urls.url_encode(request.params))
- return """
- """ % (url, redirect_url)
-
def load_actions_from_ir_values(key, key2, models, meta):
Values = request.session.model('ir.values')
actions = Values.get(key, key2, models, meta, request.context)
@@ -465,19 +456,14 @@ class Home(http.Controller):
def index(self, s_action=None, db=None, **kw):
return http.local_redirect('/web', query=request.params, keep_hash=True)
- @http.route('/web', type='http', auth="none")
+ @http.route('/web', type='http', auth="user")
def web_client(self, s_action=None, **kw):
ensure_db()
- if request.session.uid:
- if kw.get('redirect'):
- return werkzeug.utils.redirect(kw.get('redirect'), 303)
- if not request.uid:
- request.uid = request.session.uid
+ if kw.get('redirect'):
+ return werkzeug.utils.redirect(kw.get('redirect'), 303)
- menu_data = request.registry['ir.ui.menu'].load_menus(request.cr, request.uid, context=request.context)
- return request.render('web.webclient_bootstrap', qcontext={'menu_data': menu_data})
- else:
- return login_redirect()
+ menu_data = request.registry['ir.ui.menu'].load_menus(request.cr, request.uid, context=request.context)
+ return request.render('web.webclient_bootstrap', qcontext={'menu_data': menu_data})
@http.route('/web/dbredirect', type='http', auth="none")
def web_db_redirect(self, redirect='/', **kw):
diff --git a/addons/website_blog/controllers/main.py b/addons/website_blog/controllers/main.py
index 4663f4c0784..e3d95496d40 100644
--- a/addons/website_blog/controllers/main.py
+++ b/addons/website_blog/controllers/main.py
@@ -8,7 +8,6 @@ from openerp import tools
from openerp.addons.web import http
from openerp.addons.web.http import request
from openerp.addons.website.models.website import slug, unslug
-from openerp.addons.web.controllers.main import login_redirect
from openerp.exceptions import UserError
from openerp.osv.orm import browse_record
from openerp.tools.translate import _
@@ -280,10 +279,8 @@ class WebsiteBlog(http.Controller):
context=context)
return message_id
- @http.route(['/blog/post_comment/'], type='http', auth="public", website=True)
+ @http.route(['/blog/post_comment/'], type='http', auth="user", methods=['POST'], website=True)
def blog_post_comment(self, blog_post_id=0, **kw):
- if not request.session.uid:
- return login_redirect()
cr, uid, context = request.cr, request.uid, request.context
if kw.get('comment'):
self._blog_post_message(blog_post_id, kw.get('comment'), **kw)
diff --git a/addons/website_forum/controllers/main.py b/addons/website_forum/controllers/main.py
index be6ddd11840..057f4814a6e 100644
--- a/addons/website_forum/controllers/main.py
+++ b/addons/website_forum/controllers/main.py
@@ -9,7 +9,6 @@ from urllib2 import urlopen, URLError
from openerp import tools, _
from openerp.addons.web import http
-from openerp.addons.web.controllers.main import login_redirect
from openerp.addons.web.http import request
from openerp.addons.website.models.website import slug
from openerp.tools.translate import _
@@ -300,10 +299,8 @@ class WebsiteForum(http.Controller):
# Post
# --------------------------------------------------
- @http.route(['/forum//ask'], type='http', auth="public", website=True)
+ @http.route(['/forum//ask'], type='http', auth="user", methods=['POST'], website=True)
def forum_post(self, forum, post_type=None, **post):
- if not request.session.uid:
- return login_redirect()
user = request.env.user
if post_type not in ['question', 'link', 'discussion']: # fixme: make dynamic
return werkzeug.utils.redirect('/forum/%s' % slug(forum))
@@ -314,10 +311,8 @@ class WebsiteForum(http.Controller):
@http.route(['/forum//new',
'/forum///reply'],
- type='http', auth="public", website=True)
+ type='http', auth="user", methods=['POST'], website=True)
def post_create(self, forum, post_parent=None, post_type=None, **post):
- if not request.session.uid:
- return login_redirect()
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.')})
post_tag_ids = forum._tag_to_write_vals(post.get('post_tags', ''))
@@ -332,10 +327,8 @@ class WebsiteForum(http.Controller):
})
return werkzeug.utils.redirect("/forum/%s/question/%s" % (slug(forum), post_parent and slug(post_parent) or new_question.id))
- @http.route('/forum//post//comment', type='http', auth="public", website=True)
+ @http.route('/forum//post//comment', type='http', auth="user", methods=['POST'], website=True)
def post_comment(self, forum, post, **kwargs):
- if not request.session.uid:
- return login_redirect()
question = post.parent_id if post.parent_id else post
if kwargs.get('comment') and post.forum_id.id == forum.id:
# TDE FIXME: check that post_id is the question or one of its answers
diff --git a/addons/website_sale/controllers/main.py b/addons/website_sale/controllers/main.py
index af4bf6f705b..49e164c99bb 100644
--- a/addons/website_sale/controllers/main.py
+++ b/addons/website_sale/controllers/main.py
@@ -7,7 +7,6 @@ from openerp import tools
from openerp.http import request
from openerp.tools.translate import _
from openerp.addons.website.models.website import slug
-from openerp.addons.web.controllers.main import login_redirect
PPG = 20 # Products Per Page
PPR = 4 # Products Per Row
@@ -300,10 +299,8 @@ class website_sale(http.Controller):
}
return request.website.render("website_sale.product", values)
- @http.route(['/shop/product/comment/'], type='http', auth="public", website=True)
+ @http.route(['/shop/product/comment/'], type='http', auth="user", methods=['POST'], website=True)
def product_comment(self, product_template_id, **post):
- if not request.session.uid:
- return login_redirect()
cr, uid, context = request.cr, request.uid, request.context
if post.get('comment'):
request.registry['product.template'].message_post(