get the currencies from database rather than hardcoded

This commit is contained in:
tundebabzy
2018-01-18 13:56:46 +01:00
parent 55fe8d9987
commit 36e7b6303e

View File

@@ -1,116 +1,135 @@
// Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors // Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
// License: GNU General Public License v3. See license.txt // License: GNU General Public License v3. See license.txt
frappe.query_reports["General Ledger"] = { const get_currencies = () => {
"filters": [ // frappe.db.get_list returns a Promise
return frappe.db.get_list('GL Entry',
{ {
"fieldname":"company", distinct: true,
"label": __("Company"), fields:['account_currency'],
"fieldtype": "Link", as_list: true
"options": "Company", }
"default": frappe.defaults.get_user_default("Company"), );
"reqd": 1 }
},
{ const flatten = (array) => {
"fieldname":"from_date", return [].concat.apply([], array);
"label": __("From Date"), }
"fieldtype": "Date",
"default": frappe.datetime.add_months(frappe.datetime.get_today(), -1), get_currencies()
"reqd": 1, .then((r) => flatten(r))
"width": "60px" .then((currency_list) => {
}, frappe.query_reports["General Ledger"] = {
{ "filters": [
"fieldname":"to_date", {
"label": __("To Date"), "fieldname":"company",
"fieldtype": "Date", "label": __("Company"),
"default": frappe.datetime.get_today(), "fieldtype": "Link",
"reqd": 1, "options": "Company",
"width": "60px" "default": frappe.defaults.get_user_default("Company"),
}, "reqd": 1
{ },
"fieldname":"account", {
"label": __("Account"), "fieldname":"from_date",
"fieldtype": "Link", "label": __("From Date"),
"options": "Account", "fieldtype": "Date",
"get_query": function() { "default": frappe.datetime.add_months(frappe.datetime.get_today(), -1),
var company = frappe.query_report_filters_by_name.company.get_value(); "reqd": 1,
return { "width": "60px"
"doctype": "Account", },
"filters": { {
"company": company, "fieldname":"to_date",
"label": __("To Date"),
"fieldtype": "Date",
"default": frappe.datetime.get_today(),
"reqd": 1,
"width": "60px"
},
{
"fieldname":"account",
"label": __("Account"),
"fieldtype": "Link",
"options": "Account",
"get_query": function() {
var company = frappe.query_report_filters_by_name.company.get_value();
return {
"doctype": "Account",
"filters": {
"company": company,
}
} }
} }
}
},
{
"fieldname":"voucher_no",
"label": __("Voucher No"),
"fieldtype": "Data",
},
{
"fieldname":"project",
"label": __("Project"),
"fieldtype": "Link",
"options": "Project"
},
{
"fieldtype": "Break",
},
{
"fieldname":"party_type",
"label": __("Party Type"),
"fieldtype": "Link",
"options": "Party Type",
"default": ""
},
{
"fieldname":"party",
"label": __("Party"),
"fieldtype": "Dynamic Link",
"get_options": function() {
var party_type = frappe.query_report_filters_by_name.party_type.get_value();
var party = frappe.query_report_filters_by_name.party.get_value();
if(party && !party_type) {
frappe.throw(__("Please select Party Type first"));
}
return party_type;
}, },
on_change: function() { {
var party_type = frappe.query_report_filters_by_name.party_type.get_value(); "fieldname":"voucher_no",
var party = frappe.query_report_filters_by_name.party.get_value(); "label": __("Voucher No"),
if(!party_type || !party) { "fieldtype": "Data",
frappe.query_report_filters_by_name.party_name.set_value(""); },
return; {
} "fieldname":"project",
"label": __("Project"),
"fieldtype": "Link",
"options": "Project"
},
{
"fieldtype": "Break",
},
{
"fieldname":"party_type",
"label": __("Party Type"),
"fieldtype": "Link",
"options": "Party Type",
"default": ""
},
{
"fieldname":"party",
"label": __("Party"),
"fieldtype": "Dynamic Link",
"get_options": function() {
var party_type = frappe.query_report_filters_by_name.party_type.get_value();
var party = frappe.query_report_filters_by_name.party.get_value();
if(party && !party_type) {
frappe.throw(__("Please select Party Type first"));
}
return party_type;
},
on_change: function() {
var party_type = frappe.query_report_filters_by_name.party_type.get_value();
var party = frappe.query_report_filters_by_name.party.get_value();
if(!party_type || !party) {
frappe.query_report_filters_by_name.party_name.set_value("");
return;
}
var fieldname = frappe.scrub(party_type) + "_name"; var fieldname = frappe.scrub(party_type) + "_name";
frappe.db.get_value(party_type, party, fieldname, function(value) { frappe.db.get_value(party_type, party, fieldname, function(value) {
frappe.query_report_filters_by_name.party_name.set_value(value[fieldname]); frappe.query_report_filters_by_name.party_name.set_value(value[fieldname]);
}); });
}
},
{
"fieldname":"party_name",
"label": __("Party Name"),
"fieldtype": "Data",
"hidden": 1
},
{
"fieldname":"group_by_voucher",
"label": __("Group by Voucher"),
"fieldtype": "Check",
"default": 1
},
{
"fieldname":"group_by_account",
"label": __("Group by Account"),
"fieldtype": "Check",
},
{
"fieldname": "presentation_currency",
"label": __("Currency"),
"fieldtype": "Select",
"options": currency_list
} }
}, ]
{ }
"fieldname":"party_name", });
"label": __("Party Name"),
"fieldtype": "Data",
"hidden": 1
},
{
"fieldname":"group_by_voucher",
"label": __("Group by Voucher"),
"fieldtype": "Check",
"default": 1
},
{
"fieldname":"group_by_account",
"label": __("Group by Account"),
"fieldtype": "Check",
},
{
"fieldname": "presentation_currency",
"label": __("Currency"),
"fieldtype": "Select",
"options": "NGN\nINR\nUSD"
}
]
}