update Monthly Absence Report to use quarter filter instead of date range
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
5477ad2e91
commit
e883f8816f
|
|
@ -1,6 +1,16 @@
|
||||||
// Copyright (c) 2024, Company and contributors
|
// Copyright (c) 2024, Company and contributors
|
||||||
// For license information, please see license.txt
|
// For license information, please see license.txt
|
||||||
|
|
||||||
|
function get_quarter_dates(year, quarter) {
|
||||||
|
const quarters = {
|
||||||
|
"1": { from: year + "-01-01", to: year + "-03-31" },
|
||||||
|
"2": { from: year + "-04-01", to: year + "-06-30" },
|
||||||
|
"3": { from: year + "-07-01", to: year + "-09-30" },
|
||||||
|
"4": { from: year + "-10-01", to: year + "-12-31" }
|
||||||
|
};
|
||||||
|
return quarters[String(quarter)];
|
||||||
|
}
|
||||||
|
|
||||||
frappe.query_reports["Monthly Absence Report"] = {
|
frappe.query_reports["Monthly Absence Report"] = {
|
||||||
"filters": [
|
"filters": [
|
||||||
{
|
{
|
||||||
|
|
@ -11,22 +21,63 @@ frappe.query_reports["Monthly Absence Report"] = {
|
||||||
reqd: 1,
|
reqd: 1,
|
||||||
default: frappe.defaults.get_user_default("Company")
|
default: frappe.defaults.get_user_default("Company")
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
fieldname: "year",
|
||||||
|
label: __("İl"),
|
||||||
|
fieldtype: "Int",
|
||||||
|
reqd: 1,
|
||||||
|
default: new Date().getFullYear(),
|
||||||
|
on_change: function() {
|
||||||
|
const year = frappe.query_report.get_filter_value("year");
|
||||||
|
const quarter = frappe.query_report.get_filter_value("quarter");
|
||||||
|
if (year && quarter) {
|
||||||
|
const dates = get_quarter_dates(year, quarter);
|
||||||
|
frappe.query_report.set_filter_value("from_date", dates.from);
|
||||||
|
frappe.query_report.set_filter_value("to_date", dates.to);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
fieldname: "quarter",
|
||||||
|
label: __("Rüb"),
|
||||||
|
fieldtype: "Select",
|
||||||
|
options: "1\n2\n3\n4",
|
||||||
|
reqd: 1,
|
||||||
|
default: String(Math.ceil((new Date().getMonth() + 1) / 3)),
|
||||||
|
on_change: function() {
|
||||||
|
const year = frappe.query_report.get_filter_value("year");
|
||||||
|
const quarter = frappe.query_report.get_filter_value("quarter");
|
||||||
|
if (year && quarter) {
|
||||||
|
const dates = get_quarter_dates(year, quarter);
|
||||||
|
frappe.query_report.set_filter_value("from_date", dates.from);
|
||||||
|
frappe.query_report.set_filter_value("to_date", dates.to);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
fieldname: "from_date",
|
fieldname: "from_date",
|
||||||
label: __("Tarixdən"),
|
label: __("Tarixdən"),
|
||||||
fieldtype: "Date",
|
fieldtype: "Date",
|
||||||
reqd: 1,
|
hidden: 1
|
||||||
default: frappe.datetime.add_months(frappe.datetime.get_today(), -1)
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldname: "to_date",
|
fieldname: "to_date",
|
||||||
label: __("Tarixə qədər"),
|
label: __("Tarixə qədər"),
|
||||||
fieldtype: "Date",
|
fieldtype: "Date",
|
||||||
reqd: 1,
|
hidden: 1
|
||||||
default: frappe.datetime.get_today()
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
||||||
|
"onload": function() {
|
||||||
|
const year = frappe.query_report.get_filter_value("year");
|
||||||
|
const quarter = frappe.query_report.get_filter_value("quarter");
|
||||||
|
if (year && quarter) {
|
||||||
|
const dates = get_quarter_dates(year, quarter);
|
||||||
|
frappe.query_report.set_filter_value("from_date", dates.from);
|
||||||
|
frappe.query_report.set_filter_value("to_date", dates.to);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
"formatter": function (value, row, column, data, default_formatter) {
|
"formatter": function (value, row, column, data, default_formatter) {
|
||||||
value = default_formatter(value, row, column, data);
|
value = default_formatter(value, row, column, data);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue