notifications via hooks webnotes/wnframework#351
diff --git a/erpnext/hooks.txt b/erpnext/hooks.txt
index 4e6d473..32cdcd2 100644
--- a/erpnext/hooks.txt
+++ b/erpnext/hooks.txt
@@ -1,10 +1,14 @@
-app_name ERPNext
+app_name ERPNext
-app_include_js assets/js/erpnext.min.js
-app_include_css assets/css/erpnext.css
-get_desktop_icons erpnext.manage.get_desktop_icons
-boot_session erpnext.startup.boot.boot_session
+app_include_js assets/js/erpnext.min.js
+app_include_css assets/css/erpnext.css
+get_desktop_icons erpnext.manage.get_desktop_icons
+boot_session erpnext.startup.boot.boot_session
+notification_config erpnext.startup.notifications.get_notification_config
-standard_queries Warehouse erpnext.stock.utils.get_warehouse_list
-standard_queries Customer erpnext.selling.utils.get_customer_list
+dump_report_map erpnext.startup.report_data_map.data_map
+standard_queries Warehouse:erpnext.stock.utils.get_warehouse_list
+standard_queries Customer:erpnext.selling.utils.get_customer_list
+
+mail_footer erpnext.startup.mail_footer
diff --git a/erpnext/startup/bean_handlers.py b/erpnext/startup/bean_handlers.py
index 095dc0d..a427ffc 100644
--- a/erpnext/startup/bean_handlers.py
+++ b/erpnext/startup/bean_handlers.py
@@ -1,7 +1,7 @@
# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
-from home import update_feed
+from erpnext.home import update_feed
from webnotes.core.doctype.notification_count.notification_count import clear_doctype_notifications
from erpnext.stock.doctype.material_request.material_request import update_completed_qty
diff --git a/erpnext/startup/notifications.py b/erpnext/startup/notifications.py
new file mode 100644
index 0000000..d4cb4fa
--- /dev/null
+++ b/erpnext/startup/notifications.py
@@ -0,0 +1,35 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
+# License: GNU General Public License v3. See license.txt
+
+from __future__ import unicode_literals
+import webnotes
+
+def get_notification_config():
+ return { "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"},
+ }
+ }
\ No newline at end of file
diff --git a/erpnext/startup/open_count.py b/erpnext/startup/open_count.py
deleted file mode 100644
index e561c03..0000000
--- a/erpnext/startup/open_count.py
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
-# 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 webnotes.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_doctypes = {
- "ToDo": "To Do",
- "Event": "Calendar",
- "Comment": "Messages"
-}
-
-for_module = {
- "To Do": get_things_todo,
- "Calendar": get_todays_events,
- "Messages": get_unread_messages
-}