summaryrefslogtreecommitdiff
path: root/addons/website_mail/controllers/main.py
diff options
context:
space:
mode:
authorJérome Maes <jem@openerp.com>2015-09-23 14:52:21 +0200
committerJérome Maes <jem@openerp.com>2015-09-25 16:03:40 +0200
commitc436c56148a386e7121358d9bc7db3b7d0f88052 (patch)
tree35a85f2502f86f2a4f4df2dd7faea205205bf336 /addons/website_mail/controllers/main.py
parent26f6a0c3f98b3e69875a902936fc74e6b956c4f6 (diff)
Revert "[FIX] website_mail, website_sale : redirect to login page to post comment"
This reverts commit 7974bf54411f189d1d52da90beae95da51d90dd0.
Diffstat (limited to 'addons/website_mail/controllers/main.py')
-rw-r--r--addons/website_mail/controllers/main.py55
1 files changed, 15 insertions, 40 deletions
diff --git a/addons/website_mail/controllers/main.py b/addons/website_mail/controllers/main.py
index 1d98899ba4e..5ae3b6a0734 100644
--- a/addons/website_mail/controllers/main.py
+++ b/addons/website_mail/controllers/main.py
@@ -1,14 +1,10 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
-
-import urllib
-
from hashlib import sha1
from time import time
from werkzeug.exceptions import NotFound
-from werkzeug import url_encode
-from openerp import SUPERUSER_ID, _
+from openerp import SUPERUSER_ID
from openerp.addons.web import http
from openerp.addons.web.http import request
@@ -69,7 +65,6 @@ def _message_post_helper(res_model='', res_id=None, message='', token='', token_
res = res.sudo()
else:
raise NotFound()
- kw.pop('force_display', False)
return res.with_context({'mail_create_nosubscribe': nosubscribe}).message_post(body=message,
message_type=kw.pop('message_type', False) or "comment",
subtype=kw.pop('subtype', False) or "mt_comment",
@@ -152,47 +147,27 @@ class WebsiteMail(http.Controller):
], context=context)) == 1
return values
- def _generate_login_url(self):
- url_params = request.params
- url_params.pop('force_display')
- url_params.update(redirect=request.httprequest.referrer)
- redirect_login_url = '/website_mail/post/post' + '?' + url_encode(url_params)
- url = '/web/login?redirect=%s' % urllib.quote(redirect_login_url)
- return url
-
@http.route(['/website_mail/post/json'], type='json', auth='public', website=True)
def chatter_json(self, res_model='', res_id=None, message='', **kw):
- # if the chatter is displayed but the user is not logged, redirect him to login page
- if kw.get('force_display') and not request.session.uid:
- return {'redirect': self._generate_login_url()}
- # otherwise, try to post the comment
res_id = int(res_id)
try:
- if message:
- msg = _message_post_helper(res_model, res_id, message, **kw)
- data = {
- 'id': msg.id,
- 'body': msg.body,
- 'date': msg.date,
- 'author': msg.author_id.name,
- 'image_url': request.website.image_url(msg.author_id, 'image_small')
- }
- return data
- else:
- return {'error': _('Empty comments are not allowed. Please fill the textearea.')}
+ msg = _message_post_helper(res_model, res_id, message, **kw)
+ data = {
+ 'id': msg.id,
+ 'body': msg.body,
+ 'date': msg.date,
+ 'author': msg.author_id.name,
+ 'image_url': request.website.image_url(msg.author_id, 'image_small')
+ }
+ return data
except Exception:
- return {'error': _('Oops! Something went wrong. Try to reload the page and to log in.')}
+ return False
@http.route(['/website_mail/post/post'], type='http', method=['POST'], auth='public', website=True)
def chatter_post(self, res_model='', res_id=None, message='', redirect=None, **kw):
+ res_id = int(res_id)
url = request.httprequest.referrer
- if kw.get('force_display') and not request.session.uid:
- # set the redirection param to be redirect here when logged in
- url = self._generate_login_url()
- else:
- res_id = int(res_id)
- url = redirect or url
- if message:
- message = _message_post_helper(res_model, res_id, message, **kw)
- url = url + "#message-%s" % (message.id,)
+ if message:
+ message = _message_post_helper(res_model, res_id, message, **kw)
+ url = url + "#message-%s" % (message.id,)
return request.redirect(url)