From aabe0cb8fe86673463be3da5510b38af34c32804 Mon Sep 17 00:00:00 2001 From: Jeremy Kersten Date: Fri, 8 Jan 2016 10:39:54 +0100 Subject: [PATCH] [FIX] website_forum: be sure to have a tag name before to substract the first letter If a tag with an empty name was existing in database, the controller /forum/forum_id/tag return a server 500 because tag.name[0] from an empty string raise a traceback. --- addons/website_forum/models/forum.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/website_forum/models/forum.py b/addons/website_forum/models/forum.py index 57f9313938f..a417b4f07f9 100644 --- a/addons/website_forum/models/forum.py +++ b/addons/website_forum/models/forum.py @@ -174,7 +174,7 @@ class Forum(models.Model): else: # check if user have Karma needed to create need tag user = User.sudo().browse(self._uid) - if user.exists() and user.karma >= self.karma_retag: + if user.exists() and user.karma >= self.karma_retag and len(tag.strip('_').strip()) > 0: post_tags.append((0, 0, {'name': tag[1:], 'forum_id': self.id})) else: existing_keep.append(int(tag)) @@ -184,7 +184,7 @@ class Forum(models.Model): def get_tags_first_char(self): """ get set of first letter of forum tags """ tags = self.env['forum.tag'].search([('forum_id', '=', self.id), ('posts_count', '>', 0)]) - return sorted(set([tag.name[0].upper() for tag in tags])) + return sorted(set([tag.name[0].upper() for tag in tags if len(tag.name)])) class Post(models.Model):