fix: stale report indicator (#37647)
* fix: stale report indicator that is not specific to prepared report * fix: some padding left * fix: for prepared report, check should happen on refresh too
This commit is contained in:
parent
d43ff42a3b
commit
d7f7618039
1 changed files with 32 additions and 23 deletions
|
|
@ -762,9 +762,39 @@ frappe.views.QueryReport = class QueryReport extends frappe.views.BaseList {
|
|||
let data = r.message;
|
||||
this.hide_status();
|
||||
clearInterval(this.interval);
|
||||
|
||||
clearInterval(this.stale_report_interval);
|
||||
this.refreshed_at = frappe.datetime.now_datetime();
|
||||
this.execution_time = data.execution_time || 0.1;
|
||||
|
||||
const check_if_report_is_stale = () => {
|
||||
let generated_at = this.prepared_report
|
||||
? this.prepared_report_document.report_end_time
|
||||
: this.refreshed_at;
|
||||
let pretty_diff = frappe.datetime.comment_when(generated_at);
|
||||
const days_old = frappe.datetime.get_day_diff(
|
||||
frappe.datetime.now_datetime(),
|
||||
generated_at
|
||||
);
|
||||
const minutes_old = frappe.datetime.get_minute_diff(
|
||||
frappe.datetime.now_datetime(),
|
||||
generated_at
|
||||
);
|
||||
if (days_old > 1) {
|
||||
pretty_diff = `<span style="color:var(--red-600)">${pretty_diff}</span>`;
|
||||
}
|
||||
if (minutes_old >= 1) {
|
||||
this.show_status(`
|
||||
<div class="indicator orange pl-1">
|
||||
<span>
|
||||
${__("This report was generated {0}.", [pretty_diff])}
|
||||
</span>
|
||||
</div>
|
||||
`);
|
||||
}
|
||||
};
|
||||
|
||||
this.stale_report_interval = setInterval(check_if_report_is_stale, 60000);
|
||||
|
||||
if (data.custom_filters) {
|
||||
this.set_filters(data.custom_filters);
|
||||
this.previous_filters = data.custom_filters;
|
||||
|
|
@ -787,6 +817,7 @@ frappe.views.QueryReport = class QueryReport extends frappe.views.BaseList {
|
|||
});
|
||||
}
|
||||
this.add_prepared_report_buttons(data.doc);
|
||||
check_if_report_is_stale();
|
||||
}
|
||||
|
||||
if (data.report_summary) {
|
||||
|
|
@ -865,28 +896,6 @@ frappe.views.QueryReport = class QueryReport extends frappe.views.BaseList {
|
|||
},
|
||||
__("Actions")
|
||||
);
|
||||
|
||||
let pretty_diff = frappe.datetime.comment_when(doc.report_end_time);
|
||||
const days_old = frappe.datetime.get_day_diff(
|
||||
frappe.datetime.now_datetime(),
|
||||
doc.report_end_time
|
||||
);
|
||||
if (days_old > 1) {
|
||||
pretty_diff = `<span style="color:var(--red-600)">${pretty_diff}</span>`;
|
||||
}
|
||||
const part1 = __("This report was generated {0}.", [pretty_diff]);
|
||||
const part2 = __("To get the updated report, click on {0}.", [__("Rebuild")]);
|
||||
const part3 = __("See all past reports.");
|
||||
|
||||
this.show_status(`
|
||||
<div class="indicator orange">
|
||||
<span>
|
||||
${part1}
|
||||
${part2}
|
||||
<a href="/desk/List/Prepared%20Report?report_name=${this.report_name}"> ${part3}</a>
|
||||
</span>
|
||||
</div>
|
||||
`);
|
||||
}
|
||||
|
||||
// Three cases
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue