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(