Added line graph in asset dashboard
diff --git a/erpnext/accounts/doctype/asset/asset.js b/erpnext/accounts/doctype/asset/asset.js
index 0dfdb21..9b7efb9 100644
--- a/erpnext/accounts/doctype/asset/asset.js
+++ b/erpnext/accounts/doctype/asset/asset.js
@@ -24,6 +24,7 @@
refresh: function(frm) {
frappe.ui.form.trigger("Asset", "is_existing_asset");
+ frm.toggle_display("next_depreciation_date", frm.doc.docstatus < 1);
if (frm.doc.docstatus==1) {
if (frm.doc.status=='Submitted' && !frm.doc.is_existing_asset && !frm.doc.purchase_invoice) {
@@ -32,6 +33,10 @@
});
}
if (in_list(["Submitted", "Partially Depreciated", "Fully Depreciated"], frm.doc.status)) {
+ frm.add_custom_button("Transfer Asset", function() {
+ erpnext.asset.transfer_asset(frm);
+ });
+
frm.add_custom_button("Scrap Asset", function() {
erpnext.asset.scrap_asset(frm);
});
@@ -45,9 +50,44 @@
erpnext.asset.restore_asset(frm);
});
}
+
+ frm.trigger("show_graph");
}
},
+ show_graph: function(frm) {
+ if(flt(frm.doc.value_after_depreciation) == flt(frm.doc.gross_purchase_amount))
+ return
+
+ var x_intervals = ["x", frm.doc.purchase_date];
+ var asset_values = ["Asset Value", frm.doc.gross_purchase_amount];
+
+ if(frm.doc.opening_accumulated_depreciation) {
+ x_intervals.push(dateutil.str_to_obj(frm.doc.creation));
+ asset_values.push(flt(frm.doc.gross_purchase_amount) -
+ flt(frm.doc.opening_accumulated_depreciation))
+ }
+
+ $.each(frm.doc.schedules || [], function(i, v) {
+ x_intervals.push(v.schedule_date);
+ if(v.journal_entry) {
+ asset_values.push(flt(frm.doc.gross_purchase_amount) - flt(v.accumulated_depreciation_amount))
+ } else {
+ asset_values.push(null);
+ }
+ })
+
+ if(in_list(["Scrapped", "Sold"], frm.doc.status)) {
+ x_intervals.push(frm.doc.disposal_date);
+ asset_values.push(0)
+ }
+
+ frm.dashboard.reset();
+ frm.dashboard.add_graph([x_intervals, asset_values]);
+
+
+ },
+
is_existing_asset: function(frm) {
frm.toggle_enable("supplier", frm.doc.is_existing_asset);
frm.toggle_reqd("next_depreciation_date", !frm.doc.is_existing_asset);
@@ -112,4 +152,55 @@
}
})
})
+}
+
+erpnext.asset.transfer_asset = function(frm) {
+ var dialog = new frappe.ui.Dialog({
+ title: __("Transfer Asset"),
+ fields: [
+ {
+ "label": __("Target Warehouse"),
+ "fieldname": "target_warehouse",
+ "fieldtype": "Link",
+ "options": "Warehouse",
+ "get_query": function () {
+ return {
+ filters: [["Warehouse", "company", "in", ["", cstr(frm.doc.company)]]]
+ }
+ },
+ "reqd": 1
+ },
+ {
+ "label": __("Date"),
+ "fieldname": "transfer_date",
+ "fieldtype": "Datetime",
+ "reqd": 1,
+ "default": frappe.datetime.now_datetime()
+ }
+ ]
+ });
+
+ dialog.set_primary_action(__("Transfer"), function() {
+ args = dialog.get_values();
+ if(!args) return;
+ dialog.hide();
+ return frappe.call({
+ type: "GET",
+ method: "erpnext.accounts.doctype.asset.asset.transfer_asset",
+ args: {
+ args: {
+ "asset": frm.doc.name,
+ "transfer_date": args.transfer_date,
+ "source_warehouse": frm.doc.warehouse,
+ "target_warehouse": args.target_warehouse,
+ "company": frm.doc.company
+ }
+ },
+ freeze: true,
+ callback: function(r) {
+ cur_frm.reload_doc();
+ }
+ })
+ });
+ dialog.show();
}
\ No newline at end of file