added module pages and other css updates

This commit is contained in:
Rushabh Mehta
2012-02-21 17:26:50 +05:30
parent 6e156c748b
commit d025133b39
38 changed files with 1029 additions and 149 deletions

View File

@@ -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"
]
},

View File

@@ -65,8 +65,30 @@ hr {
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 @@ div#head_div { background-color: #FFF; }
#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 @@ div.psidebar div.section-item {
margin-bottom: 7px;
}
div.psidebar .section-link {
div.psidebar div.section-item, div.psidebar .section-link {
font-size: 11px;
color: #666;
}
@@ -2617,6 +2626,174 @@ button.btn.small, input[type="submit"].btn.small {
.dropdown.open .dropdown-menu {
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 {

View File

@@ -65,8 +65,30 @@ hr {
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 @@ div#head_div { background-color: #FFF; }
#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;
@@ -1416,6 +1425,174 @@ button.btn.small, input[type="submit"].btn.small {
.dropdown.open .dropdown-menu {
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 {

View File

@@ -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) {

View File

@@ -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>

View File

@@ -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);
}
}

View File

@@ -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'
}
]

View File

@@ -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'
}
]

View File

View File

@@ -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'
}
]

View File

@@ -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'
}
]

View File

@@ -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'
}
]

View File

@@ -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');

View File

@@ -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)

View File

@@ -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>

View File

@@ -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);
}

View File

@@ -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() {

View File

@@ -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)
}
})
}
});

View File

@@ -111,5 +111,5 @@ erpnext.startup.set_periodic_updates = function() {
// start
$(document).bind('startup', function() {
erpnext.startup.start();
erpnext.startup.start();
});

View File

@@ -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 @@ erpnext.toolbar.setup = function() {
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')
}

View File

@@ -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>

View File

@@ -0,0 +1,3 @@
pscript['onload_stock-home'] = function(wrapper) {
erpnext.module_page.setup_page('Stock', wrapper);
}

View File

@@ -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'
}
]

View File

View File

@@ -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'
}
]

View File

@@ -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)

View File

@@ -14,7 +14,7 @@ erpnext.navbar.navbar = Class.extend({
$('.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 @@ pull-right },
$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 @@ erpnext.Footer = Class.extend({
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];

View File

@@ -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'
}
]

View File

@@ -1077,7 +1077,8 @@ $dh(dialog_message);if(!fcount)return;fcount--;if(!fcount){$dh(dialog_back);froz
*/
var fcount=0;var frozen=0;var dialog_message;var dialog_back;function freeze(msg,do_freeze){if(!dialog_back){dialog_back=$a($i('body_div'),'div','dialog_back');if(isIE)dialog_back.style['filter']='alpha(opacity=60)';}
$ds(dialog_back);fcount++;frozen=1;}
function unfreeze(){if(dialog_message)
function unfreeze(){if(dialog_message)
$dh(dialog_message);if(!fcount)return;fcount--;if(!fcount){$dh(dialog_back);frozen=0;}}
/*
* lib/js/legacy/webpage/error_console.js
*/
@@ -1334,7 +1335,7 @@ this.make_options();this.make_tools();this.set_user_name();this.make_logout();$(
<a class="dropdown-toggle" data-toggle="dropdown" href="#" \
onclick="return false;" id="toolbar-user-link"></a>\
<ul class="dropdown-menu" id="toolbar-user">\
</ul>\
</ul>\
</li>\
</ul>\
</div>\
@@ -1375,7 +1376,8 @@ this.setup_sidebar_menu=function(){if(this.left_sidebar&&this.cp.show_sidebar_me
this.ready=function(){$dh('startup_div');$ds('body_div');}
this.setup_page_areas=function(){var n=this.no_of_columns();this.body_table=make_table(this.body,1,n,'100%');$y(this.body_table,{tableLayout:'fixed'});var c=0;this.left_sidebar=$td(this.body_table,0,c);$y(this.left_sidebar,{width:cint(this.cp.left_sidebar_width)+'px'});c++;this.center=$a($td(this.body_table,0,c),'div');c++;if(cint(this.cp.right_sidebar_width)){this.right_sidebar=$td(this.body_table,0,c);$y(this.right_sidebar,{width:cint(this.cp.right_sidebar_width)+'px'})
c++;}
this.center.header=$a(this.center,'div');this.center.body=$a(this.center,'div');this.center.loading=$a(this.center,'div','',{margin:'200px 0px',fontSize:'14px',color:'#999',textAlign:'center'});this.center.loading.innerHTML='Loading...'}
this.center.header=$a(this.center,'div');this.center.body=$a(this.center,'div');this.center.loading=$a(this.center,'div','',{margin:'200px 0px',fontSize:'14px',color:'#999',textAlign:'center'});this.center.loading.innerHTML='Loading...'}
this.setup_sidebar_menu=function(){if(this.left_sidebar&&this.cp.show_sidebar_menu){sidebar_menu=new SidebarMenu();sidebar_menu.make_menu('');}}
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();}
@@ -1799,7 +1801,7 @@ cur_frm.comments.list.dt=cur_frm.doctype;cur_frm.comments.list.dn=cur_frm.docnam
if(frm&&frm==cur_frm){frm.set_heading();}}}
_f.Frm.prototype.show_comments=function(){if(!cur_frm.comments){cur_frm.comments=new Dialog(540,400,'Comments');cur_frm.comments.comment_body=$a(cur_frm.comments.body,'div','dialog_frm');$y(cur_frm.comments.body,{backgroundColor:'#EEE'});cur_frm.comments.list=new CommentList(cur_frm.comments.comment_body);}
cur_frm.comments.list.dt=cur_frm.doctype;cur_frm.comments.list.dn=cur_frm.docname;cur_frm.comments.show();cur_frm.comments.list.run();}
/*
/*
* lib/js/legacy/widgets/form/form_fields.js
*/
_f.ColumnBreak=function(){this.set_input=function(){};}
@@ -2163,7 +2165,6 @@ if(r.dt_labels){for(key in r.dt_labels)session.rev_dt_labels[r.dt_labels[key]]=k
/*
* lib/js/legacy/app.js
*/
var popup_cont;var session={};var start_sid=null;if(!wn)var wn={};function startup(){start_sid=get_cookie('sid');popup_cont=$a(document.getElementsByTagName('body')[0],'div');var setup_globals=function(r){wn.boot=r;profile=r.profile;user=r.profile.name;user_fullname=profile.first_name+(r.profile.last_name?(' '+r.profile.last_name):'');user_defaults=profile.defaults;user_roles=profile.roles;user_email=profile.email;profile.start_items=r.start_items;home_page=r.home_page;_p.letter_heads=r.letter_heads;sys_defaults=r.sysdefaults;session.rt=profile.can_read;if(r.ipinfo)session.ipinfo=r.ipinfo;session.dt_labels=r.dt_labels;session.rev_dt_labels={}
var popup_cont;var session={};var start_sid=null;if(!wn)var wn={};function startup(){start_sid=get_cookie('sid');popup_cont=$a(document.getElementsByTagName('body')[0],'div');var setup_globals=function(r){wn.boot=r;profile=r.profile;user=r.profile.name;user_fullname=profile.first_name+(r.profile.last_name?(' '+r.profile.last_name):'');user_defaults=profile.defaults;user_roles=profile.roles;user_email=profile.email;profile.start_items=r.start_items;home_page=r.home_page;_p.letter_heads=r.letter_heads;sys_defaults=r.sysdefaults;session.rt=profile.can_read;if(r.ipinfo)session.ipinfo=r.ipinfo;session.dt_labels=r.dt_labels;session.rev_dt_labels={}
if(r.dt_labels){for(key in r.dt_labels)session.rev_dt_labels[r.dt_labels[key]]=key;}
wn.control_panel=r.control_panel;}
@@ -2220,6 +2221,11 @@ $(document).bind('startup',function(){erpnext.startup.start();});
var update_messages=function(){if(inList(['Guest','Administrator'],user)){return;}
$c_page('home','event_updates','get_unread_messages',null,function(r,rt){if(!r.exc){page_body.wntoolbar.set_new_comments(r.message);}});}
erpnext.startup.set_periodic_updates=function(){wn.updates={};if(wn.updates.id){clearInterval(wn.updates.id);}
wn.updates.id=setInterval(update_messages,180000);}
$(document).bind('startup',function(){erpnext.startup.start();});
/*
* erpnext/startup/modules.js
*/
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}});}
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(get_label_doctype(dt))==-1){var txt=$(this).text();$(this).parent().css('color','#999').html(txt);}});$(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);}});$(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);}});}
erpnext.module_page.make_list=function(module,wrapper){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" \
@@ -2262,7 +2268,7 @@ si.show_section(me.det.doc_type);}}
loadpage(label,null,1);}}
SidebarModuleItem=function(si,det){this.det=det;var me=this;this.pointer=new MenuPointer(si.items_area,get_doctype_label(det.doc_name));$y(si.items_area,{marginLeft:'32px'})
$y($td(this.pointer.tab,0,0),{fontSize:'11px'});this.pointer.wrapper.onclick=function(){if(me.det.doc_type=='Forms')
loaddocbrowser(det.doc_name);else
loaddocbrowser(det.doc_name);else
si.show_section(me.det.doc_type);}}
/*
* erpnext/startup/toolbar.js
@@ -2276,6 +2282,23 @@ $('#toolbar-help').append('<li><a href="http://www.providesupport.com?messenger=
$('#toolbar-help').append('<li><a href="http://erpnext.blogspot.com/2011/03/erpnext-help.html" target="_blank">\
Documentation</a></li>')
$('#toolbar-help').append('<li><a href="http://groups.google.com/group/erpnext-user-forum" target="_blank">\
Forum</a></li>')
$('#toolbar-help').append('<li><a href="http://www.providesupport.com?messenger=iwebnotes" target="_blank">\
Live Chat (Office Hours)</a></li>')
if(pscript.is_erpnext_saas&&is_system_manager){$('#toolbar-user').append('<li><a href="#billing">Billing</a></li>')}
$.extend(page_body.wntoolbar,{set_new_comments:function(new_comments){var navbar_nc=$('#toolbar-new-comments');if(new_comments&&new_comments.length>0){navbar_nc.html('<span class="navbar-new-comments">'+new_comments.length+'</span>');navbar_nc.click(function(){loadpage('My Company');});$.each(new_comments,function(i,v){var msg='New Message: '+(v[1].length<=100?v[1]:(v[1].substr(0,100)+"..."));var id=v[0].replace('/','-');if(!$('#'+id)[0]){show_alert(msg,id);}})}else{navbar_nc.html('');navbar_nc.click(function(){return false;});}}});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>\

View File

@@ -800,7 +800,8 @@ $dh(dialog_message);if(!fcount)return;fcount--;if(!fcount){$dh(dialog_back);froz
/*
* 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.setup_sidebar_menu=function(){if(this.left_sidebar&&this.cp.show_sidebar_me
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 @@ if(r.dt_labels){for(key in r.dt_labels)session.rev_dt_labels[r.dt_labels[key]]=k
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 @@ $(document).bind('startup',function(){erpnext.startup.start();});
/*
* 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 @@ wn.provide('erpnext.navbar');erpnext.navbar.navbar=Class.extend({init:function()
</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">&copy; %(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();})

View File

@@ -1 +1 @@
589
637