Merge branch 'master' of github.com:webnotes/erpnext
diff --git a/projects/doctype/task/task_list.js b/projects/doctype/task/task_list.js
index 468f1f3..e6f3a73 100644
--- a/projects/doctype/task/task_list.js
+++ b/projects/doctype/task/task_list.js
@@ -9,30 +9,41 @@
 			'`tabTask`.priority',
 			'`tabTask`.allocated_to',
 		]);
+		this.stats = this.stats.concat(['status']);
+	},
+
+	label_style: {
+		"status": {
+			"Open": "danger",
+			"Closed": "success",
+			"Hold": "info",
+			"Waiting for Customer": "info"
+		}
 	},
 
 	prepare_data: function(data) {
 		this._super(data);
-		data.opening_date = wn.datetime.str_to_user(data.opening_date);
+		
+		data.label_style = this.label_style.status[data.status];
+		
+		data.status_html = repl('<span class="label \
+			label-%(label_style)s">%(status)s</span>', data);
+
+		// escape double quotes
+		data.description = cstr(data.subject)
+			+ " | " + cstr(data.description);
+			
+		data.description = data.description.replace(/"/gi, '\"')
+							.replace(/</gi, '&lt;').replace(/>/gi, '&gt;');
 	},
 
 	columns: [
 		{width: '3%', content: 'check'},
-		{width: '5%', content: 'avatar'},
-		{width: '3%', content: 'docstatus'},
-		{width: '12%', content: 'name'},
-		{width: '30%', content: 'subject+tags'},
-		{
-			width: '15%',
-			content: function(parent, data) {
-				$(parent).html(data.status + 
-					(data.priority ? " [" + data.priority + "]" : "")
-				);
-			},
-		},
+		{width: '5%', content: 'avatar_modified'},
+		{width: '20%', content:'name'},
+		{width: '10%', content:'status_html'},		
+		{width: '40%', content: 'subject+tags'},
 		{width: '20%', content: 'allocated_to'},
-		{width: '12%', content:'opening_date', css: {
-			'text-align': 'right', 'color':'#777'
-		}},
+		{width: '12%', content:'modified', css: {'text-align': 'right', 'color':'#777'}}
 	]
 });
diff --git a/setup/doctype/email_digest/email_digest.py b/setup/doctype/email_digest/email_digest.py
index 08e1dfe..f8754f3 100644
--- a/setup/doctype/email_digest/email_digest.py
+++ b/setup/doctype/email_digest/email_digest.py
@@ -28,6 +28,22 @@
 	"new_purchase_orders", "new_purchase_receipts", "new_stock_entries",
 	"new_support_tickets", "new_communications", "new_projects", "open_tickets"]
 
+digest_template = 	"""<h2>%(digest)s</h2>
+<p style='color: grey'>%(date)s</p>
+<h4>%(company)s</h4>
+<hr>
+%(with_value)s
+%(no_value)s
+<hr>
+<p style="color: #888; font-size: 90%%">To change what you see here, 
+create more digests, go to Setup > Email Digest</p>"""
+
+row_template = """<p style="%(style)s">
+<span>%(label)s</span>: 
+<span style="font-weight: bold; font-size: 110%%">
+	<span style="color: grey">%(currency)s</span>%(value)s
+</span></p>"""
+
 class DocType:
 	def __init__(self, doc, doclist=[]):
 		self.doc, self.doclist = doc, doclist
@@ -87,12 +103,7 @@
 		date = self.doc.frequency == "Daily" and formatdate(self.from_date) or \
 			"%s to %s" % (formatdate(self.from_date), formatdate(self.to_date))
 		
-		msg = """<h2>%(digest)s</h2>
-			<p style='color: grey'>%(date)s</p>
-			<h4>%(company)s</h4>
-			<hr>
-			%(with_value)s
-			%(no_value)s""" % {
+		msg = digest_template % {
 				"digest": self.doc.frequency + " Digest",
 				"date": date,
 				"company": self.doc.company,
@@ -259,11 +270,7 @@
 		
 	def get_html(self, label, currency, value, style=None):
 		"""get html output"""
-		return """<p style="%(style)s">
-			<span>%(label)s</span>: 
-			<span style="font-weight: bold; font-size: 110%%">
-				<span style="color: grey">%(currency)s</span>%(value)s
-			</span></p>""" % {
+		return row_template % {
 				"style": style or "",
 				"label": label,
 				"currency": currency and (currency+" ") or "",