blob: 5e3ba0e116c957e325913115375a771397f5721d [file] [log] [blame]
Anand Doshi825d0142014-07-18 18:05:26 +05301frappe.provide("erpnext.financial_statements");
2
3erpnext.financial_statements = {
4 "filters": [
5 {
6 "fieldname":"company",
7 "label": __("Company"),
8 "fieldtype": "Link",
9 "options": "Company",
10 "default": frappe.defaults.get_user_default("company"),
11 "reqd": 1
12 },
13 {
14 "fieldname":"fiscal_year",
15 "label": __("Fiscal Year"),
16 "fieldtype": "Link",
17 "options": "Fiscal Year",
18 "default": frappe.defaults.get_user_default("fiscal_year"),
19 "reqd": 1
20 },
21 {
22 "fieldname": "periodicity",
23 "label": __("Periodicity"),
24 "fieldtype": "Select",
25 "options": "Yearly\nHalf-yearly\nQuarterly\nMonthly",
26 "default": "Yearly",
27 "reqd": 1
28 },
29 {
30 "fieldname": "depth",
31 "label": __("Depth"),
32 "fieldtype": "Select",
33 "options": "3\n4\n5",
34 "default": "3"
35 }
36 ],
37 "formatter": function(row, cell, value, columnDef, dataContext) {
38 if (columnDef.df.fieldname=="account") {
39 var link = $("<a></a>")
40 .text(dataContext.account_name)
Anand Doshi5f0459c2014-07-21 16:13:06 +053041 .attr("onclick", "erpnext.financial_statements.open_general_ledger(" + JSON.stringify(dataContext) + ")");
Anand Doshi825d0142014-07-18 18:05:26 +053042
43 var span = $("<span></span>")
44 .css("padding-left", (cint(dataContext.indent) * 21) + "px")
45 .append(link);
46
47 value = span.wrap("<p></p>").parent().html();
48
49 } else {
50 value = erpnext.financial_statements.default_formatter(row, cell, value, columnDef, dataContext);
51 }
52
53 if (!dataContext.parent_account) {
Anand Doshi5f0459c2014-07-21 16:13:06 +053054 var $value = $(value).css("font-weight", "bold");
55 if (dataContext.is_profit_loss && dataContext[columnDef.df.fieldname] < 0) {
56 $value.addClass("text-danger");
57 }
58
59 value = $value.wrap("<p></p>").parent().html();
Anand Doshi825d0142014-07-18 18:05:26 +053060 }
61
62 return value;
63 },
Anand Doshi5f0459c2014-07-21 16:13:06 +053064 "open_general_ledger": function(data) {
65 if (!data.account) return;
Anand Doshi825d0142014-07-18 18:05:26 +053066
67 frappe.route_options = {
Anand Doshi5f0459c2014-07-21 16:13:06 +053068 "account": data.account,
69 "company": frappe.query_report.filters_by_name.company.get_value(),
70 "from_date": data.year_start_date,
71 "to_date": data.year_end_date
Anand Doshi825d0142014-07-18 18:05:26 +053072 };
73 frappe.set_route("query-report", "General Ledger");
74 }
75};