[FIX] website_forum: fix broken forum activation email due to the migration to the new API.
Next step: write tests. Hooray.
This commit is contained in:
@@ -51,7 +51,8 @@ class WebsiteForum(http.Controller):
|
||||
|
||||
@http.route('/forum/send_validation_email', type='json', auth='user', website=True)
|
||||
def send_validation_email(self, forum_id=None, **kwargs):
|
||||
request.env['res.users'].send_forum_validation_email(request.uid, forum_id=forum_id)
|
||||
if request.env.uid != request.website.user_id.id:
|
||||
request.env.user.send_forum_validation_email(forum_id=forum_id)
|
||||
request.session['validation_email_sent'] = True
|
||||
return True
|
||||
|
||||
@@ -62,7 +63,7 @@ class WebsiteForum(http.Controller):
|
||||
forum_id = int(forum_id)
|
||||
except ValueError:
|
||||
forum_id = None
|
||||
done = request.env['res.users'].process_forum_validation_token(token, int(id), email, forum_id=forum_id)
|
||||
done = request.env['res.users'].sudo().browse(int(id)).process_forum_validation_token(token, email, forum_id=forum_id)[0]
|
||||
if done:
|
||||
request.session['validation_email_done'] = True
|
||||
if forum_id:
|
||||
|
||||
@@ -57,9 +57,11 @@ class Users(models.Model):
|
||||
|
||||
@api.one
|
||||
def send_forum_validation_email(self, forum_id=None):
|
||||
if not self.email:
|
||||
return False
|
||||
token = self._generate_forum_token(self.id, self.email)
|
||||
activation_template_id = self.env['ir.model.data'].xmlid_to_res_id('website_forum.validation_email')
|
||||
if activation_template_id:
|
||||
activation_template = self.env.ref('website_forum.validation_email')
|
||||
if activation_template:
|
||||
params = {
|
||||
'token': token,
|
||||
'id': self.id,
|
||||
@@ -68,7 +70,7 @@ class Users(models.Model):
|
||||
params['forum_id'] = forum_id
|
||||
base_url = self.env['ir.config_parameter'].get_param('web.base.url')
|
||||
token_url = base_url + '/forum/validate_email?%s' % urlencode(params)
|
||||
self.env['email.template'].sudo().with_context(token_url=token_url).send_mail(activation_template_id, self.id, force_send=True)
|
||||
activation_template.sudo().with_context(token_url=token_url).send_mail(self.id, force_send=True)
|
||||
return True
|
||||
|
||||
@api.one
|
||||
|
||||
Reference in New Issue
Block a user