67 lines
1.7 KiB
JavaScript
67 lines
1.7 KiB
JavaScript
|
// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
|
||
|
// License: GNU General Public License v3. See license.txt
|
||
|
|
||
|
// shopping cart
|
||
|
frappe.provide("shopping_cart");
|
||
|
|
||
|
$(function() {
|
||
|
// update user
|
||
|
if(full_name) {
|
||
|
$('.navbar li[data-label="User"] a')
|
||
|
.html('<i class="icon-fixed-width icon-user"></i> ' + full_name);
|
||
|
}
|
||
|
|
||
|
// update login
|
||
|
shopping_cart.set_cart_count();
|
||
|
});
|
||
|
|
||
|
$.extend(shopping_cart, {
|
||
|
update_cart: function(opts) {
|
||
|
if(!full_name) {
|
||
|
if(localStorage) {
|
||
|
localStorage.setItem("last_visited", window.location.pathname);
|
||
|
localStorage.setItem("pending_add_to_cart", opts.item_code);
|
||
|
}
|
||
|
window.location.href = "/login";
|
||
|
} else {
|
||
|
return frappe.call({
|
||
|
type: "POST",
|
||
|
method: "erpnext.shopping_cart.cart.update_cart",
|
||
|
args: {
|
||
|
item_code: opts.item_code,
|
||
|
qty: opts.qty,
|
||
|
with_doc: opts.with_doc || 0
|
||
|
},
|
||
|
btn: opts.btn,
|
||
|
callback: function(r) {
|
||
|
if(opts.callback)
|
||
|
opts.callback(r);
|
||
|
|
||
|
shopping_cart.set_cart_count();
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
},
|
||
|
|
||
|
set_cart_count: function() {
|
||
|
var cart_count = getCookie("cart_count");
|
||
|
var $cart = $("#website-post-login").find('[data-label="Cart"]');
|
||
|
var $badge = $cart.find(".badge");
|
||
|
var $cog = $("#website-post-login").find(".dropdown-toggle");
|
||
|
var $cog_count = $cog.find(".cart-count");
|
||
|
if(cart_count) {
|
||
|
if($badge.length === 0) {
|
||
|
var $badge = $('<span class="badge pull-right"></span>').prependTo($cart.find("a"));
|
||
|
}
|
||
|
$badge.html(cart_count);
|
||
|
if($cog_count.length === 0) {
|
||
|
var $cog_count = $('<sup class="cart-count"></span>').insertAfter($cog.find(".icon-cog"));
|
||
|
}
|
||
|
$cog_count.html(cart_count);
|
||
|
} else {
|
||
|
$badge.remove();
|
||
|
$cog_count.remove();
|
||
|
}
|
||
|
}
|
||
|
});
|