added email chain on blog comment and number of comments

This commit is contained in:
Rushabh Mehta
2012-08-06 15:22:17 +05:30
parent 24fabf3b73
commit aaa75496e2
4 changed files with 33 additions and 9 deletions

View File

@@ -17,7 +17,8 @@ def get_blog_list(args=None):
select select
cache.name as name, cache.html as content, cache.name as name, cache.html as content,
blog.owner as owner, blog.creation as published, 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 from `tabWeb Cache` cache, `tabBlog` blog
where cache.doc_type = 'Blog' and blog.page_name = cache.name where cache.doc_type = 'Blog' and blog.page_name = cache.name
order by published desc, name asc""" order by published desc, name asc"""
@@ -105,6 +106,23 @@ def add_comment(args=None):
# get html of comment row # get html of comment row
comment_html = website.web_cache.build_html(template_args) 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 return comment_html
@webnotes.whitelist(allow_guest=True) @webnotes.whitelist(allow_guest=True)
@@ -120,6 +138,7 @@ def add_subscriber():
else: else:
lead = Document('Lead') lead = Document('Lead')
if not lead.source: lead.source = 'Blog'
lead.unsubscribed = 0 lead.unsubscribed = 0
lead.blog_subscriber = 1 lead.blog_subscriber = 1
lead.lead_name = full_name lead.lead_name = full_name

View File

@@ -22,10 +22,19 @@ wn.pages['{{ name }}'].onload = function(wrapper) {
hide_refresh: true, hide_refresh: true,
no_toolbar: true, no_toolbar: true,
render_row: function(parent, data) { 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) { if(data.content && data.content.length==1000) {
data.content += repl('... <a href="%(name)s.html">(read on)</a>', data); 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>\ 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); %(content)s<br /><br />', data);
}, },
page_length: 10 page_length: 10

View File

@@ -2265,9 +2265,7 @@ if(wn.boot.expires_on&&in_list(user_roles,'System Manager')){var today=dateutil.
This ERPNext subscription <b>has expired</b>. \ This ERPNext subscription <b>has expired</b>. \
</div>',{expiry_string:expiry_string}));}} </div>',{expiry_string:expiry_string}));}}
erpnext.set_about();if(wn.control_panel.custom_startup_code) erpnext.set_about();if(wn.control_panel.custom_startup_code)
eval(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>')}
erpnext.update_messages=function(reset){if(inList(['Guest'],user)||!wn.session_alive){return;} 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);}}} 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);}} 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);}}

View File

@@ -725,9 +725,7 @@ if(wn.boot.expires_on&&in_list(user_roles,'System Manager')){var today=dateutil.
This ERPNext subscription <b>has expired</b>. \ This ERPNext subscription <b>has expired</b>. \
</div>',{expiry_string:expiry_string}));}} </div>',{expiry_string:expiry_string}));}}
erpnext.set_about();if(wn.control_panel.custom_startup_code) erpnext.set_about();if(wn.control_panel.custom_startup_code)
eval(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>')}
erpnext.update_messages=function(reset){if(inList(['Guest'],user)||!wn.session_alive){return;} 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);}}} 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);}} 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);}}