blob: 31dc4008742158d7a8fa192ae23d7d8a0a980cc8 [file] [log] [blame]
Anand Doshi3c92b212013-08-26 16:40:25 +05301if __name__=="__main__":
2 import sys
3 sys.path.extend([".", "lib", "app"])
4
Rushabh Mehtaacd33672013-08-26 16:17:50 +05305import webnotes, os
6
7def make_demo_app():
8 import utilities.demo.make_demo
9 utilities.demo.make_demo.make(reset=True)
10
11def make_demo_user():
Anand Doshicb4c0ea2013-08-27 15:39:31 +053012 roles = ["Accounts Manager", "Analytics", "Expense Approver", "Accounts User",
13 "Leave Approver", "Blogger", "Customer", "Sales Manager", "Employee", "Support Manager",
14 "HR Manager", "HR User", "Maintenance Manager", "Maintenance User", "Material Manager",
15 "Material Master Manager", "Material User", "Partner", "Manufacturing Manager",
16 "Manufacturing User", "Projects User", "Purchase Manager", "Purchase Master Manager",
17 "Purchase User", "Quality Manager", "Report Manager", "Sales Master Manager",
18 "Sales User", "Supplier", "Support Team"]
19
20 def add_roles(bean):
21 for role in roles:
22 p.doclist.append({
23 "doctype": "UserRole",
24 "parentfield": "user_roles",
25 "role": role
26 })
27
28 # make demo user
Rushabh Mehtaacd33672013-08-26 16:17:50 +053029 if webnotes.conn.exists("Profile", "demo@erpnext.com"):
30 webnotes.delete_doc("Profile", "demo@erpnext.com")
31
32 p = webnotes.new_bean("Profile")
33 p.doc.email = "demo@erpnext.com"
34 p.doc.first_name = "Demo"
35 p.doc.last_name = "User"
36 p.doc.enabled = 1
37 p.doc.user_type = "ERPNext Demo"
38 p.doc.send_invite_email = 0
39 p.doc.new_password = "demo"
40 p.insert()
Anand Doshicb4c0ea2013-08-27 15:39:31 +053041 add_roles(p)
42 p.save()
Rushabh Mehtaacd33672013-08-26 16:17:50 +053043
Anand Doshicb4c0ea2013-08-27 15:39:31 +053044 # make system manager user
45 if webnotes.conn.exists("Profile", "admin@erpnext.com"):
46 webnotes.delete_doc("Profile", "admin@erpnext.com")
47
48 p = webnotes.new_bean("Profile")
49 p.doc.email = "admin@erpnext.com"
50 p.doc.first_name = "Admin"
51 p.doc.last_name = "User"
52 p.doc.enabled = 1
53 p.doc.user_type = "System User"
54 p.doc.send_invite_email = 0
55 p.doc.new_password = "admin010123"
56 p.insert()
57 roles.append("System Manager")
58 add_roles(p)
Rushabh Mehtaacd33672013-08-26 16:17:50 +053059 p.save()
Anand Doshic6601cb2013-08-26 18:53:50 +053060
61 # only read for newsletter
62 webnotes.conn.sql("""update `tabDocPerm` set `write`=0, `create`=0, `cancel`=0
63 where parent='Newsletter'""")
Anand Doshi85ef4792013-08-27 23:21:19 +053064 webnotes.conn.sql("""update `tabDocPerm` set `write`=0, `create`=0, `cancel`=0
65 where parent='Profile' and role='All'""")
Anand Doshic6601cb2013-08-26 18:53:50 +053066
Rushabh Mehtaacd33672013-08-26 16:17:50 +053067 webnotes.conn.commit()
68
69def make_demo_login_page():
70 webnotes.conn.set_value("Website Settings", None, "home_page", "")
71
72 webnotes.conn.sql("""delete from `tabWeb Page` where name='demo-login'""")
73 p = webnotes.new_bean("Web Page")
74 p.doc.title = "Demo Login"
75 p.doc.published = 1
76 p.doc.description = "ERPNext Demo Login"
77
78 with open(os.path.join(os.path.dirname(__file__), "demo-login.html"), "r") as dfile:
79 p.doc.main_section = dfile.read()
80
81 p.doc.insert_code = 1
82 with open(os.path.join(os.path.dirname(__file__), "demo-login.js"), "r") as dfile:
83 p.doc.javascript = dfile.read()
84
85 p.doc.insert_style = 1
86 with open(os.path.join(os.path.dirname(__file__), "demo-login.css"), "r") as dfile:
87 p.doc.css = dfile.read()
88
89 p.insert()
90
91 webnotes.conn.set_value("Website Settings", None, "home_page", "demo-login")
Anand Doshi85ef4792013-08-27 23:21:19 +053092 webnotes.conn.set_value("Website Settings", None, "disable_signup", 1)
Rushabh Mehtaacd33672013-08-26 16:17:50 +053093
94 webnotes.conn.commit()
95
96def make_demo_on_login_script():
97 webnotes.conn.sql("""delete from `tabCustom Script` where dt='Control Panel'""")
98 s = webnotes.new_bean("Custom Script")
99 s.doc.dt = "Control Panel"
100 s.doc.script_type = "Server"
101 with open(os.path.join(os.path.dirname(__file__), "demo_control_panel.py"), "r") as dfile:
102 s.doc.script = dfile.read()
Anand Doshif668f972013-08-26 19:51:24 +0530103 s.insert()
Anand Doshiee1044f2013-08-27 14:49:04 +0530104
105 cp = webnotes.bean("Control Panel")
106 cp.doc.custom_startup_code = """wn.ui.toolbar.show_banner('You are using ERPNext Demo. To start your own ERPNext Trial, <a href="https://erpnext.com/pricing-and-signup" target="_blank">click here</a>')"""
107 cp.save()
Anand Doshif668f972013-08-26 19:51:24 +0530108
109 webnotes.conn.commit()
Rushabh Mehtaacd33672013-08-26 16:17:50 +0530110
111if __name__=="__main__":
Anand Doshic753d312013-08-26 17:33:50 +0530112 # webnotes.connect()
Rushabh Mehtaacd33672013-08-26 16:17:50 +0530113 webnotes.mute_emails = 1
114 make_demo_app()
115 make_demo_user()
116 make_demo_login_page()
117 make_demo_on_login_script()