@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
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:
@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,
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