64 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
 | |
| # License: GNU General Public License v3. See license.txt
 | |
| 
 | |
| from __future__ import unicode_literals
 | |
| import webnotes
 | |
| 
 | |
| for_doctype = {
 | |
| 	"Support Ticket": {"status":"Open"},
 | |
| 	"Customer Issue": {"status":"Open"},
 | |
| 	"Task": {"status":"Open"},
 | |
| 	"Lead": {"status":"Open"},
 | |
| 	"Contact": {"status":"Open"},
 | |
| 	"Opportunity": {"docstatus":0},
 | |
| 	"Quotation": {"docstatus":0},
 | |
| 	"Sales Order": {"docstatus":0},
 | |
| 	"Journal Voucher": {"docstatus":0},
 | |
| 	"Sales Invoice": {"docstatus":0},
 | |
| 	"Purchase Invoice": {"docstatus":0},
 | |
| 	"Leave Application": {"status":"Open"},
 | |
| 	"Expense Claim": {"approval_status":"Draft"},
 | |
| 	"Job Applicant": {"status":"Open"},
 | |
| 	"Purchase Receipt": {"docstatus":0},
 | |
| 	"Delivery Note": {"docstatus":0},
 | |
| 	"Stock Entry": {"docstatus":0},
 | |
| 	"Material Request": {"docstatus":0},
 | |
| 	"Purchase Order": {"docstatus":0},
 | |
| 	"Production Order": {"docstatus":0},
 | |
| 	"BOM": {"docstatus":0},
 | |
| 	"Timesheet": {"docstatus":0},
 | |
| 	"Time Log": {"status":"Draft"},
 | |
| 	"Time Log Batch": {"status":"Draft"},
 | |
| }
 | |
| 
 | |
| def get_things_todo():
 | |
| 	"""Returns a count of incomplete todos"""
 | |
| 	incomplete_todos = webnotes.conn.sql("""\
 | |
| 		SELECT COUNT(*) FROM `tabToDo`
 | |
| 		WHERE IFNULL(checked, 0) = 0
 | |
| 		AND (owner = %s or assigned_by=%s)""", (webnotes.session.user, webnotes.session.user))
 | |
| 	return incomplete_todos[0][0]
 | |
| 
 | |
| def get_todays_events():
 | |
| 	"""Returns a count of todays events in calendar"""
 | |
| 	from core.doctype.event.event import get_events
 | |
| 	from webnotes.utils import nowdate
 | |
| 	today = nowdate()
 | |
| 	return len(get_events(today, today))
 | |
| 
 | |
| def get_unread_messages():
 | |
| 	"returns unread (docstatus-0 messages for a user)"
 | |
| 	return webnotes.conn.sql("""\
 | |
| 		SELECT count(*)
 | |
| 		FROM `tabComment`
 | |
| 		WHERE comment_doctype IN ('My Company', 'Message')
 | |
| 		AND comment_docname = %s
 | |
| 		AND ifnull(docstatus,0)=0
 | |
| 		""", webnotes.user.name)[0][0]
 | |
| 
 | |
| for_module = {
 | |
| 	"To Do": get_things_todo,
 | |
| 	"Calendar": get_todays_events,
 | |
| 	"Messages": get_unread_messages
 | |
| }
 |