[added] frappe.safe_eval
This commit is contained in:
parent
5e9d72d57b
commit
9365641777
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
import frappe
|
import frappe
|
||||||
from frappe.utils import flt, comma_or, nowdate, getdate
|
from frappe.utils import flt, comma_or
|
||||||
from frappe import _
|
from frappe import _
|
||||||
from frappe.model.document import Document
|
from frappe.model.document import Document
|
||||||
|
|
||||||
@ -119,7 +119,7 @@ class StatusUpdater(Document):
|
|||||||
self.status = s[0]
|
self.status = s[0]
|
||||||
break
|
break
|
||||||
elif s[1].startswith("eval:"):
|
elif s[1].startswith("eval:"):
|
||||||
if eval(s[1][5:]):
|
if frappe.safe_eval(s[1][5:]):
|
||||||
self.status = s[0]
|
self.status = s[0]
|
||||||
break
|
break
|
||||||
elif getattr(self, s[1])():
|
elif getattr(self, s[1])():
|
||||||
|
@ -76,12 +76,12 @@ class SalarySlip(TransactionBase):
|
|||||||
def eval_condition_and_formula(self, d, data):
|
def eval_condition_and_formula(self, d, data):
|
||||||
try:
|
try:
|
||||||
if d.condition:
|
if d.condition:
|
||||||
if not eval(d.condition, {}, data):
|
if not frappe.safe_eval(d.condition, None, data):
|
||||||
return None
|
return None
|
||||||
amount = d.amount
|
amount = d.amount
|
||||||
if d.amount_based_on_formula:
|
if d.amount_based_on_formula:
|
||||||
if d.formula:
|
if d.formula:
|
||||||
amount = eval(d.formula, None, data)
|
amount = frappe.safe_eval(d.formula, None, data)
|
||||||
if amount:
|
if amount:
|
||||||
data[d.abbr] = amount
|
data[d.abbr] = amount
|
||||||
|
|
||||||
|
@ -44,30 +44,30 @@ class TestStockEntry(unittest.TestCase):
|
|||||||
|
|
||||||
make_stock_entry(item_code=item_code, target=warehouse, qty=1, basic_rate=10)
|
make_stock_entry(item_code=item_code, target=warehouse, qty=1, basic_rate=10)
|
||||||
sle = get_sle(item_code = item_code, warehouse = warehouse)[0]
|
sle = get_sle(item_code = item_code, warehouse = warehouse)[0]
|
||||||
self.assertEqual([[1, 10]], eval(sle.stock_queue))
|
self.assertEqual([[1, 10]], frappe.safe_eval(sle.stock_queue))
|
||||||
|
|
||||||
# negative qty
|
# negative qty
|
||||||
make_stock_entry(item_code=item_code, source=warehouse, qty=2, basic_rate=10)
|
make_stock_entry(item_code=item_code, source=warehouse, qty=2, basic_rate=10)
|
||||||
sle = get_sle(item_code = item_code, warehouse = warehouse)[0]
|
sle = get_sle(item_code = item_code, warehouse = warehouse)[0]
|
||||||
|
|
||||||
self.assertEqual([[-1, 10]], eval(sle.stock_queue))
|
self.assertEqual([[-1, 10]], frappe.safe_eval(sle.stock_queue))
|
||||||
|
|
||||||
# further negative
|
# further negative
|
||||||
make_stock_entry(item_code=item_code, source=warehouse, qty=1)
|
make_stock_entry(item_code=item_code, source=warehouse, qty=1)
|
||||||
sle = get_sle(item_code = item_code, warehouse = warehouse)[0]
|
sle = get_sle(item_code = item_code, warehouse = warehouse)[0]
|
||||||
|
|
||||||
self.assertEqual([[-2, 10]], eval(sle.stock_queue))
|
self.assertEqual([[-2, 10]], frappe.safe_eval(sle.stock_queue))
|
||||||
|
|
||||||
# move stock to positive
|
# move stock to positive
|
||||||
make_stock_entry(item_code=item_code, target=warehouse, qty=3, basic_rate=20)
|
make_stock_entry(item_code=item_code, target=warehouse, qty=3, basic_rate=20)
|
||||||
sle = get_sle(item_code = item_code, warehouse = warehouse)[0]
|
sle = get_sle(item_code = item_code, warehouse = warehouse)[0]
|
||||||
self.assertEqual([[1, 20]], eval(sle.stock_queue))
|
self.assertEqual([[1, 20]], frappe.safe_eval(sle.stock_queue))
|
||||||
|
|
||||||
# incoming entry with diff rate
|
# incoming entry with diff rate
|
||||||
make_stock_entry(item_code=item_code, target=warehouse, qty=1, basic_rate=30)
|
make_stock_entry(item_code=item_code, target=warehouse, qty=1, basic_rate=30)
|
||||||
sle = get_sle(item_code = item_code, warehouse = warehouse)[0]
|
sle = get_sle(item_code = item_code, warehouse = warehouse)[0]
|
||||||
|
|
||||||
self.assertEqual([[1, 20],[1, 30]], eval(sle.stock_queue))
|
self.assertEqual([[1, 20],[1, 30]], frappe.safe_eval(sle.stock_queue))
|
||||||
|
|
||||||
frappe.db.set_default("allow_negative_stock", 0)
|
frappe.db.set_default("allow_negative_stock", 0)
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ $(document).ready(function() {
|
|||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block title %}
|
{% block title %}
|
||||||
{{ _("Login") }}
|
{{ _("ERPNext Demo") }}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block page_content %}
|
{% block page_content %}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user