Merge branch 'i18n' of git://github.com/bperretti/erpnext into bperretti-i18n

This commit is contained in:
Nabin Hait
2013-10-24 11:40:32 +05:30
112 changed files with 677 additions and 617 deletions

View File

@@ -11,7 +11,7 @@ cur_frm.cscript.onload = function(doc, cdt, cdn) {
// -----------------------------------------
cur_frm.cscript.refresh = function(doc, cdt, cdn) {
if(doc.__islocal) {
msgprint("Please create new account from Chart of Accounts.");
msgprint(wn._("Please create new account from Chart of Accounts."));
throw "cannot create";
}
@@ -38,7 +38,7 @@ cur_frm.cscript.refresh = function(doc, cdt, cdn) {
// read-only for root accounts
if(!doc.parent_account) {
cur_frm.perm = [[1,0,0], [1,0,0]];
cur_frm.set_intro("This is a root account and cannot be edited.");
cur_frm.set_intro(wn._("This is a root account and cannot be edited."));
} else {
// credit days and type if customer or supplier
cur_frm.set_intro(null);
@@ -81,17 +81,17 @@ cur_frm.cscript.account_type = function(doc, cdt, cdn) {
// Hide/unhide group or ledger
// -----------------------------------------
cur_frm.cscript.add_toolbar_buttons = function(doc) {
cur_frm.add_custom_button('Chart of Accounts',
cur_frm.add_custom_button(wn._('Chart of Accounts'),
function() { wn.set_route("Accounts Browser", "Account"); }, 'icon-sitemap')
if (cstr(doc.group_or_ledger) == 'Group') {
cur_frm.add_custom_button('Convert to Ledger',
cur_frm.add_custom_button(wn._('Convert to Ledger'),
function() { cur_frm.cscript.convert_to_ledger(); }, 'icon-retweet')
} else if (cstr(doc.group_or_ledger) == 'Ledger') {
cur_frm.add_custom_button('Convert to Group',
cur_frm.add_custom_button(wn._('Convert to Group'),
function() { cur_frm.cscript.convert_to_group(); }, 'icon-retweet')
cur_frm.add_custom_button('View Ledger', function() {
cur_frm.add_custom_button(wn._('View Ledger'), function() {
wn.route_options = {
"account": doc.name,
"from_date": sys_defaults.year_start_date,

View File

@@ -41,8 +41,8 @@ cur_frm.cscript.refresh = function(doc, cdt, cdn) {
cur_frm.toggle_enable(['group_or_ledger', 'company'], doc.__islocal);
if(!doc.__islocal && doc.group_or_ledger=='Group') {
intro_txt += '<p><b>Note:</b> This Cost Center is a <i>Group</i>, \
Accounting Entries are not allowed against groups.</p>';
intro_txt += '<p><b>'+wn._('Note:')+'</b>'+ wn._('This Cost Center is a')+ '<i>'+wn._('Group')+'</i>, '+
wn._('Accounting Entries are not allowed against groups.')+'</p>';
}
cur_frm.cscript.hide_unhide_group_ledger(doc);
@@ -50,22 +50,22 @@ cur_frm.cscript.refresh = function(doc, cdt, cdn) {
cur_frm.toggle_display('sb1', doc.group_or_ledger=='Ledger')
cur_frm.set_intro(intro_txt);
cur_frm.add_custom_button('Chart of Cost Centers',
cur_frm.add_custom_button(wn._('Chart of Cost Centers'),
function() { wn.set_route("Accounts Browser", "Cost Center"); }, 'icon-sitemap')
}
cur_frm.cscript.parent_cost_center = function(doc,cdt,cdn){
if(!doc.company){
alert('Please enter company name first');
alert(wn._('Please enter company name first'));
}
}
cur_frm.cscript.hide_unhide_group_ledger = function(doc) {
if (cstr(doc.group_or_ledger) == 'Group') {
cur_frm.add_custom_button('Convert to Ledger',
cur_frm.add_custom_button(wn._('Convert to Ledger'),
function() { cur_frm.cscript.convert_to_ledger(); }, 'icon-retweet')
} else if (cstr(doc.group_or_ledger) == 'Ledger') {
cur_frm.add_custom_button('Convert to Group',
cur_frm.add_custom_button(wn._('Convert to Group'),
function() { cur_frm.cscript.convert_to_group(); }, 'icon-retweet')
}
}

View File

@@ -5,8 +5,8 @@ cur_frm.cscript.refresh = function(doc, dt, dn) {
cur_frm.toggle_enable('year_start_date', doc.__islocal)
if (!doc.__islocal && (doc.name != sys_defaults.fiscal_year)) {
cur_frm.add_custom_button("Set as Default", cur_frm.cscript.set_as_default);
cur_frm.set_intro("To set this Fiscal Year as Deafult, click on 'Set as Default'");
cur_frm.add_custom_button(wn._("Set as Default"), cur_frm.cscript.set_as_default);
cur_frm.set_intro(wn._("To set this Fiscal Year as Deafult, click on 'Set as Default'"));
} else cur_frm.set_intro("");
}

View File

@@ -115,7 +115,7 @@ cur_frm.cscript.refresh = function(doc) {
erpnext.hide_naming_series();
cur_frm.cscript.voucher_type(doc);
if(doc.docstatus==1) {
cur_frm.add_custom_button('View Ledger', function() {
cur_frm.add_custom_button(wn._('View Ledger'), function() {
wn.route_options = {
"voucher_no": doc.name,
"from_date": doc.posting_date,
@@ -185,7 +185,7 @@ cur_frm.cscript.select_print_heading = function(doc,cdt,cdn){
cur_frm.pformat.print_heading = doc.select_print_heading;
}
else
cur_frm.pformat.print_heading = "Journal Voucher";
cur_frm.pformat.print_heading = wn._("Journal Voucher");
}
cur_frm.cscript.voucher_type = function(doc, cdt, cdn) {

View File

@@ -13,15 +13,15 @@ cur_frm.cscript.onload_post_render = function(doc) {
cur_frm.cscript.refresh = function(doc) {
cur_frm.set_intro("");
if(!doc.voucher_no) {
cur_frm.set_intro("Select the Invoice against which you want to allocate payments.");
cur_frm.set_intro(wn._("Select the Invoice against which you want to allocate payments."));
} else {
cur_frm.set_intro("Set allocated amount against each Payment Entry and click 'Allocate'.");
cur_frm.set_intro(wn._("Set allocated amount against each Payment Entry and click 'Allocate'."));
}
}
cur_frm.fields_dict.voucher_no.get_query = function(doc) {
// TO-do: check for pos, it should not come
if (!doc.account) msgprint("Please select Account first");
if (!doc.account) msgprint(wn._("Please select Account first"));
else {
return {
doctype: doc.voucher_type,

View File

@@ -27,10 +27,10 @@ erpnext.accounts.PurchaseInvoice = erpnext.buying.BuyingController.extend({
// Show / Hide button
if(doc.docstatus==1 && doc.outstanding_amount > 0)
this.frm.add_custom_button('Make Payment Entry', this.make_bank_voucher);
this.frm.add_custom_button(wn._('Make Payment Entry'), this.make_bank_voucher);
if(doc.docstatus==1) {
cur_frm.add_custom_button('View Ledger', function() {
cur_frm.add_custom_button(wn._('View Ledger'), function() {
wn.route_options = {
"voucher_no": doc.name,
"from_date": doc.posting_date,
@@ -214,5 +214,5 @@ cur_frm.cscript.select_print_heading = function(doc,cdt,cdn){
cur_frm.pformat.print_heading = doc.select_print_heading;
}
else
cur_frm.pformat.print_heading = "Purchase Invoice";
cur_frm.pformat.print_heading = wn._("Purchase Invoice");
}

View File

@@ -62,12 +62,12 @@ cur_frm.pformat.purchase_tax_details= function(doc){
cur_frm.cscript.add_deduct_tax = function(doc, cdt, cdn) {
var d = locals[cdt][cdn];
if(!d.category && d.add_deduct_tax){
alert("Please select Category first");
alert(wn._("Please select Category first"));
d.add_deduct_tax = '';
}
else if(d.category != 'Total' && d.add_deduct_tax == 'Deduct') {
console.log([d.category, d.add_deduct_tax]);
msgprint("You cannot deduct when category is for 'Valuation' or 'Valuation and Total'");
msgprint(wn._("You cannot deduct when category is for 'Valuation' or 'Valuation and Total'"));
d.add_deduct_tax = '';
}
@@ -76,15 +76,15 @@ cur_frm.cscript.add_deduct_tax = function(doc, cdt, cdn) {
cur_frm.cscript.charge_type = function(doc, cdt, cdn) {
var d = locals[cdt][cdn];
if(!d.category && d.charge_type){
alert("Please select Category first");
alert(wn._("Please select Category first"));
d.charge_type = '';
}
else if(d.idx == 1 && (d.charge_type == 'On Previous Row Amount' || d.charge_type == 'On Previous Row Total')){
alert("You cannot select Charge Type as 'On Previous Row Amount' or 'On Previous Row Total' for first row");
alert(wn._("You cannot select Charge Type as 'On Previous Row Amount' or 'On Previous Row Total' for first row"));
d.charge_type = '';
}
else if((d.category == 'Valuation' || d.category == 'Valuation and Total') && (d.charge_type == 'On Previous Row Amount' || d.charge_type == 'On Previous Row Total')){
alert("You cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for valuation. You can select only 'Total' option for previous row amount or previous row total")
alert(wn._("You cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for valuation. You can select only 'Total' option for previous row amount or previous row total"))
d.charge_type = '';
}
validated = false;
@@ -99,16 +99,16 @@ cur_frm.cscript.charge_type = function(doc, cdt, cdn) {
cur_frm.cscript.row_id = function(doc, cdt, cdn) {
var d = locals[cdt][cdn];
if(!d.charge_type && d.row_id){
alert("Please select Charge Type first");
alert(wn._("Please select Charge Type first"));
d.row_id = '';
}
else if((d.charge_type == 'Actual' || d.charge_type == 'On Net Total') && d.row_id) {
alert("You can Enter Row only if your Charge Type is 'On Previous Row Amount' or ' Previous Row Total'");
alert(wn._("You can Enter Row only if your Charge Type is 'On Previous Row Amount' or ' Previous Row Total'"));
d.row_id = '';
}
else if((d.charge_type == 'On Previous Row Amount' || d.charge_type == 'On Previous Row Total') && d.row_id){
if(d.row_id >= d.idx){
alert("You cannot Enter Row no. greater than or equal to current row no. for this Charge type");
alert(wn._("You cannot Enter Row no. greater than or equal to current row no. for this Charge type"));
d.row_id = '';
}
}
@@ -136,10 +136,27 @@ cur_frm.fields_dict['purchase_tax_details'].grid.get_field("cost_center").get_qu
}
}
<<<<<<< HEAD
cur_frm.cscript.account_head = function(doc, cdt, cdn) {
var d = locals[cdt][cdn];
if(!d.charge_type && d.account_head){
alert(wn._("Please select Charge Type first"));
validated = false;
d.account_head = '';
}
else if(d.account_head && d.charge_type) {
arg = "{'charge_type' : '" + d.charge_type + "', 'account_head' : '" + d.account_head + "'}";
return get_server_fields('get_rate', arg, 'purchase_tax_details', doc, cdt, cdn, 1);
}
refresh_field('account_head',d.name,'purchase_tax_details');
}
=======
>>>>>>> f146e8b7f52a3e46e335c0fefd92c347717b370b
cur_frm.cscript.rate = function(doc, cdt, cdn) {
var d = locals[cdt][cdn];
if(!d.charge_type && d.rate) {
alert("Please select Charge Type first");
alert(wn._("Please select Charge Type first"));
d.rate = '';
}
validated = false;
@@ -149,11 +166,11 @@ cur_frm.cscript.rate = function(doc, cdt, cdn) {
cur_frm.cscript.tax_amount = function(doc, cdt, cdn) {
var d = locals[cdt][cdn];
if(!d.charge_type && d.tax_amount){
alert("Please select Charge Type first");
alert(wn._("Please select Charge Type first"));
d.tax_amount = '';
}
else if(d.charge_type && d.tax_amount) {
alert("You cannot directly enter Amount and if your Charge Type is Actual enter your amount in Rate");
alert(wn._("You cannot directly enter Amount and if your Charge Type is Actual enter your amount in Rate"));
d.tax_amount = '';
}
validated = false;

View File

@@ -61,7 +61,7 @@ erpnext.accounts.SalesInvoiceController = erpnext.selling.SellingController.exte
var percent_paid = cint(flt(doc.grand_total - doc.outstanding_amount) / flt(doc.grand_total) * 100);
cur_frm.dashboard.add_progress(percent_paid + "% Paid", percent_paid);
cur_frm.add_custom_button('Send SMS', cur_frm.cscript.send_sms);
cur_frm.add_custom_button(wn._('Send SMS'), cur_frm.cscript.send_sms);
if(cint(doc.update_stock)!=1) {
// show Make Delivery Note button only if Sales Invoice is not created from Delivery Note
@@ -72,11 +72,11 @@ erpnext.accounts.SalesInvoiceController = erpnext.selling.SellingController.exte
});
if(!from_delivery_note)
cur_frm.add_custom_button('Make Delivery', cur_frm.cscript['Make Delivery Note']);
cur_frm.add_custom_button(wn._('Make Delivery'), cur_frm.cscript['Make Delivery Note']);
}
if(doc.outstanding_amount!=0)
cur_frm.add_custom_button('Make Payment Entry', cur_frm.cscript.make_bank_voucher);
cur_frm.add_custom_button(wn._('Make Payment Entry'), cur_frm.cscript.make_bank_voucher);
}
// Show buttons only when pos view is active

View File

@@ -95,7 +95,7 @@ cur_frm.pformat.other_charges= function(doc){
cur_frm.cscript.charge_type = function(doc, cdt, cdn) {
var d = locals[cdt][cdn];
if(d.idx == 1 && (d.charge_type == 'On Previous Row Amount' || d.charge_type == 'On Previous Row Total')){
alert("You cannot select Charge Type as 'On Previous Row Amount' or 'On Previous Row Total' for first row");
alert(wn._("You cannot select Charge Type as 'On Previous Row Amount' or 'On Previous Row Total' for first row"));
d.charge_type = '';
}
validated = false;
@@ -108,16 +108,16 @@ cur_frm.cscript.charge_type = function(doc, cdt, cdn) {
cur_frm.cscript.row_id = function(doc, cdt, cdn) {
var d = locals[cdt][cdn];
if(!d.charge_type && d.row_id){
alert("Please select Charge Type first");
alert(wn._("Please select Charge Type first"));
d.row_id = '';
}
else if((d.charge_type == 'Actual' || d.charge_type == 'On Net Total') && d.row_id) {
alert("You can Enter Row only if your Charge Type is 'On Previous Row Amount' or ' Previous Row Total'");
alert(wn._("You can Enter Row only if your Charge Type is 'On Previous Row Amount' or ' Previous Row Total'"));
d.row_id = '';
}
else if((d.charge_type == 'On Previous Row Amount' || d.charge_type == 'On Previous Row Total') && d.row_id){
if(d.row_id >= d.idx){
alert("You cannot Enter Row no. greater than or equal to current row no. for this Charge type");
alert(wn._("You cannot Enter Row no. greater than or equal to current row no. for this Charge type"));
d.row_id = '';
}
}
@@ -145,10 +145,28 @@ cur_frm.fields_dict['other_charges'].grid.get_field("cost_center").get_query = f
}
}
<<<<<<< HEAD
cur_frm.cscript.account_head = function(doc, cdt, cdn) {
var d = locals[cdt][cdn];
if(!d.charge_type && d.account_head){
alert(wn._("Please select Charge Type first"));
validated = false;
d.account_head = '';
}
else if(d.account_head && d.charge_type) {
arg = "{'charge_type' : '" + d.charge_type +"', 'account_head' : '" + d.account_head + "'}";
return get_server_fields('get_rate', arg, 'other_charges', doc, cdt, cdn, 1);
}
refresh_field('account_head',d.name,'other_charges');
}
=======
>>>>>>> f146e8b7f52a3e46e335c0fefd92c347717b370b
cur_frm.cscript.rate = function(doc, cdt, cdn) {
var d = locals[cdt][cdn];
if(!d.charge_type && d.rate) {
alert("Please select Charge Type first");
alert(wn._("Please select Charge Type first"));
d.rate = '';
}
validated = false;
@@ -158,11 +176,11 @@ cur_frm.cscript.rate = function(doc, cdt, cdn) {
cur_frm.cscript.tax_amount = function(doc, cdt, cdn) {
var d = locals[cdt][cdn];
if(!d.charge_type && d.tax_amount){
alert("Please select Charge Type first");
alert(wn._("Please select Charge Type first"));
d.tax_amount = '';
}
else if(d.charge_type && d.tax_amount) {
alert("You cannot directly enter Amount and if your Charge Type is Actual enter your amount in Rate");
alert(wn._("You cannot directly enter Amount and if your Charge Type is Actual enter your amount in Rate"));
d.tax_amount = '';
}
validated = false;

View File

@@ -20,29 +20,31 @@ pscript['onload_Accounts Browser'] = function(wrapper){
chart_area = $("<div>")
.css({"margin-bottom": "15px"})
.appendTo(main),
help_area = $('<div class="well">\
<h4>Quick Help</h4>\
<ol>\
<li>To add child nodes, explore tree and click on the node under which you \
want to add more nodes.\
<li>Accounting Entries can be made against leaf nodes, called <b>Ledgers</b>.\
Entries against <b>Groups</b> are not allowed.\
<li>Please do NOT create Account (Ledgers) for Customers and Suppliers. \
They are created directly from the Customer / Supplier masters.\
<li><b>To create a Bank Account:</b> Go to the appropriate group \
(usually Application of Funds > Current Assets > Bank Accounts)\
and create a new Account Ledger (by clicking on Add Child) of \
type "Bank or Cash"\
<li><b>To create a Tax Account:</b> Go to the appropriate group \
(usually Source of Funds > Current Liabilities > Taxes and Duties) \
and create a new Account Ledger (by clicking on Add Child) of type\
"Tax" and do mention the Tax rate.\
</ol>\
<p>Please setup your chart of accounts before you start Accounting Entries</p>\
</div>').appendTo(main);
help_area = $('<div class="well">'+
'<h4>'+wn._('Quick Help')+'</h4>'+
'<ol>'+
'<li>'+wn._('To add child nodes, explore tree and click on the node under which you want to add more nodes.')+'</li>'+
'<li>'+
wn._('Accounting Entries can be made against leaf nodes, called')+
'<b>' +wn._('Ledgers')+'</b>.'+ wn._('Entries against') +
'<b>' +wn._('Groups') + '</b>'+ wn._('are not allowed.')+
'</li>'+
'<li>'+wn._('Please do NOT create Account (Ledgers) for Customers and Suppliers. They are created directly from the Customer / Supplier masters.')+'</li>'+
'<li>'+
'<b>'+wn._('To create a Bank Account:')+'</b>'+
wn._('Go to the appropriate group (usually Application of Funds > Current Assets > Bank Accounts)')+
wn._('and create a new Account Ledger (by clicking on Add Child) of type "Bank or Cash"')+
'</li>'+
'<li>'+
'<b>'+wn._('To create a Tax Account:')+'</b>'+
wn._('Go to the appropriate group (usually Source of Funds > Current Liabilities > Taxes and Duties)')+
wn._('and create a new Account Ledger (by clicking on Add Child) of type "Tax" and do mention the Tax rate.')+
'</li>'+
'</ol>'+
'<p>'+wn._('Please setup your chart of accounts before you start Accounting Entries')+'</p></div>').appendTo(main);
if (wn.boot.profile.can_create.indexOf("Company") !== -1) {
wrapper.appframe.add_button('New Company', function() { newdoc('Company'); },
wrapper.appframe.add_button(wn._('New Company'), function() { newdoc('Company'); },
'icon-plus');
}
@@ -145,20 +147,20 @@ erpnext.AccountsChart = Class.extend({
var node_links = [];
// edit
if (wn.model.can_read(this.ctype) !== -1) {
node_links.push('<a onclick="erpnext.account_chart.open();">Edit</a>');
node_links.push('<a onclick="erpnext.account_chart.open();">'+wn._('Edit')+'</a>');
}
if (data.expandable && wn.boot.profile.in_create.indexOf(this.ctype) !== -1) {
node_links.push('<a onclick="erpnext.account_chart.new_node();">Add Child</a>');
node_links.push('<a onclick="erpnext.account_chart.new_node();">'+wn._('Add Child')+'</a>');
} else if (this.ctype === 'Account' && wn.boot.profile.can_read.indexOf("GL Entry") !== -1) {
node_links.push('<a onclick="erpnext.account_chart.show_ledger();">View Ledger</a>');
node_links.push('<a onclick="erpnext.account_chart.show_ledger();">'+wn._('View Ledger')+'</a>');
}
if (this.can_write) {
node_links.push('<a onclick="erpnext.account_chart.rename()">Rename</a>');
node_links.push('<a onclick="erpnext.account_chart.rename()">'+wn._('Rename')+'</a>');
};
if (this.can_delete) {
node_links.push('<a onclick="erpnext.account_chart.delete()">Delete</a>');
node_links.push('<a onclick="erpnext.account_chart.delete()">'+wn._('Delete')+'</a>');
};
link.toolbar.append(node_links.join(" | "));
@@ -204,20 +206,20 @@ erpnext.AccountsChart = Class.extend({
// the dialog
var d = new wn.ui.Dialog({
title:'New Account',
title:wn._('New Account'),
fields: [
{fieldtype:'Data', fieldname:'account_name', label:'New Account Name', reqd:true,
description: "Name of new Account. Note: Please don't create accounts for Customers and Suppliers, \
they are created automatically from the Customer and Supplier master"},
{fieldtype:'Select', fieldname:'group_or_ledger', label:'Group or Ledger',
options:'Group\nLedger', description:'Further accounts can be made under Groups,\
but entries can be made against Ledger'},
{fieldtype:'Select', fieldname:'account_type', label:'Account Type',
{fieldtype:'Data', fieldname:'account_name', label:wn._('New Account Name'), reqd:true,
description: wn._("Name of new Account. Note: Please don't create accounts for Customers and Suppliers,")+
wn._("they are created automatically from the Customer and Supplier master")},
{fieldtype:'Select', fieldname:'group_or_ledger', label:wn._('Group or Ledger'),
options:'Group\nLedger', description: wn._('Further accounts can be made under Groups,')+
wn._('but entries can be made against Ledger')},
{fieldtype:'Select', fieldname:'account_type', label:wn._('Account Type'),
options: ['', 'Fixed Asset Account', 'Bank or Cash', 'Expense Account', 'Tax',
'Income Account', 'Chargeable'].join('\n'),
description: "Optional. This setting will be used to filter in various transactions." },
{fieldtype:'Float', fieldname:'tax_rate', label:'Tax Rate'},
{fieldtype:'Button', fieldname:'create_new', label:'Create New' }
description: wn._("Optional. This setting will be used to filter in various transactions.") },
{fieldtype:'Float', fieldname:'tax_rate', label:wn._('Tax Rate')},
{fieldtype:'Button', fieldname:'create_new', label:wn._('Create New') }
]
})
@@ -282,13 +284,13 @@ erpnext.AccountsChart = Class.extend({
var me = this;
// the dialog
var d = new wn.ui.Dialog({
title:'New Cost Center',
title:wn._('New Cost Center'),
fields: [
{fieldtype:'Data', fieldname:'cost_center_name', label:'New Cost Center Name', reqd:true},
{fieldtype:'Select', fieldname:'group_or_ledger', label:'Group or Ledger',
options:'Group\nLedger', description:'Further accounts can be made under Groups,\
but entries can be made against Ledger'},
{fieldtype:'Button', fieldname:'create_new', label:'Create New' }
{fieldtype:'Data', fieldname:'cost_center_name', label:wn._('New Cost Center Name'), reqd:true},
{fieldtype:'Select', fieldname:'group_or_ledger', label:wn._('Group or Ledger'),
options:'Group\nLedger', description:wn._('Further accounts can be made under Groups,')+
wn._('but entries can be made against Ledger')},
{fieldtype:'Button', fieldname:'create_new', label:wn._('Create New') }
]
});

View File

@@ -88,12 +88,12 @@ wn.module_page["Accounts"] = [
{
"label": wn._("Period Closing Voucher"),
"doctype": "Period Closing Voucher",
description: "Close Balance Sheet and book Profit or Loss."
description: wn._("Close Balance Sheet and book Profit or Loss.")
},
{
"page":"voucher-import-tool",
"label": wn._("Voucher Import Tool"),
"description": "Import accounting entries from CSV."
"description": wn._("Import accounting entries from CSV.")
},
]
},
@@ -105,7 +105,7 @@ wn.module_page["Accounts"] = [
"label": wn._("Accounts Settings"),
"route": "Form/Accounts Settings",
"doctype":"Accounts Settings",
"description": "Settings for Accounts"
"description": wn._("Settings for Accounts")
},
{
"label": wn._("Sales Taxes and Charges Master"),
@@ -130,7 +130,7 @@ wn.module_page["Accounts"] = [
{
"label": wn._("Point-of-Sale Setting"),
"doctype":"POS Setting",
"description": "User settings for Point-of-sale (POS)"
"description": wn._("User settings for Point-of-sale (POS)")
},
{
"doctype":"Budget Distribution",
@@ -150,7 +150,7 @@ wn.module_page["Accounts"] = [
{
"doctype":"C-Form",
"label": wn._("C-Form"),
description: "C-Form records",
description: wn._("C-Form records"),
country: "India"
}
]

View File

@@ -6,7 +6,7 @@ wn.require("app/js/account_tree_grid.js");
wn.pages['financial-analytics'].onload = function(wrapper) {
wn.ui.make_app_page({
parent: wrapper,
title: 'Financial Analytics',
title: wn._('Financial Analytics'),
single_column: true
});
erpnext.trial_balance = new erpnext.FinancialAnalytics(wrapper, 'Financial Analytics');
@@ -18,7 +18,7 @@ wn.pages['financial-analytics'].onload = function(wrapper) {
erpnext.FinancialAnalytics = erpnext.AccountTreeGrid.extend({
filters: [
{fieldtype:"Select", label: "PL or BS", options:["Profit and Loss", "Balance Sheet"],
{fieldtype:"Select", label: wn._("PL or BS"), options:["Profit and Loss", "Balance Sheet"],
filter: function(val, item, opts, me) {
if(item._show) return true;
@@ -28,27 +28,27 @@ erpnext.FinancialAnalytics = erpnext.AccountTreeGrid.extend({
return me.apply_zero_filter(val, item, opts, me);
}},
{fieldtype:"Select", label: "Company", link:"Company", default_value: "Select Company...",
{fieldtype:"Select", label: wn._("Company"), link:"Company", default_value: "Select Company...",
filter: function(val, item, opts) {
return item.company == val || val == opts.default_value || item._show;
}},
{fieldtype:"Select", label: "Fiscal Year", link:"Fiscal Year",
{fieldtype:"Select", label: wn._("Fiscal Year"), link:"Fiscal Year",
default_value: "Select Fiscal Year..."},
{fieldtype:"Date", label: "From Date"},
{fieldtype:"Label", label: "To"},
{fieldtype:"Date", label: "To Date"},
{fieldtype:"Select", label: "Range",
{fieldtype:"Date", label: wn._("From Date")},
{fieldtype:"Label", label: wn._("To")},
{fieldtype:"Date", label: wn._("To Date")},
{fieldtype:"Select", label: wn._("Range"),
options:["Daily", "Weekly", "Monthly", "Quarterly", "Yearly"]},
{fieldtype:"Button", label: "Refresh", icon:"icon-refresh icon-white", cssClass:"btn-info"},
{fieldtype:"Button", label: "Reset Filters"}
{fieldtype:"Button", label: wn._("Refresh"), icon:"icon-refresh icon-white", cssClass:"btn-info"},
{fieldtype:"Button", label: wn._("Reset Filters")}
],
setup_columns: function() {
var std_columns = [
{id: "check", name: "Plot", field: "check", width: 30,
{id: "check", name: wn._("Plot"), field: "check", width: 30,
formatter: this.check_formatter},
{id: "name", name: "Account", field: "name", width: 300,
{id: "name", name: wn._("Account"), field: "name", width: 300,
formatter: this.tree_formatter},
{id: "opening", name: "Opening", field: "opening", hidden: true,
{id: "opening", name: wn._("Opening"), field: "opening", hidden: true,
formatter: this.currency_formatter}
];

View File

@@ -6,7 +6,7 @@ erpnext.fs = {}
pscript['onload_Financial Statements'] = function(wrapper) {
wn.ui.make_app_page({
parent: wrapper,
"title": "Financial Statements",
"title": wn._("Financial Statements"),
"single_column": true,
});
@@ -34,18 +34,18 @@ pscript['onload_Financial Statements'] = function(wrapper) {
options: ['Loading...']
})
wrapper.appframe.add_button("Create", function() {
wrapper.appframe.add_button(wn._("Create"), function() {
pscript.stmt_new();
}, "icon-refresh")
wrapper.appframe.add_button("Print", function() {
wrapper.appframe.add_button(wn._("Print"), function() {
_p.go($i('print_html').innerHTML);
}, "icon-print")
$(wrapper).find(".layout-main").html('<div id="print_html">\
<div id="stmt_title1" style="margin:16px 0px 4px 0px; font-size: 16px; font-weight: bold; color: #888;"></div>\
<div id="stmt_title2" style="margin:0px 0px 8px 0px; font-size: 16px; font-weight: bold;"></div>\
<div id="stmt_tree" style="margin: 0px 0px 16px; overflow: auto;">Please select options and click on Create</div>\
<div id="stmt_tree" style="margin: 0px 0px 16px; overflow: auto;">'+wn._('Please select options and click on Create')+'</div>\
</div>').css({"min-height": "400px"});
// load companies
@@ -61,7 +61,7 @@ pscript['onload_Financial Statements'] = function(wrapper) {
pscript.stmt_new = function(stmt,company_name,level,period,year) {
$i('stmt_tree').innerHTML = 'Refreshing....';
$i('stmt_tree').innerHTML = wn._('Refreshing....');
$i('stmt_tree').style.display = 'block';
var company =erpnext.fs.stmt_company.get_value();

View File

@@ -4,7 +4,7 @@
wn.pages['general-ledger'].onload = function(wrapper) {
wn.ui.make_app_page({
parent: wrapper,
title: 'General Ledger',
title: wn._('General Ledger'),
single_column: true
});
@@ -16,7 +16,7 @@ wn.pages['general-ledger'].onload = function(wrapper) {
erpnext.GeneralLedger = wn.views.GridReport.extend({
init: function(wrapper) {
this._super({
title: "General Ledger",
title: wn._("General Ledger"),
page: wrapper,
parent: $(wrapper).find('.layout-main'),
appframe: wrapper.appframe,
@@ -24,41 +24,42 @@ erpnext.GeneralLedger = wn.views.GridReport.extend({
});
},
setup_columns: function() {
var DEFAULT_COMPANY_VALUE = wn._("Select Company...");
this.columns = [
{id: "posting_date", name: "Posting Date", field: "posting_date", width: 100,
{id: "posting_date", name: wn._("Posting Date"), field: "posting_date", width: 100,
formatter: this.date_formatter},
{id: "account", name: "Account", field: "account", width: 240,
{id: "account", name: wn._("Account"), field: "account", width: 240,
link_formatter: {
filter_input: "account",
open_btn: true,
doctype: "'Account'"
}},
{id: "against_account", name: "Against Account", field: "against_account",
{id: "against_account", name: wn._("Against Account"), field: "against_account",
width: 240, hidden: !this.account},
{id: "debit", name: "Debit", field: "debit", width: 100,
{id: "debit", name: wn._("Debit"), field: "debit", width: 100,
formatter: this.currency_formatter},
{id: "credit", name: "Credit", field: "credit", width: 100,
{id: "credit", name: wn._("Credit"), field: "credit", width: 100,
formatter: this.currency_formatter},
{id: "voucher_type", name: "Voucher Type", field: "voucher_type", width: 120},
{id: "voucher_no", name: "Voucher No", field: "voucher_no", width: 160,
{id: "voucher_type", name: wn._("Voucher Type"), field: "voucher_type", width: 120},
{id: "voucher_no", name: wn._("Voucher No"), field: "voucher_no", width: 160,
link_formatter: {
filter_input: "voucher_no",
open_btn: true,
doctype: "dataContext.voucher_type"
}},
{id: "remarks", name: "Remarks", field: "remarks", width: 200,
{id: "remarks", name: wn._("Remarks"), field: "remarks", width: 200,
formatter: this.text_formatter},
];
},
filters: [
{fieldtype:"Select", label: "Company", link:"Company", default_value: "Select Company...",
{fieldtype:"Select", label: wn._("Company"), link:"Company", default_value: DEFAULT_COMPANY_VALUE,
filter: function(val, item, opts) {
return item.company == val || val == opts.default_value;
return item.company == val || val == DEFAULT_COMPANY_VALUE;
}},
{fieldtype:"Link", label: "Account", link:"Account",
{fieldtype:"Link", label: wn._("Account"), link:"Account",
filter: function(val, item, opts, me) {
if(!val) {
return true;
@@ -68,22 +69,22 @@ erpnext.GeneralLedger = wn.views.GridReport.extend({
return me.is_child_account(val, item.account);
}
}},
{fieldtype:"Data", label: "Voucher No",
{fieldtype:"Data", label: wn._("Voucher No"),
filter: function(val, item, opts) {
if(!val) return true;
return (item.voucher_no && item.voucher_no.indexOf(val)!=-1);
}},
{fieldtype:"Date", label: "From Date", filter: function(val, item) {
{fieldtype:"Date", label: wn._("From Date"), filter: function(val, item) {
return dateutil.str_to_obj(val) <= dateutil.str_to_obj(item.posting_date);
}},
{fieldtype:"Label", label: "To"},
{fieldtype:"Date", label: "To Date", filter: function(val, item) {
{fieldtype:"Label", label: wn._("To")},
{fieldtype:"Date", label: wn._("To Date"), filter: function(val, item) {
return dateutil.str_to_obj(val) >= dateutil.str_to_obj(item.posting_date);
}},
{fieldtype: "Check", label: "Group by Ledger"},
{fieldtype: "Check", label: "Group by Voucher"},
{fieldtype:"Button", label: "Refresh", icon:"icon-refresh icon-white", cssClass:"btn-info"},
{fieldtype:"Button", label: "Reset Filters"}
{fieldtype: "Check", label: wn._("Group by Ledger")},
{fieldtype: "Check", label: wn._("Group by Voucher")},
{fieldtype:"Button", label: wn._("Refresh"), icon:"icon-refresh icon-white", cssClass:"btn-info"},
{fieldtype:"Button", label: wn._("Reset Filters")}
],
setup_filters: function() {
this._super();
@@ -160,7 +161,7 @@ erpnext.GeneralLedger = wn.views.GridReport.extend({
var to_date = dateutil.str_to_obj(this.to_date);
if(to_date < from_date) {
msgprint("From Date must be before To Date");
msgprint(wn._("From Date must be before To Date"));
return;
}
@@ -236,7 +237,7 @@ erpnext.GeneralLedger = wn.views.GridReport.extend({
closing.credit = opening.credit + totals.credit;
if(me.account) {
me.appframe.set_title("General Ledger: " + me.account);
me.appframe.set_title(wn._("General Ledger: ") + me.account);
// group by ledgers
if(this.account_by_name[this.account].group_or_ledger==="Group"
@@ -254,7 +255,7 @@ erpnext.GeneralLedger = wn.views.GridReport.extend({
out = [opening].concat(out).concat([totals, closing]);
} else {
me.appframe.set_title("General Ledger");
me.appframe.set_title(wn._("General Ledger"));
out = out.concat([totals]);
}

View File

@@ -6,7 +6,7 @@ wn.require("app/js/account_tree_grid.js");
wn.pages['trial-balance'].onload = function(wrapper) {
wn.ui.make_app_page({
parent: wrapper,
title: 'Trial Balance',
title: wn._('Trial Balance'),
single_column: true
});
var TrialBalance = erpnext.AccountTreeGrid.extend({
@@ -17,8 +17,8 @@ wn.pages['trial-balance'].onload = function(wrapper) {
// period closing entry checkbox
this.wrapper.bind("make", function() {
$('<div style="margin: 10px 0px; "\
class="with_period_closing_entry"><input type="checkbox" checked="checked">\
With period closing entry</div>')
class="with_period_closing_entry"><input type="checkbox" checked="checked">' +
wn._("With period closing entry") + '</div>')
.appendTo(me.wrapper)
.find("input").click(function() { me.refresh(); });
});

View File

@@ -4,29 +4,34 @@
wn.pages['voucher-import-tool'].onload = function(wrapper) {
wn.ui.make_app_page({
parent: wrapper,
title: 'Voucher Import Tool',
title: wn._('Voucher Import Tool'),
single_column: true
});
$(wrapper).find('.layout-main').html('\
<p class="help">Import multiple accounting entries via CSV (spreadsheet) file:</p>\
<h3>1. Download Template</h3><br>\
<div style="padding-left: 30px;">\
<button class="btn btn-default btn-download-two-accounts">Download</button>\
<p class="help">Import multiple vouchers with one debit and one credit entry</p>\
</div>\
<div style="padding-left: 30px;">\
<button class="btn btn-default btn-download-multiple-accounts">Download</button>\
<p class="help">Import multiple vouchers with multiple accounts</p>\
</div>\
<hr>\
<h3>2. Upload</h3><br>\
<div style="padding-left: 30px;">\
<p class="help">Upload file in CSV format with UTF-8 encoding</p>\
<div id="voucher-upload"></div>\
</div><br>\
<div class="working"></div>\
<div class="well messages" style="display: none;"></div>');
$(wrapper).find('.layout-main').html('<p class="help">' +
wn._('Import multiple accounting entries via CSV (spreadsheet) file:') +
'</p><h3> 1. ' + wn._('Download Template') + '</h3><br>' +
'<div style="padding-left: 30px;">' +
'<button class="btn btn-default btn-download-two-accounts">' +
wn._('Download') + '</button>' +
'<p class="help">' +
wn._('Import multiple vouchers with one debit and one credit entry') +
'</p></div>'+
'<div style="padding-left: 30px;">'+
'<button class="btn btn-default btn-download-multiple-accounts">' +
wn._('Download') +
'</button><p class="help">' +
wn._('Import multiple vouchers with multiple accounts')+
'</p>'+
'</div>'+
'<hr>'+
'<h3> 2. ' + wn._('Upload') + '</h3><br>'+
'<div style="padding-left: 30px;">'+
'<p class="help">' + wn._('Upload file in CSV format with UTF-8 encoding') +
'</p><div id="voucher-upload"></div>'+
'</div><br>'+
'<div class="working"></div>'+
'<div class="well messages" style="display: none;"></div>');
wn.upload.make({
parent: $(wrapper).find("#voucher-upload"),

View File

@@ -5,14 +5,14 @@ wn.query_reports["Accounts Payable"] = {
"filters": [
{
"fieldname":"company",
"label": "Company",
"label": wn._("Company"),
"fieldtype": "Link",
"options": "Company",
"default": wn.defaults.get_default("company")
},
{
"fieldname":"account",
"label": "Account",
"label": wn._("Account"),
"fieldtype": "Link",
"options": "Account",
"get_query": function() {
@@ -30,13 +30,13 @@ wn.query_reports["Accounts Payable"] = {
},
{
"fieldname":"report_date",
"label": "Date",
"label": wn._("Date"),
"fieldtype": "Date",
"default": get_today()
},
{
"fieldname":"ageing_based_on",
"label": "Ageing Based On",
"label": wn._("Ageing Based On"),
"fieldtype": "Select",
"options": 'Posting Date' + NEWLINE + 'Due Date',
"default": "Posting Date"

View File

@@ -5,14 +5,14 @@ wn.query_reports["Accounts Receivable"] = {
"filters": [
{
"fieldname":"company",
"label": "Company",
"label": wn._("Company"),
"fieldtype": "Link",
"options": "Company",
"default": wn.defaults.get_default("company")
},
{
"fieldname":"account",
"label": "Account",
"label": wn._("Account"),
"fieldtype": "Link",
"options": "Account",
"get_query": function() {
@@ -30,13 +30,13 @@ wn.query_reports["Accounts Receivable"] = {
},
{
"fieldname":"report_date",
"label": "Date",
"label": wn._("Date"),
"fieldtype": "Date",
"default": get_today()
},
{
"fieldname":"ageing_based_on",
"label": "Ageing Based On",
"label": wn._("Ageing Based On"),
"fieldtype": "Select",
"options": 'Posting Date' + NEWLINE + 'Due Date',
"default": "Posting Date"

View File

@@ -5,20 +5,20 @@ wn.query_reports["Bank Clearance Summary"] = {
"filters": [
{
"fieldname":"from_date",
"label": "From Date",
"label": wn._("From Date"),
"fieldtype": "Date",
"default": wn.defaults.get_user_default("year_start_date"),
"width": "80"
},
{
"fieldname":"to_date",
"label": "To Date",
"label": wn._("To Date"),
"fieldtype": "Date",
"default": get_today()
},
{
"fieldname":"account",
"label": "Bank Account",
"label": wn._("Bank Account"),
"fieldtype": "Link",
"options": "Account",
"get_query": function() {

View File

@@ -5,7 +5,7 @@ wn.query_reports["Bank Reconciliation Statement"] = {
"filters": [
{
"fieldname":"account",
"label": "Bank Account",
"label": wn._("Bank Account"),
"fieldtype": "Link",
"options": "Account",
"get_query": function() {
@@ -20,7 +20,7 @@ wn.query_reports["Bank Reconciliation Statement"] = {
},
{
"fieldname":"report_date",
"label": "Date",
"label": wn._("Date"),
"fieldtype": "Date",
"default": get_today()
},

View File

@@ -5,21 +5,21 @@ wn.query_reports["Budget Variance Report"] = {
"filters": [
{
fieldname: "fiscal_year",
label: "Fiscal Year",
label: wn._("Fiscal Year"),
fieldtype: "Link",
options: "Fiscal Year",
default: sys_defaults.fiscal_year
},
{
fieldname: "period",
label: "Period",
label: wn._("Period"),
fieldtype: "Select",
options: "Monthly\nQuarterly\nHalf-Yearly\nYearly",
default: "Monthly"
},
{
fieldname: "company",
label: "Company",
label: wn._("Company"),
fieldtype: "Link",
options: "Company",
default: wn.defaults.get_default("company")

View File

@@ -5,20 +5,20 @@ wn.query_reports["Gross Profit"] = {
"filters": [
{
"fieldname":"company",
"label": "Company",
"label": wn._("Company"),
"fieldtype": "Link",
"options": "Company",
"default": wn.defaults.get_user_default("company")
},
{
"fieldname":"from_date",
"label": "From Date",
"label": wn._("From Date"),
"fieldtype": "Date",
"default": wn.defaults.get_user_default("year_start_date")
},
{
"fieldname":"to_date",
"label": "To Date",
"label": wn._("To Date"),
"fieldtype": "Date",
"default": wn.defaults.get_user_default("year_end_date")
},

View File

@@ -5,26 +5,26 @@ wn.query_reports["Item-wise Purchase Register"] = {
"filters": [
{
"fieldname":"from_date",
"label": "From Date",
"label": wn._("From Date"),
"fieldtype": "Date",
"default": wn.defaults.get_user_default("year_start_date"),
"width": "80"
},
{
"fieldname":"to_date",
"label": "To Date",
"label": wn._("To Date"),
"fieldtype": "Date",
"default": get_today()
},
{
"fieldname": "item_code",
"label": "Item",
"label": wn._("Item"),
"fieldtype": "Link",
"options": "Item",
},
{
"fieldname":"account",
"label": "Account",
"label": wn._("Account"),
"fieldtype": "Link",
"options": "Account",
"get_query": function() {
@@ -42,7 +42,7 @@ wn.query_reports["Item-wise Purchase Register"] = {
},
{
"fieldname":"company",
"label": "Company",
"label": wn._("Company"),
"fieldtype": "Link",
"options": "Company",
"default": wn.defaults.get_default("company")

View File

@@ -5,20 +5,20 @@ wn.query_reports["Item-wise Sales Register"] = wn.query_reports["Sales Register"
"filters": [
{
"fieldname":"from_date",
"label": "From Date",
"label": wn._("From Date"),
"fieldtype": "Date",
"default": wn.defaults.get_default("year_start_date"),
"width": "80"
},
{
"fieldname":"to_date",
"label": "To Date",
"label": wn._("To Date"),
"fieldtype": "Date",
"default": get_today()
},
{
"fieldname":"account",
"label": "Account",
"label": wn._("Account"),
"fieldtype": "Link",
"options": "Account",
"get_query": function() {
@@ -36,7 +36,7 @@ wn.query_reports["Item-wise Sales Register"] = wn.query_reports["Sales Register"
},
{
"fieldname":"company",
"label": "Company",
"label": wn._("Company"),
"fieldtype": "Link",
"options": "Company",
"default": wn.defaults.get_default("company")

View File

@@ -5,20 +5,20 @@ wn.query_reports["Payment Collection With Ageing"] = {
"filters": [
{
"fieldname": "from_date",
"label": "From Date",
"label": wn._("From Date"),
"fieldtype": "Date",
"default": wn.defaults.get_user_default("year_start_date"),
"width": "80"
},
{
"fieldname":"to_date",
"label": "To Date",
"label": wn._("To Date"),
"fieldtype": "Date",
"default": get_today()
},
{
"fieldname":"account",
"label": "Customer Account",
"label": wn._("Customer Account"),
"fieldtype": "Link",
"options": "Account",
"get_query": function() {
@@ -36,7 +36,7 @@ wn.query_reports["Payment Collection With Ageing"] = {
},
{
"fieldname":"company",
"label": "Company",
"label": wn._("Company"),
"fieldtype": "Link",
"options": "Company",
"default": wn.defaults.get_default("company")

View File

@@ -5,19 +5,19 @@ wn.query_reports["Payment Made With Ageing"] = {
"filters": [
{
fieldname: "from_date",
label: "From Date",
label: wn._("From Date"),
fieldtype: "Date",
default: wn.defaults.get_user_default("year_start_date"),
},
{
fieldname:"to_date",
label: "To Date",
label: wn._("To Date"),
fieldtype: "Date",
default: get_today()
},
{
fieldname:"account",
label: "Supplier Account",
label: wn._("Supplier Account"),
fieldtype: "Link",
options: "Account",
get_query: function() {
@@ -34,7 +34,7 @@ wn.query_reports["Payment Made With Ageing"] = {
},
{
fieldname:"company",
label: "Company",
label: wn._("Company"),
fieldtype: "Link",
options: "Company",
default: wn.defaults.get_default("company")

View File

@@ -5,20 +5,20 @@ wn.query_reports["Purchase Register"] = {
"filters": [
{
"fieldname":"from_date",
"label": "From Date",
"label": wn._("From Date"),
"fieldtype": "Date",
"default": wn.defaults.get_user_default("year_start_date"),
"width": "80"
},
{
"fieldname":"to_date",
"label": "To Date",
"label": wn._("To Date"),
"fieldtype": "Date",
"default": get_today()
},
{
"fieldname":"account",
"label": "Account",
"label": wn._("Account"),
"fieldtype": "Link",
"options": "Account",
"get_query": function() {
@@ -36,7 +36,7 @@ wn.query_reports["Purchase Register"] = {
},
{
"fieldname":"company",
"label": "Company",
"label": wn._("Company"),
"fieldtype": "Link",
"options": "Company",
"default": wn.defaults.get_default("company")

View File

@@ -5,20 +5,20 @@ wn.query_reports["Sales Register"] = {
"filters": [
{
"fieldname":"from_date",
"label": "From Date",
"label": wn._("From Date"),
"fieldtype": "Date",
"default": wn.defaults.get_default("year_start_date"),
"width": "80"
},
{
"fieldname":"to_date",
"label": "To Date",
"label": wn._("To Date"),
"fieldtype": "Date",
"default": get_today()
},
{
"fieldname":"account",
"label": "Account",
"label": wn._("Account"),
"fieldtype": "Link",
"options": "Account",
"get_query": function() {
@@ -36,7 +36,7 @@ wn.query_reports["Sales Register"] = {
},
{
"fieldname":"company",
"label": "Company",
"label": wn._("Company"),
"fieldtype": "Link",
"options": "Company",
"default": wn.defaults.get_default("company")