From 6b87d38a8090893fdb5639a6d784cf29dc74fb33 Mon Sep 17 00:00:00 2001
From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com>
Date: Mon, 21 Feb 2022 20:17:05 +0530
Subject: [PATCH 1/4] fix: JobCard TimeLog to_date (#29872) (#29919)
(cherry picked from commit e4c4dc402e75d3ec501095fa3e914553fcd07a4d)
Co-authored-by: Sagar Sharma
---
erpnext/manufacturing/doctype/job_card/job_card.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/erpnext/manufacturing/doctype/job_card/job_card.py b/erpnext/manufacturing/doctype/job_card/job_card.py
index e6090ba02a2..3c406156ebd 100644
--- a/erpnext/manufacturing/doctype/job_card/job_card.py
+++ b/erpnext/manufacturing/doctype/job_card/job_card.py
@@ -62,7 +62,7 @@ class JobCard(Document):
if self.get('time_logs'):
for d in self.get('time_logs'):
- if get_datetime(d.from_time) > get_datetime(d.to_time):
+ if d.to_time and get_datetime(d.from_time) > get_datetime(d.to_time):
frappe.throw(_("Row {0}: From time must be less than to time").format(d.idx))
data = self.get_overlap_for(d)
From 233a75a438d99774ab4ce30d7b67dae3acea9708 Mon Sep 17 00:00:00 2001
From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com>
Date: Mon, 21 Feb 2022 23:10:20 +0530
Subject: [PATCH 2/4] fix(LMS): program enrollment does not give any feedback
(backport #29922) (#29924)
Co-authored-by: Rucha Mahabal
---
erpnext/www/lms/macros/hero.html | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/erpnext/www/lms/macros/hero.html b/erpnext/www/lms/macros/hero.html
index e72bfc8175b..95ba8f7df28 100644
--- a/erpnext/www/lms/macros/hero.html
+++ b/erpnext/www/lms/macros/hero.html
@@ -11,7 +11,7 @@
{% if frappe.session.user == 'Guest' %}
{{_('Sign Up')}}
{% elif not has_access %}
-
+
{% endif %}
@@ -20,34 +20,35 @@
From 0f101b52097d2681d475d2ccc0cc68dd3735ee31 Mon Sep 17 00:00:00 2001
From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com>
Date: Tue, 22 Feb 2022 11:56:56 +0530
Subject: [PATCH 3/4] fix(Salary Slip): TypeError while clearing any amount
field in components (backport #29931) (#29932)
Co-authored-by: Rucha Mahabal
---
erpnext/payroll/doctype/salary_slip/salary_slip.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/erpnext/payroll/doctype/salary_slip/salary_slip.py b/erpnext/payroll/doctype/salary_slip/salary_slip.py
index 8ea791f620f..e70c5116bed 100644
--- a/erpnext/payroll/doctype/salary_slip/salary_slip.py
+++ b/erpnext/payroll/doctype/salary_slip/salary_slip.py
@@ -1265,7 +1265,7 @@ class SalarySlip(TransactionBase):
for i, earning in enumerate(self.earnings):
if earning.salary_component == salary_component:
self.earnings[i].amount = wages_amount
- self.gross_pay += self.earnings[i].amount
+ self.gross_pay += flt(self.earnings[i].amount, earning.precision("amount"))
self.net_pay = flt(self.gross_pay) - flt(self.total_deduction)
def compute_year_to_date(self):
From 6539d32ca90e44a9abfd04b36fc998c4cb9c9ece Mon Sep 17 00:00:00 2001
From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com>
Date: Tue, 22 Feb 2022 13:01:31 +0530
Subject: [PATCH 4/4] fix: Fetch conversion factor even if it already existed
in row, on item change (#29917) (#29935)
* fix: Fetch conversion factor even if it already existed in row, on item change
* fix: Retain manually changed conversion factor
- If item code changes, reset conversion factor on client side
- Keep API behavious consistent, if conversion factor is sent, same must come back
- API should not ideally reset values in most cases
(cherry picked from commit 235fc127b3ecf943176ed9c208425f9bda100798)
Co-authored-by: Marica
---
erpnext/public/js/controllers/transaction.js | 1 +
1 file changed, 1 insertion(+)
diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js
index e742ae9a890..4801b333df9 100644
--- a/erpnext/public/js/controllers/transaction.js
+++ b/erpnext/public/js/controllers/transaction.js
@@ -525,6 +525,7 @@ erpnext.TransactionController = erpnext.taxes_and_totals.extend({
item.weight_per_unit = 0;
item.weight_uom = '';
+ item.conversion_factor = 0;
if(['Sales Invoice'].includes(this.frm.doc.doctype)) {
update_stock = cint(me.frm.doc.update_stock);