ci: add prettier to pre-commit (backport #40206) (#40362)

* ci: add prettier to pre-commit

(cherry picked from commit 2c16036ef3)

* style: format js files

---------

Co-authored-by: barredterra <14891507+barredterra@users.noreply.github.com>
Co-authored-by: Ankush Menat <ankush@frappe.io>
This commit is contained in:
mergify[bot]
2024-03-11 10:47:18 +05:30
committed by GitHub
parent 5f789d9abe
commit 7d3d2eb928
572 changed files with 24271 additions and 21331 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,56 +1,46 @@
frappe.listview_settings['Asset'] = {
add_fields: ['status'],
frappe.listview_settings["Asset"] = {
add_fields: ["status"],
get_indicator: function (doc) {
if (doc.status === "Fully Depreciated") {
return [__("Fully Depreciated"), "green", "status,=,Fully Depreciated"];
} else if (doc.status === "Partially Depreciated") {
return [__("Partially Depreciated"), "grey", "status,=,Partially Depreciated"];
} else if (doc.status === "Sold") {
return [__("Sold"), "green", "status,=,Sold"];
} else if (["Capitalized", "Decapitalized"].includes(doc.status)) {
return [__(doc.status), "grey", "status,=," + doc.status];
} else if (doc.status === "Scrapped") {
return [__("Scrapped"), "grey", "status,=,Scrapped"];
} else if (doc.status === "In Maintenance") {
return [__("In Maintenance"), "orange", "status,=,In Maintenance"];
} else if (doc.status === "Out of Order") {
return [__("Out of Order"), "grey", "status,=,Out of Order"];
} else if (doc.status === "Issue") {
return [__("Issue"), "orange", "status,=,Issue"];
} else if (doc.status === "Receipt") {
return [__("Receipt"), "green", "status,=,Receipt"];
} else if (doc.status === "Submitted") {
return [__("Submitted"), "blue", "status,=,Submitted"];
} else if (doc.status === "Draft") {
return [__("Draft"), "red", "status,=,Draft"];
}
},
onload: function(me) {
me.page.add_action_item(__("Make Asset Movement"), function() {
onload: function (me) {
me.page.add_action_item(__("Make Asset Movement"), function () {
const assets = me.get_checked_items();
frappe.call({
method: "erpnext.assets.doctype.asset.asset.make_asset_movement",
freeze: true,
args:{
"assets": assets
args: {
assets: assets,
},
callback: function (r) {
if (r.message) {
var doc = frappe.model.sync(r.message)[0];
frappe.set_route("Form", doc.doctype, doc.name);
}
}
},
});
});
},
}
};

View File

@@ -3,10 +3,9 @@
frappe.provide("erpnext.assets");
erpnext.assets.AssetCapitalization = class AssetCapitalization extends erpnext.stock.StockController {
setup() {
this.frm.ignore_doctypes_on_cancel_all = ['Serial and Batch Bundle', 'Asset Movement'];
this.frm.ignore_doctypes_on_cancel_all = ["Serial and Batch Bundle", "Asset Movement"];
this.setup_posting_date_time_check();
}
@@ -17,7 +16,10 @@ erpnext.assets.AssetCapitalization = class AssetCapitalization extends erpnext.s
refresh() {
this.show_general_ledger();
if ((this.frm.doc.stock_items && this.frm.doc.stock_items.length) || !this.frm.doc.target_is_fixed_asset) {
if (
(this.frm.doc.stock_items && this.frm.doc.stock_items.length) ||
!this.frm.doc.target_is_fixed_asset
) {
this.show_stock_ledger();
}
@@ -32,32 +34,32 @@ erpnext.assets.AssetCapitalization = class AssetCapitalization extends erpnext.s
me.setup_warehouse_query();
me.frm.set_query("target_item_code", function() {
me.frm.set_query("target_item_code", function () {
if (me.frm.doc.entry_type == "Capitalization") {
return erpnext.queries.item({"is_stock_item": 0, "is_fixed_asset": 1});
return erpnext.queries.item({ is_stock_item: 0, is_fixed_asset: 1 });
} else {
return erpnext.queries.item({"is_stock_item": 1, "is_fixed_asset": 0});
return erpnext.queries.item({ is_stock_item: 1, is_fixed_asset: 0 });
}
});
me.frm.set_query("target_asset", function() {
me.frm.set_query("target_asset", function () {
return {
filters: {'is_composite_asset': 1, 'docstatus': 0 }
}
filters: { is_composite_asset: 1, docstatus: 0 },
};
});
me.frm.set_query("asset", "asset_items", function() {
me.frm.set_query("asset", "asset_items", function () {
var filters = {
'status': ["not in", ["Draft", "Scrapped", "Sold", "Capitalized", "Decapitalized"]],
'docstatus': 1
status: ["not in", ["Draft", "Scrapped", "Sold", "Capitalized", "Decapitalized"]],
docstatus: 1,
};
if (me.frm.doc.target_asset) {
filters['name'] = ['!=', me.frm.doc.target_asset];
filters["name"] = ["!=", me.frm.doc.target_asset];
}
return {
filters: filters
filters: filters,
};
});
@@ -65,58 +67,67 @@ erpnext.assets.AssetCapitalization = class AssetCapitalization extends erpnext.s
let row = locals[cdt][cdn];
return {
filters: {
'item_code': row.item_code,
'voucher_type': doc.doctype,
'voucher_no': ["in", [doc.name, ""]],
'is_cancelled': 0,
}
}
item_code: row.item_code,
voucher_type: doc.doctype,
voucher_no: ["in", [doc.name, ""]],
is_cancelled: 0,
},
};
});
me.frm.set_query("item_code", "stock_items", function() {
return erpnext.queries.item({"is_stock_item": 1});
me.frm.set_query("item_code", "stock_items", function () {
return erpnext.queries.item({ is_stock_item: 1 });
});
me.frm.set_query("item_code", "service_items", function() {
return erpnext.queries.item({"is_stock_item": 0, "is_fixed_asset": 0});
me.frm.set_query("item_code", "service_items", function () {
return erpnext.queries.item({ is_stock_item: 0, is_fixed_asset: 0 });
});
me.frm.set_query('batch_no', 'stock_items', function(doc, cdt, cdn) {
me.frm.set_query("batch_no", "stock_items", function (doc, cdt, cdn) {
var item = locals[cdt][cdn];
if (!item.item_code) {
frappe.throw(__("Please enter Item Code to get Batch Number"));
} else {
var filters = {
'item_code': item.item_code,
'posting_date': me.frm.doc.posting_date || frappe.datetime.nowdate(),
'warehouse': item.warehouse
item_code: item.item_code,
posting_date: me.frm.doc.posting_date || frappe.datetime.nowdate(),
warehouse: item.warehouse,
};
return {
query: "erpnext.controllers.queries.get_batch_no",
filters: filters
filters: filters,
};
}
});
me.frm.set_query('expense_account', 'service_items', function() {
me.frm.set_query("expense_account", "service_items", function () {
return {
filters: {
"account_type": ['in', ["Tax", "Expense Account", "Income Account", "Expenses Included In Valuation", "Expenses Included In Asset Valuation"]],
"is_group": 0,
"company": me.frm.doc.company
}
account_type: [
"in",
[
"Tax",
"Expense Account",
"Income Account",
"Expenses Included In Valuation",
"Expenses Included In Asset Valuation",
],
],
is_group: 0,
company: me.frm.doc.company,
},
};
});
let sbb_field = me.frm.get_docfield('stock_items', 'serial_and_batch_bundle');
let sbb_field = me.frm.get_docfield("stock_items", "serial_and_batch_bundle");
if (sbb_field) {
sbb_field.get_route_options_for_new_doc = (row) => {
return {
'item_code': row.doc.item_code,
'warehouse': row.doc.warehouse,
'voucher_type': me.frm.doc.doctype,
}
item_code: row.doc.item_code,
warehouse: row.doc.warehouse,
voucher_type: me.frm.doc.doctype,
};
};
}
}
@@ -126,7 +137,10 @@ erpnext.assets.AssetCapitalization = class AssetCapitalization extends erpnext.s
}
target_asset() {
if (this.frm.doc.target_asset && this.frm.doc.capitalization_method === "Choose a WIP composite asset") {
if (
this.frm.doc.target_asset &&
this.frm.doc.capitalization_method === "Choose a WIP composite asset"
) {
this.set_consumed_stock_items_tagged_to_wip_composite_asset(this.frm.doc.target_asset);
this.get_target_asset_details();
}
@@ -143,7 +157,7 @@ erpnext.assets.AssetCapitalization = class AssetCapitalization extends erpnext.s
},
callback: function (r) {
if (!r.exc && r.message) {
if(r.message[0] && r.message[0].length) {
if (r.message[0] && r.message[0].length) {
me.frm.clear_table("stock_items");
for (let item of r.message[0]) {
me.frm.add_child("stock_items", item);
@@ -160,7 +174,7 @@ erpnext.assets.AssetCapitalization = class AssetCapitalization extends erpnext.s
me.calculate_totals();
}
}
},
});
}
}
@@ -192,7 +206,7 @@ erpnext.assets.AssetCapitalization = class AssetCapitalization extends erpnext.s
if (this.frm.doc.posting_date) {
frappe.run_serially([
() => this.get_all_item_warehouse_details(),
() => this.get_all_asset_values()
() => this.get_all_asset_values(),
]);
}
}
@@ -248,15 +262,15 @@ erpnext.assets.AssetCapitalization = class AssetCapitalization extends erpnext.s
}
stock_items_add(doc, cdt, cdn) {
erpnext.accounts.dimensions.copy_dimension_from_first_row(this.frm, cdt, cdn, 'stock_items');
erpnext.accounts.dimensions.copy_dimension_from_first_row(this.frm, cdt, cdn, "stock_items");
}
asset_items_add(doc, cdt, cdn) {
erpnext.accounts.dimensions.copy_dimension_from_first_row(this.frm, cdt, cdn, 'asset_items');
erpnext.accounts.dimensions.copy_dimension_from_first_row(this.frm, cdt, cdn, "asset_items");
}
serivce_items_add(doc, cdt, cdn) {
erpnext.accounts.dimensions.copy_dimension_from_first_row(this.frm, cdt, cdn, 'service_items');
erpnext.accounts.dimensions.copy_dimension_from_first_row(this.frm, cdt, cdn, "service_items");
}
get_target_item_details() {
@@ -274,7 +288,7 @@ erpnext.assets.AssetCapitalization = class AssetCapitalization extends erpnext.s
if (!r.exc) {
me.frm.refresh_fields();
}
}
},
});
}
}
@@ -294,7 +308,7 @@ erpnext.assets.AssetCapitalization = class AssetCapitalization extends erpnext.s
if (!r.exc) {
me.frm.refresh_fields();
}
}
},
});
}
}
@@ -316,13 +330,13 @@ erpnext.assets.AssetCapitalization = class AssetCapitalization extends erpnext.s
company: me.frm.doc.company,
posting_date: me.frm.doc.posting_date,
posting_time: me.frm.doc.posting_time,
}
},
},
callback: function (r) {
if (!r.exc) {
me.calculate_totals();
}
}
},
});
}
}
@@ -343,13 +357,13 @@ erpnext.assets.AssetCapitalization = class AssetCapitalization extends erpnext.s
finance_book: row.finance_book || me.frm.doc.finance_book,
posting_date: me.frm.doc.posting_date,
posting_time: me.frm.doc.posting_time,
}
},
},
callback: function (r) {
if (!r.exc) {
me.calculate_totals();
}
}
},
});
}
}
@@ -367,13 +381,13 @@ erpnext.assets.AssetCapitalization = class AssetCapitalization extends erpnext.s
qty: flt(row.qty),
expense_account: row.expense_account,
company: me.frm.doc.company,
}
},
},
callback: function (r) {
if (!r.exc) {
me.calculate_totals();
}
}
},
});
}
}
@@ -386,23 +400,23 @@ erpnext.assets.AssetCapitalization = class AssetCapitalization extends erpnext.s
child: item,
args: {
args: {
'item_code': item.item_code,
'warehouse': cstr(item.warehouse),
'qty': flt(item.stock_qty),
'serial_no': item.serial_no,
'posting_date': me.frm.doc.posting_date,
'posting_time': me.frm.doc.posting_time,
'company': me.frm.doc.company,
'voucher_type': me.frm.doc.doctype,
'voucher_no': me.frm.doc.name,
'allow_zero_valuation': 1
}
item_code: item.item_code,
warehouse: cstr(item.warehouse),
qty: flt(item.stock_qty),
serial_no: item.serial_no,
posting_date: me.frm.doc.posting_date,
posting_time: me.frm.doc.posting_time,
company: me.frm.doc.company,
voucher_type: me.frm.doc.doctype,
voucher_no: me.frm.doc.name,
allow_zero_valuation: 1,
},
},
callback: function(r) {
callback: function (r) {
if (!r.exc) {
me.calculate_totals();
}
}
},
});
}
}
@@ -412,11 +426,11 @@ erpnext.assets.AssetCapitalization = class AssetCapitalization extends erpnext.s
return me.frm.call({
method: "set_warehouse_details",
doc: me.frm.doc,
callback: function(r) {
callback: function (r) {
if (!r.exc) {
me.calculate_totals();
}
}
},
});
}
@@ -425,11 +439,11 @@ erpnext.assets.AssetCapitalization = class AssetCapitalization extends erpnext.s
return me.frm.call({
method: "set_asset_values",
doc: me.frm.doc,
callback: function(r) {
callback: function (r) {
if (!r.exc) {
me.calculate_totals();
}
}
},
});
}
@@ -441,33 +455,38 @@ erpnext.assets.AssetCapitalization = class AssetCapitalization extends erpnext.s
me.frm.doc.service_items_total = 0;
$.each(me.frm.doc.stock_items || [], function (i, d) {
d.amount = flt(flt(d.stock_qty) * flt(d.valuation_rate), precision('amount', d));
d.amount = flt(flt(d.stock_qty) * flt(d.valuation_rate), precision("amount", d));
me.frm.doc.stock_items_total += d.amount;
});
$.each(me.frm.doc.asset_items || [], function (i, d) {
d.asset_value = flt(flt(d.asset_value), precision('asset_value', d));
d.asset_value = flt(flt(d.asset_value), precision("asset_value", d));
me.frm.doc.asset_items_total += d.asset_value;
});
$.each(me.frm.doc.service_items || [], function (i, d) {
d.amount = flt(flt(d.qty) * flt(d.rate), precision('amount', d));
d.amount = flt(flt(d.qty) * flt(d.rate), precision("amount", d));
me.frm.doc.service_items_total += d.amount;
});
me.frm.doc.stock_items_total = flt(me.frm.doc.stock_items_total, precision('stock_items_total'));
me.frm.doc.asset_items_total = flt(me.frm.doc.asset_items_total, precision('asset_items_total'));
me.frm.doc.service_items_total = flt(me.frm.doc.service_items_total, precision('service_items_total'));
me.frm.doc.stock_items_total = flt(me.frm.doc.stock_items_total, precision("stock_items_total"));
me.frm.doc.asset_items_total = flt(me.frm.doc.asset_items_total, precision("asset_items_total"));
me.frm.doc.service_items_total = flt(
me.frm.doc.service_items_total,
precision("service_items_total")
);
me.frm.doc.total_value = me.frm.doc.stock_items_total + me.frm.doc.asset_items_total + me.frm.doc.service_items_total;
me.frm.doc.total_value = flt(me.frm.doc.total_value, precision('total_value'));
me.frm.doc.total_value =
me.frm.doc.stock_items_total + me.frm.doc.asset_items_total + me.frm.doc.service_items_total;
me.frm.doc.total_value = flt(me.frm.doc.total_value, precision("total_value"));
me.frm.doc.target_qty = flt(me.frm.doc.target_qty, precision('target_qty'));
me.frm.doc.target_incoming_rate = me.frm.doc.target_qty ? me.frm.doc.total_value / flt(me.frm.doc.target_qty)
me.frm.doc.target_qty = flt(me.frm.doc.target_qty, precision("target_qty"));
me.frm.doc.target_incoming_rate = me.frm.doc.target_qty
? me.frm.doc.total_value / flt(me.frm.doc.target_qty)
: me.frm.doc.total_value;
me.frm.refresh_fields();
}
};
cur_frm.cscript = new erpnext.assets.AssetCapitalization({frm: cur_frm});
cur_frm.cscript = new erpnext.assets.AssetCapitalization({ frm: cur_frm });

View File

@@ -1,56 +1,55 @@
// Copyright (c) 2016, Frappe Technologies Pvt. Ltd. and contributors
// For license information, please see license.txt
frappe.ui.form.on('Asset Category', {
onload: function(frm) {
frm.add_fetch('company_name', 'accumulated_depreciation_account', 'accumulated_depreciation_account');
frm.add_fetch('company_name', 'depreciation_expense_account', 'depreciation_expense_account');
frappe.ui.form.on("Asset Category", {
onload: function (frm) {
frm.add_fetch("company_name", "accumulated_depreciation_account", "accumulated_depreciation_account");
frm.add_fetch("company_name", "depreciation_expense_account", "depreciation_expense_account");
frm.set_query('fixed_asset_account', 'accounts', function(doc, cdt, cdn) {
var d = locals[cdt][cdn];
frm.set_query("fixed_asset_account", "accounts", function (doc, cdt, cdn) {
var d = locals[cdt][cdn];
return {
"filters": {
"account_type": "Fixed Asset",
"root_type": "Asset",
"is_group": 0,
"company": d.company_name
}
filters: {
account_type: "Fixed Asset",
root_type: "Asset",
is_group: 0,
company: d.company_name,
},
};
});
frm.set_query('accumulated_depreciation_account', 'accounts', function(doc, cdt, cdn) {
var d = locals[cdt][cdn];
frm.set_query("accumulated_depreciation_account", "accounts", function (doc, cdt, cdn) {
var d = locals[cdt][cdn];
return {
"filters": {
"account_type": "Accumulated Depreciation",
"is_group": 0,
"company": d.company_name
}
filters: {
account_type: "Accumulated Depreciation",
is_group: 0,
company: d.company_name,
},
};
});
frm.set_query('depreciation_expense_account', 'accounts', function(doc, cdt, cdn) {
var d = locals[cdt][cdn];
frm.set_query("depreciation_expense_account", "accounts", function (doc, cdt, cdn) {
var d = locals[cdt][cdn];
return {
"filters": {
"account_type": "Depreciation",
"root_type": ["in", ["Expense", "Income"]],
"is_group": 0,
"company": d.company_name
}
filters: {
account_type: "Depreciation",
root_type: ["in", ["Expense", "Income"]],
is_group: 0,
company: d.company_name,
},
};
});
frm.set_query('capital_work_in_progress_account', 'accounts', function(doc, cdt, cdn) {
var d = locals[cdt][cdn];
frm.set_query("capital_work_in_progress_account", "accounts", function (doc, cdt, cdn) {
var d = locals[cdt][cdn];
return {
"filters": {
"account_type": "Capital Work in Progress",
"is_group": 0,
"company": d.company_name
}
filters: {
account_type: "Capital Work in Progress",
is_group: 0,
company: d.company_name,
},
};
});
}
},
});

View File

@@ -2,52 +2,63 @@
// For license information, please see license.txt
frappe.provide("erpnext.asset");
frappe.ui.form.on('Asset Depreciation Schedule', {
onload: function(frm) {
frappe.ui.form.on("Asset Depreciation Schedule", {
onload: function (frm) {
frm.events.make_schedules_editable(frm);
},
make_schedules_editable: function(frm) {
make_schedules_editable: function (frm) {
var is_manual_hence_editable = frm.doc.depreciation_method === "Manual" ? true : false;
var is_shift_hence_editable = frm.doc.shift_based ? true : false;
frm.toggle_enable("depreciation_schedule", is_manual_hence_editable || is_shift_hence_editable);
frm.fields_dict["depreciation_schedule"].grid.toggle_enable("schedule_date", is_manual_hence_editable);
frm.fields_dict["depreciation_schedule"].grid.toggle_enable("depreciation_amount", is_manual_hence_editable);
frm.fields_dict["depreciation_schedule"].grid.toggle_enable(
"schedule_date",
is_manual_hence_editable
);
frm.fields_dict["depreciation_schedule"].grid.toggle_enable(
"depreciation_amount",
is_manual_hence_editable
);
frm.fields_dict["depreciation_schedule"].grid.toggle_enable("shift", is_shift_hence_editable);
}
},
});
frappe.ui.form.on('Depreciation Schedule', {
make_depreciation_entry: function(frm, cdt, cdn) {
frappe.ui.form.on("Depreciation Schedule", {
make_depreciation_entry: function (frm, cdt, cdn) {
var row = locals[cdt][cdn];
if (!row.journal_entry) {
frappe.call({
method: "erpnext.assets.doctype.asset.depreciation.make_depreciation_entry",
args: {
"asset_depr_schedule_name": frm.doc.name,
"date": row.schedule_date
asset_depr_schedule_name: frm.doc.name,
date: row.schedule_date,
},
callback: function(r) {
callback: function (r) {
frappe.model.sync(r.message);
frm.refresh();
}
})
},
});
}
},
depreciation_amount: function(frm, cdt, cdn) {
depreciation_amount: function (frm, cdt, cdn) {
erpnext.asset.set_accumulated_depreciation(frm);
}
},
});
erpnext.asset.set_accumulated_depreciation = function(frm) {
if(frm.doc.depreciation_method != "Manual") return;
erpnext.asset.set_accumulated_depreciation = function (frm) {
if (frm.doc.depreciation_method != "Manual") return;
var accumulated_depreciation = flt(frm.doc.opening_accumulated_depreciation);
$.each(frm.doc.depreciation_schedule || [], function(i, row) {
accumulated_depreciation += flt(row.depreciation_amount);
frappe.model.set_value(row.doctype, row.name, "accumulated_depreciation_amount", accumulated_depreciation);
})
$.each(frm.doc.depreciation_schedule || [], function (i, row) {
accumulated_depreciation += flt(row.depreciation_amount);
frappe.model.set_value(
row.doctype,
row.name,
"accumulated_depreciation_amount",
accumulated_depreciation
);
});
};

View File

@@ -1,49 +1,47 @@
// Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and contributors
// For license information, please see license.txt
frappe.ui.form.on('Asset Maintenance', {
frappe.ui.form.on("Asset Maintenance", {
setup: (frm) => {
frm.set_query("assign_to", "asset_maintenance_tasks", function(doc) {
frm.set_query("assign_to", "asset_maintenance_tasks", function (doc) {
return {
query: "erpnext.assets.doctype.asset_maintenance.asset_maintenance.get_team_members",
filters: {
maintenance_team: doc.maintenance_team
}
maintenance_team: doc.maintenance_team,
},
};
});
frm.set_indicator_formatter('maintenance_status',
function(doc) {
let indicator = 'blue';
if (doc.maintenance_status == 'Overdue') {
indicator = 'orange';
}
if (doc.maintenance_status == 'Cancelled') {
indicator = 'red';
}
return indicator;
frm.set_indicator_formatter("maintenance_status", function (doc) {
let indicator = "blue";
if (doc.maintenance_status == "Overdue") {
indicator = "orange";
}
);
if (doc.maintenance_status == "Cancelled") {
indicator = "red";
}
return indicator;
});
},
refresh: (frm) => {
if(!frm.is_new()) {
frm.trigger('make_dashboard');
if (!frm.is_new()) {
frm.trigger("make_dashboard");
}
},
make_dashboard: (frm) => {
if(!frm.is_new()) {
if (!frm.is_new()) {
frappe.call({
method: 'erpnext.assets.doctype.asset_maintenance.asset_maintenance.get_maintenance_log',
args: {asset_name: frm.doc.asset_name},
method: "erpnext.assets.doctype.asset_maintenance.asset_maintenance.get_maintenance_log",
args: { asset_name: frm.doc.asset_name },
callback: (r) => {
if(!r.message) {
if (!r.message) {
return;
}
const section = frm.dashboard.add_section('', __("Maintenance Log"));
var rows = $('<div></div>').appendTo(section);
const section = frm.dashboard.add_section("", __("Maintenance Log"));
var rows = $("<div></div>").appendTo(section);
// show
(r.message || []).forEach(function(d) {
(r.message || []).forEach(function (d) {
$(`<div class='row' style='margin-bottom: 10px;'>
<div class='col-sm-3 small'>
<a onclick="frappe.set_route('List', 'Asset Maintenance Log',
@@ -54,47 +52,46 @@ frappe.ui.form.on('Asset Maintenance', {
</div>`).appendTo(rows);
});
frm.dashboard.show();
}
},
});
}
}
},
});
frappe.ui.form.on('Asset Maintenance Task', {
start_date: (frm, cdt, cdn) => {
frappe.ui.form.on("Asset Maintenance Task", {
start_date: (frm, cdt, cdn) => {
get_next_due_date(frm, cdt, cdn);
},
periodicity: (frm, cdt, cdn) => {
periodicity: (frm, cdt, cdn) => {
get_next_due_date(frm, cdt, cdn);
},
last_completion_date: (frm, cdt, cdn) => {
last_completion_date: (frm, cdt, cdn) => {
get_next_due_date(frm, cdt, cdn);
},
end_date: (frm, cdt, cdn) => {
end_date: (frm, cdt, cdn) => {
get_next_due_date(frm, cdt, cdn);
}
},
});
var get_next_due_date = function (frm, cdt, cdn) {
var d = locals[cdt][cdn];
if (d.start_date && d.periodicity) {
return frappe.call({
method: 'erpnext.assets.doctype.asset_maintenance.asset_maintenance.calculate_next_due_date',
method: "erpnext.assets.doctype.asset_maintenance.asset_maintenance.calculate_next_due_date",
args: {
start_date: d.start_date,
periodicity: d.periodicity,
end_date: d.end_date,
last_completion_date: d.last_completion_date,
next_due_date: d.next_due_date
next_due_date: d.next_due_date,
},
callback: function(r) {
callback: function (r) {
if (r.message) {
frappe.model.set_value(cdt, cdn, "next_due_date", r.message);
}
else {
} else {
frappe.model.set_value(cdt, cdn, "next_due_date", "");
}
}
},
});
}
};

View File

@@ -1,15 +1,15 @@
// Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and contributors
// For license information, please see license.txt
frappe.ui.form.on('Asset Maintenance Log', {
frappe.ui.form.on("Asset Maintenance Log", {
asset_maintenance: (frm) => {
frm.set_query('task', function(doc) {
frm.set_query("task", function (doc) {
return {
query: "erpnext.assets.doctype.asset_maintenance_log.asset_maintenance_log.get_maintenance_tasks",
filters: {
'asset_maintenance': doc.asset_maintenance
}
asset_maintenance: doc.asset_maintenance,
},
};
});
}
},
});

View File

@@ -3,20 +3,20 @@
frappe.views.calendar["Asset Maintenance Log"] = {
field_map: {
"start": "due_date",
"end": "due_date",
"id": "name",
"title": "task",
"allDay": "allDay",
"progress": "progress"
start: "due_date",
end: "due_date",
id: "name",
title: "task",
allDay: "allDay",
progress: "progress",
},
filters: [
{
"fieldtype": "Link",
"fieldname": "asset_name",
"options": "Asset Maintenance",
"label": __("Asset Maintenance")
}
fieldtype: "Link",
fieldname: "asset_name",
options: "Asset Maintenance",
label: __("Asset Maintenance"),
},
],
get_events_method: "frappe.desk.calendar.get_events"
get_events_method: "frappe.desk.calendar.get_events",
};

View File

@@ -1,15 +1,15 @@
frappe.listview_settings['Asset Maintenance Log'] = {
frappe.listview_settings["Asset Maintenance Log"] = {
add_fields: ["maintenance_status"],
has_indicator_for_draft: 1,
get_indicator: function(doc) {
if (doc.maintenance_status=="Planned") {
get_indicator: function (doc) {
if (doc.maintenance_status == "Planned") {
return [__(doc.maintenance_status), "orange", "status,=," + doc.maintenance_status];
} else if (doc.maintenance_status=="Completed") {
} else if (doc.maintenance_status == "Completed") {
return [__(doc.maintenance_status), "green", "status,=," + doc.maintenance_status];
} else if (doc.maintenance_status=="Cancelled") {
} else if (doc.maintenance_status == "Cancelled") {
return [__(doc.maintenance_status), "red", "status,=," + doc.maintenance_status];
} else if (doc.maintenance_status=="Overdue") {
} else if (doc.maintenance_status == "Overdue") {
return [__(doc.maintenance_status), "red", "status,=," + doc.maintenance_status];
}
}
},
};

View File

@@ -1,8 +1,6 @@
// Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and contributors
// For license information, please see license.txt
frappe.ui.form.on('Asset Maintenance Team', {
refresh: function() {
}
frappe.ui.form.on("Asset Maintenance Team", {
refresh: function () {},
});

View File

@@ -1,104 +1,107 @@
// Copyright (c) 2016, Frappe Technologies Pvt. Ltd. and contributors
// For license information, please see license.txt
frappe.ui.form.on('Asset Movement', {
frappe.ui.form.on("Asset Movement", {
setup: (frm) => {
frm.set_query("to_employee", "assets", (doc) => {
return {
filters: {
company: doc.company
}
company: doc.company,
},
};
})
});
frm.set_query("from_employee", "assets", (doc) => {
return {
filters: {
company: doc.company
}
company: doc.company,
},
};
})
});
frm.set_query("reference_name", (doc) => {
return {
filters: {
company: doc.company,
docstatus: 1
}
docstatus: 1,
},
};
})
});
frm.set_query("reference_doctype", () => {
return {
filters: {
name: ["in", ["Purchase Receipt", "Purchase Invoice"]]
}
name: ["in", ["Purchase Receipt", "Purchase Invoice"]],
},
};
}),
frm.set_query("asset", "assets", () => {
return {
filters: {
status: ["not in", ["Draft"]]
}
}
})
frm.set_query("asset", "assets", () => {
return {
filters: {
status: ["not in", ["Draft"]],
},
};
});
},
onload: (frm) => {
frm.trigger('set_required_fields');
frm.trigger("set_required_fields");
},
purpose: (frm) => {
frm.trigger('set_required_fields');
frm.trigger("set_required_fields");
},
set_required_fields: (frm, cdt, cdn) => {
let fieldnames_to_be_altered;
if (frm.doc.purpose === 'Transfer') {
if (frm.doc.purpose === "Transfer") {
fieldnames_to_be_altered = {
target_location: { read_only: 0, reqd: 1 },
source_location: { read_only: 1, reqd: 1 },
from_employee: { read_only: 1, reqd: 0 },
to_employee: { read_only: 1, reqd: 0 }
to_employee: { read_only: 1, reqd: 0 },
};
}
else if (frm.doc.purpose === 'Receipt') {
} else if (frm.doc.purpose === "Receipt") {
fieldnames_to_be_altered = {
target_location: { read_only: 0, reqd: 1 },
source_location: { read_only: 1, reqd: 0 },
from_employee: { read_only: 0, reqd: 0 },
to_employee: { read_only: 1, reqd: 0 }
to_employee: { read_only: 1, reqd: 0 },
};
}
else if (frm.doc.purpose === 'Issue') {
} else if (frm.doc.purpose === "Issue") {
fieldnames_to_be_altered = {
target_location: { read_only: 1, reqd: 0 },
source_location: { read_only: 1, reqd: 0 },
from_employee: { read_only: 1, reqd: 0 },
to_employee: { read_only: 0, reqd: 1 }
to_employee: { read_only: 0, reqd: 1 },
};
}
if (fieldnames_to_be_altered) {
Object.keys(fieldnames_to_be_altered).forEach(fieldname => {
Object.keys(fieldnames_to_be_altered).forEach((fieldname) => {
let property_to_be_altered = fieldnames_to_be_altered[fieldname];
Object.keys(property_to_be_altered).forEach(property => {
Object.keys(property_to_be_altered).forEach((property) => {
let value = property_to_be_altered[property];
frm.fields_dict['assets'].grid.update_docfield_property(fieldname, property, value);
frm.fields_dict["assets"].grid.update_docfield_property(fieldname, property, value);
});
});
frm.refresh_field('assets');
frm.refresh_field("assets");
}
}
},
});
frappe.ui.form.on('Asset Movement Item', {
asset: function(frm, cdt, cdn) {
frappe.ui.form.on("Asset Movement Item", {
asset: function (frm, cdt, cdn) {
// on manual entry of an asset auto sets their source location / employee
const asset_name = locals[cdt][cdn].asset;
if (asset_name){
frappe.db.get_doc('Asset', asset_name).then((asset_doc) => {
if(asset_doc.location) frappe.model.set_value(cdt, cdn, 'source_location', asset_doc.location);
if(asset_doc.custodian) frappe.model.set_value(cdt, cdn, 'from_employee', asset_doc.custodian);
}).catch((err) => {
console.log(err); // eslint-disable-line
});
if (asset_name) {
frappe.db
.get_doc("Asset", asset_name)
.then((asset_doc) => {
if (asset_doc.location)
frappe.model.set_value(cdt, cdn, "source_location", asset_doc.location);
if (asset_doc.custodian)
frappe.model.set_value(cdt, cdn, "from_employee", asset_doc.custodian);
})
.catch((err) => {
console.log(err); // eslint-disable-line
});
}
}
},
});

View File

@@ -1,31 +1,31 @@
// Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and contributors
// For license information, please see license.txt
frappe.ui.form.on('Asset Repair', {
setup: function(frm) {
frm.fields_dict.cost_center.get_query = function(doc) {
frappe.ui.form.on("Asset Repair", {
setup: function (frm) {
frm.fields_dict.cost_center.get_query = function (doc) {
return {
filters: {
'is_group': 0,
'company': doc.company
}
is_group: 0,
company: doc.company,
},
};
};
frm.fields_dict.project.get_query = function(doc) {
frm.fields_dict.project.get_query = function (doc) {
return {
filters: {
'company': doc.company
}
company: doc.company,
},
};
};
frm.fields_dict.warehouse.get_query = function(doc) {
frm.fields_dict.warehouse.get_query = function (doc) {
return {
filters: {
'is_group': 0,
'company': doc.company
}
is_group: 0,
company: doc.company,
},
};
};
@@ -33,87 +33,87 @@ frappe.ui.form.on('Asset Repair', {
let row = locals[cdt][cdn];
return {
filters: {
'item_code': row.item_code,
'voucher_type': doc.doctype,
'voucher_no': ["in", [doc.name, ""]],
'is_cancelled': 0,
}
}
item_code: row.item_code,
voucher_type: doc.doctype,
voucher_no: ["in", [doc.name, ""]],
is_cancelled: 0,
},
};
});
},
refresh: function(frm) {
refresh: function (frm) {
if (frm.doc.docstatus) {
frm.add_custom_button(__("View General Ledger"), function() {
frm.add_custom_button(__("View General Ledger"), function () {
frappe.route_options = {
"voucher_no": frm.doc.name
voucher_no: frm.doc.name,
};
frappe.set_route("query-report", "General Ledger");
});
}
let sbb_field = frm.get_docfield('stock_items', 'serial_and_batch_bundle');
let sbb_field = frm.get_docfield("stock_items", "serial_and_batch_bundle");
if (sbb_field) {
sbb_field.get_route_options_for_new_doc = (row) => {
return {
'item_code': row.doc.item_code,
'voucher_type': frm.doc.doctype,
}
item_code: row.doc.item_code,
voucher_type: frm.doc.doctype,
};
};
}
},
repair_status: (frm) => {
if (frm.doc.completion_date && frm.doc.repair_status == "Completed") {
frappe.call ({
frappe.call({
method: "erpnext.assets.doctype.asset_repair.asset_repair.get_downtime",
args: {
"failure_date":frm.doc.failure_date,
"completion_date":frm.doc.completion_date
failure_date: frm.doc.failure_date,
completion_date: frm.doc.completion_date,
},
callback: function(r) {
if(r.message) {
callback: function (r) {
if (r.message) {
frm.set_value("downtime", r.message + " Hrs");
}
}
},
});
}
if (frm.doc.repair_status == "Completed") {
frm.set_value('completion_date', frappe.datetime.now_datetime());
frm.set_value("completion_date", frappe.datetime.now_datetime());
}
},
stock_items_on_form_rendered() {
erpnext.setup_serial_or_batch_no();
}
},
});
frappe.ui.form.on('Asset Repair Consumed Item', {
item_code: function(frm, cdt, cdn) {
frappe.ui.form.on("Asset Repair Consumed Item", {
item_code: function (frm, cdt, cdn) {
var item = locals[cdt][cdn];
let item_args = {
'item_code': item.item_code,
'warehouse': frm.doc.warehouse,
'qty': item.consumed_quantity,
'serial_no': item.serial_no,
'company': frm.doc.company,
item_code: item.item_code,
warehouse: frm.doc.warehouse,
qty: item.consumed_quantity,
serial_no: item.serial_no,
company: frm.doc.company,
};
frappe.call({
method: 'erpnext.stock.utils.get_incoming_rate',
method: "erpnext.stock.utils.get_incoming_rate",
args: {
args: item_args
args: item_args,
},
callback: function (r) {
frappe.model.set_value(cdt, cdn, "valuation_rate", r.message);
},
callback: function(r) {
frappe.model.set_value(cdt, cdn, 'valuation_rate', r.message);
}
});
},
consumed_quantity: function(frm, cdt, cdn) {
consumed_quantity: function (frm, cdt, cdn) {
var row = locals[cdt][cdn];
frappe.model.set_value(cdt, cdn, 'total_value', row.consumed_quantity * row.valuation_rate);
frappe.model.set_value(cdt, cdn, "total_value", row.consumed_quantity * row.valuation_rate);
},
});

View File

@@ -1,12 +1,12 @@
frappe.listview_settings['Asset Repair'] = {
frappe.listview_settings["Asset Repair"] = {
add_fields: ["repair_status"],
get_indicator: function(doc) {
if(doc.repair_status=="Pending") {
get_indicator: function (doc) {
if (doc.repair_status == "Pending") {
return [__("Pending"), "orange"];
} else if(doc.repair_status=="Completed") {
} else if (doc.repair_status == "Completed") {
return [__("Completed"), "green"];
} else if(doc.repair_status=="Cancelled") {
} else if (doc.repair_status == "Cancelled") {
return [__("Cancelled"), "red"];
}
}
},
};

View File

@@ -1,14 +1,14 @@
// Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and contributors
// For license information, please see license.txt
frappe.ui.form.on('Asset Shift Allocation', {
onload: function(frm) {
frappe.ui.form.on("Asset Shift Allocation", {
onload: function (frm) {
frm.events.make_schedules_editable(frm);
},
make_schedules_editable: function(frm) {
make_schedules_editable: function (frm) {
frm.toggle_enable("depreciation_schedule", true);
frm.fields_dict["depreciation_schedule"].grid.toggle_enable("schedule_date", false);
frm.fields_dict["depreciation_schedule"].grid.toggle_enable("depreciation_amount", false);
frm.fields_dict["depreciation_schedule"].grid.toggle_enable("shift", true);
}
},
});

View File

@@ -3,61 +3,61 @@
frappe.provide("erpnext.accounts.dimensions");
frappe.ui.form.on('Asset Value Adjustment', {
setup: function(frm) {
frm.add_fetch('company', 'cost_center', 'cost_center');
frm.set_query('cost_center', function() {
frappe.ui.form.on("Asset Value Adjustment", {
setup: function (frm) {
frm.add_fetch("company", "cost_center", "cost_center");
frm.set_query("cost_center", function () {
return {
filters: {
company: frm.doc.company,
is_group: 0
}
}
is_group: 0,
},
};
});
frm.set_query('asset', function() {
frm.set_query("asset", function () {
return {
filters: {
calculate_depreciation: 1,
docstatus: 1
}
docstatus: 1,
},
};
});
},
onload: function(frm) {
if(frm.is_new() && frm.doc.asset) {
onload: function (frm) {
if (frm.is_new() && frm.doc.asset) {
frm.trigger("set_current_asset_value");
}
erpnext.accounts.dimensions.setup_dimension_filters(frm, frm.doctype);
},
company: function(frm) {
company: function (frm) {
erpnext.accounts.dimensions.update_dimension(frm, frm.doctype);
},
asset: function(frm) {
asset: function (frm) {
frm.trigger("set_current_asset_value");
},
finance_book: function(frm) {
finance_book: function (frm) {
frm.trigger("set_current_asset_value");
},
set_current_asset_value: function(frm) {
set_current_asset_value: function (frm) {
if (frm.doc.asset) {
frm.call({
method: "erpnext.assets.doctype.asset.asset.get_asset_value_after_depreciation",
args: {
asset_name: frm.doc.asset,
finance_book: frm.doc.finance_book
finance_book: frm.doc.finance_book,
},
callback: function(r) {
callback: function (r) {
if (r.message) {
frm.set_value('current_asset_value', r.message);
frm.set_value("current_asset_value", r.message);
}
}
},
});
}
}
},
});

View File

@@ -1,13 +1,13 @@
// Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors
// For license information, please see license.txt
frappe.ui.form.on('Location', {
frappe.ui.form.on("Location", {
setup: function (frm) {
frm.set_query("parent_location", function () {
return {
"filters": {
"is_group": 1
}
filters: {
is_group: 1,
},
};
});
},
@@ -15,10 +15,9 @@ frappe.ui.form.on('Location', {
onload_post_render(frm) {
if (!frm.doc.location && frm.doc.latitude && frm.doc.longitude) {
frm.fields_dict.location.map.setView([frm.doc.latitude, frm.doc.longitude], 13);
}
else {
frm.doc.latitude = frm.fields_dict.location.map.getCenter()['lat'];
frm.doc.longitude = frm.fields_dict.location.map.getCenter()['lng'];
} else {
frm.doc.latitude = frm.fields_dict.location.map.getCenter()["lat"];
frm.doc.longitude = frm.fields_dict.location.map.getCenter()["lng"];
}
},
});

View File

@@ -1,7 +1,7 @@
frappe.treeview_settings["Location"] = {
ignore_fields: ["parent_location"],
get_tree_nodes: 'erpnext.assets.doctype.location.location.get_children',
add_tree_node: 'erpnext.assets.doctype.location.location.add_node',
get_tree_nodes: "erpnext.assets.doctype.location.location.get_children",
add_tree_node: "erpnext.assets.doctype.location.location.add_node",
filters: [
{
fieldname: "location",
@@ -10,9 +10,9 @@ frappe.treeview_settings["Location"] = {
label: __("Location"),
get_query: function () {
return {
filters: [["Location", "is_group", "=", 1]]
filters: [["Location", "is_group", "=", 1]],
};
}
},
},
],
breadcrumb: "Assets",
@@ -24,10 +24,10 @@ frappe.treeview_settings["Location"] = {
action: function () {
frappe.new_doc("Location", true);
},
condition: 'frappe.boot.user.can_create.indexOf("Location") !== -1'
}
condition: 'frappe.boot.user.can_create.indexOf("Location") !== -1',
},
],
onload: function (treeview) {
treeview.make_tree();
}
},
};

View File

@@ -1,8 +1,6 @@
// Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and contributors
// For license information, please see license.txt
frappe.ui.form.on('Maintenance Team Member', {
refresh: function() {
}
frappe.ui.form.on("Maintenance Team Member", {
refresh: function () {},
});

View File

@@ -1,105 +1,104 @@
// Copyright (c) 2016, Frappe Technologies Pvt. Ltd. and contributors
// For license information, please see license.txt
frappe.query_reports["Fixed Asset Register"] = {
"filters": [
filters: [
{
fieldname:"company",
fieldname: "company",
label: __("Company"),
fieldtype: "Link",
options: "Company",
default: frappe.defaults.get_user_default("Company"),
reqd: 1
reqd: 1,
},
{
fieldname:"status",
fieldname: "status",
label: __("Status"),
fieldtype: "Select",
options: "\nIn Location\nDisposed",
default: 'In Location'
default: "In Location",
},
{
fieldname:"asset_category",
fieldname: "asset_category",
label: __("Asset Category"),
fieldtype: "Link",
options: "Asset Category"
options: "Asset Category",
},
{
fieldname:"cost_center",
fieldname: "cost_center",
label: __("Cost Center"),
fieldtype: "Link",
options: "Cost Center"
options: "Cost Center",
},
{
fieldname:"group_by",
fieldname: "group_by",
label: __("Group By"),
fieldtype: "Select",
options: ["--Select a group--", "Asset Category", "Location"],
default: "--Select a group--",
reqd: 1
reqd: 1,
},
{
fieldname:"only_existing_assets",
fieldname: "only_existing_assets",
label: __("Only existing assets"),
fieldtype: "Check"
fieldtype: "Check",
},
{
fieldname:"finance_book",
fieldname: "finance_book",
label: __("Finance Book"),
fieldtype: "Link",
options: "Finance Book",
},
{
"fieldname": "include_default_book_assets",
"label": __("Include Default FB Assets"),
"fieldtype": "Check",
"default": 1
fieldname: "include_default_book_assets",
label: __("Include Default FB Assets"),
fieldtype: "Check",
default: 1,
},
{
"fieldname":"filter_based_on",
"label": __("Period Based On"),
"fieldtype": "Select",
"options": ["--Select a period--", "Fiscal Year", "Date Range"],
"default": "--Select a period--",
fieldname: "filter_based_on",
label: __("Period Based On"),
fieldtype: "Select",
options: ["--Select a period--", "Fiscal Year", "Date Range"],
default: "--Select a period--",
},
{
"fieldname":"from_date",
"label": __("Start Date"),
"fieldtype": "Date",
"default": frappe.datetime.add_months(frappe.datetime.nowdate(), -12),
"depends_on": "eval: doc.filter_based_on == 'Date Range'",
fieldname: "from_date",
label: __("Start Date"),
fieldtype: "Date",
default: frappe.datetime.add_months(frappe.datetime.nowdate(), -12),
depends_on: "eval: doc.filter_based_on == 'Date Range'",
},
{
"fieldname":"to_date",
"label": __("End Date"),
"fieldtype": "Date",
"default": frappe.datetime.nowdate(),
"depends_on": "eval: doc.filter_based_on == 'Date Range'",
fieldname: "to_date",
label: __("End Date"),
fieldtype: "Date",
default: frappe.datetime.nowdate(),
depends_on: "eval: doc.filter_based_on == 'Date Range'",
},
{
"fieldname":"from_fiscal_year",
"label": __("Start Year"),
"fieldtype": "Link",
"options": "Fiscal Year",
"default": erpnext.utils.get_fiscal_year(frappe.datetime.get_today()),
"depends_on": "eval: doc.filter_based_on == 'Fiscal Year'",
fieldname: "from_fiscal_year",
label: __("Start Year"),
fieldtype: "Link",
options: "Fiscal Year",
default: erpnext.utils.get_fiscal_year(frappe.datetime.get_today()),
depends_on: "eval: doc.filter_based_on == 'Fiscal Year'",
},
{
"fieldname":"to_fiscal_year",
"label": __("End Year"),
"fieldtype": "Link",
"options": "Fiscal Year",
"default": erpnext.utils.get_fiscal_year(frappe.datetime.get_today()),
"depends_on": "eval: doc.filter_based_on == 'Fiscal Year'",
fieldname: "to_fiscal_year",
label: __("End Year"),
fieldtype: "Link",
options: "Fiscal Year",
default: erpnext.utils.get_fiscal_year(frappe.datetime.get_today()),
depends_on: "eval: doc.filter_based_on == 'Fiscal Year'",
},
{
"fieldname":"date_based_on",
"label": __("Date Based On"),
"fieldtype": "Select",
"options": ["Purchase Date", "Available For Use Date"],
"default": "Purchase Date",
"depends_on": "eval: doc.filter_based_on == 'Date Range' || doc.filter_based_on == 'Fiscal Year'",
fieldname: "date_based_on",
label: __("Date Based On"),
fieldtype: "Select",
options: ["Purchase Date", "Available For Use Date"],
default: "Purchase Date",
depends_on: "eval: doc.filter_based_on == 'Date Range' || doc.filter_based_on == 'Fiscal Year'",
},
]
],
};