68 lines
2.0 KiB
Python
68 lines
2.0 KiB
Python
# ERPNext: Copyright 2013 Web Notes Technologies Pvt Ltd
|
|
# GNU General Public Licnese. 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 webnotes.utils import nowdate
|
|
todays_events = webnotes.conn.sql("""\
|
|
SELECT COUNT(*) FROM `tabEvent`
|
|
WHERE owner = %s
|
|
AND event_type != 'Cancel'
|
|
AND %s between date(starts_on) and date(ends_on)""", (
|
|
webnotes.session.user, nowdate()))
|
|
return todays_events[0][0]
|
|
|
|
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
|
|
}
|