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
/*
* 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")}
@ -1334,7 +1335,7 @@ this.make_options();this.make_tools();this.set_user_name();this.make_logout();$(
</ul>\
</div>\
</div>\
</div>');},make_home:function(){$('.navbar .nav:first').append('<li><a href="#'+home_page+'">Home</a></li>')},make_document:function(){wn.ui.toolbar.new_dialog=new wn.ui.toolbar.NewDialog();wn.ui.toolbar.search=new wn.ui.toolbar.Search();wn.ui.toolbar.report=new wn.ui.toolbar.Report();$('.navbar .nav:first').append('<li class="dropdown">\
</div>');},make_home:function(){$('.navbar .nav:first').append('<li data-name="navbar-home"><a href="#'+home_page+'">Home</a></li>')},make_document:function(){wn.ui.toolbar.new_dialog=new wn.ui.toolbar.NewDialog();wn.ui.toolbar.search=new wn.ui.toolbar.Search();wn.ui.toolbar.report=new wn.ui.toolbar.Report();$('.navbar .nav:first').append('<li class="dropdown">\
<a class="dropdown-toggle" href="#" data-toggle="dropdown"\
onclick="return false;">Document<b class="caret"></b></a>\
<ul class="dropdown-menu" id="toolbar-document">\
@ -1375,7 +1376,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;}
@ -1799,7 +1801,7 @@ cur_frm.comments.list.dt=cur_frm.doctype;cur_frm.comments.list.dn=cur_frm.docnam
*/
_f.ColumnBreak=function(){this.set_input=function(){};}
_f.ColumnBreak.prototype.make_body=function(){if((!this.perm[this.df.permlevel])||(!this.perm[this.df.permlevel][READ])||this.df.hidden){return;}
this.cell=this.frm.layout.addcell(this.df.width);$y(this.cell.wrapper,{padding:'8px'});_f.cur_col_break_width=this.df.width;var fn=this.df.fieldname?this.df.fieldname:this.df.label;if(this.df&&this.df.label){this.label=$a(this.cell.wrapper,'h3','','',this.df.label);}}
this.cell=this.frm.layout.addcell(this.df.width);$y(this.cell.wrapper,{padding:'8px'});_f.cur_col_break_width=this.df.width;var fn=this.df.fieldname?this.df.fieldname:this.df.label;if(this.df&&this.df.label){this.label=$a(this.cell.wrapper,'div','','',this.df.label);}}
_f.ColumnBreak.prototype.refresh=function(layout){if(!this.cell)return;var fn=this.df.fieldname?this.df.fieldname:this.df.label;if(fn){this.df=get_field(this.doctype,fn,this.docname);if(this.set_hidden!=this.df.hidden){if(this.df.hidden)
this.cell.hide();else
this.cell.show();this.set_hidden=this.df.hidden;}}}
@ -2163,7 +2165,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)
@ -2220,6 +2221,11 @@ $(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" \
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(){$y(page_body.left_sidebar,{width:(100/6)+'%',paddingTop:'8px'});var callback=function(r,rt){var ml=r.message;page_body.left_sidebar.innerHTML='';for(var m=0;m<ml.length;m++){if(ml[m]){new SidebarItem(ml[m]);}}
nav_obj.observers.push({notify:function(t,dt,dn){pscript.select_sidebar_menu(t,dt,dn);}});var no=nav_obj.ol[nav_obj.ol.length-1];if(no&&menu_item_map[decodeURIComponent(no[0])][decodeURIComponent(no[1])])
pscript.select_sidebar_menu(decodeURIComponent(no[0]),decodeURIComponent(no[1]));}
@ -2262,7 +2268,7 @@ si.show_section(me.det.doc_type);}}
/*
* erpnext/startup/toolbar.js
*/
wn.provide('erpnext.toolbar');erpnext.toolbar.setup=function(){$('#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('\
wn.provide('erpnext.toolbar');erpnext.toolbar.setup=function(){erpnext.toolbar.add_modules();$('#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>');$('.navbar .pull-right').append('<li class="dropdown">\
<a class="dropdown-toggle" data-toggle="dropdown" href="#" \
onclick="return false;">Help<b class="caret"></b></a>\
@ -2276,6 +2282,23 @@ $('#toolbar-help').append('<li><a href="http://www.providesupport.com?messenger=
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>\
</ul>\
</li>').insertAfter('li[data-name="navbar-home"]');$('.navbar .nav:first')}
/*
* erpnext/startup/feature_setup.js
*/

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