82 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
 | |
| # License: GNU General Public License v3. See license.txt
 | |
| 
 | |
| 
 | |
| import frappe
 | |
| 
 | |
| 
 | |
| def get_notification_config():
 | |
| 	notifications =  { "for_doctype":
 | |
| 		{
 | |
| 			"Issue": {"status": "Open"},
 | |
| 			"Warranty Claim": {"status": "Open"},
 | |
| 			"Task": {"status": ("in", ("Open", "Overdue"))},
 | |
| 			"Project": {"status": "Open"},
 | |
| 			"Lead": {"status": "Open"},
 | |
| 			"Contact": {"status": "Open"},
 | |
| 			"Opportunity": {"status": "Open"},
 | |
| 			"Quotation": {"docstatus": 0},
 | |
| 			"Sales Order": {
 | |
| 				"status": ("not in", ("Completed", "Closed")),
 | |
| 				"docstatus": ("<", 2)
 | |
| 			},
 | |
| 			"Journal Entry": {"docstatus": 0},
 | |
| 			"Sales Invoice": {
 | |
| 				"outstanding_amount": (">", 0),
 | |
| 				"docstatus": ("<", 2)
 | |
| 			},
 | |
| 			"Purchase Invoice": {
 | |
| 				"outstanding_amount": (">", 0),
 | |
| 				"docstatus": ("<", 2)
 | |
| 			},
 | |
| 			"Payment Entry": {"docstatus": 0},
 | |
| 			"Leave Application": {"docstatus": 0},
 | |
| 			"Expense Claim": {"docstatus": 0},
 | |
| 			"Job Applicant": {"status": "Open"},
 | |
| 			"Delivery Note": {
 | |
| 				"status": ("not in", ("Completed", "Closed")),
 | |
| 				"docstatus": ("<", 2)
 | |
| 			},
 | |
| 			"Stock Entry": {"docstatus": 0},
 | |
| 			"Material Request": {
 | |
| 				"docstatus": ("<", 2),
 | |
| 				"status": ("not in", ("Stopped",)),
 | |
| 				"per_ordered": ("<", 100)
 | |
| 			},
 | |
| 			"Request for Quotation": { "docstatus": 0 },
 | |
| 			"Supplier Quotation": {"docstatus": 0},
 | |
| 			"Purchase Order": {
 | |
| 				"status": ("not in", ("Completed", "Closed")),
 | |
| 				"docstatus": ("<", 2)
 | |
| 			},
 | |
| 			"Purchase Receipt": {
 | |
| 				"status": ("not in", ("Completed", "Closed")),
 | |
| 				"docstatus": ("<", 2)
 | |
| 			},
 | |
| 			"Work Order": { "status": ("in", ("Draft", "Not Started", "In Process")) },
 | |
| 			"BOM": {"docstatus": 0},
 | |
| 
 | |
| 			"Timesheet": {"status": "Draft"},
 | |
| 
 | |
| 			"Lab Test": {"docstatus": 0},
 | |
| 			"Sample Collection": {"docstatus": 0},
 | |
| 			"Patient Appointment": {"status": "Open"},
 | |
| 			"Patient Encounter": {"docstatus": 0}
 | |
| 		},
 | |
| 
 | |
| 		"targets": {
 | |
| 			"Company": {
 | |
| 				"filters" : { "monthly_sales_target": ( ">", 0 ) },
 | |
| 				"target_field" : "monthly_sales_target",
 | |
| 				"value_field" : "total_monthly_sales"
 | |
| 			}
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	doctype = [d for d in notifications.get('for_doctype')]
 | |
| 	for doc in frappe.get_all('DocType',
 | |
| 		fields= ["name"], filters = {"name": ("not in", doctype), 'is_submittable': 1}):
 | |
| 		notifications["for_doctype"][doc.name] = {"docstatus": 0}
 | |
| 
 | |
| 	return notifications
 |