|
- # Copyright 2013 Web Notes Technologies Pvt Ltd
- # License: MIT. See license.txt
-
- from __future__ import unicode_literals
- import webnotes
- from webnotes.widgets import reportview
-
- @webnotes.whitelist()
- def get():
- try:
- from startup.open_count import for_doctype, for_module
- except ImportError, e:
- return {}
-
- can_read = webnotes.user.get_can_read()
- open_count_doctype = {}
- open_count_module = {}
-
- for d in for_doctype:
- if d in can_read:
- condition = for_doctype[d]
- key = condition.keys()[0]
-
- result = reportview.execute(d, fields=["count(*)"],
- filters=[[d, key, "=", condition[key]]], as_list=True)[0][0]
- if result:
- open_count_doctype[d] = result
-
- for m in for_module:
- open_count_module[m] = for_module[m]()
-
- return {
- "open_count_doctype": open_count_doctype,
- "open_count_module": open_count_module
- }
-
- def get_notification_info_for_boot():
- out = get()
-
- from startup.open_count import for_doctype
-
- can_read = webnotes.user.get_can_read()
- conditions = {}
- module_doctypes = {}
- doctype_info = dict(webnotes.conn.sql("""select name, module from tabDocType"""))
-
- for d in for_doctype:
- if d in can_read:
- conditions[d] = for_doctype[d]
- module_doctypes.setdefault(doctype_info[d], []).append(d)
-
- out.update({
- "conditions": conditions,
- "module_doctypes": module_doctypes,
- })
-
- return out
-
|