blob: 16d57bb8562153a4f8ca47526aa376e79b100791 [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():
12 if webnotes.conn.exists("Profile", "demo@erpnext.com"):
13 webnotes.delete_doc("Profile", "demo@erpnext.com")
14
15 p = webnotes.new_bean("Profile")
16 p.doc.email = "demo@erpnext.com"
17 p.doc.first_name = "Demo"
18 p.doc.last_name = "User"
19 p.doc.enabled = 1
20 p.doc.user_type = "ERPNext Demo"
21 p.doc.send_invite_email = 0
22 p.doc.new_password = "demo"
23 p.insert()
24
25 for role in ("Accounts Manager", "Analytics", "Expense Approver", "Accounts User",
26 "Leave Approver", "Blogger", "Customer", "Sales Manager", "Employee", "Support Manager",
27 "HR Manager", "HR User", "Maintenance Manager", "Maintenance User", "Material Manager",
28 "Material Master Manager", "Material User", "Partner", "Manufacturing Manager",
29 "Manufacturing User", "Projects User", "Purchase Manager", "Purchase Master Manager",
30 "Purchase User", "Quality Manager", "Report Manager", "Sales Master Manager", "Sales User",
31 "Supplier", "Support Team"):
32 p.doclist.append({
33 "doctype": "UserRole",
34 "parentfield": "user_roles",
35 "role": role
36 })
37
38 p.save()
Anand Doshic6601cb2013-08-26 18:53:50 +053039
40 # only read for newsletter
41 webnotes.conn.sql("""update `tabDocPerm` set `write`=0, `create`=0, `cancel`=0
42 where parent='Newsletter'""")
43
Rushabh Mehtaacd33672013-08-26 16:17:50 +053044 webnotes.conn.commit()
45
46def make_demo_login_page():
47 webnotes.conn.set_value("Website Settings", None, "home_page", "")
48
49 webnotes.conn.sql("""delete from `tabWeb Page` where name='demo-login'""")
50 p = webnotes.new_bean("Web Page")
51 p.doc.title = "Demo Login"
52 p.doc.published = 1
53 p.doc.description = "ERPNext Demo Login"
54
55 with open(os.path.join(os.path.dirname(__file__), "demo-login.html"), "r") as dfile:
56 p.doc.main_section = dfile.read()
57
58 p.doc.insert_code = 1
59 with open(os.path.join(os.path.dirname(__file__), "demo-login.js"), "r") as dfile:
60 p.doc.javascript = dfile.read()
61
62 p.doc.insert_style = 1
63 with open(os.path.join(os.path.dirname(__file__), "demo-login.css"), "r") as dfile:
64 p.doc.css = dfile.read()
65
66 p.insert()
67
68 webnotes.conn.set_value("Website Settings", None, "home_page", "demo-login")
69
70 webnotes.conn.commit()
71
72def make_demo_on_login_script():
73 webnotes.conn.sql("""delete from `tabCustom Script` where dt='Control Panel'""")
74 s = webnotes.new_bean("Custom Script")
75 s.doc.dt = "Control Panel"
76 s.doc.script_type = "Server"
77 with open(os.path.join(os.path.dirname(__file__), "demo_control_panel.py"), "r") as dfile:
78 s.doc.script = dfile.read()
Anand Doshif668f972013-08-26 19:51:24 +053079 s.insert()
80
81 webnotes.conn.commit()
Rushabh Mehtaacd33672013-08-26 16:17:50 +053082
83if __name__=="__main__":
Anand Doshic753d312013-08-26 17:33:50 +053084 # webnotes.connect()
Rushabh Mehtaacd33672013-08-26 16:17:50 +053085 webnotes.mute_emails = 1
86 make_demo_app()
87 make_demo_user()
88 make_demo_login_page()
89 make_demo_on_login_script()