summaryrefslogtreecommitdiff
path: root/addons/website_profile/controllers/main.py
diff options
context:
space:
mode:
Diffstat (limited to 'addons/website_profile/controllers/main.py')
-rw-r--r--addons/website_profile/controllers/main.py28
1 files changed, 27 insertions, 1 deletions
diff --git a/addons/website_profile/controllers/main.py b/addons/website_profile/controllers/main.py
index 4d0e58efbe8..b29ba2077fb 100644
--- a/addons/website_profile/controllers/main.py
+++ b/addons/website_profile/controllers/main.py
@@ -57,6 +57,8 @@ class WebsiteProfile(http.Controller):
values = {
'user': request.env.user,
'is_public_user': request.website.is_public_user(),
+ 'validation_email_sent': request.session.get('validation_email_sent', False),
+ 'validation_email_done': request.session.get('validation_email_done', False),
}
values.update(kwargs)
return values
@@ -111,8 +113,9 @@ class WebsiteProfile(http.Controller):
user = self._check_user_profile_access(user_id)
if not user:
return request.render("website_profile.private_profile")
+ values = self._prepare_user_values(**post)
params = self._prepare_user_profile_parameters(**post)
- values = self._prepare_user_profile_values(user, **params)
+ values.update(self._prepare_user_profile_values(user, **params))
return request.render("website_profile.user_profile_main", values)
# Edit Profile
@@ -234,3 +237,26 @@ class WebsiteProfile(http.Controller):
'pager': pager
}
return request.render("website_profile.users_page_main", values)
+
+ # User and validation
+ # --------------------------------------------------
+
+ @http.route('/profile/send_validation_email', type='json', auth='user', website=True)
+ def send_validation_email(self, **kwargs):
+ if request.env.uid != request.website.user_id.id:
+ request.env.user._send_profile_validation_email(**kwargs)
+ request.session['validation_email_sent'] = True
+ return True
+
+ @http.route('/profile/validate_email', type='http', auth='public', website=True, sitemap=False)
+ def validate_email(self, token, user_id, email, **kwargs):
+ done = request.env['res.users'].sudo().browse(int(user_id))._process_profile_validation_token(token, email)
+ if done:
+ request.session['validation_email_done'] = True
+ url = kwargs.get('redirect_url', '/')
+ return request.redirect(url)
+
+ @http.route('/profile/validate_email/close', type='json', auth='public', website=True)
+ def validate_email_done(self, **kwargs):
+ request.session['validation_email_done'] = False
+ return True