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
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 @@ def add_comment(args=None):
# 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 @@ def add_subscriber():
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

View File

@ -22,10 +22,19 @@ wn.pages['{{ name }}'].onload = function(wrapper) {
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

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>. \
</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);}}

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>. \
</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);}}