Merge branch 'latest' of github.com:webnotes/erpnext into latest
Conflicts:
version.num
diff --git a/blank.html b/blank.html
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/blank.html
diff --git a/erpnext/patches/jan_mar_2012/subdomain_login_patch.py b/erpnext/patches/jan_mar_2012/subdomain_login_patch.py
index ced5c68..5c58b08 100644
--- a/erpnext/patches/jan_mar_2012/subdomain_login_patch.py
+++ b/erpnext/patches/jan_mar_2012/subdomain_login_patch.py
@@ -15,8 +15,15 @@
delete_doc("DocType", "SSO Control")
delete_doc("DocType", "WN ERP Client Control")
delete_doc("DocType", "DocTrigger")
+
+ # cleanup control panel
delete_doc("DocType", "Control Panel")
reload_doc("core", "doctype", "control_panel")
+
+ # cleanup page
+ delete_doc("DocType", "Control Panel")
+ reload_doc("core", "doctype", "control_panel")
+
webnotes.conn.sql("""delete from tabSingles
where field like 'startup_%' and doctype='Control Panel'""")
diff --git a/erpnext/patches/jan_mar_2012/website.py b/erpnext/patches/jan_mar_2012/website.py
new file mode 100644
index 0000000..ad60cc5
--- /dev/null
+++ b/erpnext/patches/jan_mar_2012/website.py
@@ -0,0 +1,24 @@
+# website patch
+
+import webnotes
+def execute():
+ cleanup_file_data()
+ return
+ update_patch_log()
+ from webnotes.modules import reload_doc
+ reload_doc('website', 'Module Def', 'Website')
+ reload_doc('website', 'Role', 'Website Manager')
+ reload_doc('website', 'doctype', 'home_settings')
+ reload_doc('website', 'doctype', 'top_bar_settings')
+ reload_doc('website', 'doctype', 'top_bar_item')
+ reload_doc('website', 'page', 'home')
+
+def cleanup_file_data():
+ webnotes.conn.commit()
+ webnotes.conn.sql("""alter table `tabFile Data` drop column blob_content""")
+ webnotes.conn.begin()
+
+def update_patch_log():
+ webnotes.conn.commit()
+ webnotes.conn.sql("""alter table __PatchLog engine=InnoDB""")
+ webnotes.conn.begin()
diff --git a/erpnext/startup/event_handlers.py b/erpnext/startup/event_handlers.py
index 0275262..8b1a7cf 100644
--- a/erpnext/startup/event_handlers.py
+++ b/erpnext/startup/event_handlers.py
@@ -50,4 +50,4 @@
"""load letter heads with startup"""
import webnotes
ret = webnotes.conn.sql("select name, content from `tabLetter Head` where ifnull(disabled,0)=0")
- dict(ret)
+ return dict(ret)
diff --git a/erpnext/startup/modules.js b/erpnext/startup/modules.js
index 29adfcb..3dd7b3e 100644
--- a/erpnext/startup/modules.js
+++ b/erpnext/startup/modules.js
@@ -215,7 +215,8 @@
}
}
if(me.il[i].doc_type=='Reports') has_reports = 1;
- if(in_list(['Single DocType', 'Pages', 'Setup Forms'], me.il[i].doc_type)) has_tools = 1;
+ if(in_list(['Single DocType', 'Pages', 'Setup Forms'], me.il[i].doc_type))
+ has_tools = 1;
}
// reports
if(has_reports) {
diff --git a/erpnext/startup/startup.js b/erpnext/startup/startup.js
index 9171d8a..f97eb39 100644
--- a/erpnext/startup/startup.js
+++ b/erpnext/startup/startup.js
@@ -11,10 +11,13 @@
}
erpnext.startup.start = function() {
+ $('#startup_div').html('Starting up...').toggle(true);
+
erpnext.startup.set_globals();
if(user == 'Guest'){
$dh(page_body.left_sidebar);
+ wn.require('erpnext/website/css/website.css');
wn.require('erpnext/website/js/topbar.js');
} else {
// modules
@@ -32,6 +35,7 @@
$('footer').html('<div class="erpnext-footer">\
Powered by <a href="https://erpnext.com">ERPNext</a></div>');
+ $('#startup_div').toggle(false);
}
// chart of accounts
diff --git a/erpnext/website/Module Def/Website/Website.txt b/erpnext/website/Module Def/Website/Website.txt
index 0a5e1b8..7e67c3c 100644
--- a/erpnext/website/Module Def/Website/Website.txt
+++ b/erpnext/website/Module Def/Website/Website.txt
@@ -5,7 +5,7 @@
{
'creation': '2012-01-23 17:05:32',
'docstatus': 0,
- 'modified': '2012-01-24 10:29:53',
+ 'modified': '2012-01-24 15:57:51',
'modified_by': 'Administrator',
'owner': 'Administrator'
},
@@ -21,9 +21,6 @@
# These values are common for all Module Def Item
{
- 'display_name': 'Top Bar Settings',
- 'doc_name': 'Top Bar Settings',
- 'doc_type': 'Single DocType',
'doctype': 'Module Def Item',
'name': '__common__',
'parent': 'Website',
@@ -49,6 +46,17 @@
# Module Def Item
{
+ 'display_name': 'Top Bar Settings',
+ 'doc_name': 'Top Bar Settings',
+ 'doc_type': 'Single DocType',
+ 'doctype': 'Module Def Item'
+ },
+
+ # Module Def Item
+ {
+ 'display_name': 'Home Settings',
+ 'doc_name': 'Home Settings',
+ 'doc_type': 'Forms',
'doctype': 'Module Def Item'
},
diff --git a/erpnext/website/css/website.css b/erpnext/website/css/website.css
new file mode 100644
index 0000000..bdef882
--- /dev/null
+++ b/erpnext/website/css/website.css
@@ -0,0 +1,21 @@
+#body_div {
+ width: 900px;
+ margin: auto;
+}
+
+header .topbar .container {
+ width: 900px;
+ margin: auto;
+}
+
+.web-main-section {
+ width: 65%;
+ float: left;
+ margin-bottom: 20px;
+}
+
+.web-side-section {
+ width: 30%;
+ float: right;
+ margin-bottom: 20px;
+}
\ No newline at end of file
diff --git a/erpnext/website/doctype/home_settings/__init__.py b/erpnext/website/doctype/home_settings/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/website/doctype/home_settings/__init__.py
diff --git a/erpnext/website/doctype/home_settings/home_settings.py b/erpnext/website/doctype/home_settings/home_settings.py
new file mode 100644
index 0000000..3ceea16
--- /dev/null
+++ b/erpnext/website/doctype/home_settings/home_settings.py
@@ -0,0 +1,26 @@
+"""
+generate home html
+"""
+
+class DocType:
+ def __init__(self, d, dl):
+ self.doc, self.doclist = d, dl
+
+ def on_update(self):
+ """make home html"""
+ import os, jinja2, markdown2
+ import webnotes
+
+ # markdown
+ self.doc.main_section_html = markdown2.markdown(self.doc.main_section or '', \
+ extras=["wiki-tables"])
+ self.doc.side_section_html = markdown2.markdown(self.doc.side_section or '', \
+ extras=["wiki-tables"])
+
+ # write template
+ with open(os.path.join(os.path.dirname(__file__), 'template.html'), 'r') as f:
+ temp = jinja2.Template(f.read())
+
+ html = temp.render(doc = self.doc.fields)
+ webnotes.conn.set_value('Page', 'Home', 'content', html)
+
\ No newline at end of file
diff --git a/erpnext/website/doctype/home_settings/home_settings.txt b/erpnext/website/doctype/home_settings/home_settings.txt
new file mode 100644
index 0000000..413f63f
--- /dev/null
+++ b/erpnext/website/doctype/home_settings/home_settings.txt
@@ -0,0 +1,118 @@
+# DocType, Home Settings
+[
+
+ # These values are common in all dictionaries
+ {
+ 'creation': '2012-01-24 15:56:06',
+ 'docstatus': 0,
+ 'modified': '2012-01-25 13:31:56',
+ 'modified_by': 'Administrator',
+ 'owner': 'Administrator'
+ },
+
+ # These values are common for all DocType
+ {
+ '_last_update': '1327476129',
+ 'allow_attach': 1,
+ 'colour': 'White:FFF',
+ 'doctype': 'DocType',
+ 'issingle': 1,
+ 'max_attachments': 5,
+ 'module': 'Website',
+ 'name': '__common__',
+ 'section_style': 'Simple',
+ 'show_in_menu': 0,
+ 'version': 4
+ },
+
+ # These values are common for all DocField
+ {
+ 'doctype': 'DocField',
+ 'name': '__common__',
+ 'parent': 'Home Settings',
+ 'parentfield': 'fields',
+ 'parenttype': 'DocType',
+ 'permlevel': 0
+ },
+
+ # These values are common for all DocPerm
+ {
+ 'create': 1,
+ 'doctype': 'DocPerm',
+ 'name': '__common__',
+ 'parent': 'Home Settings',
+ 'parentfield': 'permissions',
+ 'parenttype': 'DocType',
+ 'permlevel': 0,
+ 'read': 1,
+ 'write': 1
+ },
+
+ # DocType, Home Settings
+ {
+ 'doctype': 'DocType',
+ 'name': 'Home Settings'
+ },
+
+ # DocPerm
+ {
+ 'doctype': 'DocPerm',
+ 'role': 'System Manager'
+ },
+
+ # DocPerm
+ {
+ 'doctype': 'DocPerm',
+ 'role': 'Website Manager'
+ },
+
+ # DocField
+ {
+ 'colour': 'White:FFF',
+ 'description': 'HTML that will appear on the top part of the home page. For no headline, leave blank',
+ 'doctype': 'DocField',
+ 'fieldname': 'headline',
+ 'fieldtype': 'Text',
+ 'label': 'Headline'
+ },
+
+ # DocField
+ {
+ 'doctype': 'DocField',
+ 'fieldname': 'banner',
+ 'fieldtype': 'Select',
+ 'label': 'Banner',
+ 'options': 'attach_files:'
+ },
+
+ # DocField
+ {
+ 'colour': 'White:FFF',
+ 'description': 'For formatting, use \n<a href="http://warpedvisions.org/projects/markdown-cheat-sheet/" \ntarget = "_blank">markdown</a>',
+ 'doctype': 'DocField',
+ 'fieldname': 'main_section',
+ 'fieldtype': 'Code',
+ 'label': 'Main Section'
+ },
+
+ # DocField
+ {
+ 'colour': 'White:FFF',
+ 'description': 'For formatting, use \n<a href="http://warpedvisions.org/projects/markdown-cheat-sheet/" \ntarget = "_blank">markdown</a>',
+ 'doctype': 'DocField',
+ 'fieldname': 'side_section',
+ 'fieldtype': 'Code',
+ 'label': 'Side Section'
+ },
+
+ # DocField
+ {
+ 'doctype': 'DocField',
+ 'fieldname': 'file_list',
+ 'fieldtype': 'Text',
+ 'hidden': 1,
+ 'label': 'File List',
+ 'no_copy': 1,
+ 'print_hide': 1
+ }
+]
\ No newline at end of file
diff --git a/erpnext/website/doctype/home_settings/template.html b/erpnext/website/doctype/home_settings/template.html
new file mode 100644
index 0000000..424489a
--- /dev/null
+++ b/erpnext/website/doctype/home_settings/template.html
@@ -0,0 +1,17 @@
+<div class="layout_wrapper">
+ <div id="content-home">
+ {% if doc.headline %}
+ <h1>{{ doc.headline }}</h1>
+ {% endif %}
+ {% if doc.banner %}
+ <img src="files/{{ doc.banner }}" style="width: 870px; margin-bottom: 20px" />
+ {% endif %}
+ <div class="web-main-section">
+ {{ doc.main_section_html }}
+ </div>
+ <div class="web-side-section">
+ {{ doc.side_section_html }}
+ </div>
+ <div style="clear: both"></div>
+ </div>
+</div>
\ No newline at end of file
diff --git a/erpnext/website/js/topbar.js b/erpnext/website/js/topbar.js
index 49ec700..85d975b 100644
--- a/erpnext/website/js/topbar.js
+++ b/erpnext/website/js/topbar.js
@@ -36,8 +36,9 @@
for(var i=0;i<items.length;i++) {
var item = items[i];
if(!item.parent_label) {
- $('header .nav:first').append(repl('<li><a href="#" data-label="%(label)s">\
- %(label)s</a></li>', item))
+ item.route = item.std_page.toLowerCase();
+ $('header .nav:first').append(repl('<li><a href="#!%(route)s" \
+ data-label="%(label)s">%(label)s</a></li>', item))
}
}
}
diff --git a/erpnext/website/page/__init__.py b/erpnext/website/page/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/website/page/__init__.py
diff --git a/erpnext/website/page/home/__init__.py b/erpnext/website/page/home/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/website/page/home/__init__.py
diff --git a/erpnext/website/page/home/home.txt b/erpnext/website/page/home/home.txt
new file mode 100644
index 0000000..c8bc806
--- /dev/null
+++ b/erpnext/website/page/home/home.txt
@@ -0,0 +1,42 @@
+# Page, home
+[
+
+ # These values are common in all dictionaries
+ {
+ 'creation': '2012-01-24 16:08:44',
+ 'docstatus': 0,
+ 'modified': '2012-01-24 16:08:44',
+ 'modified_by': 'Administrator',
+ 'owner': 'Administrator'
+ },
+
+ # These values are common for all Page
+ {
+ 'doctype': 'Page',
+ 'module': 'Website',
+ 'name': '__common__',
+ 'page_name': 'home',
+ 'standard': 'Yes'
+ },
+
+ # These values are common for all Page Role
+ {
+ 'doctype': 'Page Role',
+ 'name': '__common__',
+ 'parent': 'home',
+ 'parentfield': 'roles',
+ 'parenttype': 'Page',
+ 'role': 'Guest'
+ },
+
+ # Page, home
+ {
+ 'doctype': 'Page',
+ 'name': 'home'
+ },
+
+ # Page Role
+ {
+ 'doctype': 'Page Role'
+ }
+]
\ No newline at end of file
diff --git a/index.html b/index.html
index 8662485..dacded5 100644
--- a/index.html
+++ b/index.html
@@ -3,7 +3,7 @@
<meta charset="utf-8">
<title>ERPNext</title>
<meta name="author" content="">
- <script type="text/javascript">window._version_number="169";
+ <script type="text/javascript">window._version_number="201";
/*
* lib/js/wn/class.js
diff --git a/version.num b/version.num
index fb402ef..3bc92d4 100644
--- a/version.num
+++ b/version.num
@@ -1 +1 @@
-169
+201