Merge pull request #22976 from marination/sales-taxes-dashboard
fix: Susbcription in Sales Taxes and Charges Dashboard
diff --git a/erpnext/accounts/doctype/pos_profile/pos_profile.js b/erpnext/accounts/doctype/pos_profile/pos_profile.js
index ef431d7..8ec6a53 100755
--- a/erpnext/accounts/doctype/pos_profile/pos_profile.js
+++ b/erpnext/accounts/doctype/pos_profile/pos_profile.js
@@ -31,8 +31,7 @@
frm.set_query("print_format", function() {
return {
filters: [
- ['Print Format', 'doc_type', '=', 'Sales Invoice'],
- ['Print Format', 'print_format_type', '=', 'Jinja'],
+ ['Print Format', 'doc_type', '=', 'POS Invoice']
]
};
});
@@ -45,10 +44,6 @@
};
});
- frm.set_query("print_format", function() {
- return { filters: { doc_type: "Sales Invoice", print_format_type: "JS"} };
- });
-
frm.set_query('company_address', function(doc) {
if(!doc.company) {
frappe.throw(__('Please set Company'));
diff --git a/erpnext/controllers/queries.py b/erpnext/controllers/queries.py
index babc5bd..37b7e31 100644
--- a/erpnext/controllers/queries.py
+++ b/erpnext/controllers/queries.py
@@ -613,9 +613,12 @@
if not taxes:
return frappe.db.sql(""" SELECT name FROM `tabItem Tax Template` """)
else:
+ valid_from = filters.get('valid_from')
+ valid_from = valid_from[1] if isinstance(valid_from, list) else valid_from
+
args = {
'item_code': filters.get('item_code'),
- 'posting_date': filters.get('valid_from'),
+ 'posting_date': valid_from,
'tax_category': filters.get('tax_category'),
'company': filters.get('company')
}
diff --git a/erpnext/crm/doctype/opportunity/opportunity.py b/erpnext/crm/doctype/opportunity/opportunity.py
index 1b071ea..efaeca0 100644
--- a/erpnext/crm/doctype/opportunity/opportunity.py
+++ b/erpnext/crm/doctype/opportunity/opportunity.py
@@ -330,7 +330,7 @@
opportunity = frappe.get_doc({
"doctype": "Opportunity",
"opportunity_from": opportunity_from,
- "lead": lead
+ "party_name": lead
}).insert(ignore_permissions=True)
link_communication_to_document(doc, "Opportunity", opportunity.name, ignore_communication_links)
diff --git a/erpnext/education/doctype/fees/test_fees.py b/erpnext/education/doctype/fees/test_fees.py
index b182992..eedc2ae 100644
--- a/erpnext/education/doctype/fees/test_fees.py
+++ b/erpnext/education/doctype/fees/test_fees.py
@@ -7,7 +7,7 @@
import unittest
from frappe.utils import nowdate
from frappe.utils.make_random import get_random
-
+from erpnext.education.doctype.program.test_program import make_program_and_linked_courses
# test_records = frappe.get_test_records('Fees')
@@ -15,6 +15,7 @@
def test_fees(self):
student = get_random("Student")
+ program = make_program_and_linked_courses("_Test Program 1", ["_Test Course 1", "_Test Course 2"])
fee = frappe.new_doc("Fees")
fee.posting_date = nowdate()
fee.due_date = nowdate()
@@ -23,6 +24,7 @@
fee.income_account = "Sales - _TC"
fee.cost_center = "_Test Cost Center - _TC"
fee.company = "_Test Company"
+ fee.program = program.name
fee.extend("components", [
{
diff --git a/erpnext/healthcare/doctype/inpatient_record/inpatient_record.js b/erpnext/healthcare/doctype/inpatient_record/inpatient_record.js
index 971e166..60f0f9d 100644
--- a/erpnext/healthcare/doctype/inpatient_record/inpatient_record.js
+++ b/erpnext/healthcare/doctype/inpatient_record/inpatient_record.js
@@ -134,7 +134,7 @@
{fieldtype: 'Link', label: 'Leave From', fieldname: 'leave_from', options: 'Healthcare Service Unit', reqd: 1, read_only:1},
{fieldtype: 'Link', label: 'Service Unit Type', fieldname: 'service_unit_type', options: 'Healthcare Service Unit Type'},
{fieldtype: 'Link', label: 'Transfer To', fieldname: 'service_unit', options: 'Healthcare Service Unit', reqd: 1},
- {fieldtype: 'Datetime', label: 'Check In', fieldname: 'check_in', reqd: 1}
+ {fieldtype: 'Datetime', label: 'Check In', fieldname: 'check_in', reqd: 1, default: frappe.datetime.now_datetime()}
],
primary_action_label: __('Transfer'),
primary_action : function() {
@@ -147,7 +147,12 @@
if(dialog.get_value('service_unit')){
service_unit = dialog.get_value('service_unit');
}
- if(!check_in){
+ if(check_in > frappe.datetime.now_datetime()){
+ frappe.msgprint({
+ title: __('Not Allowed'),
+ message: __('Check-in time cannot be greater than the current time'),
+ indicator: 'red'
+ });
return;
}
frappe.call({
diff --git a/erpnext/public/js/communication.js b/erpnext/public/js/communication.js
index 5316eb4..9432d42 100644
--- a/erpnext/public/js/communication.js
+++ b/erpnext/public/js/communication.js
@@ -13,7 +13,7 @@
frappe.confirm(__(confirm_msg, [__("Issue")]), () => {
frm.trigger('make_issue_from_communication');
})
- }, "Make");
+ }, "Create");
}
if(!in_list(["Lead", "Opportunity"], frm.doc.reference_doctype)) {
diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js
index 4e50f3d..436a232 100644
--- a/erpnext/public/js/controllers/transaction.js
+++ b/erpnext/public/js/controllers/transaction.js
@@ -1821,7 +1821,6 @@
},
set_query_for_item_tax_template: function(doc, cdt, cdn) {
-
var item = frappe.get_doc(cdt, cdn);
if(!item.item_code) {
frappe.throw(__("Please enter Item Code to get item taxes"));
@@ -1829,7 +1828,7 @@
let filters = {
'item_code': item.item_code,
- 'valid_from': doc.transaction_date || doc.bill_date || doc.posting_date,
+ 'valid_from': ["<=", doc.transaction_date || doc.bill_date || doc.posting_date],
'item_group': item.item_group,
}
diff --git a/erpnext/selling/page/point_of_sale/pos_controller.js b/erpnext/selling/page/point_of_sale/pos_controller.js
index 483ef78..ae5471b 100644
--- a/erpnext/selling/page/point_of_sale/pos_controller.js
+++ b/erpnext/selling/page/point_of_sale/pos_controller.js
@@ -35,7 +35,8 @@
create_opening_voucher() {
const table_fields = [
{ fieldname: "mode_of_payment", fieldtype: "Link", in_list_view: 1, label: "Mode of Payment", options: "Mode of Payment", reqd: 1 },
- { fieldname: "opening_amount", fieldtype: "Currency", in_list_view: 1, label: "Opening Amount", options: "company:company_currency", reqd: 1 }
+ { fieldname: "opening_amount", fieldtype: "Currency", default: 0, in_list_view: 1, label: "Opening Amount",
+ options: "company:company_currency", reqd: 1 }
];
const dialog = new frappe.ui.Dialog({
@@ -66,7 +67,7 @@
frappe.db.get_doc("POS Closing Entry", pos_closing_entry.name).then(({ payment_reconciliation }) => {
dialog.fields_dict.balance_details.df.data = [];
payment_reconciliation.forEach(pay => {
- const { mode_of_payment, closing_amount } = pay;
+ const { mode_of_payment } = pay;
dialog.fields_dict.balance_details.df.data.push({
mode_of_payment: mode_of_payment
});
@@ -152,7 +153,7 @@
},
() => this.make_new_invoice(),
() => frappe.dom.unfreeze(),
- () => this.page.set_title(__('Point of Sale Beta')),
+ () => this.page.set_title(__('Point of Sale')),
]);
}