Show qty in Shopping Cart
diff --git a/erpnext/public/css/erpnext.css b/erpnext/public/css/erpnext.css
index 697c078..a51472f 100644
--- a/erpnext/public/css/erpnext.css
+++ b/erpnext/public/css/erpnext.css
@@ -327,4 +327,3 @@
 body[data-route="pos"] .collapse-btn {
   cursor: pointer;
 }
-
diff --git a/erpnext/shopping_cart/doctype/shopping_cart_settings/shopping_cart_settings.json b/erpnext/shopping_cart/doctype/shopping_cart_settings/shopping_cart_settings.json
index 75880ad..c5efdf8 100644
--- a/erpnext/shopping_cart/doctype/shopping_cart_settings/shopping_cart_settings.json
+++ b/erpnext/shopping_cart/doctype/shopping_cart_settings/shopping_cart_settings.json
@@ -1,5 +1,6 @@
 {
  "allow_copy": 0, 
+ "allow_guest_to_view": 0, 
  "allow_import": 0, 
  "allow_rename": 0, 
  "beta": 0, 
@@ -22,6 +23,7 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 1, 
    "in_standard_filter": 0, 
    "label": "Enable Shopping Cart", 
@@ -49,6 +51,7 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
    "in_standard_filter": 0, 
    "length": 0, 
@@ -75,6 +78,7 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 1, 
    "in_standard_filter": 0, 
    "label": "Company", 
@@ -104,6 +108,7 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
    "in_standard_filter": 0, 
    "label": "Price List", 
@@ -127,12 +132,42 @@
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
+   "fieldname": "show_quantity_in_website", 
+   "fieldtype": "Check", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Show Quantity in Website", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
    "fieldname": "column_break_4", 
    "fieldtype": "Column Break", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
    "in_standard_filter": 0, 
    "length": 0, 
@@ -160,6 +195,7 @@
    "ignore_user_permissions": 1, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
    "in_standard_filter": 0, 
    "label": "Default Customer Group", 
@@ -188,6 +224,7 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
    "in_standard_filter": 0, 
    "label": "Quotation Series", 
@@ -216,6 +253,7 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
    "in_standard_filter": 0, 
    "label": "Checkout Settings", 
@@ -244,6 +282,7 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
    "in_standard_filter": 0, 
    "label": "Enable Checkout", 
@@ -274,6 +313,7 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
    "in_standard_filter": 0, 
    "label": "Payment Success Url", 
@@ -303,6 +343,7 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
    "in_standard_filter": 0, 
    "length": 0, 
@@ -330,6 +371,7 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
    "in_standard_filter": 0, 
    "label": "Payment Gateway Account", 
@@ -349,18 +391,18 @@
    "unique": 0
   }
  ], 
+ "has_web_view": 0, 
  "hide_heading": 0, 
  "hide_toolbar": 0, 
  "icon": "fa fa-shopping-cart", 
  "idx": 1, 
  "image_view": 0, 
  "in_create": 0, 
- "in_dialog": 0, 
  "is_submittable": 0, 
  "issingle": 1, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2017-01-17 05:30:29.333104", 
+ "modified": "2017-03-21 15:42:08.574497", 
  "modified_by": "Administrator", 
  "module": "Shopping Cart", 
  "name": "Shopping Cart Settings", 
@@ -376,7 +418,6 @@
    "export": 0, 
    "if_owner": 0, 
    "import": 0, 
-   "is_custom": 0, 
    "permlevel": 0, 
    "print": 1, 
    "read": 1, 
@@ -391,6 +432,7 @@
  "quick_entry": 0, 
  "read_only": 0, 
  "read_only_onload": 0, 
+ "show_name_in_global_search": 0, 
  "sort_order": "ASC", 
  "track_changes": 0, 
  "track_seen": 0
diff --git a/erpnext/shopping_cart/doctype/shopping_cart_settings/shopping_cart_settings.py b/erpnext/shopping_cart/doctype/shopping_cart_settings/shopping_cart_settings.py
index 6915ef5..4e24d2e 100644
--- a/erpnext/shopping_cart/doctype/shopping_cart_settings/shopping_cart_settings.py
+++ b/erpnext/shopping_cart/doctype/shopping_cart_settings/shopping_cart_settings.py
@@ -82,6 +82,9 @@
 def is_cart_enabled():
 	return get_shopping_cart_settings().enabled
 
+def show_quantity_in_website():
+	return get_shopping_cart_settings().show_quantity_in_website
+
 def check_shopping_cart_enabled():
 	if not get_shopping_cart_settings().enabled:
 		frappe.throw(_("You need to enable Shopping Cart"), ShoppingCartSetupError)
diff --git a/erpnext/shopping_cart/product.py b/erpnext/shopping_cart/product.py
index 24e4d42..d7afc3b 100644
--- a/erpnext/shopping_cart/product.py
+++ b/erpnext/shopping_cart/product.py
@@ -7,7 +7,7 @@
 from frappe.utils import cint, fmt_money, flt
 from erpnext.shopping_cart.cart import _get_cart_quotation
 from erpnext.shopping_cart.doctype.shopping_cart_settings.shopping_cart_settings \
-	import is_cart_enabled, get_shopping_cart_settings
+	import is_cart_enabled, get_shopping_cart_settings, show_quantity_in_website
 from erpnext.accounts.doctype.pricing_rule.pricing_rule import get_pricing_rule_for_item
 
 @frappe.whitelist(allow_guest=True)
@@ -19,7 +19,9 @@
 	qty = 0
 	cart_quotation = _get_cart_quotation()
 	template_item_code = frappe.db.get_value("Item", item_code, "variant_of")
-	in_stock = get_qty_in_stock(item_code, template_item_code)
+	stock_status = get_qty_in_stock(item_code, template_item_code)
+	in_stock = stock_status.in_stock
+	stock_qty = stock_status.stock_qty
 	price = get_price(item_code, template_item_code, cart_quotation.selling_price_list)
 
 	if price:
@@ -36,9 +38,11 @@
 
 	return {
 		"price": price,
-		"stock": in_stock,
+		"stock_qty": stock_qty,
+		"in_stock": in_stock,
 		"uom": frappe.db.get_value("Item", item_code, "stock_uom"),
-		"qty": qty
+		"qty": qty,
+		"show_stock_qty": show_quantity_in_website()
 	}
 
 def get_qty_in_stock(item_code, template_item_code):
@@ -47,15 +51,14 @@
 		warehouse = frappe.db.get_value("Item", template_item_code, "website_warehouse")
 
 	if warehouse:
-		in_stock = frappe.db.sql("""select actual_qty from tabBin where
+		stock_qty = frappe.db.sql("""select actual_qty from tabBin where
 			item_code=%s and warehouse=%s""", (item_code, warehouse))
-		if in_stock:
-			in_stock = in_stock[0][0] > 0 and 1 or 0
+		if stock_qty:
+			in_stock = stock_qty[0][0] > 0 and 1 or 0
+		else:
+			in_stock = 0
 
-	else:
-		in_stock = 0
-
-	return in_stock
+	return frappe._dict({"in_stock": in_stock, "stock_qty": stock_qty})
 
 def get_price(item_code, template_item_code, price_list, qty=1):
 	if price_list:
diff --git a/erpnext/templates/includes/product_page.js b/erpnext/templates/includes/product_page.js
index 4b23d5e..b37f7aa 100644
--- a/erpnext/templates/includes/product_page.js
+++ b/erpnext/templates/includes/product_page.js
@@ -17,12 +17,16 @@
 				$(".item-price")
 					.html(r.message.price.formatted_price + " per " + r.message.uom);
 
-				if(r.message.stock==0) {
-					$(".item-stock").html("<div style='color: red'>Not in stock</div>");
+				if(r.message.in_stock==0) {
+					$(".item-stock").html("<div style='color: red'> <i class='fa fa-close'></i> Not in stock</div>");
 				}
-				else if(r.message.stock==1) {
+				else if(r.message.in_stock==1) {
+					qty_display = "In stock"
+					if (r.message.show_stock_qty) {
+						qty_display = "Available ("+r.message.stock_qty+ " in stock)"
+					}
 					$(".item-stock").html("<div style='color: green'>\
-						<i class='fa fa-check'></i> Available (in stock)</div>");
+						<i class='fa fa-check'></i> "+__(qty_display)+"</div>");
 				}
 
 				if(r.message.qty) {