From 46b164ea2e7c6f795004d6212b8c1e826c903625 Mon Sep 17 00:00:00 2001 From: "Turkesh Patel (Open ERP)" Date: Wed, 2 Apr 2014 14:55:49 +0530 Subject: [PATCH] [IMP] improved code to handle error when user email address is not given bzr revid: tpa@tinyerp.com-20140402092549-vrvchbmlpkaq4p80 --- addons/website_forum/controllers/main.py | 1 + addons/website_forum/models/__init__.py | 1 + addons/website_forum/models/ir_http.py | 17 +++++++++++++++++ addons/website_forum/views/website_forum.xml | 6 +++++- 4 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 addons/website_forum/models/ir_http.py diff --git a/addons/website_forum/controllers/main.py b/addons/website_forum/controllers/main.py index 6f9a0c601d5..19ee7262b4c 100644 --- a/addons/website_forum/controllers/main.py +++ b/addons/website_forum/controllers/main.py @@ -611,6 +611,7 @@ class website_forum(http.Controller): request.registry['res.partner'].write( cr, uid, [user.partner_id.id], { 'name': post.get('name'), 'website': post.get('website'), + 'email': post.get('email'), 'city': post.get('city'), 'country_id': post.get('country'), 'website_description': post.get('description'), diff --git a/addons/website_forum/models/__init__.py b/addons/website_forum/models/__init__.py index 15f26e908cd..1a9084cd096 100644 --- a/addons/website_forum/models/__init__.py +++ b/addons/website_forum/models/__init__.py @@ -21,3 +21,4 @@ import gamification import forum +import ir_http diff --git a/addons/website_forum/models/ir_http.py b/addons/website_forum/models/ir_http.py new file mode 100644 index 00000000000..2dc9a945aab --- /dev/null +++ b/addons/website_forum/models/ir_http.py @@ -0,0 +1,17 @@ +# -*- coding: utf-8 -*- +import traceback +import werkzeug +import openerp +from openerp.http import request +from openerp.osv import orm + +class ir_http(orm.AbstractModel): + _inherit = 'ir.http' + + def _handle_exception(self, exception=None, code=500): + #At this time it gives error when user's email address is not configured instead of raise exception so redirect user to update profile. + #when website will handle exception then remove this code. + if exception and exception[1] and exception[1] == "Unable to send email, please configure the sender's email address or alias.": + forum = request.httprequest.path.strip('/forum').split('/') + return werkzeug.utils.redirect("/forum/%s/edit/profile/%s" % (forum[0],request.uid)) + return super(ir_http, self)._handle_exception(exception) diff --git a/addons/website_forum/views/website_forum.xml b/addons/website_forum/views/website_forum.xml index 32d3e3a6a30..9c4e3ae5f17 100644 --- a/addons/website_forum/views/website_forum.xml +++ b/addons/website_forum/views/website_forum.xml @@ -657,12 +657,16 @@
- +
+ +
+ +