123 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			123 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
 | |
| # License: GNU General Public License v3. See license.txt
 | |
| 
 | |
| from __future__ import unicode_literals
 | |
| 
 | |
| import frappe
 | |
| from frappe.utils.make_random import add_random_children, get_random
 | |
| import frappe.utils
 | |
| 
 | |
| def make_sample_data():
 | |
| 	"""Create a few opportunities, quotes, material requests, issues, todos, projects
 | |
| 	to help the user get started"""
 | |
| 
 | |
| 	selling_items = frappe.get_all("Item", filters = {"is_sales_item": 1})
 | |
| 	buying_items = frappe.get_all("Item", filters = {"is_sales_item": 0})
 | |
| 
 | |
| 	if selling_items:
 | |
| 		for i in range(3):
 | |
| 			make_opportunity(selling_items)
 | |
| 			make_quote(selling_items)
 | |
| 
 | |
| 	make_projects()
 | |
| 
 | |
| 	if buying_items:
 | |
| 		make_material_request(buying_items)
 | |
| 
 | |
| 	frappe.db.commit()
 | |
| 
 | |
| def make_opportunity(selling_items):
 | |
| 	b = frappe.get_doc({
 | |
| 		"doctype": "Opportunity",
 | |
| 		"enquiry_from": "Customer",
 | |
| 		"customer": get_random("Customer"),
 | |
| 		"enquiry_type": "Sales",
 | |
| 		"with_items": 1
 | |
| 	})
 | |
| 
 | |
| 	add_random_children(b, "items", rows=len(selling_items), randomize = {
 | |
| 		"qty": (1, 5),
 | |
| 		"item_code": ("Item", {"is_sales_item": 1})
 | |
| 	}, unique="item_code")
 | |
| 
 | |
| 	b.insert(ignore_permissions=True)
 | |
| 
 | |
| 	b.add_comment("This is a dummy record")
 | |
| 
 | |
| def make_quote(selling_items):
 | |
| 	qtn = frappe.get_doc({
 | |
| 		"doctype": "Quotation",
 | |
| 		"quotation_to": "Customer",
 | |
| 		"customer": get_random("Customer"),
 | |
| 		"order_type": "Sales"
 | |
| 	})
 | |
| 
 | |
| 	add_random_children(qtn, "items", rows=len(selling_items), randomize = {
 | |
| 		"qty": (1, 5),
 | |
| 		"item_code": ("Item", {"is_sales_item": 1})
 | |
| 	}, unique="item_code")
 | |
| 
 | |
| 	qtn.insert(ignore_permissions=True)
 | |
| 
 | |
| 	qtn.add_comment("This is a dummy record")
 | |
| 
 | |
| def make_material_request(buying_items):
 | |
| 	for i in buying_items:
 | |
| 		mr = frappe.get_doc({
 | |
| 			"doctype": "Material Request",
 | |
| 			"material_request_type": "Purchase",
 | |
| 			"items": [{
 | |
| 				"schedule_date": frappe.utils.add_days(frappe.utils.nowdate(), 7),
 | |
| 				"item_code": i.name,
 | |
| 				"qty": 10
 | |
| 			}]
 | |
| 		})
 | |
| 		mr.insert()
 | |
| 		mr.submit()
 | |
| 
 | |
| 		mr.add_comment("This is a dummy record")
 | |
| 
 | |
| 
 | |
| def make_issue():
 | |
| 	pass
 | |
| 
 | |
| def make_projects():
 | |
| 	project = frappe.get_doc({
 | |
| 		"doctype": "Project",
 | |
| 		"project_name": "ERPNext Implementation",
 | |
| 	})
 | |
| 	current_date = frappe.utils.nowdate()
 | |
| 	project.set("tasks", [
 | |
| 			{
 | |
| 				"title": "Explore ERPNext",
 | |
| 				"start_date": frappe.utils.add_days(current_date, 1),
 | |
| 				"end_date": frappe.utils.add_days(current_date, 2)
 | |
| 			},
 | |
| 			{
 | |
| 				"title": "Run Sales Cycle",
 | |
| 				"start_date": frappe.utils.add_days(current_date, 2),
 | |
| 				"end_date": frappe.utils.add_days(current_date, 3)
 | |
| 			},
 | |
| 			{
 | |
| 				"title": "Run Billing Cycle",
 | |
| 				"start_date": frappe.utils.add_days(current_date, 3),
 | |
| 				"end_date": frappe.utils.add_days(current_date, 4)
 | |
| 			},
 | |
| 			{
 | |
| 				"title": "Run Purchase Cycle",
 | |
| 				"start_date": frappe.utils.add_days(current_date, 4),
 | |
| 				"end_date": frappe.utils.add_days(current_date, 5)
 | |
| 			},
 | |
| 			{
 | |
| 				"title": "Import Data",
 | |
| 				"start_date": frappe.utils.add_days(current_date, 5),
 | |
| 				"end_date": frappe.utils.add_days(current_date, 6)
 | |
| 			},
 | |
| 			{
 | |
| 				"title": "Go Live!",
 | |
| 				"start_date": frappe.utils.add_days(current_date, 6),
 | |
| 				"end_date": frappe.utils.add_days(current_date, 7)
 | |
| 			}])
 | |
| 
 | |
| 	project.insert(ignore_permissions=True)
 |