Merge pull request #30899 from deepeshgarg007/timesheet_link
fix: Show linked time sheets in sales invoice dashboard
diff --git a/erpnext/accounts/doctype/bank_clearance/bank_clearance.py b/erpnext/accounts/doctype/bank_clearance/bank_clearance.py
index 0f617b5..98ba399 100644
--- a/erpnext/accounts/doctype/bank_clearance/bank_clearance.py
+++ b/erpnext/accounts/doctype/bank_clearance/bank_clearance.py
@@ -118,6 +118,7 @@
)
.where(loan_repayment.docstatus == 1)
.where(loan_repayment.clearance_date.isnull())
+ .where(loan_repayment.repay_from_salary == 0)
.where(loan_repayment.posting_date >= self.from_date)
.where(loan_repayment.posting_date <= self.to_date)
.where(loan_repayment.payment_account.isin([self.bank_account, self.account]))
diff --git a/erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py b/erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py
index 4c25d7c..0efe086 100644
--- a/erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py
+++ b/erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py
@@ -467,6 +467,7 @@
loan_repayment.posting_date,
)
.where(loan_repayment.docstatus == 1)
+ .where(loan_repayment.repay_from_salary == 0)
.where(loan_repayment.clearance_date.isnull())
.where(loan_repayment.payment_account == bank_account)
)
diff --git a/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py b/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py
index 2ac1fea..f3ccc86 100644
--- a/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py
+++ b/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py
@@ -203,7 +203,7 @@
posting_date = (loan_doc.posting_date).as_("posting_date")
account = loan_doc.payment_account
- entries = (
+ query = (
frappe.qb.from_(loan_doc)
.select(
ConstantColumn(doctype).as_("payment_document"),
@@ -217,9 +217,12 @@
.where(account == filters.get("account"))
.where(posting_date <= getdate(filters.get("report_date")))
.where(ifnull(loan_doc.clearance_date, "4000-01-01") > getdate(filters.get("report_date")))
- .run(as_dict=1)
)
+ if doctype == "Loan Repayment":
+ query.where(loan_doc.repay_from_salary == 0)
+
+ entries = query.run(as_dict=1)
loan_docs.extend(entries)
return loan_docs
diff --git a/erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.js b/erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.js
index 7a8d08d..fd73b87 100644
--- a/erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.js
+++ b/erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.js
@@ -114,11 +114,11 @@
onload: (report) => {
// Create a button for setting the default supplier
report.page.add_inner_button(__("Select Default Supplier"), () => {
- let reporter = frappe.query_reports["Quoted Item Comparison"];
+ let reporter = frappe.query_reports["Supplier Quotation Comparison"];
//Always make a new one so that the latest values get updated
reporter.make_default_supplier_dialog(report);
- }, 'Tools');
+ }, __("Tools"));
},
make_default_supplier_dialog: (report) => {
@@ -126,7 +126,7 @@
if(!report.data) return;
let filters = report.get_values();
- let item_code = filters.item;
+ let item_code = filters.item_code;
// Get a list of the suppliers (with a blank as well) for the user to select
let suppliers = $.map(report.data, (row, idx)=>{ return row.supplier_name })
@@ -152,7 +152,7 @@
]
});
- dialog.set_primary_action("Set Default Supplier", () => {
+ dialog.set_primary_action(__("Set Default Supplier"), () => {
let values = dialog.get_values();
if(values) {
// Set the default_supplier field of the appropriate Item to the selected supplier
diff --git a/erpnext/selling/doctype/sales_order/sales_order.js b/erpnext/selling/doctype/sales_order/sales_order.js
index 26c9996..6b6ea89 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.js
+++ b/erpnext/selling/doctype/sales_order/sales_order.js
@@ -65,7 +65,11 @@
frm.set_value('transaction_date', frappe.datetime.get_today())
}
erpnext.queries.setup_queries(frm, "Warehouse", function() {
- return erpnext.queries.warehouse(frm.doc);
+ return {
+ filters: [
+ ["Warehouse", "company", "in", ["", cstr(frm.doc.company)]],
+ ]
+ };
});
frm.set_query('project', function(doc, cdt, cdn) {
@@ -77,7 +81,19 @@
}
});
- erpnext.queries.setup_warehouse_query(frm);
+ frm.set_query('warehouse', 'items', function(doc, cdt, cdn) {
+ let row = locals[cdt][cdn];
+ let query = {
+ filters: [
+ ["Warehouse", "company", "in", ["", cstr(frm.doc.company)]],
+ ]
+ };
+ if (row.item_code) {
+ query.query = "erpnext.controllers.queries.warehouse_query";
+ query.filters.push(["Bin", "item_code", "=", row.item_code]);
+ }
+ return query;
+ });
frm.ignore_doctypes_on_cancel_all = ['Purchase Order'];
},