1 $(document).ready(function () {
2 var $shippingDifferent = $(".oe_website_sale input[name='shipping_different']");
3 if ($shippingDifferent.is(':checked')) {
4 $(".oe_website_sale .js_shipping").show();
6 $shippingDifferent.change(function () {
7 $(".oe_website_sale .js_shipping").toggle();
11 $(document).on('mouseup', '.js_publish', function (ev) {
12 $(ev.currentTarget).parents(".thumbnail").toggleClass("disabled");
15 function set_my_cart_quantity(qty) {
16 var $q = $(".my_cart_quantity");
17 $q.parent().parent().removeClass("hidden", !qty);
23 $(".oe_website_sale .oe_mycart input.js_quantity").change(function (ev) {
25 var $link = $(ev.currentTarget);
26 var value = parseInt($input.val(), 10);
27 if (isNaN(value)) value = 0;
28 openerp.jsonRpc("/shop/set_cart_json/", 'call', {'order_line_id': $input.data('id'), 'set_number': value})
29 .then(function (data) {
34 set_my_cart_quantity(data[1]);
35 $link.parents(".input-group:first").find(".js_quantity").val(data[0]);
36 $('#mycart_total').replaceWith(data[3]);
40 // hack to add and rome from cart with json
41 $('.oe_website_sale a.js_add_cart_json').on('click', function (ev) {
43 var $link = $(ev.currentTarget);
44 var href = $link.attr("href");
46 var add_cart = href.match(/add_cart\/([0-9]+)/);
47 var product_id = add_cart && +add_cart[1] || false;
49 var change_cart = href.match(/change_cart\/([0-9]+)/);
50 var order_line_id = change_cart && +change_cart[1] || false;
51 openerp.jsonRpc("/shop/add_cart_json/", 'call', {
52 'product_id': product_id,
53 'order_line_id': order_line_id,
54 'remove': $link.is('[href*="remove"]')})
55 .then(function (data) {
59 set_my_cart_quantity(data[1]);
60 $link.parents(".input-group:first").find(".js_quantity").val(data[0]);
61 $('#mycart_total').replaceWith(data[3]);
66 $('.a-submit').on('click', function () {
67 $(this).closest('form').submit();
70 // change price when they are variants
71 $('form.js_add_cart_json label').on('mouseup', function (ev) {
73 var $label = $(ev.currentTarget);
74 var $price = $label.parent("form").find(".oe_price .oe_currency_value");
75 if (!$price.data("price")) {
76 $price.data("price", parseFloat($price.text()));
78 $price.html($price.data("price")+parseFloat($label.find(".badge span").text() || 0));
83 var js_slider_time = null;
84 var $form = $("form.attributes");
85 $form.on("change", "label input", function () {
86 clearTimeout(js_slider_time);
89 $(".js_slider", $form).each(function() {
91 var $slider = $('<div>'+
92 '<input type="hidden" name="att-'+$slide.data("id")+'-minmem" value="'+$slide.data("min")+'"/>'+
93 '<input type="hidden" name="att-'+$slide.data("id")+'-maxmem" value="'+$slide.data("max")+'"/>'+
95 var $min = $("<input readonly name='att-"+$slide.data("id")+"-min'/>")
96 .css("border", "0").css("width", "50%")
97 .val($slide.data("min"));
98 var $max = $("<input readonly name='att-"+$slide.data("id")+"-max'/>")
99 .css("border", "0").css("width", "50%").css("text-align", "right")
100 .val($slide.data("max"));
103 $slide.append($slider);
106 min: +$slide.data("min"),
107 max: +$slide.data("max"),
109 $slide.data("value-min") ? +$slide.data("value-min") : +$slide.data("min"),
110 $slide.data("value-max") ? +$slide.data("value-max") : +$slide.data("max")
112 change: function( event, ui ) {
113 $min.val( ui.values[ 0 ] );
114 $max.val( ui.values[ 1 ] );
117 slide: function( event, ui ) {
118 $min.val( ui.values[ 0 ] );
119 $max.val( ui.values[ 1 ] );
122 $min.val( $slider.slider( "values", 0 ) );
123 $max.val( $slider.slider( "values", 1 ) );