added module pages and other css updates
diff --git a/build.json b/build.json
index 0836706..24e9d45 100644
--- a/build.json
+++ b/build.json
@@ -43,6 +43,7 @@
"lib/css/bootstrap/buttons.css",
"lib/css/bootstrap/navbar.css",
"lib/css/bootstrap/dropdown.css",
+ "lib/css/bootstrap/tooltip.css",
"erpnext/startup/startup.css",
"erpnext/website/css/website.css"
]
@@ -67,6 +68,7 @@
"lib/css/bootstrap/buttons.css",
"lib/css/bootstrap/navbar.css",
"lib/css/bootstrap/dropdown.css",
+ "lib/css/bootstrap/tooltip.css",
"erpnext/startup/startup.css"
]
},
diff --git a/css/all-app.css b/css/all-app.css
index 3397f52..a6dcdb7 100644
--- a/css/all-app.css
+++ b/css/all-app.css
@@ -65,8 +65,30 @@
border-bottom: 1px solid #ffffff;
}
+/* links */
+
a:active { outline:none; }
+a {
+ color: #0088cc;
+ text-decoration: none;
+}
+a:hover {
+ color: #005580;
+ text-decoration: underline;
+}
+
+.link_type {
+ padding:2px;
+ color: #0088cc;
+ cursor: pointer;
+}
+
+.link_type:hover {
+ color: #005580;
+ text-decoration: underline;
+}
+
:focus { -moz-outline-style:none; }
table.simpletable { border-collapse: collapse; margin-bottom: 10px;}
@@ -107,19 +129,6 @@
#head_banner { background-color: #FFF; }
-.link_type {
- padding:2px;
- color: #00b;
- text-decoration: underline;
- cursor: pointer;
-}
-
-.link_type:hover {
- color: #fff !important;
- background-color: #07b;
- text-decoration: none;
-}
-
div.std-footer {
margin: 13px 0px;
border-top: 1px solid #AAA;
@@ -1590,7 +1599,7 @@
margin-bottom: 7px;
}
-div.psidebar .section-link {
+div.psidebar div.section-item, div.psidebar .section-link {
font-size: 11px;
color: #666;
}
@@ -2618,6 +2627,174 @@
display: block;
}
/*
+ * lib/css/bootstrap/tooltip.css
+ */.tooltip {
+ position: absolute;
+ z-index: 1020;
+ display: block;
+ visibility: visible;
+ padding: 5px;
+ font-size: 11px;
+ opacity: 0;
+ filter: alpha(opacity=0);
+}
+.tooltip.in {
+ opacity: 0.8;
+ filter: alpha(opacity=80);
+}
+.tooltip.top {
+ margin-top: -2px;
+}
+.tooltip.right {
+ margin-left: 2px;
+}
+.tooltip.bottom {
+ margin-top: 2px;
+}
+.tooltip.left {
+ margin-left: -2px;
+}
+.tooltip.top .tooltip-arrow {
+ bottom: 0;
+ left: 50%;
+ margin-left: -5px;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-top: 5px solid #000000;
+}
+.tooltip.left .tooltip-arrow {
+ top: 50%;
+ right: 0;
+ margin-top: -5px;
+ border-top: 5px solid transparent;
+ border-bottom: 5px solid transparent;
+ border-left: 5px solid #000000;
+}
+.tooltip.bottom .tooltip-arrow {
+ top: 0;
+ left: 50%;
+ margin-left: -5px;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-bottom: 5px solid #000000;
+}
+.tooltip.right .tooltip-arrow {
+ top: 50%;
+ left: 0;
+ margin-top: -5px;
+ border-top: 5px solid transparent;
+ border-bottom: 5px solid transparent;
+ border-right: 5px solid #000000;
+}
+.tooltip-inner {
+ max-width: 200px;
+ padding: 3px 8px;
+ color: #ffffff;
+ text-align: center;
+ text-decoration: none;
+ background-color: #000000;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+.tooltip-arrow {
+ position: absolute;
+ width: 0;
+ height: 0;
+}
+.popover {
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: 1010;
+ display: none;
+ padding: 5px;
+}
+.popover.top {
+ margin-top: -5px;
+}
+.popover.right {
+ margin-left: 5px;
+}
+.popover.bottom {
+ margin-top: 5px;
+}
+.popover.left {
+ margin-left: -5px;
+}
+.popover.top .arrow {
+ bottom: 0;
+ left: 50%;
+ margin-left: -5px;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-top: 5px solid #000000;
+}
+.popover.right .arrow {
+ top: 50%;
+ left: 0;
+ margin-top: -5px;
+ border-top: 5px solid transparent;
+ border-bottom: 5px solid transparent;
+ border-right: 5px solid #000000;
+}
+.popover.bottom .arrow {
+ top: 0;
+ left: 50%;
+ margin-left: -5px;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-bottom: 5px solid #000000;
+}
+.popover.left .arrow {
+ top: 50%;
+ right: 0;
+ margin-top: -5px;
+ border-top: 5px solid transparent;
+ border-bottom: 5px solid transparent;
+ border-left: 5px solid #000000;
+}
+.popover .arrow {
+ position: absolute;
+ width: 0;
+ height: 0;
+}
+.popover-inner {
+ padding: 3px;
+ width: 280px;
+ overflow: hidden;
+ background: #000000;
+ background: rgba(0, 0, 0, 0.8);
+ -webkit-border-radius: 6px;
+ -moz-border-radius: 6px;
+ border-radius: 6px;
+ -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+ -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+ box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+}
+.popover-title {
+ padding: 9px 15px;
+ line-height: 1;
+ background-color: #f5f5f5;
+ border-bottom: 1px solid #eee;
+ -webkit-border-radius: 3px 3px 0 0;
+ -moz-border-radius: 3px 3px 0 0;
+ border-radius: 3px 3px 0 0;
+}
+.popover-content {
+ padding: 14px;
+ background-color: #ffffff;
+ -webkit-border-radius: 0 0 3px 3px;
+ -moz-border-radius: 0 0 3px 3px;
+ border-radius: 0 0 3px 3px;
+ -webkit-background-clip: padding-box;
+ -moz-background-clip: padding-box;
+ background-clip: padding-box;
+}
+.popover-content p, .popover-content ul, .popover-content ol {
+ margin-bottom: 0;
+}
+/*
* erpnext/startup/startup.css
*/h1, h2, h3, h4, h5 {
font-family: Tahoma, Arial, Verdana, sans-serif;
diff --git a/css/all-web.css b/css/all-web.css
index 8abd1aa..1e15489 100644
--- a/css/all-web.css
+++ b/css/all-web.css
@@ -65,8 +65,30 @@
border-bottom: 1px solid #ffffff;
}
+/* links */
+
a:active { outline:none; }
+a {
+ color: #0088cc;
+ text-decoration: none;
+}
+a:hover {
+ color: #005580;
+ text-decoration: underline;
+}
+
+.link_type {
+ padding:2px;
+ color: #0088cc;
+ cursor: pointer;
+}
+
+.link_type:hover {
+ color: #005580;
+ text-decoration: underline;
+}
+
:focus { -moz-outline-style:none; }
table.simpletable { border-collapse: collapse; margin-bottom: 10px;}
@@ -107,19 +129,6 @@
#head_banner { background-color: #FFF; }
-.link_type {
- padding:2px;
- color: #00b;
- text-decoration: underline;
- cursor: pointer;
-}
-
-.link_type:hover {
- color: #fff !important;
- background-color: #07b;
- text-decoration: none;
-}
-
div.std-footer {
margin: 13px 0px;
border-top: 1px solid #AAA;
@@ -1417,6 +1426,174 @@
display: block;
}
/*
+ * lib/css/bootstrap/tooltip.css
+ */.tooltip {
+ position: absolute;
+ z-index: 1020;
+ display: block;
+ visibility: visible;
+ padding: 5px;
+ font-size: 11px;
+ opacity: 0;
+ filter: alpha(opacity=0);
+}
+.tooltip.in {
+ opacity: 0.8;
+ filter: alpha(opacity=80);
+}
+.tooltip.top {
+ margin-top: -2px;
+}
+.tooltip.right {
+ margin-left: 2px;
+}
+.tooltip.bottom {
+ margin-top: 2px;
+}
+.tooltip.left {
+ margin-left: -2px;
+}
+.tooltip.top .tooltip-arrow {
+ bottom: 0;
+ left: 50%;
+ margin-left: -5px;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-top: 5px solid #000000;
+}
+.tooltip.left .tooltip-arrow {
+ top: 50%;
+ right: 0;
+ margin-top: -5px;
+ border-top: 5px solid transparent;
+ border-bottom: 5px solid transparent;
+ border-left: 5px solid #000000;
+}
+.tooltip.bottom .tooltip-arrow {
+ top: 0;
+ left: 50%;
+ margin-left: -5px;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-bottom: 5px solid #000000;
+}
+.tooltip.right .tooltip-arrow {
+ top: 50%;
+ left: 0;
+ margin-top: -5px;
+ border-top: 5px solid transparent;
+ border-bottom: 5px solid transparent;
+ border-right: 5px solid #000000;
+}
+.tooltip-inner {
+ max-width: 200px;
+ padding: 3px 8px;
+ color: #ffffff;
+ text-align: center;
+ text-decoration: none;
+ background-color: #000000;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
+}
+.tooltip-arrow {
+ position: absolute;
+ width: 0;
+ height: 0;
+}
+.popover {
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: 1010;
+ display: none;
+ padding: 5px;
+}
+.popover.top {
+ margin-top: -5px;
+}
+.popover.right {
+ margin-left: 5px;
+}
+.popover.bottom {
+ margin-top: 5px;
+}
+.popover.left {
+ margin-left: -5px;
+}
+.popover.top .arrow {
+ bottom: 0;
+ left: 50%;
+ margin-left: -5px;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-top: 5px solid #000000;
+}
+.popover.right .arrow {
+ top: 50%;
+ left: 0;
+ margin-top: -5px;
+ border-top: 5px solid transparent;
+ border-bottom: 5px solid transparent;
+ border-right: 5px solid #000000;
+}
+.popover.bottom .arrow {
+ top: 0;
+ left: 50%;
+ margin-left: -5px;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-bottom: 5px solid #000000;
+}
+.popover.left .arrow {
+ top: 50%;
+ right: 0;
+ margin-top: -5px;
+ border-top: 5px solid transparent;
+ border-bottom: 5px solid transparent;
+ border-left: 5px solid #000000;
+}
+.popover .arrow {
+ position: absolute;
+ width: 0;
+ height: 0;
+}
+.popover-inner {
+ padding: 3px;
+ width: 280px;
+ overflow: hidden;
+ background: #000000;
+ background: rgba(0, 0, 0, 0.8);
+ -webkit-border-radius: 6px;
+ -moz-border-radius: 6px;
+ border-radius: 6px;
+ -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+ -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+ box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+}
+.popover-title {
+ padding: 9px 15px;
+ line-height: 1;
+ background-color: #f5f5f5;
+ border-bottom: 1px solid #eee;
+ -webkit-border-radius: 3px 3px 0 0;
+ -moz-border-radius: 3px 3px 0 0;
+ border-radius: 3px 3px 0 0;
+}
+.popover-content {
+ padding: 14px;
+ background-color: #ffffff;
+ -webkit-border-radius: 0 0 3px 3px;
+ -moz-border-radius: 0 0 3px 3px;
+ border-radius: 0 0 3px 3px;
+ -webkit-background-clip: padding-box;
+ -moz-background-clip: padding-box;
+ background-clip: padding-box;
+}
+.popover-content p, .popover-content ul, .popover-content ol {
+ margin-bottom: 0;
+}
+/*
* erpnext/startup/startup.css
*/h1, h2, h3, h4, h5 {
font-family: Tahoma, Arial, Verdana, sans-serif;
diff --git a/erpnext/accounts/page/accounts_browser/accounts_browser.js b/erpnext/accounts/page/accounts_browser/accounts_browser.js
index 13416e6..2f20a61 100644
--- a/erpnext/accounts/page/accounts_browser/accounts_browser.js
+++ b/erpnext/accounts/page/accounts_browser/accounts_browser.js
@@ -1,11 +1,19 @@
pscript['onload_Accounts Browser'] = function(){
wn.require('lib/js/legacy/widgets/tree.js');
- // if the user directly loads the page, ask to select the chart
- var parent = $i('ab_body');
- parent.innerHTML = 'Please select your chart: '
- var sel = $a(parent,'select');
- add_sel_options(sel, ['Account', 'Cost Center'], 'Account');
- var btn = $btn(parent, 'Go', function() { pscript.make_chart(sel_val(sel)); }, {marginTop:'8px'});
+
+ var route = location.hash;
+ if(route.indexOf('/')!=-1) {
+ var chart_type = route.split('/')[1];
+ pscript.make_chart(chart_type);
+ return;
+ }
+
+ // if the user directly loads the page, ask to select the chart
+ var parent = $i('ab_body');
+ parent.innerHTML = 'Please select your chart: '
+ var sel = $a(parent,'select');
+ add_sel_options(sel, ['Account', 'Cost Center'], 'Account');
+ var btn = $btn(parent, 'Go', function() { pscript.make_chart(sel_val(sel)); }, {marginTop:'8px'});
}
pscript.make_chart = function(b) {
diff --git a/erpnext/accounts/page/accounts_home/__init__.py b/erpnext/accounts/page/accounts_home/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/accounts/page/accounts_home/__init__.py
diff --git a/erpnext/accounts/page/accounts_home/accounts_home.html b/erpnext/accounts/page/accounts_home/accounts_home.html
new file mode 100644
index 0000000..e5c8a2e
--- /dev/null
+++ b/erpnext/accounts/page/accounts_home/accounts_home.html
@@ -0,0 +1,126 @@
+<div class="layout-wrapper layout-wrapper-background" id="page-selling-home">
+ <div class="layout-main-section">
+ <h1>Accounts</h1>
+ <hr>
+ <div style="width: 48%; float: left;">
+ <h4><a href="#!List/Journal Voucher">Journal Voucher</a></h4>
+ <p class="help">General Ledger Entries</p>
+ <h4><a href="#!List/Sales Invoice">Sales Invoice</a></h4>
+ <p class="help">Bills raised to Customers</p>
+ <h4><a href="#!List/Purchase Invoice">Purchase Invoice</a></h4>
+ <p class="help">Bills raised by Suppliers</p>
+ </div>
+ <div style="width: 48%; float: right;">
+ <h4><a href="#!Accounts Browser/Account">Chart of Accounts</a></h4>
+ <p class="help">Structure of books of accounts</p>
+ <h4><a href="#!Accounts Browser/Cost Center">Chart of Cost Centers</a></h4>
+ <p class="help">Structure cost centers</p>
+ </div>
+ <div style="clear: both"></div>
+ <hr>
+ <h3>Reports</h3>
+ <div class="reports-list"></div>
+ </div>
+ <div class="layout-side-section">
+ <div class="psidebar">
+ <div class="section">
+ <div class="section-head">Tools</div>
+ <div class="section-body">
+ <div class="section-item">
+ <a class="section-link"
+ title="Update system bank entries (JV) with actual bank trasaction"
+ href="#!Form/Bank Reconciliation/Bank Reconciliation">Bank Reconciliation</a>
+ </div>
+ <div class="section-item">
+ <a class="section-link"
+ title="Cancel off untracked Payments (JV) against Invoices"
+ href="#!Form/Internal Reconciliation/Internal Reconciliation">Payment Reconciliation</a>
+ </div>
+ <div class="section-item">
+ <a class="section-link"
+ title="Clear your P/L account and balance your Balance Sheets"
+ href="#!List/Period Closing Voucher">Close Period Entry</a>
+ </div>
+ <div class="section-item">
+ <a class="section-link"
+ title="Export multiple Account Ledgers (GL) to spreadsheet (csv)"
+ href="#!Form/Ledger Balance Export/Ledger Balance Export">Export Multiple Ledgers (GL)</a>
+ </div>
+ <div class="section-item">
+ <a class="section-link"
+ title="Lease Agreements"
+ href="#!List/Lease Agreement">Lease Agreements</a>
+ </div>
+ </div>
+ </div>
+
+ <div class="section">
+ <div class="section-head">Setup</div>
+ <div class="section-body">
+ <div class="section-item">
+ <a class="section-link"
+ title = "Tax and charges structure master on sales transactions"
+ href="#!List/Other Charges">Sales Other Charges</a>
+ </div>
+ <div class="section-item">
+ <a class="section-link"
+ title = "Tax and charges structure master on purchase transactions"
+ href="#!List/Purchase Other Charges">Purchase Other Charges</a>
+ </div>
+ <div class="section-item">
+ <a class="section-link"
+ title = "Defaults for Point of Sale (Retail) type of Invoices"
+ href="#!List/POS Setting">Point of Sale (PoS) Setting</a>
+ </div>
+ <div class="section-item">
+ <a class="section-link"
+ title = "Seasonal distributions for budgets"
+ href="#!List/Budget Distribution">Budget Distribution</a>
+ </div>
+ <div class="section-item">
+ <a class="section-link"
+ title = "Mode of Payment master"
+ href="#!List/Mode of Payment">Mode of Payment</a>
+ </div>
+ </div>
+ </div>
+
+ <div class="section india-specific">
+ <div class="section-head">Tax Deduction (India)</div>
+ <div class="section-body">
+ <div class="section-item">
+ <a class="section-link"
+ title = "Tax Deduction at Source (TDS) payments to be made to the goverment"
+ href="#!List/TDS Payment">TDS Payments</a>
+ </div>
+ <div class="section-item">
+ <a class="section-link"
+ title = "Update with acknowledgement recd from the government"
+ href="#!List/TDS Return Acknowledgement">TDS Return Acknowledgement</a>
+ </div>
+ <div class="section-item">
+ <a class="section-link"
+ title = "Tax deduction (TDS) categories"
+ href="#!List/TDS Category">TDS Category</a>
+ </div>
+ <div class="section-item">
+ <a class="section-link"
+ title = "Tax deduction (TDS) rates for different periods"
+ href="#!List/TDS Rate Chart">TDS Rate Chart</a>
+ </div>
+ <div class="section-item">
+ <a class="section-link"
+ title = "Challan given to employees/suppliers whose tax (TDS) has been deducted"
+ href="#!List/Form 16A">Form 16A</a>
+ </div>
+ <div class="section-item">
+ <a class="section-link"
+ title = "C-Forms received from customers"
+ href="#!List/C-Form">C-Form</a>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div style="clear: both;"></div>
+</div>
\ No newline at end of file
diff --git a/erpnext/accounts/page/accounts_home/accounts_home.js b/erpnext/accounts/page/accounts_home/accounts_home.js
new file mode 100644
index 0000000..615a18e
--- /dev/null
+++ b/erpnext/accounts/page/accounts_home/accounts_home.js
@@ -0,0 +1,6 @@
+pscript['onload_accounts-home'] = function(wrapper) {
+ erpnext.module_page.setup_page('Accounts', wrapper);
+ if(wn.control_panel.country!='India') {
+ $('.india-specific').toggle(false);
+ }
+}
\ No newline at end of file
diff --git a/erpnext/accounts/page/accounts_home/accounts_home.txt b/erpnext/accounts/page/accounts_home/accounts_home.txt
new file mode 100644
index 0000000..5cbceff
--- /dev/null
+++ b/erpnext/accounts/page/accounts_home/accounts_home.txt
@@ -0,0 +1,28 @@
+# Page, accounts-home
+[
+
+ # These values are common in all dictionaries
+ {
+ 'creation': '2012-02-21 13:23:08',
+ 'docstatus': 0,
+ 'modified': '2012-02-21 13:23:08',
+ 'modified_by': u'Administrator',
+ 'owner': u'Administrator'
+ },
+
+ # These values are common for all Page
+ {
+ 'doctype': 'Page',
+ 'module': u'Accounts',
+ 'name': '__common__',
+ 'page_name': u'accounts-home',
+ 'standard': u'Yes',
+ 'title': u'Accounts Home'
+ },
+
+ # Page, accounts-home
+ {
+ 'doctype': 'Page',
+ 'name': u'accounts-home'
+ }
+]
\ No newline at end of file
diff --git a/erpnext/buying/page/buying_home/__init__.py b/erpnext/buying/page/buying_home/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/buying/page/buying_home/__init__.py
diff --git a/erpnext/buying/page/buying_home/buying_home.txt b/erpnext/buying/page/buying_home/buying_home.txt
new file mode 100644
index 0000000..d2d2acc
--- /dev/null
+++ b/erpnext/buying/page/buying_home/buying_home.txt
@@ -0,0 +1,28 @@
+# Page, buying-home
+[
+
+ # These values are common in all dictionaries
+ {
+ 'creation': '2012-02-21 13:22:54',
+ 'docstatus': 0,
+ 'modified': '2012-02-21 13:22:54',
+ 'modified_by': u'Administrator',
+ 'owner': u'Administrator'
+ },
+
+ # These values are common for all Page
+ {
+ 'doctype': 'Page',
+ 'module': u'Buying',
+ 'name': '__common__',
+ 'page_name': u'buying-home',
+ 'standard': u'Yes',
+ 'title': u'Buying Home'
+ },
+
+ # Page, buying-home
+ {
+ 'doctype': 'Page',
+ 'name': u'buying-home'
+ }
+]
\ No newline at end of file
diff --git a/erpnext/hr/page/hr_home/__init__.py b/erpnext/hr/page/hr_home/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/hr/page/hr_home/__init__.py
diff --git a/erpnext/hr/page/hr_home/hr_home.txt b/erpnext/hr/page/hr_home/hr_home.txt
new file mode 100644
index 0000000..a5a4ba9
--- /dev/null
+++ b/erpnext/hr/page/hr_home/hr_home.txt
@@ -0,0 +1,28 @@
+# Page, hr-home
+[
+
+ # These values are common in all dictionaries
+ {
+ 'creation': '2012-02-21 13:24:05',
+ 'docstatus': 0,
+ 'modified': '2012-02-21 13:24:05',
+ 'modified_by': u'Administrator',
+ 'owner': u'Administrator'
+ },
+
+ # These values are common for all Page
+ {
+ 'doctype': 'Page',
+ 'module': u'HR',
+ 'name': '__common__',
+ 'page_name': u'hr-home',
+ 'standard': u'Yes',
+ 'title': u'Human Resources Home'
+ },
+
+ # Page, hr-home
+ {
+ 'doctype': 'Page',
+ 'name': u'hr-home'
+ }
+]
\ No newline at end of file
diff --git a/erpnext/production/page/production_home/__init__.py b/erpnext/production/page/production_home/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/production/page/production_home/__init__.py
diff --git a/erpnext/production/page/production_home/production_home.txt b/erpnext/production/page/production_home/production_home.txt
new file mode 100644
index 0000000..4f6cabb
--- /dev/null
+++ b/erpnext/production/page/production_home/production_home.txt
@@ -0,0 +1,28 @@
+# Page, production-home
+[
+
+ # These values are common in all dictionaries
+ {
+ 'creation': '2012-02-21 13:24:34',
+ 'docstatus': 0,
+ 'modified': '2012-02-21 13:24:34',
+ 'modified_by': u'Administrator',
+ 'owner': u'Administrator'
+ },
+
+ # These values are common for all Page
+ {
+ 'doctype': 'Page',
+ 'module': u'Production',
+ 'name': '__common__',
+ 'page_name': u'production-home',
+ 'standard': u'Yes',
+ 'title': u'Production Home'
+ },
+
+ # Page, production-home
+ {
+ 'doctype': 'Page',
+ 'name': u'production-home'
+ }
+]
\ No newline at end of file
diff --git a/erpnext/projects/page/projects_home/__init__.py b/erpnext/projects/page/projects_home/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/projects/page/projects_home/__init__.py
diff --git a/erpnext/projects/page/projects_home/projects_home.txt b/erpnext/projects/page/projects_home/projects_home.txt
new file mode 100644
index 0000000..665ac99
--- /dev/null
+++ b/erpnext/projects/page/projects_home/projects_home.txt
@@ -0,0 +1,28 @@
+# Page, projects-home
+[
+
+ # These values are common in all dictionaries
+ {
+ 'creation': '2012-02-21 13:24:22',
+ 'docstatus': 0,
+ 'modified': '2012-02-21 13:24:22',
+ 'modified_by': u'Administrator',
+ 'owner': u'Administrator'
+ },
+
+ # These values are common for all Page
+ {
+ 'doctype': 'Page',
+ 'module': u'Projects',
+ 'name': '__common__',
+ 'page_name': u'projects-home',
+ 'standard': u'Yes',
+ 'title': u'Projects Home'
+ },
+
+ # Page, projects-home
+ {
+ 'doctype': 'Page',
+ 'name': u'projects-home'
+ }
+]
\ No newline at end of file
diff --git a/erpnext/selling/page/sales_browser/sales_browser.js b/erpnext/selling/page/sales_browser/sales_browser.js
index c7e400e..b7fc422 100644
--- a/erpnext/selling/page/sales_browser/sales_browser.js
+++ b/erpnext/selling/page/sales_browser/sales_browser.js
@@ -1,5 +1,13 @@
pscript['onload_Sales Browser'] = function(){
wn.require('lib/js/legacy/widgets/tree.js');
+
+ var route = location.hash;
+ if(route.indexOf('/')!=-1) {
+ var chart_type = route.split('/')[1];
+ new SalesBrowser().set_val(chart_type)
+ return;
+ }
+
var parent = $i('tr_body');
parent.innerHTML = 'Please select your chart: '
var sel = $a(parent,'select');
diff --git a/erpnext/selling/page/selling_home/__init__.py b/erpnext/selling/page/selling_home/__init__.py
index 959135f..e69de29 100644
--- a/erpnext/selling/page/selling_home/__init__.py
+++ b/erpnext/selling/page/selling_home/__init__.py
@@ -1,12 +0,0 @@
-import webnotes
-
-@webnotes.whitelist()
-def get_report_list(arg=None):
- """return list of reports for this module"""
- webnotes.response['values'] = webnotes.conn.sql("""select
- distinct criteria_name, doc_type, parent_doc_type
- from `tabSearch Criteria`
- where module='Selling'
- and docstatus in (0, NULL)
- order by criteria_name
- limit %(limit_start)s, %(limit_page_length)s""" % webnotes.form_dict, as_dict=True)
\ No newline at end of file
diff --git a/erpnext/selling/page/selling_home/selling_home.html b/erpnext/selling/page/selling_home/selling_home.html
index 5c7f1b1..2d421b5 100644
--- a/erpnext/selling/page/selling_home/selling_home.html
+++ b/erpnext/selling/page/selling_home/selling_home.html
@@ -29,27 +29,46 @@
<div class="section-head">Setup</div>
<div class="section-body">
<div class="section-item">
- <a class="section-link" href="#!List/Price List">Price List</a>
+ <a class="section-link"
+ title = "Tax and charges structure master"
+ href="#!List/Other Charges">Sales Other Charges</a>
</div>
<div class="section-item">
- <a class="section-link" href="#!List/Sales BOM">Sales BOM</a>
+ <a class="section-link"
+ title = "Multiple prices lists for items"
+ href="#!List/Price List">Price List</a>
</div>
<div class="section-item">
- <a class="section-link" href="#!List/Customer Group">Customer Group</a>
+ <a class="section-link"
+ title = "Group items and accessories in one item code"
+ href="#!List/Sales BOM">Sales BOM</a>
</div>
<div class="section-item">
- <a class="section-link" href="#!List/Territory">Territory</a>
+ <a class="section-link"
+ title = "Tree of customer groups"
+ href="#!Sales Browser/Customer Group">Customer Group</a>
</div>
<div class="section-item">
- <a class="section-link" href="#!List/Sales Person">Sales Person</a>
+ <a class="section-link"
+ title = "Tree of sales territories"
+ href="#!Sales Browser/Territory">Territory</a>
</div>
<div class="section-item">
- <a class="section-link" href="#!List/Sales Partner">Sales Partner</a>
+ <a class="section-link"
+ title = "Sales persons and targets"
+ href="#!Sales Browser/Sales Person">Sales Person</a>
</div>
<div class="section-item">
- <a class="section-link" href="#!List/Campaign">Campaign</a>
+ <a class="section-link"
+ title = "Commission partners and targets"
+ href="#!List/Sales Partner">Sales Partner</a>
</div>
- </div>
+ <div class="section-item">
+ <a class="section-link"
+ title = "Sales campaigns"
+ href="#!List/Campaign">Campaign</a>
+ </div>
+ </div>
</div>
<div class="section">
<div class="section-head">Tools</div>
diff --git a/erpnext/selling/page/selling_home/selling_home.js b/erpnext/selling/page/selling_home/selling_home.js
index 76fac70..46cf459 100644
--- a/erpnext/selling/page/selling_home/selling_home.js
+++ b/erpnext/selling/page/selling_home/selling_home.js
@@ -1,40 +1,3 @@
pscript['onload_selling-home'] = function(wrapper) {
- erpnext.module_page.hide_links(wrapper);
- erpnext.module_page.make_list('Selling', wrapper);
-}
-
-wn.provide('erpnext.module_page');
-
-// hide list links where the user does
-// not have read permissions
-
-erpnext.module_page.hide_links = function(wrapper) {
- $(wrapper).find('[href*="List/"]').each(function() {
- var href = $(this).attr('href');
- var dt = href.split('/')[1];
- if(wn.boot.profile.can_read.indexOf(dt)==-1) {
- $(this).toggle(false);
- }
- });
-}
-
-// make list of reports
-
-erpnext.module_page.make_list = function(module, wrapper) {
- // make project listing
- wrapper.list = new wn.widgets.Listing({
- parent: $(wrapper).find('.reports-list').get(0),
- method: 'selling.page.selling_home.get_report_list',
- render_row: function(row, data) {
- if(!data.parent_doc_type) data.parent_doc_type = data.doc_type;
- $(row).html(repl('<a href="#!Report/%(doc_type)s/%(criteria_name)s" \
- data-doctype="%(parent_doc_type)s">\
- %(criteria_name)s</a>', data))
- },
- args: {
- module: module
- },
- no_refresh: true
- });
- wrapper.list.run();
+ erpnext.module_page.setup_page('Selling', wrapper);
}
\ No newline at end of file
diff --git a/erpnext/startup/modules.js b/erpnext/startup/modules.js
index 0280c74..35de0e8 100644
--- a/erpnext/startup/modules.js
+++ b/erpnext/startup/modules.js
@@ -1,3 +1,69 @@
+wn.provide('erpnext.module_page');
+
+erpnext.module_page.setup_page = function(module, wrapper) {
+ erpnext.module_page.hide_links(wrapper);
+ erpnext.module_page.make_list(module, wrapper);
+ $(wrapper).find("a").tooltip({
+ delay: { show: 500, hide: 100 }
+ });
+}
+
+// hide list links where the user does
+// not have read permissions
+
+erpnext.module_page.hide_links = function(wrapper) {
+ // lists
+ $(wrapper).find('[href*="List/"]').each(function() {
+ var href = $(this).attr('href');
+ var dt = href.split('/')[1];
+ if(wn.boot.profile.can_read.indexOf(get_label_doctype(dt))==-1) {
+ var txt = $(this).text();
+ $(this).parent().css('color', '#999').html(txt);
+ }
+ });
+
+ // reports
+ $(wrapper).find('[data-doctype]').each(function() {
+ var dt = $(this).attr('data-doctype');
+ if(wn.boot.profile.can_read.indexOf(dt)==-1) {
+ var txt = $(this).text();
+ $(this).parent().css('color', '#999').html(txt);
+ }
+ });
+
+ // single (forms)
+ $(wrapper).find('[href*="Form/"]').each(function() {
+ var href = $(this).attr('href');
+ var dt = href.split('/')[1];
+ if(wn.boot.profile.can_read.indexOf(get_label_doctype(dt))==-1) {
+ var txt = $(this).text();
+ $(this).parent().css('color', '#999').html(txt);
+ }
+ });}
+
+// make list of reports
+
+erpnext.module_page.make_list = function(module, wrapper) {
+ // make project listing
+ wrapper.list = new wn.widgets.Listing({
+ parent: $(wrapper).find('.reports-list').get(0),
+ method: 'utilities.get_report_list',
+ render_row: function(row, data) {
+ if(!data.parent_doc_type) data.parent_doc_type = data.doc_type;
+ $(row).html(repl('<a href="#!Report/%(doc_type)s/%(criteria_name)s" \
+ data-doctype="%(parent_doc_type)s">\
+ %(criteria_name)s</a>', data))
+ },
+ args: {
+ module: module
+ },
+ no_refresh: true
+ });
+ wrapper.list.run();
+}
+
+
+
// ====================================================================
pscript.startup_make_sidebar = function() {
diff --git a/erpnext/startup/modules_new.js b/erpnext/startup/modules_new.js
deleted file mode 100644
index 5f912b0..0000000
--- a/erpnext/startup/modules_new.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// Tools Page
-erpnext.ListPage = Class.extend({
- init: function(opts) {
- var me = this;
- this.opts = opts;
- this.page = page_body.add_page[opts.title];
- this.page.wrapper = $a(this.page, 'div', 'layout_wrapper');
- this.page.head = new PageHeading(this.wrapper, this.title)
- this.page.list = new wn.widgets.Listing({
- parent: this.page.wrapper,
- query: opts.query,
- render:row: opts.render_row
- });
- },
- show: function() {
- if(this.first) {
- this.page.list.run();
- this.first = false;
- }
- page_body.change_to(this.opts.title);
- }
-});
-
-erpnext.ToolsPage = erpnext.ListPage.extend({
- init: function(opts) {
- this._super({
- title: opts.module + ' Settings',
- query: repl('select name, description from tabDocType where \
- module=%(module)s and ifnull(issingle,0)=1 order by name asc', opts),
- render_row: function(parent, data) {
- parent.innerHTML = repl('<a href="#!Form/%(name)s/%(name)s">%(name)s</a>\
- <div class="comment">%(description)s</div>', data)
- }
- })
- }
-});
\ No newline at end of file
diff --git a/erpnext/startup/startup.js b/erpnext/startup/startup.js
index c68650a..a456500 100644
--- a/erpnext/startup/startup.js
+++ b/erpnext/startup/startup.js
@@ -111,5 +111,5 @@
// start
$(document).bind('startup', function() {
- erpnext.startup.start();
+ erpnext.startup.start();
});
diff --git a/erpnext/startup/toolbar.js b/erpnext/startup/toolbar.js
index d5c5d97..1c8735c 100644
--- a/erpnext/startup/toolbar.js
+++ b/erpnext/startup/toolbar.js
@@ -2,11 +2,15 @@
wn.provide('erpnext.toolbar');
erpnext.toolbar.setup = function() {
+ // modules
+ erpnext.toolbar.add_modules();
+
// profile
$('#toolbar-user').append('<li><a href="#profile-settings">Profile Settings</a></li>');
$('#toolbar-user').append('<li><a href="#My Company">Team / Messages</a></li>');
+
$('.navbar .pull-right').prepend('\
<li><a href="#" id="toolbar-new-comments"></a></li>');
@@ -52,3 +56,24 @@
page_body.wntoolbar.set_new_comments();
}
+erpnext.toolbar.add_modules = function() {
+ $('<li class="dropdown">\
+ <a class="dropdown-toggle" data-toggle="dropdown" href="#"\
+ onclick="return false;">Modules<b class="caret"></b></a>\
+ <ul class="dropdown-menu">\
+ <li><a href="#!accounts-home" data-module="Accounts">Accounts</a></li>\
+ <li><a href="#!selling-home" data-module="Selling">Selling</a></li>\
+ <li><a href="#!stock-home" data-module="Stock">Stock</a></li>\
+ <li><a href="#!buying-home" data-module="Buying">Buying</a></li>\
+ <li><a href="#!support-home" data-module="Support">Support</a></li>\
+ <li><a href="#!hr-home" data-module="HR">Human Resources</a></li>\
+ <li><a href="#!projects-home" data-module="Projects">Projects</a></li>\
+ <li><a href="#!production-home" data-module="Production">Production</a></li>\
+ <li><a href="#!website-home" data-module="Website">Website</a></li>\
+ <li class="divider"></li>\
+ <li><a href="#!Setup" data-module="Setup">Setup</a></li>\
+ </ul>\
+ </li>').insertAfter('li[data-name="navbar-home"]');
+ $('.navbar .nav:first')
+}
+
diff --git a/erpnext/stock/page/stock_home/__init__.py b/erpnext/stock/page/stock_home/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/stock/page/stock_home/__init__.py
diff --git a/erpnext/stock/page/stock_home/stock_home.html b/erpnext/stock/page/stock_home/stock_home.html
new file mode 100644
index 0000000..e1f7817
--- /dev/null
+++ b/erpnext/stock/page/stock_home/stock_home.html
@@ -0,0 +1,89 @@
+<div class="layout-wrapper layout-wrapper-background" id="page-selling-home">
+ <div class="layout-main-section">
+ <h1>Stock</h1>
+ <hr>
+ <div style="width: 48%; float: left;">
+ <h4><a href="#!List/Stock Entry">Stock Entry</a></h4>
+ <p class="help">Transfer stock from one warehouse to another</p>
+ <h4><a href="#!List/Delivery Note">Delivery Note</a></h4>
+ <p class="help">Delivery (shipment) to customers</p>
+ <h4><a href="#!List/Purchase Receipt">Purchase Receipt</a></h4>
+ <p class="help">Goods received from Suppliers</p>
+ </div>
+ <div style="width: 48%; float: right;">
+ <h4><a href="#!List/Item">Item</a></h4>
+ <p class="help">Item Master</p>
+ <h4><a href="#!List/Serial No">Serial No</a></h4>
+ <p class="help">Single unit of an Item</p>
+ <h4><a href="#!List/Batch">Batch</a></h4>
+ <p class="help">Batch of units of an Item</p>
+ <h4><a href="#!List/Item">Warehouse</a></h4>
+ <p class="help">Warehouse is where items are stored</p>
+ </div>
+ <div style="clear: both"></div>
+ <hr>
+ <h3>Reports</h3>
+ <div class="reports-list"></div>
+ </div>
+ <div class="layout-side-section">
+ <div class="psidebar">
+ <div class="section">
+ <div class="section-head">Tools</div>
+ <div class="section-body">
+ <div class="section-item">
+ <a class="section-link"
+ title = "Update stock by uploading a spreadsheet (csv) file"
+ href="#!List/Stock Reconciliation">Stock Reconciliation</a>
+ </div>
+ <div class="section-item">
+ <a class="section-link"
+ title = "Details of item installations"
+ href="#!List/Installation Note">Installation Note</a>
+ </div>
+ <div class="section-item">
+ <a class="section-link"
+ title = "Readings of incoming quality inspections"
+ href="#!List/List/QA Inspection Report">Incoming Inspection</a>
+ </div>
+ <div class="section-item">
+ <a class="section-link"
+ title = "List of expense heads (Account) that will be distributed across incoming purchases (costs that you find out some time after you receive goods, like Custom Duty, but are a part of item valuation)"
+ href="#!List/Landed Cost Master">Landed Cost Master</a>
+ </div>
+ <div class="section-item">
+ <a class="section-link"
+ title = "Distribute costs on Purchase Receipts and add them to item value"
+ href="#!List/Landed Cost Wizard">Landed Cost Wizard</a>
+ </div>
+
+ </div>
+ </div>
+ <div class="section">
+ <div class="section-head">Setup</div>
+ <div class="section-body">
+ <div class="section-item">
+ <a class="section-link"
+ title = "Tree of item classification"
+ href="#!Sales Browser/Item Group">Item Group</a>
+ </div>
+ <div class="section-item">
+ <a class="section-link"
+ title = "Unit of Measure (UOM) master"
+ href="#!List/UOM">Unit of Measure (UOM)</a>
+ </div>
+ <div class="section-item">
+ <a class="section-link"
+ title = "List of Item Brands (optional)"
+ href="#!List/Brand">Brand</a>
+ </div>
+ <div class="section-item">
+ <a class="section-link"
+ title = "Types of warehouses"
+ href="#!List/Warehouse Type">Warehouse Type</a>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div style="clear: both;"></div>
+</div>
\ No newline at end of file
diff --git a/erpnext/stock/page/stock_home/stock_home.js b/erpnext/stock/page/stock_home/stock_home.js
new file mode 100644
index 0000000..ead208f
--- /dev/null
+++ b/erpnext/stock/page/stock_home/stock_home.js
@@ -0,0 +1,3 @@
+pscript['onload_stock-home'] = function(wrapper) {
+ erpnext.module_page.setup_page('Stock', wrapper);
+}
\ No newline at end of file
diff --git a/erpnext/stock/page/stock_home/stock_home.txt b/erpnext/stock/page/stock_home/stock_home.txt
new file mode 100644
index 0000000..f3e7cda
--- /dev/null
+++ b/erpnext/stock/page/stock_home/stock_home.txt
@@ -0,0 +1,28 @@
+# Page, stock-home
+[
+
+ # These values are common in all dictionaries
+ {
+ 'creation': '2012-02-21 13:23:22',
+ 'docstatus': 0,
+ 'modified': '2012-02-21 13:23:22',
+ 'modified_by': u'Administrator',
+ 'owner': u'Administrator'
+ },
+
+ # These values are common for all Page
+ {
+ 'doctype': 'Page',
+ 'module': u'Stock',
+ 'name': '__common__',
+ 'page_name': u'stock-home',
+ 'standard': u'Yes',
+ 'title': u'Stock Home'
+ },
+
+ # Page, stock-home
+ {
+ 'doctype': 'Page',
+ 'name': u'stock-home'
+ }
+]
\ No newline at end of file
diff --git a/erpnext/support/page/__init__.py b/erpnext/support/page/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/support/page/__init__.py
diff --git a/erpnext/support/page/support_home/__init__.py b/erpnext/support/page/support_home/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/support/page/support_home/__init__.py
diff --git a/erpnext/support/page/support_home/support_home.txt b/erpnext/support/page/support_home/support_home.txt
new file mode 100644
index 0000000..a462abd
--- /dev/null
+++ b/erpnext/support/page/support_home/support_home.txt
@@ -0,0 +1,28 @@
+# Page, support-home
+[
+
+ # These values are common in all dictionaries
+ {
+ 'creation': '2012-02-21 13:23:35',
+ 'docstatus': 0,
+ 'modified': '2012-02-21 13:23:35',
+ 'modified_by': u'Administrator',
+ 'owner': u'Administrator'
+ },
+
+ # These values are common for all Page
+ {
+ 'doctype': 'Page',
+ 'module': u'Support',
+ 'name': '__common__',
+ 'page_name': u'support-home',
+ 'standard': u'Yes',
+ 'title': u'Support Home'
+ },
+
+ # Page, support-home
+ {
+ 'doctype': 'Page',
+ 'name': u'support-home'
+ }
+]
\ No newline at end of file
diff --git a/erpnext/utilities/__init__.py b/erpnext/utilities/__init__.py
index e69de29..99f3085 100644
--- a/erpnext/utilities/__init__.py
+++ b/erpnext/utilities/__init__.py
@@ -0,0 +1,12 @@
+import webnotes
+
+@webnotes.whitelist()
+def get_report_list(arg=None):
+ """return list of reports for the given module module"""
+ webnotes.response['values'] = webnotes.conn.sql("""select
+ distinct criteria_name, doc_type, parent_doc_type
+ from `tabSearch Criteria`
+ where module='%(module)s'
+ and docstatus in (0, NULL)
+ order by criteria_name
+ limit %(limit_start)s, %(limit_page_length)s""" % webnotes.form_dict, as_dict=True)
\ No newline at end of file
diff --git a/erpnext/website/js/topbar.js b/erpnext/website/js/topbar.js
index 0db3753..247614b 100644
--- a/erpnext/website/js/topbar.js
+++ b/erpnext/website/js/topbar.js
@@ -14,7 +14,7 @@
$('.brand').html(wn.boot.website_settings.brand_html);
this.make_items();
$('.dropdown-toggle').dropdown();
-pull-right },
+ },
make: function() {
$('header').append('<div class="navbar navbar-fixed-top">\
<div class="navbar-inner">\
@@ -54,7 +54,11 @@
$parent_li.addClass('dropdown');
$parent_li.find('a:first').addClass('dropdown-toggle')
.attr('data-toggle', 'dropdown')
- .append('<b class="caret"></b>');
+ .attr('href', '')
+ .append('<b class="caret"></b>')
+ .click(function() {
+ return false;
+ });
$parent_li.append('<ul class="dropdown-menu"></ul>');
}
item.route = item.url || item.custom_page;
@@ -79,6 +83,7 @@
this.make_items();
},
make_items: function() {
+ alert(16);
var items = wn.boot.website_menus
for(var i=0;i<items.length;i++) {
var item = items[i];
diff --git a/erpnext/website/page/website_home/__init__.py b/erpnext/website/page/website_home/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/website/page/website_home/__init__.py
diff --git a/erpnext/website/page/website_home/website_home.txt b/erpnext/website/page/website_home/website_home.txt
new file mode 100644
index 0000000..a9af308
--- /dev/null
+++ b/erpnext/website/page/website_home/website_home.txt
@@ -0,0 +1,28 @@
+# Page, website-home
+[
+
+ # These values are common in all dictionaries
+ {
+ 'creation': '2012-02-21 13:23:51',
+ 'docstatus': 0,
+ 'modified': '2012-02-21 13:23:51',
+ 'modified_by': u'Administrator',
+ 'owner': u'Administrator'
+ },
+
+ # These values are common for all Page
+ {
+ 'doctype': 'Page',
+ 'module': u'Website',
+ 'name': '__common__',
+ 'page_name': u'website-home',
+ 'standard': u'Yes',
+ 'title': u'Website Home'
+ },
+
+ # Page, website-home
+ {
+ 'doctype': 'Page',
+ 'name': u'website-home'
+ }
+]
\ No newline at end of file
diff --git a/js/all-app.js b/js/all-app.js
index c24248d..ab94eee 100644
--- a/js/all-app.js
+++ b/js/all-app.js
Binary files differ
diff --git a/js/all-web.js b/js/all-web.js
index 614f0d0..d820dca 100644
--- a/js/all-web.js
+++ b/js/all-web.js
@@ -800,7 +800,8 @@
/*
* lib/js/legacy/webpage/error_console.js
*/
-var err_console;var err_list=[];function errprint(t){err_list[err_list.length]=('<pre style="font-family: Courier, Fixed; font-size: 11px; border-bottom: 1px solid #AAA; overflow: auto; width: 90%;">'+t+'</pre>');}
+var err_console;var err_list=[];function errprint(t){if(!err_list)err_list=[];err_list.push('<pre style="font-family: Courier, Fixed; font-size: 11px; \
+ border-bottom: 1px solid #AAA; overflow: auto; width: 90%;">'+t+'</pre>');}
function setup_err_console(){err_console=new Dialog(640,480,'Error Console')
err_console.make_body([['HTML','Error List'],['Button','Clear'],['HTML','Error Report']]);var span=$a(err_console.widgets['Error Report'],'span','link_type');span.innerHTML='Send Error Report';span.onclick=function(){msg=prompt('How / where did you get the error [optional]')
var call_back=function(r,rt){err_console.hide();msgprint("Error Report Sent")}
@@ -988,7 +989,8 @@
this.run_startup_code=function(){$(document).trigger('startup');try{if(this.cp.custom_startup_code)
eval(this.cp.custom_startup_code);}catch(e){errprint(e);}}
this.setup=function(){this.cp=wn.control_panel;this.wrapper=$a($i('body_div'),'div');this.body=$a(this.wrapper,'div');this.setup_page_areas();if(user=='Guest')user_defaults.hide_webnotes_toolbar=1;if(!cint(user_defaults.hide_webnotes_toolbar)||user=='Administrator'){this.wntoolbar=new wn.ui.toolbar.Toolbar();}
-if(this.cp.page_width)$y(this.wrapper,{width:cint(this.cp.page_width)+'px'});}
+if(this.cp.page_width)
+$y(this.wrapper,{width:cint(this.cp.page_width)+'px'});}
this.pages={};this.cur_page=null;this.add_page=function(label,onshow,onhide){var c=$a(this.center.body,'div');if(onshow)
c.onshow=onshow;if(onhide)
c.onhide=onhide;this.pages[label]=c;$dh(c);return c;}
@@ -1008,7 +1010,6 @@
wn.control_panel=r.control_panel;}
var setup_history=function(r){rename_observers.push(nav_obj);}
var callback=function(r,rt){if(r.exc)console.log(r.exc);setup_globals(r);setup_history();var a=new Body();page_body.run_startup_code();page_body.setup_sidebar_menu();for(var i=0;i<startup_list.length;i++){startup_list[i]();}
-if(get_url_arg('embed')){newdoc(get_url_arg('embed'));return;}
var t=to_open();if(t){historyChange(t);}else if(home_page){loadpage(home_page);}
page_body.ready();}
if(wn.boot){LocalDB.sync(wn.boot.docs);callback(wn.boot,'');if(wn.boot.error_messages)
@@ -1065,7 +1066,7 @@
/*
* erpnext/website/js/topbar.js
*/
-wn.provide('erpnext.navbar');erpnext.navbar.navbar=Class.extend({init:function(){this.make();$('.brand').html(wn.boot.website_settings.brand_html);this.make_items();$('.dropdown-toggle').dropdown();pull-right},make:function(){$('header').append('<div class="navbar navbar-fixed-top">\
+wn.provide('erpnext.navbar');erpnext.navbar.navbar=Class.extend({init:function(){this.make();$('.brand').html(wn.boot.website_settings.brand_html);this.make_items();$('.dropdown-toggle').dropdown();},make:function(){$('header').append('<div class="navbar navbar-fixed-top">\
<div class="navbar-inner">\
<div class="container">\
<a class="brand">[brand]</a>\
@@ -1079,14 +1080,8 @@
</div>\
</div>');$('.brand').attr('href','#!'+(wn.boot.website_settings.home_page||'Login Page'))},make_items:function(){var items=wn.boot.website_menus;for(var i=0;i<items.length;i++){var item=items[i];if(!item.parent_label&&item.parentfield=='top_bar_items'){item.route=item.url||item.custom_page;$('header .nav:first').append(repl('<li data-label="%(label)s">\
<a href="#!%(route)s">%(label)s</a></li>',item))}}
-for(var i=0;i<items.length;i++){var item=items[i];if(item.parent_label&&item.parentfield=='top_bar_items'){$parent_li=$(repl('header li[data-label="%(parent_label)s"]',item));if(!$parent_li.hasClass('dropdown')){$parent_li.addClass('dropdown');$parent_li.find('a:first').addClass('dropdown-toggle').attr('data-toggle','dropdown').append('<b class="caret"></b>');$parent_li.append('<ul class="dropdown-menu"></ul>');}
+for(var i=0;i<items.length;i++){var item=items[i];if(item.parent_label&&item.parentfield=='top_bar_items'){$parent_li=$(repl('header li[data-label="%(parent_label)s"]',item));if(!$parent_li.hasClass('dropdown')){$parent_li.addClass('dropdown');$parent_li.find('a:first').addClass('dropdown-toggle').attr('data-toggle','dropdown').attr('href','').append('<b class="caret"></b>').click(function(){return false;});$parent_li.append('<ul class="dropdown-menu"></ul>');}
item.route=item.url||item.custom_page;$parent_li.find('.dropdown-menu').append(repl('<li data-label="%(label)s">\
- <a href="#!%(route)s">%(label)s</a></li>',item))}}}});erpnext.Footer=Class.extend({init:function(){$('footer').html(repl('<div class="web-footer">\
- <div class="web-footer-menu"><ul></ul></div>\
- <div class="web-footer-address">%(address)s</div>\
- <div class="web-footer-copyright">© %(copyright)s</div>\
- <div class="web-footer-powered">Powered by \
- <a href="https://erpnext.com">erpnext.com</a></div>\
- </div>',wn.boot.website_settings));this.make_items();},make_items:function(){var items=wn.boot.website_menus
+ <a href="#!%(route)s">%(label)s</a></li>',item))}}}});erpnext.Footer=Class.extend({init:function(){alert(15);this.make_items();},make_items:function(){alert(16);var items=wn.boot.website_menus
for(var i=0;i<items.length;i++){var item=items[i];if(!item.parent_label&&item.parentfield=='footer_items'){item.route=item.url||item.custom_page;$('.web-footer-menu ul').append(repl('<li><a href="#!%(route)s" \
data-label="%(label)s">%(label)s</a></li>',item))}}}});$(document).bind('startup',function(){erpnext.footer=new erpnext.Footer();erpnext.navbar.navbar=new erpnext.navbar.navbar();})
\ No newline at end of file
diff --git a/version.num b/version.num
index 7b5a1ce..748e6f1 100644
--- a/version.num
+++ b/version.num
@@ -1 +1 @@
-589
\ No newline at end of file
+637
\ No newline at end of file