Merge branch 'hotfix'
This commit is contained in:
commit
aa25e95510
@ -4,7 +4,7 @@ import inspect
|
|||||||
import frappe
|
import frappe
|
||||||
from erpnext.hooks import regional_overrides
|
from erpnext.hooks import regional_overrides
|
||||||
|
|
||||||
__version__ = '9.2.17'
|
__version__ = '9.2.18'
|
||||||
|
|
||||||
def get_default_company(user=None):
|
def get_default_company(user=None):
|
||||||
'''Get default company for user'''
|
'''Get default company for user'''
|
||||||
|
@ -83,7 +83,7 @@ frappe.query_reports["General Ledger"] = {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var fieldname = party_type.toLowerCase() + "_name";
|
var fieldname = frappe.scrub(party_type) + "_name";
|
||||||
frappe.db.get_value(party_type, party, fieldname, function(value) {
|
frappe.db.get_value(party_type, party, fieldname, function(value) {
|
||||||
frappe.query_report_filters_by_name.party_name.set_value(value[fieldname]);
|
frappe.query_report_filters_by_name.party_name.set_value(value[fieldname]);
|
||||||
});
|
});
|
||||||
|
@ -18,4 +18,6 @@ def execute():
|
|||||||
and so.order_type = 'Sales'
|
and so.order_type = 'Sales'
|
||||||
and (so_item.delivery_date is null or so_item.delivery_date = ''
|
and (so_item.delivery_date is null or so_item.delivery_date = ''
|
||||||
or so_item.delivery_date = '0000-00-00')
|
or so_item.delivery_date = '0000-00-00')
|
||||||
""")
|
and (so.delivery_date is not null and so.delivery_date != ''
|
||||||
|
and so.delivery_date != '0000-00-00')
|
||||||
|
""")
|
||||||
|
@ -34,7 +34,7 @@
|
|||||||
margin-left: 15px;
|
margin-left: 15px;
|
||||||
}
|
}
|
||||||
.cart-wrapper {
|
.cart-wrapper {
|
||||||
margin-bottom: 10px;
|
margin-bottom: 12px;
|
||||||
}
|
}
|
||||||
.cart-wrapper .list-item__content:not(:first-child) {
|
.cart-wrapper .list-item__content:not(:first-child) {
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
@ -121,7 +121,6 @@ input[type=number]::-webkit-outer-spin-button {
|
|||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
display: table;
|
display: table;
|
||||||
margin: auto;
|
|
||||||
}
|
}
|
||||||
.num-row {
|
.num-row {
|
||||||
display: table-row;
|
display: table-row;
|
||||||
|
@ -550,7 +550,7 @@ erpnext.TransactionController = erpnext.taxes_and_totals.extend({
|
|||||||
|
|
||||||
}
|
}
|
||||||
// Make read only if Accounts Settings doesn't allow stale rates
|
// Make read only if Accounts Settings doesn't allow stale rates
|
||||||
this.frm.set_df_property("conversion_rate", "read_only", erpnext.stale_rate_allowed());
|
this.frm.set_df_property("conversion_rate", "read_only", erpnext.stale_rate_allowed() ? 0 : 1);
|
||||||
},
|
},
|
||||||
|
|
||||||
set_actual_charges_based_on_currency: function() {
|
set_actual_charges_based_on_currency: function() {
|
||||||
|
@ -50,7 +50,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.cart-wrapper {
|
.cart-wrapper {
|
||||||
margin-bottom: 10px;
|
margin-bottom: 12px;
|
||||||
.list-item__content:not(:first-child) {
|
.list-item__content:not(:first-child) {
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
}
|
}
|
||||||
@ -155,7 +155,6 @@ input[type=number]::-webkit-outer-spin-button {
|
|||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
display: table;
|
display: table;
|
||||||
margin: auto;
|
|
||||||
}
|
}
|
||||||
.num-row {
|
.num-row {
|
||||||
display: table-row;
|
display: table-row;
|
||||||
|
@ -14,15 +14,15 @@ def validate_gstin_for_india(doc, method):
|
|||||||
if not p.match(doc.gstin):
|
if not p.match(doc.gstin):
|
||||||
frappe.throw(_("Invalid GSTIN or Enter NA for Unregistered"))
|
frappe.throw(_("Invalid GSTIN or Enter NA for Unregistered"))
|
||||||
|
|
||||||
if not doc.gst_state:
|
if not doc.gst_state:
|
||||||
if doc.state in states:
|
if doc.state in states:
|
||||||
doc.gst_state = doc.state
|
doc.gst_state = doc.state
|
||||||
|
|
||||||
if doc.gst_state:
|
if doc.gst_state:
|
||||||
doc.gst_state_number = state_numbers[doc.gst_state]
|
doc.gst_state_number = state_numbers[doc.gst_state]
|
||||||
if doc.gstin != "NA" and doc.gst_state_number != doc.gstin[:2]:
|
if doc.gstin and doc.gstin != "NA" and doc.gst_state_number != doc.gstin[:2]:
|
||||||
frappe.throw(_("First 2 digits of GSTIN should match with State number {0}")
|
frappe.throw(_("First 2 digits of GSTIN should match with State number {0}")
|
||||||
.format(doc.gst_state_number))
|
.format(doc.gst_state_number))
|
||||||
|
|
||||||
def get_itemised_tax_breakup_header(item_doctype, tax_accounts):
|
def get_itemised_tax_breakup_header(item_doctype, tax_accounts):
|
||||||
if frappe.get_meta(item_doctype).has_field('gst_hsn_code'):
|
if frappe.get_meta(item_doctype).has_field('gst_hsn_code'):
|
||||||
|
@ -206,7 +206,7 @@ erpnext.pos.PointOfSale = class PointOfSale {
|
|||||||
|
|
||||||
select_batch_and_serial_no(item) {
|
select_batch_and_serial_no(item) {
|
||||||
erpnext.show_serial_batch_selector(this.frm, item, () => {
|
erpnext.show_serial_batch_selector(this.frm, item, () => {
|
||||||
this.update_item_in_frm(item)
|
this.update_item_in_frm(item, 'qty', item.qty)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
// update cart
|
// update cart
|
||||||
if (item.qty === 0) {
|
if (item.qty === 0) {
|
||||||
@ -321,19 +321,17 @@ erpnext.pos.PointOfSale = class PointOfSale {
|
|||||||
|
|
||||||
make_new_invoice() {
|
make_new_invoice() {
|
||||||
return frappe.run_serially([
|
return frappe.run_serially([
|
||||||
|
() => this.make_sales_invoice_frm(),
|
||||||
|
() => this.set_pos_profile_data(),
|
||||||
() => {
|
() => {
|
||||||
this.make_sales_invoice_frm()
|
if (this.cart) {
|
||||||
.then(() => this.set_pos_profile_data())
|
this.cart.frm = this.frm;
|
||||||
.then(() => {
|
this.cart.reset();
|
||||||
if (this.cart) {
|
} else {
|
||||||
this.cart.frm = this.frm;
|
this.make_items();
|
||||||
this.cart.reset();
|
this.make_cart();
|
||||||
} else {
|
}
|
||||||
this.make_items();
|
this.toggle_editing(true);
|
||||||
this.make_cart();
|
|
||||||
}
|
|
||||||
this.toggle_editing(true);
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
@ -376,7 +374,10 @@ erpnext.pos.PointOfSale = class PointOfSale {
|
|||||||
this.frm.script_manager.trigger("update_stock");
|
this.frm.script_manager.trigger("update_stock");
|
||||||
frappe.model.set_default_values(this.frm.doc);
|
frappe.model.set_default_values(this.frm.doc);
|
||||||
this.frm.cscript.calculate_taxes_and_totals();
|
this.frm.cscript.calculate_taxes_and_totals();
|
||||||
this.frm.meta.default_print_format = r.message.print_format || 'POS Invoice';
|
|
||||||
|
if (r.message) {
|
||||||
|
this.frm.meta.default_print_format = r.message.print_format || 'POS Invoice';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
resolve();
|
resolve();
|
||||||
@ -915,7 +916,7 @@ class POSItems {
|
|||||||
this.search_field = frappe.ui.form.make_control({
|
this.search_field = frappe.ui.form.make_control({
|
||||||
df: {
|
df: {
|
||||||
fieldtype: 'Data',
|
fieldtype: 'Data',
|
||||||
label: 'Search Item ( Ctrl + i )',
|
label: 'Search Item (Ctrl + i)',
|
||||||
placeholder: 'Search by item code, serial number, batch no or barcode'
|
placeholder: 'Search by item code, serial number, batch no or barcode'
|
||||||
},
|
},
|
||||||
parent: this.wrapper.find('.search-field'),
|
parent: this.wrapper.find('.search-field'),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user