diff --git a/addons/mail/mail_message.py b/addons/mail/mail_message.py index 4c05d7a6d1f..edb8c0c48e9 100644 --- a/addons/mail/mail_message.py +++ b/addons/mail/mail_message.py @@ -205,7 +205,7 @@ class mail_message(osv.Model): return '%s <%s@%s>' % (this.name, this.alias_name, this.alias_domain) elif this.email: return '%s <%s>' % (this.name, this.email) - raise osv.except_osv(_('Invalid Action!'), _("Unable to send email, please configure the sender's email address or alias.")) + return False def _get_default_author(self, cr, uid, context=None): return self.pool.get('res.users').browse(cr, SUPERUSER_ID, uid, context=context).partner_id.id @@ -843,7 +843,8 @@ class mail_message(osv.Model): values['reply_to'] = self._get_reply_to(cr, uid, values, context=context) newid = super(mail_message, self).create(cr, uid, values, context) - self._notify(cr, uid, newid, context=context, + if values['email_from']: + self._notify(cr, uid, newid, context=context, force_send=context.get('mail_notify_force_send', True), user_signature=context.get('mail_notify_user_signature', True)) # TDE FIXME: handle default_starred. Why not setting an inv on starred ? diff --git a/addons/website_blog/controllers/main.py b/addons/website_blog/controllers/main.py index bfa65b9674c..c1e65e2a518 100644 --- a/addons/website_blog/controllers/main.py +++ b/addons/website_blog/controllers/main.py @@ -210,11 +210,11 @@ class WebsiteBlog(http.Controller): cr, uid, context = request.cr, request.uid, request.context blog_post = request.registry['blog.post'] message_id = blog_post.message_post( - cr, uid, int(blog_post_id), + cr, SUPERUSER_ID, int(blog_post_id), body=post.get('comment'), type='comment', subtype='mt_comment', - author_id= user.partner_id.id, + author_id=False, discussion=post.get('discussion'), context=dict(context, mail_create_nosubcribe=True)) return message_id @@ -237,12 +237,14 @@ class WebsiteBlog(http.Controller): user = request.registry['res.users'].browse(cr, uid, uid, context=context) id = self._blog_post_message(user, blog_post_id, **post) mail_obj = request.registry.get('mail.message') - post = mail_obj.browse(cr, uid, id) + post = mail_obj.browse(cr, SUPERUSER_ID, id) values = { - "author_name": post.author_id.name, + "author_name": post.author_id and post.author_id.name or _('Anonymous'), "date": post.date, "body": html2plaintext(post.body), - "author_image": "data:image/png;base64,%s" % post.author_id.image, + "author_image": post.author_id and \ + ("data:image/png;base64,%s" % post.author_id.image) or \ + '/website_blog/static/src/img/anonymous.png', } return values @@ -278,14 +280,16 @@ class WebsiteBlog(http.Controller): cr, uid, context = request.cr, request.uid, request.context mail_obj = request.registry.get('mail.message') values = [] - ids = mail_obj.search(cr, uid, [('res_id', '=', int(post_id)) ,('model','=','blog.post'), ('discussion', '=', discussion)]) + ids = mail_obj.search(cr, SUPERUSER_ID, [('res_id', '=', int(post_id)) ,('model','=','blog.post'), ('discussion', '=', discussion)]) if ids: - for post in mail_obj.browse(cr, uid, ids, context=context): + for post in mail_obj.browse(cr, SUPERUSER_ID, ids, context=context): values.append({ - "author_name": post.author_id.name, + "author_name": post.author_id and post.author_id.name or _('Anonymous'), + "author_image": post.author_id and \ + ("data:image/png;base64,%s" % post.author_id.image) or \ + '/website_blog/static/src/img/anonymous.png', "date": post.date, 'body': html2plaintext(post.body), - 'author_image': "data:image/png;base64,%s" % post.author_id.image, }) return values diff --git a/addons/website_blog/static/src/img/anonymous.png b/addons/website_blog/static/src/img/anonymous.png new file mode 100644 index 00000000000..6461bf735f1 Binary files /dev/null and b/addons/website_blog/static/src/img/anonymous.png differ diff --git a/addons/website_blog/static/src/js/website_blog.inline.discussion.js b/addons/website_blog/static/src/js/website_blog.inline.discussion.js index 1e92fd5a338..bed198efad7 100644 --- a/addons/website_blog/static/src/js/website_blog.inline.discussion.js +++ b/addons/website_blog/static/src/js/website_blog.inline.discussion.js @@ -13,7 +13,7 @@ var defaults = { identifier: 'name', position: 'right', - post_id: $('#blog_post_name').attr('data-oe-id'), + post_id: $('#blog_post_name').attr('data-blog-id'), content : false, }; self.settings = $.extend({}, defaults, options); diff --git a/addons/website_blog/static/src/xml/website_blog.inline.discussion.xml b/addons/website_blog/static/src/xml/website_blog.inline.discussion.xml index cebba5ea477..e44b4b0a0d7 100644 --- a/addons/website_blog/static/src/xml/website_blog.inline.discussion.xml +++ b/addons/website_blog/static/src/xml/website_blog.inline.discussion.xml @@ -6,8 +6,11 @@
-
+ + by + +
@@ -16,7 +19,7 @@