Anand Doshi | 825d014 | 2014-07-18 18:05:26 +0530 | [diff] [blame] | 1 | frappe.provide("erpnext.financial_statements"); |
| 2 | |
| 3 | erpnext.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 Doshi | 5f0459c | 2014-07-21 16:13:06 +0530 | [diff] [blame] | 41 | .attr("onclick", "erpnext.financial_statements.open_general_ledger(" + JSON.stringify(dataContext) + ")"); |
Anand Doshi | 825d014 | 2014-07-18 18:05:26 +0530 | [diff] [blame] | 42 | |
| 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 Doshi | 5f0459c | 2014-07-21 16:13:06 +0530 | [diff] [blame] | 54 | 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 Doshi | 825d014 | 2014-07-18 18:05:26 +0530 | [diff] [blame] | 60 | } |
| 61 | |
| 62 | return value; |
| 63 | }, |
Anand Doshi | 5f0459c | 2014-07-21 16:13:06 +0530 | [diff] [blame] | 64 | "open_general_ledger": function(data) { |
| 65 | if (!data.account) return; |
Anand Doshi | 825d014 | 2014-07-18 18:05:26 +0530 | [diff] [blame] | 66 | |
| 67 | frappe.route_options = { |
Anand Doshi | 5f0459c | 2014-07-21 16:13:06 +0530 | [diff] [blame] | 68 | "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 Doshi | 825d014 | 2014-07-18 18:05:26 +0530 | [diff] [blame] | 72 | }; |
| 73 | frappe.set_route("query-report", "General Ledger"); |
| 74 | } |
| 75 | }; |