added email chain on blog comment and number of comments
diff --git a/erpnext/website/blog.py b/erpnext/website/blog.py
index 1ebea29..f0e9b71 100644
--- a/erpnext/website/blog.py
+++ b/erpnext/website/blog.py
@@ -17,7 +17,8 @@
select
cache.name as name, cache.html as content,
blog.owner as owner, blog.creation as published,
- blog.title as title
+ blog.title as title, (select count(name) from `tabComment` where
+ comment_doctype='Blog' and comment_docname=blog.name) as comments
from `tabWeb Cache` cache, `tabBlog` blog
where cache.doc_type = 'Blog' and blog.page_name = cache.name
order by published desc, name asc"""
@@ -104,7 +105,24 @@
# get html of comment row
comment_html = website.web_cache.build_html(template_args)
-
+
+ # notify commentors
+ commentors = [d[0] for d in webnotes.conn.sql("""select comment_by from tabComment where
+ comment_doctype='Blog' and comment_docname=%s and
+ ifnull(unsubscribed, 0)=0""", args.get('comment_docname'))]
+
+ blog = webnotes.conn.sql("""select * from tabBlog where name=%s""",
+ args.get('comment_docname'), as_dict=1)[0]
+
+ from webnotes.utils.email_lib.bulk import send
+ send(recipients=commentors + [blog['owner']],
+ doctype='Comment',
+ email_field='comment_by',
+ first_name_field="comment_by_fullname",
+ last_name_field="NA",
+ subject='New Comment on Blog: ' + blog['title'],
+ message='<p>%(comment)s</p><p>By %(comment_by_fullname)s</p>' % args)
+
return comment_html
@webnotes.whitelist(allow_guest=True)
@@ -119,7 +137,8 @@
lead = Document('Lead', name[0][0])
else:
lead = Document('Lead')
-
+
+ if not lead.source: lead.source = 'Blog'
lead.unsubscribed = 0
lead.blog_subscriber = 1
lead.lead_name = full_name
diff --git a/erpnext/website/templates/js/blog.js b/erpnext/website/templates/js/blog.js
index 78dd3b7..76b9fb6 100644
--- a/erpnext/website/templates/js/blog.js
+++ b/erpnext/website/templates/js/blog.js
@@ -22,10 +22,19 @@
hide_refresh: true,
no_toolbar: true,
render_row: function(parent, data) {
+ if(!data.comments) {
+ data.comment_text = 'No comments yet.'
+ } else if (data.comments=1) {
+ data.comment_text = '1 comment.'
+ } else {
+ data.comment_text = data.comments + ' comments.'
+ }
+
if(data.content && data.content.length==1000) {
data.content += repl('... <a href="%(name)s.html">(read on)</a>', data);
}
parent.innerHTML = repl('<h2><a href="%(name)s.html">%(title)s</a></h2>\
+ <div class="help">%(comment_text)s</div>\
%(content)s<br /><br />', data);
},
page_length: 10
diff --git a/public/js/all-app.js b/public/js/all-app.js
index 1921530..17c6162 100644
--- a/public/js/all-app.js
+++ b/public/js/all-app.js
@@ -2265,9 +2265,7 @@
This ERPNext subscription <b>has expired</b>. \
</div>',{expiry_string:expiry_string}));}}
erpnext.set_about();if(wn.control_panel.custom_startup_code)
-eval(wn.control_panel.custom_startup_code);}
-$('body').append('<a class="erpnext-logo" title="Powered by ERPNext" \
- href="http://erpnext.com" target="_blank"></a>')}
+eval(wn.control_panel.custom_startup_code);}}
erpnext.update_messages=function(reset){if(inList(['Guest'],user)||!wn.session_alive){return;}
if(!reset){var set_messages=function(r){if(!r.exc){erpnext.toolbar.set_new_comments(r.message.unread_messages);var show_in_circle=function(parent_id,msg){var parent=$('#'+parent_id);if(parent){if(msg){parent.find('span:first').text(msg);parent.toggle(true);}else{parent.toggle(false);}}}
show_in_circle('unread_messages',r.message.unread_messages.length);show_in_circle('open_support_tickets',r.message.open_support_tickets);show_in_circle('things_todo',r.message.things_todo);show_in_circle('todays_events',r.message.todays_events);show_in_circle('open_tasks',r.message.open_tasks);}else{clearInterval(wn.updates.id);}}
diff --git a/public/js/all-web.js b/public/js/all-web.js
index 9f4d63b..787ab63 100644
--- a/public/js/all-web.js
+++ b/public/js/all-web.js
@@ -725,9 +725,7 @@
This ERPNext subscription <b>has expired</b>. \
</div>',{expiry_string:expiry_string}));}}
erpnext.set_about();if(wn.control_panel.custom_startup_code)
-eval(wn.control_panel.custom_startup_code);}
-$('body').append('<a class="erpnext-logo" title="Powered by ERPNext" \
- href="http://erpnext.com" target="_blank"></a>')}
+eval(wn.control_panel.custom_startup_code);}}
erpnext.update_messages=function(reset){if(inList(['Guest'],user)||!wn.session_alive){return;}
if(!reset){var set_messages=function(r){if(!r.exc){erpnext.toolbar.set_new_comments(r.message.unread_messages);var show_in_circle=function(parent_id,msg){var parent=$('#'+parent_id);if(parent){if(msg){parent.find('span:first').text(msg);parent.toggle(true);}else{parent.toggle(false);}}}
show_in_circle('unread_messages',r.message.unread_messages.length);show_in_circle('open_support_tickets',r.message.open_support_tickets);show_in_circle('things_todo',r.message.things_todo);show_in_circle('todays_events',r.message.todays_events);show_in_circle('open_tasks',r.message.open_tasks);}else{clearInterval(wn.updates.id);}}