Skip to content

Commit

Permalink
fix: slow posting datetime update (backport #44799) (#44805)
Browse files Browse the repository at this point in the history
fix: slow posting datetime update (#44799)

(cherry picked from commit a7b5e25)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
  • Loading branch information
mergify[bot] and rohitwaghchaure authored Dec 20, 2024
1 parent 58c0e24 commit ad57e33
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,7 @@ def test_old_batch_valuation(self):
}
)

doc.set_posting_datetime()
doc.flags.ignore_permissions = True
doc.flags.ignore_mandatory = True
doc.flags.ignore_links = True
Expand Down Expand Up @@ -586,6 +587,7 @@ def test_serial_no_valuation_for_legacy_ledgers(self):
"company": "_Test Company",
}
)
doc.set_posting_datetime()
doc.flags.ignore_permissions = True
doc.flags.ignore_mandatory = True
doc.flags.ignore_links = True
Expand Down
11 changes: 3 additions & 8 deletions erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ def validate(self):
self.flags.ignore_submit_comment = True
from erpnext.stock.utils import validate_disabled_warehouse, validate_warehouse_company

self.set_posting_datetime()
self.validate_mandatory()
self.validate_batch()
validate_disabled_warehouse(self.warehouse)
Expand All @@ -98,15 +99,10 @@ def validate(self):
self.validate_with_last_transaction_posting_time()
self.validate_inventory_dimension_negative_stock()

def set_posting_datetime(self, save=False):
def set_posting_datetime(self):
from erpnext.stock.utils import get_combine_datetime

if save:
posting_datetime = get_combine_datetime(self.posting_date, self.posting_time)
if not self.posting_datetime or self.posting_datetime != posting_datetime:
self.db_set("posting_datetime", posting_datetime)
else:
self.posting_datetime = get_combine_datetime(self.posting_date, self.posting_time)
self.posting_datetime = get_combine_datetime(self.posting_date, self.posting_time)

def validate_inventory_dimension_negative_stock(self):
if self.is_cancelled or self.actual_qty >= 0:
Expand Down Expand Up @@ -173,7 +169,6 @@ def _get_inventory_dimensions(self):
return inv_dimension_dict

def on_submit(self):
self.set_posting_datetime(save=True)
self.check_stock_frozen_date()

# Added to handle few test cases where serial_and_batch_bundles are not required
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1242,6 +1242,7 @@ def test_stock_reco_with_legacy_batch(self):
}
)

doc.set_posting_datetime()
doc.flags.ignore_permissions = True
doc.flags.ignore_mandatory = True
doc.flags.ignore_links = True
Expand Down
1 change: 0 additions & 1 deletion erpnext/stock/stock_ledger.py
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,6 @@ def make_entry(args, allow_negative_stock=False, via_landed_cost_voucher=False):
sle.flags.ignore_permissions = 1
sle.allow_negative_stock = allow_negative_stock
sle.via_landed_cost_voucher = via_landed_cost_voucher
sle.set_posting_datetime()
sle.submit()

# Added to handle the case when the stock ledger entry is created from the repostig
Expand Down

0 comments on commit ad57e33

Please sign in to comment.