mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-26 08:24:47 +00:00
Merge pull request #4174 from saurabh6790/shopping_cart
[fix] order.html rate display
This commit is contained in:
@@ -6,7 +6,7 @@ import frappe
|
|||||||
from frappe.model.naming import make_autoname
|
from frappe.model.naming import make_autoname
|
||||||
from frappe import _, msgprint, throw
|
from frappe import _, msgprint, throw
|
||||||
import frappe.defaults
|
import frappe.defaults
|
||||||
from frappe.utils import flt
|
from frappe.utils import flt, cint, cstr
|
||||||
from frappe.desk.reportview import build_match_conditions
|
from frappe.desk.reportview import build_match_conditions
|
||||||
from erpnext.utilities.transaction_base import TransactionBase
|
from erpnext.utilities.transaction_base import TransactionBase
|
||||||
from erpnext.utilities.address_and_contact import load_address_and_contact
|
from erpnext.utilities.address_and_contact import load_address_and_contact
|
||||||
@@ -23,13 +23,22 @@ class Customer(TransactionBase):
|
|||||||
def autoname(self):
|
def autoname(self):
|
||||||
cust_master_name = frappe.defaults.get_global_default('cust_master_name')
|
cust_master_name = frappe.defaults.get_global_default('cust_master_name')
|
||||||
if cust_master_name == 'Customer Name':
|
if cust_master_name == 'Customer Name':
|
||||||
self.name = self.customer_name
|
self.name = self.get_customer_name()
|
||||||
else:
|
else:
|
||||||
if not self.naming_series:
|
if not self.naming_series:
|
||||||
frappe.throw(_("Series is mandatory"), frappe.MandatoryError)
|
frappe.throw(_("Series is mandatory"), frappe.MandatoryError)
|
||||||
|
|
||||||
self.name = make_autoname(self.naming_series+'.#####')
|
self.name = make_autoname(self.naming_series+'.#####')
|
||||||
|
|
||||||
|
def get_customer_name(self):
|
||||||
|
if frappe.db.get_value("Customer", self.customer_name):
|
||||||
|
count = frappe.db.sql("""select ifnull(max(SUBSTRING_INDEX(name, ' ', -1)), 0) from tabCustomer
|
||||||
|
where name like '%{0} - %'""".format(self.customer_name), as_list=1)[0][0]
|
||||||
|
count = cint(count) + 1
|
||||||
|
return "{0} - {1}".format(self.customer_name, cstr(count))
|
||||||
|
|
||||||
|
return self.customer_name
|
||||||
|
|
||||||
def validate(self):
|
def validate(self):
|
||||||
self.flags.is_new_doc = self.is_new()
|
self.flags.is_new_doc = self.is_new()
|
||||||
validate_party_accounts(self)
|
validate_party_accounts(self)
|
||||||
|
|||||||
@@ -68,13 +68,41 @@ class TestCustomer(unittest.TestCase):
|
|||||||
frappe.rename_doc("Customer", "_Test Customer 1 Renamed", "_Test Customer 1")
|
frappe.rename_doc("Customer", "_Test Customer 1 Renamed", "_Test Customer 1")
|
||||||
|
|
||||||
def test_freezed_customer(self):
|
def test_freezed_customer(self):
|
||||||
|
make_test_records("Customer")
|
||||||
|
make_test_records("Item")
|
||||||
|
|
||||||
frappe.db.set_value("Customer", "_Test Customer", "is_frozen", 1)
|
frappe.db.set_value("Customer", "_Test Customer", "is_frozen", 1)
|
||||||
|
|
||||||
from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order
|
from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order
|
||||||
|
|
||||||
so = make_sales_order(do_not_save= True)
|
so = make_sales_order(do_not_save= True)
|
||||||
|
|
||||||
self.assertRaises(CustomerFrozen, so.save)
|
self.assertRaises(CustomerFrozen, so.save)
|
||||||
|
|
||||||
frappe.db.set_value("Customer", "_Test Customer", "is_frozen", 0)
|
frappe.db.set_value("Customer", "_Test Customer", "is_frozen", 0)
|
||||||
|
|
||||||
so.save()
|
so.save()
|
||||||
|
|
||||||
|
def test_duplicate_customer(self):
|
||||||
|
if not frappe.db.get_value("Customer", "_Test Customer 1"):
|
||||||
|
test_customer_1 = frappe.get_doc({
|
||||||
|
"customer_group": "_Test Customer Group",
|
||||||
|
"customer_name": "_Test Customer 1",
|
||||||
|
"customer_type": "Individual",
|
||||||
|
"doctype": "Customer",
|
||||||
|
"territory": "_Test Territory"
|
||||||
|
}).insert(ignore_permissions=True)
|
||||||
|
else:
|
||||||
|
test_customer_1 = frappe.get_doc("Customer", "_Test Customer 1")
|
||||||
|
|
||||||
|
duplicate_customer = frappe.get_doc({
|
||||||
|
"customer_group": "_Test Customer Group",
|
||||||
|
"customer_name": "_Test Customer 1",
|
||||||
|
"customer_type": "Individual",
|
||||||
|
"doctype": "Customer",
|
||||||
|
"territory": "_Test Territory"
|
||||||
|
}).insert(ignore_permissions=True)
|
||||||
|
|
||||||
|
self.assertEquals("_Test Customer 1", test_customer_1.name)
|
||||||
|
self.assertEquals("_Test Customer 1 - 1", duplicate_customer.name)
|
||||||
|
self.assertEquals(test_customer_1.customer_name, duplicate_customer.customer_name)
|
||||||
@@ -53,8 +53,10 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col-sm-2 col-xs-3 text-right">
|
<div class="col-sm-2 col-xs-3 text-right">
|
||||||
{{ d.get_formatted("amount") }}
|
{{ d.get_formatted("amount") }}
|
||||||
|
<!-- output of get_formatted("rate") is unicode, to replace unicode use
|
||||||
|
_("text {0}").decode("utf8").format(val) -->
|
||||||
<p class="text-muted small">{{
|
<p class="text-muted small">{{
|
||||||
_("Rate: {0}").format(d.get_formatted("rate")) }}</p>
|
_("Rate: {0}").decode("utf8").format(d.get_formatted("rate")) }}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|||||||
Reference in New Issue
Block a user