Merge branch 'finbyz-develop' into develop
diff --git a/erpnext/erpnext_integrations/doctype/shopify_settings/shopify_settings.py b/erpnext/erpnext_integrations/doctype/shopify_settings/shopify_settings.py
index 0cad0cc..64c3b2d 100644
--- a/erpnext/erpnext_integrations/doctype/shopify_settings/shopify_settings.py
+++ b/erpnext/erpnext_integrations/doctype/shopify_settings/shopify_settings.py
@@ -50,7 +50,7 @@
deleted_webhooks = []
for d in self.webhooks:
- url = get_shopify_url('admin/api/2019-04/webhooks.json'.format(d.webhook_id), self)
+ url = get_shopify_url('admin/api/2019-04/webhooks/{0}.json'.format(d.webhook_id), self)
try:
res = session.delete(url, headers=get_header(self))
res.raise_for_status()
diff --git a/erpnext/regional/turkey/__init__.py b/erpnext/regional/turkey/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/regional/turkey/__init__.py
diff --git a/erpnext/setup/doctype/currency_exchange/currency_exchange.py b/erpnext/setup/doctype/currency_exchange/currency_exchange.py
index 4effb5a..60d367a 100644
--- a/erpnext/setup/doctype/currency_exchange/currency_exchange.py
+++ b/erpnext/setup/doctype/currency_exchange/currency_exchange.py
@@ -11,10 +11,15 @@
class CurrencyExchange(Document):
def autoname(self):
+ purpose = ""
if not self.date:
self.date = nowdate()
- self.name = '{0}-{1}-{2}'.format(formatdate(get_datetime_str(self.date), "yyyy-MM-dd"),
- self.from_currency, self.to_currency)
+ if cint(self.for_buying)==0 and cint(self.for_selling)==1:
+ purpose = "Selling"
+ if cint(self.for_buying)==1 and cint(self.for_selling)==0:
+ purpose = "Buying"
+ self.name = '{0}-{1}-{2}{3}'.format(formatdate(get_datetime_str(self.date), "yyyy-MM-dd"),
+ self.from_currency, self.to_currency, ("-" + purpose) if purpose else "")
def validate(self):
self.validate_value("exchange_rate", ">", 0)
@@ -23,4 +28,4 @@
throw(_("From Currency and To Currency cannot be same"))
if not cint(self.for_buying) and not cint(self.for_selling):
- throw(_("Currency Exchange must be applicable for Buying or for Selling."))
\ No newline at end of file
+ throw(_("Currency Exchange must be applicable for Buying or for Selling."))
diff --git a/erpnext/setup/doctype/currency_exchange/test_currency_exchange.py b/erpnext/setup/doctype/currency_exchange/test_currency_exchange.py
index c488b99..857f666 100644
--- a/erpnext/setup/doctype/currency_exchange/test_currency_exchange.py
+++ b/erpnext/setup/doctype/currency_exchange/test_currency_exchange.py
@@ -4,15 +4,21 @@
import frappe, unittest
from frappe.utils import flt
from erpnext.setup.utils import get_exchange_rate
+from frappe.utils import cint
test_records = frappe.get_test_records('Currency Exchange')
def save_new_records(test_records):
for record in test_records:
+ purpose = str("")
+ if cint(record.get("for_buying"))==0 and cint(record.get("for_selling"))==1:
+ purpose = "Selling"
+ if cint(record.get("for_buying"))==1 and cint(record.get("for_selling"))==0:
+ purpose = "Buying"
kwargs = dict(
doctype=record.get("doctype"),
- docname=record.get("date") + '-' + record.get("from_currency") + '-' + record.get("to_currency"),
+ docname=record.get("date") + '-' + record.get("from_currency") + '-' + record.get("to_currency") + '-' + purpose,
fieldname="exchange_rate",
value=record.get("exchange_rate"),
)
@@ -25,6 +31,8 @@
curr_exchange.from_currency = record["from_currency"]
curr_exchange.to_currency = record["to_currency"]
curr_exchange.exchange_rate = record["exchange_rate"]
+ curr_exchange.for_buying = record["for_buying"]
+ curr_exchange.for_selling = record["for_selling"]
curr_exchange.insert()
@@ -44,18 +52,18 @@
frappe.db.set_value("Accounts Settings", None, "allow_stale", 1)
# Start with allow_stale is True
- exchange_rate = get_exchange_rate("USD", "INR", "2016-01-01")
+ exchange_rate = get_exchange_rate("USD", "INR", "2016-01-01", "for_buying")
self.assertEqual(flt(exchange_rate, 3), 60.0)
- exchange_rate = get_exchange_rate("USD", "INR", "2016-01-15")
+ exchange_rate = get_exchange_rate("USD", "INR", "2016-01-15", "for_buying")
self.assertEqual(exchange_rate, 65.1)
- exchange_rate = get_exchange_rate("USD", "INR", "2016-01-30")
+ exchange_rate = get_exchange_rate("USD", "INR", "2016-01-30", "for_selling")
self.assertEqual(exchange_rate, 62.9)
# Exchange rate as on 15th Dec, 2015, should be fetched from fixer.io
self.clear_cache()
- exchange_rate = get_exchange_rate("USD", "INR", "2015-12-15")
+ exchange_rate = get_exchange_rate("USD", "INR", "2015-12-15", "for_selling")
self.assertFalse(exchange_rate == 60)
self.assertEqual(flt(exchange_rate, 3), 66.894)
@@ -64,35 +72,35 @@
frappe.db.set_value("Accounts Settings", None, "allow_stale", 0)
frappe.db.set_value("Accounts Settings", None, "stale_days", 1)
- exchange_rate = get_exchange_rate("USD", "INR", "2016-01-01")
+ exchange_rate = get_exchange_rate("USD", "INR", "2016-01-01", "for_buying")
self.assertEqual(exchange_rate, 60.0)
# Will fetch from fixer.io
self.clear_cache()
- exchange_rate = get_exchange_rate("USD", "INR", "2016-01-15")
+ exchange_rate = get_exchange_rate("USD", "INR", "2016-01-15", "for_buying")
self.assertEqual(flt(exchange_rate, 3), 67.79)
- exchange_rate = get_exchange_rate("USD", "INR", "2016-01-30")
+ exchange_rate = get_exchange_rate("USD", "INR", "2016-01-30", "for_selling")
self.assertEqual(exchange_rate, 62.9)
# Exchange rate as on 15th Dec, 2015, should be fetched from fixer.io
self.clear_cache()
- exchange_rate = get_exchange_rate("USD", "INR", "2015-12-15")
+ exchange_rate = get_exchange_rate("USD", "INR", "2015-12-15", "for_buying")
self.assertEqual(flt(exchange_rate, 3), 66.894)
- exchange_rate = get_exchange_rate("INR", "NGN", "2016-01-10")
+ exchange_rate = get_exchange_rate("INR", "NGN", "2016-01-10", "for_selling")
self.assertEqual(exchange_rate, 65.1)
# NGN is not available on fixer.io so these should return 0
- exchange_rate = get_exchange_rate("INR", "NGN", "2016-01-09")
+ exchange_rate = get_exchange_rate("INR", "NGN", "2016-01-09", "for_selling")
self.assertEqual(exchange_rate, 0)
- exchange_rate = get_exchange_rate("INR", "NGN", "2016-01-11")
+ exchange_rate = get_exchange_rate("INR", "NGN", "2016-01-11", "for_selling")
self.assertEqual(exchange_rate, 0)
def test_exchange_rate_strict_switched(self):
# Start with allow_stale is True
- exchange_rate = get_exchange_rate("USD", "INR", "2016-01-15")
+ exchange_rate = get_exchange_rate("USD", "INR", "2016-01-15", "for_buying")
self.assertEqual(exchange_rate, 65.1)
frappe.db.set_value("Accounts Settings", None, "allow_stale", 0)
@@ -100,5 +108,5 @@
# Will fetch from fixer.io
self.clear_cache()
- exchange_rate = get_exchange_rate("USD", "INR", "2016-01-15")
- self.assertEqual(flt(exchange_rate, 3), 67.79)
\ No newline at end of file
+ exchange_rate = get_exchange_rate("USD", "INR", "2016-01-15", "for_buying")
+ self.assertEqual(flt(exchange_rate, 3), 67.79)
diff --git a/erpnext/setup/doctype/currency_exchange/test_records.json b/erpnext/setup/doctype/currency_exchange/test_records.json
index 0c9cfbb..152060e 100644
--- a/erpnext/setup/doctype/currency_exchange/test_records.json
+++ b/erpnext/setup/doctype/currency_exchange/test_records.json
@@ -1,44 +1,56 @@
[
- {
- "doctype": "Currency Exchange",
- "date": "2016-01-01",
- "exchange_rate": 60.0,
- "from_currency": "USD",
- "to_currency": "INR"
- },
- {
- "doctype": "Currency Exchange",
- "date": "2016-01-01",
- "exchange_rate": 0.773,
- "from_currency": "USD",
- "to_currency": "EUR"
- },
- {
- "doctype": "Currency Exchange",
- "date": "2016-01-01",
- "exchange_rate": 0.0167,
- "from_currency": "INR",
- "to_currency": "USD"
- },
- {
- "doctype": "Currency Exchange",
- "date": "2016-01-10",
- "exchange_rate": 65.1,
- "from_currency": "USD",
- "to_currency": "INR"
- },
+ {
+ "doctype": "Currency Exchange",
+ "date": "2016-01-01",
+ "exchange_rate": 60.0,
+ "from_currency": "USD",
+ "to_currency": "INR",
+ "for_buying": 1,
+ "for_selling": 0
+ },
{
- "doctype": "Currency Exchange",
- "date": "2016-01-30",
- "exchange_rate": 62.9,
- "from_currency": "USD",
- "to_currency": "INR"
- },
- {
- "doctype": "Currency Exchange",
- "date": "2016-01-10",
- "exchange_rate": 65.1,
- "from_currency": "INR",
- "to_currency": "NGN"
- }
-]
\ No newline at end of file
+ "doctype": "Currency Exchange",
+ "date": "2016-01-01",
+ "exchange_rate": 0.773,
+ "from_currency": "USD",
+ "to_currency": "EUR",
+ "for_buying": 0,
+ "for_selling": 1
+ },
+ {
+ "doctype": "Currency Exchange",
+ "date": "2016-01-01",
+ "exchange_rate": 0.0167,
+ "from_currency": "INR",
+ "to_currency": "USD",
+ "for_buying": 1,
+ "for_selling": 0
+ },
+ {
+ "doctype": "Currency Exchange",
+ "date": "2016-01-10",
+ "exchange_rate": 65.1,
+ "from_currency": "USD",
+ "to_currency": "INR",
+ "for_buying": 1,
+ "for_selling": 0
+ },
+ {
+ "doctype": "Currency Exchange",
+ "date": "2016-01-30",
+ "exchange_rate": 62.9,
+ "from_currency": "USD",
+ "to_currency": "INR",
+ "for_buying": 1,
+ "for_selling": 1
+ },
+ {
+ "doctype": "Currency Exchange",
+ "date": "2016-01-10",
+ "exchange_rate": 65.1,
+ "from_currency": "INR",
+ "to_currency": "NGN",
+ "for_buying": 1,
+ "for_selling": 1
+ }
+]