blob: 8e880dc42e088af66a55b03b8a143bc6060a1702 [file] [log] [blame]
Anand Doshi885e0742015-03-03 14:55:30 +05301# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
Rushabh Mehta30430792013-12-13 15:33:40 +05302# License: GNU General Public License v3. See license.txt
3
4from __future__ import unicode_literals
Rohit Waghchaure07ef5f42017-04-26 18:25:54 +05305import frappe
Rushabh Mehta30430792013-12-13 15:33:40 +05306
7def get_notification_config():
Prateeksha Singhe012e242017-07-18 10:35:12 +05308 notifications = { "for_doctype":
Rushabh Mehta30430792013-12-13 15:33:40 +05309 {
Rushabh Mehta905f8322015-03-02 13:01:39 +053010 "Issue": {"status": "Open"},
11 "Warranty Claim": {"status": "Open"},
Rushabh Mehta868bb262017-03-09 18:11:11 +053012 "Task": {"status": ("in", ("Open", "Overdue"))},
Rushabh Mehta856ee102015-07-17 15:03:18 +053013 "Project": {"status": "Open"},
Rushabh Mehta905f8322015-03-02 13:01:39 +053014 "Lead": {"status": "Open"},
15 "Contact": {"status": "Open"},
Rushabh Mehtaf579cf92015-04-13 16:58:47 +053016 "Opportunity": {"status": "Open"},
17 "Quotation": {"docstatus": 0},
Rushabh Mehtad10ba852015-10-02 12:42:48 +053018 "Sales Order": {
patilsangrambf2b5112016-02-22 16:24:23 +053019 "status": ("not in", ("Completed", "Closed")),
Rushabh Mehtad10ba852015-10-02 12:42:48 +053020 "docstatus": ("<", 2)
21 },
Rushabh Mehta905f8322015-03-02 13:01:39 +053022 "Journal Entry": {"docstatus": 0},
Nabin Hait906552a2016-09-05 14:35:23 +053023 "Sales Invoice": {
Rushabh Mehta87037bd2017-01-30 12:29:54 +053024 "outstanding_amount": (">", 0),
25 "docstatus": ("<", 2)
Nabin Hait906552a2016-09-05 14:35:23 +053026 },
27 "Purchase Invoice": {
Rushabh Mehta87037bd2017-01-30 12:29:54 +053028 "outstanding_amount": (">", 0),
Nabin Hait906552a2016-09-05 14:35:23 +053029 "docstatus": ("<", 2)
30 },
Manas Solanki546ca312016-11-05 01:14:29 +053031 "Payment Entry": {"docstatus": 0},
Shreya61cf49d2018-01-24 18:21:18 +053032 "Leave Application": {"docstatus": 0},
Shreya Shah093e7e62018-02-16 14:49:39 +053033 "Expense Claim": {"docstatus": 0},
Rushabh Mehta905f8322015-03-02 13:01:39 +053034 "Job Applicant": {"status": "Open"},
Nabin Hait906552a2016-09-05 14:35:23 +053035 "Delivery Note": {
36 "status": ("not in", ("Completed", "Closed")),
37 "docstatus": ("<", 2)
38 },
Rushabh Mehta905f8322015-03-02 13:01:39 +053039 "Stock Entry": {"docstatus": 0},
Rushabh Mehta44038532016-02-27 16:24:34 +053040 "Material Request": {
Anand Doshi44f777e2016-03-07 19:35:34 +053041 "docstatus": ("<", 2),
Rushabh Mehta44038532016-02-27 16:24:34 +053042 "status": ("not in", ("Stopped",)),
43 "per_ordered": ("<", 100)
44 },
Rushabh Mehta5d0e8de2016-04-11 17:34:25 +053045 "Request for Quotation": { "docstatus": 0 },
46 "Supplier Quotation": {"docstatus": 0},
Rushabh Mehtad10ba852015-10-02 12:42:48 +053047 "Purchase Order": {
patilsangrambf2b5112016-02-22 16:24:23 +053048 "status": ("not in", ("Completed", "Closed")),
Rushabh Mehtad10ba852015-10-02 12:42:48 +053049 "docstatus": ("<", 2)
50 },
Nabin Hait906552a2016-09-05 14:35:23 +053051 "Purchase Receipt": {
52 "status": ("not in", ("Completed", "Closed")),
53 "docstatus": ("<", 2)
54 },
Zarrar13ddc7e2018-03-20 12:38:43 +053055 "Work Order": { "status": ("in", ("Draft", "Not Started", "In Process")) },
Rushabh Mehta905f8322015-03-02 13:01:39 +053056 "BOM": {"docstatus": 0},
Rushabh Mehtaf0569742017-09-13 12:52:30 +053057
58 "Timesheet": {"status": "Draft"},
59
60 "Lab Test": {"docstatus": 0},
61 "Sample Collection": {"docstatus": 0},
62 "Patient Appointment": {"status": "Open"},
Jamsheerf9269112018-07-16 18:08:53 +053063 "Patient Encounter": {"docstatus": 0}
Prateeksha Singhe012e242017-07-18 10:35:12 +053064 },
65
66 "targets": {
67 "Company": {
Prateeksha Singh95d8fd32017-09-04 11:14:04 +053068 "filters" : { "monthly_sales_target": ( ">", 0 ) },
69 "target_field" : "monthly_sales_target",
Prateeksha Singhe012e242017-07-18 10:35:12 +053070 "value_field" : "total_monthly_sales"
71 }
Rushabh Mehta30430792013-12-13 15:33:40 +053072 }
Rushabh Mehtae9138832015-02-25 12:04:49 +053073 }
Rohit Waghchaure07ef5f42017-04-26 18:25:54 +053074
Prateeksha Singhe012e242017-07-18 10:35:12 +053075 doctype = [d for d in notifications.get('for_doctype')]
Rohit Waghchaure07ef5f42017-04-26 18:25:54 +053076 for doc in frappe.get_all('DocType',
77 fields= ["name"], filters = {"name": ("not in", doctype), 'is_submittable': 1}):
Prateeksha Singhe012e242017-07-18 10:35:12 +053078 notifications["for_doctype"][doc.name] = {"docstatus": 0}
Rohit Waghchaure07ef5f42017-04-26 18:25:54 +053079
Prateeksha Singhe012e242017-07-18 10:35:12 +053080 return notifications