chore: drop dead sample code
This commit is contained in:
parent
9a99f993bc
commit
6b638a196b
@ -1,179 +0,0 @@
|
|||||||
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
|
||||||
# License: GNU General Public License v3. See license.txt
|
|
||||||
|
|
||||||
|
|
||||||
import json
|
|
||||||
import os
|
|
||||||
import random
|
|
||||||
|
|
||||||
import frappe
|
|
||||||
import frappe.utils
|
|
||||||
from frappe import _
|
|
||||||
from frappe.utils.make_random import add_random_children
|
|
||||||
|
|
||||||
|
|
||||||
def make_sample_data(domains, make_dependent = False):
|
|
||||||
"""Create a few opportunities, quotes, material requests, issues, todos, projects
|
|
||||||
to help the user get started"""
|
|
||||||
|
|
||||||
if make_dependent:
|
|
||||||
items = frappe.get_all("Item", {'is_sales_item': 1})
|
|
||||||
customers = frappe.get_all("Customer")
|
|
||||||
warehouses = frappe.get_all("Warehouse")
|
|
||||||
|
|
||||||
if items and customers:
|
|
||||||
for i in range(3):
|
|
||||||
customer = random.choice(customers).name
|
|
||||||
make_opportunity(items, customer)
|
|
||||||
make_quote(items, customer)
|
|
||||||
|
|
||||||
if items and warehouses:
|
|
||||||
make_material_request(frappe.get_all("Item"))
|
|
||||||
|
|
||||||
make_projects(domains)
|
|
||||||
import_notification()
|
|
||||||
|
|
||||||
def make_opportunity(items, customer):
|
|
||||||
b = frappe.get_doc({
|
|
||||||
"doctype": "Opportunity",
|
|
||||||
"opportunity_from": "Customer",
|
|
||||||
"customer": customer,
|
|
||||||
"opportunity_type": _("Sales"),
|
|
||||||
"with_items": 1
|
|
||||||
})
|
|
||||||
|
|
||||||
add_random_children(b, "items", rows=len(items), randomize = {
|
|
||||||
"qty": (1, 5),
|
|
||||||
"item_code": ["Item"]
|
|
||||||
}, unique="item_code")
|
|
||||||
|
|
||||||
b.insert(ignore_permissions=True)
|
|
||||||
|
|
||||||
b.add_comment('Comment', text="This is a dummy record")
|
|
||||||
|
|
||||||
def make_quote(items, customer):
|
|
||||||
qtn = frappe.get_doc({
|
|
||||||
"doctype": "Quotation",
|
|
||||||
"quotation_to": "Customer",
|
|
||||||
"party_name": customer,
|
|
||||||
"order_type": "Sales"
|
|
||||||
})
|
|
||||||
|
|
||||||
add_random_children(qtn, "items", rows=len(items), randomize = {
|
|
||||||
"qty": (1, 5),
|
|
||||||
"item_code": ["Item"]
|
|
||||||
}, unique="item_code")
|
|
||||||
|
|
||||||
qtn.insert(ignore_permissions=True)
|
|
||||||
|
|
||||||
qtn.add_comment('Comment', text="This is a dummy record")
|
|
||||||
|
|
||||||
def make_material_request(items):
|
|
||||||
for i in items:
|
|
||||||
mr = frappe.get_doc({
|
|
||||||
"doctype": "Material Request",
|
|
||||||
"material_request_type": "Purchase",
|
|
||||||
"schedule_date": frappe.utils.add_days(frappe.utils.nowdate(), 7),
|
|
||||||
"items": [{
|
|
||||||
"schedule_date": frappe.utils.add_days(frappe.utils.nowdate(), 7),
|
|
||||||
"item_code": i.name,
|
|
||||||
"qty": 10
|
|
||||||
}]
|
|
||||||
})
|
|
||||||
mr.insert()
|
|
||||||
mr.submit()
|
|
||||||
|
|
||||||
mr.add_comment('Comment', text="This is a dummy record")
|
|
||||||
|
|
||||||
|
|
||||||
def make_issue():
|
|
||||||
pass
|
|
||||||
|
|
||||||
def make_projects(domains):
|
|
||||||
current_date = frappe.utils.nowdate()
|
|
||||||
project = frappe.get_doc({
|
|
||||||
"doctype": "Project",
|
|
||||||
"project_name": "ERPNext Implementation",
|
|
||||||
})
|
|
||||||
|
|
||||||
tasks = [
|
|
||||||
{
|
|
||||||
"title": "Explore ERPNext",
|
|
||||||
"start_date": current_date,
|
|
||||||
"end_date": current_date,
|
|
||||||
"file": "explore.md"
|
|
||||||
}]
|
|
||||||
|
|
||||||
if 'Education' in domains:
|
|
||||||
tasks += [
|
|
||||||
{
|
|
||||||
"title": _("Setup your Institute in ERPNext"),
|
|
||||||
"start_date": current_date,
|
|
||||||
"end_date": frappe.utils.add_days(current_date, 1),
|
|
||||||
"file": "education_masters.md"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "Setup Master Data",
|
|
||||||
"start_date": current_date,
|
|
||||||
"end_date": frappe.utils.add_days(current_date, 1),
|
|
||||||
"file": "education_masters.md"
|
|
||||||
}]
|
|
||||||
|
|
||||||
else:
|
|
||||||
tasks += [
|
|
||||||
{
|
|
||||||
"title": "Setup Your Company",
|
|
||||||
"start_date": current_date,
|
|
||||||
"end_date": frappe.utils.add_days(current_date, 1),
|
|
||||||
"file": "masters.md"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "Start Tracking your Sales",
|
|
||||||
"start_date": current_date,
|
|
||||||
"end_date": frappe.utils.add_days(current_date, 2),
|
|
||||||
"file": "sales.md"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "Start Managing Purchases",
|
|
||||||
"start_date": current_date,
|
|
||||||
"end_date": frappe.utils.add_days(current_date, 3),
|
|
||||||
"file": "purchase.md"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "Import Data",
|
|
||||||
"start_date": current_date,
|
|
||||||
"end_date": frappe.utils.add_days(current_date, 4),
|
|
||||||
"file": "import_data.md"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "Go Live!",
|
|
||||||
"start_date": current_date,
|
|
||||||
"end_date": frappe.utils.add_days(current_date, 5),
|
|
||||||
"file": "go_live.md"
|
|
||||||
}]
|
|
||||||
|
|
||||||
for t in tasks:
|
|
||||||
with open (os.path.join(os.path.dirname(__file__), "tasks", t['file'])) as f:
|
|
||||||
t['description'] = frappe.utils.md_to_html(f.read())
|
|
||||||
del t['file']
|
|
||||||
|
|
||||||
project.append('tasks', t)
|
|
||||||
|
|
||||||
project.insert(ignore_permissions=True)
|
|
||||||
|
|
||||||
def import_notification():
|
|
||||||
'''Import notification for task start'''
|
|
||||||
with open (os.path.join(os.path.dirname(__file__), "tasks/task_alert.json")) as f:
|
|
||||||
notification = frappe.get_doc(json.loads(f.read())[0])
|
|
||||||
notification.insert()
|
|
||||||
|
|
||||||
# trigger the first message!
|
|
||||||
from frappe.email.doctype.notification.notification import trigger_daily_alerts
|
|
||||||
trigger_daily_alerts()
|
|
||||||
|
|
||||||
def test_sample():
|
|
||||||
frappe.db.sql('delete from `tabNotification`')
|
|
||||||
frappe.db.sql('delete from tabProject')
|
|
||||||
frappe.db.sql('delete from tabTask')
|
|
||||||
make_projects('Education')
|
|
||||||
import_notification()
|
|
@ -7,7 +7,6 @@ from frappe import _
|
|||||||
|
|
||||||
from .operations import company_setup
|
from .operations import company_setup
|
||||||
from .operations import install_fixtures as fixtures
|
from .operations import install_fixtures as fixtures
|
||||||
from .operations import sample_data
|
|
||||||
|
|
||||||
|
|
||||||
def get_setup_stages(args=None):
|
def get_setup_stages(args=None):
|
||||||
@ -103,16 +102,6 @@ def fin(args):
|
|||||||
frappe.local.message_log = []
|
frappe.local.message_log = []
|
||||||
login_as_first_user(args)
|
login_as_first_user(args)
|
||||||
|
|
||||||
make_sample_data(args.get('domains'))
|
|
||||||
|
|
||||||
def make_sample_data(domains):
|
|
||||||
try:
|
|
||||||
sample_data.make_sample_data(domains)
|
|
||||||
except Exception:
|
|
||||||
# clear message
|
|
||||||
if frappe.message_log:
|
|
||||||
frappe.message_log.pop()
|
|
||||||
pass
|
|
||||||
|
|
||||||
def login_as_first_user(args):
|
def login_as_first_user(args):
|
||||||
if args.get("email") and hasattr(frappe.local, "login_manager"):
|
if args.get("email") and hasattr(frappe.local, "login_manager"):
|
||||||
|
@ -1,9 +0,0 @@
|
|||||||
Lets start making things in ERPNext that are representative of your institution.
|
|
||||||
|
|
||||||
1. Make a list of **Programs** that you offer
|
|
||||||
1. Add a few **Courses** that your programs cover
|
|
||||||
1. Create **Academic Terms** and **Academic Years**
|
|
||||||
1. Start adding **Students**
|
|
||||||
1. Group your students into **Batches**
|
|
||||||
|
|
||||||
Watch this video to learn more about ERPNext Education: https://www.youtube.com/watch?v=f6foQOyGzdA
|
|
@ -1,7 +0,0 @@
|
|||||||
Thanks for checking this out! ❤️
|
|
||||||
|
|
||||||
If you are evaluating an ERP system for the first time, this is going to be quite a task! But don't worry, ERPNext is awesome.
|
|
||||||
|
|
||||||
First, get familiar with the surroundings. ERPNext covers a *lot of features*, go to the home page and click on the "Explore" icon.
|
|
||||||
|
|
||||||
All the best!
|
|
@ -1,18 +0,0 @@
|
|||||||
Ready to go live with ERPNext? 🏁🏁🏁
|
|
||||||
|
|
||||||
Here are the steps:
|
|
||||||
|
|
||||||
1. Sync up your **Chart of Accounts**
|
|
||||||
3. Add your opening stock using **Stock Reconciliation**
|
|
||||||
4. Add your open invoices (both sales and purchase)
|
|
||||||
3. Add your opening account balances by making a **Journal Entry**
|
|
||||||
|
|
||||||
If you need help for going live, sign up for an account at erpnext.com or find a partner to help you with this.
|
|
||||||
|
|
||||||
Or you can watch these videos 📺:
|
|
||||||
|
|
||||||
Setup your chart of accounts: https://www.youtube.com/watch?v=AcfMCT7wLLo
|
|
||||||
|
|
||||||
Add Open Stock: https://www.youtube.com/watch?v=nlHX0ZZ84Lw
|
|
||||||
|
|
||||||
Add Opening Balances: https://www.youtube.com/watch?v=nlHX0ZZ84Lw
|
|
@ -1,5 +0,0 @@
|
|||||||
Lets import some data! 💪💪
|
|
||||||
|
|
||||||
If you are already running a business, you most likely have your Items, Customers or Suppliers in some spreadsheet file somewhere, import it into ERPNext with the Data Import Tool.
|
|
||||||
|
|
||||||
Watch this video to get started: https://www.youtube.com/watch?v=Ta2Xx3QoK3E
|
|
@ -1,7 +0,0 @@
|
|||||||
Start building a model of your business in ERPNext by adding your Items and Customers.
|
|
||||||
|
|
||||||
These videos 📺 will help you get started:
|
|
||||||
|
|
||||||
Adding Customers and Suppliers: https://www.youtube.com/watch?v=zsrrVDk6VBs
|
|
||||||
|
|
||||||
Adding Items and Prices: https://www.youtube.com/watch?v=FcOsV-e8ymE
|
|
@ -1,10 +0,0 @@
|
|||||||
How to manage your purchasing in ERPNext 🛒🛒🛒:
|
|
||||||
|
|
||||||
1. Add a few **Suppliers**
|
|
||||||
2. Find out what you need by making **Material Requests**.
|
|
||||||
3. Now start placing orders via **Purchase Order**.
|
|
||||||
4. When your suppliers deliver, make **Purchase Receipts**
|
|
||||||
|
|
||||||
Now never run out of stock again! 😎
|
|
||||||
|
|
||||||
Watch this video 📺 to get an overview: https://www.youtube.com/watch?v=4TN9kPyfIqM
|
|
@ -1,8 +0,0 @@
|
|||||||
Start managing your sales with ERPNext 🔔🔔🔔:
|
|
||||||
|
|
||||||
1. Add potential business contacts as **Leads**
|
|
||||||
2. Udpate your deals in pipeline in **Opportunities**
|
|
||||||
3. Send proposals to your leads or customers with **Quotations**
|
|
||||||
4. Track confirmed orders with **Sales Orders**
|
|
||||||
|
|
||||||
Watch this video 📺 to get an overview: https://www.youtube.com/watch?v=o9XCSZHJfpA
|
|
@ -1,5 +0,0 @@
|
|||||||
Lets import some data! 💪💪
|
|
||||||
|
|
||||||
If you are already running a Institute, you most likely have your Students in some spreadsheet file somewhere. Import it into ERPNext with the Data Import Tool.
|
|
||||||
|
|
||||||
Watch this video to get started: https://www.youtube.com/watch?v=Ta2Xx3QoK3E
|
|
@ -1,28 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"attach_print": 0,
|
|
||||||
"condition": "doc.status in ('Open', 'Overdue')",
|
|
||||||
"date_changed": "exp_end_date",
|
|
||||||
"days_in_advance": 0,
|
|
||||||
"docstatus": 0,
|
|
||||||
"doctype": "Notification",
|
|
||||||
"document_type": "Task",
|
|
||||||
"enabled": 1,
|
|
||||||
"event": "Days After",
|
|
||||||
"is_standard": 0,
|
|
||||||
"message": "<p>Task due today:</p>\n\n<div>\n{{ doc.description }}\n</div>\n\n<hr>\n<p style=\"font-size: 85%\">\nThis is a notification for a task that is due today, and a sample <b>Notification</b>. In ERPNext you can setup notifications on anything, Invoices, Orders, Leads, Opportunities, so you never miss a thing.\n<br>To edit this, and setup other alerts, just type <b>Notification</b> in the search bar.</p>",
|
|
||||||
"method": null,
|
|
||||||
"modified": "2017-03-09 07:34:58.168370",
|
|
||||||
"module": null,
|
|
||||||
"name": "Task Due Alert",
|
|
||||||
"recipients": [
|
|
||||||
{
|
|
||||||
"cc": null,
|
|
||||||
"condition": null,
|
|
||||||
"email_by_document_field": "owner"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"subject": "{{ doc.subject }}",
|
|
||||||
"value_changed": null
|
|
||||||
}
|
|
||||||
]
|
|
Loading…
x
Reference in New Issue
Block a user