# 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