HEX
Server: Apache
System: Linux srv13.cpanelhost.cl 3.10.0-962.3.2.lve1.5.38.el7.x86_64 #1 SMP Thu Jun 18 05:28:41 EDT 2020 x86_64
User: cca63905 (4205)
PHP: 7.3.20
Disabled: NONE
Upload Files
File: //proc/self/cwd/nueva/modules/roja45quotationsprofree/views/js/roja45quotationspro_cart17.js
/**
 * roja45ajaxcart.js.
 *
 * @author    Roja45
 * @copyright 2016 Roja45
 * @license   license.txt
 *
 * 2016 ROJA45 - All rights reserved.
 *
 * DISCLAIMER
 * Changing this file will render any support provided by us null and void.
 */

$(document).ready(function () {
    prestashop.on(
        'updatedProduct',
        function (event) {
            var id_product = 0;
            $('a.add-to-quote').each(function() {
                $(this).attr('data-id-product-atttribute', event.id_product_attribute);
                $(this).attr('data-quantity', $('#quantity_wanted').val());
                var url = $(this).attr('data-url') + '&id_product_attribute=' + event.id_product_attribute + '&quantity=' + $('#quantity_wanted').val();
                $(this).attr('href', url);
            });
        }
    );

    $(document).on('click', '.ajax_add_quote_button', function (e) {
        e.preventDefault();
        var idProduct =  parseInt($(this).attr('data-id-product'));
        var idProductAttribute =  parseInt($(this).attr('data-id-product-attribute'));
        var minimalQuantity =  parseInt($(this).attr('data-minimal-quantity'));
        if (!minimalQuantity) {
            minimalQuantity = 1;
        }

        if ($(this).attr('disabled') != 'disabled') {
            var url = $(this).attr('data-url');
            if (url) {
                $(this).closest('form').attr('href',url);
            }
            $(this).closest('form').submit();
        }
    });

    $(document).off('click', '.quote_block_list .ajax_quote_block_remove_link').on('click', '.quote_block_list .ajax_quote_block_remove_link', function (e) {
        e.preventDefault();
        // Customized product management
        var customizationId = 0;
        var productId = 0;
        var productAttributeId = 0;
        var firstCut = $(this).closest('dt').attr('data-id').replace('quote_block_product_', '');
        var ids = firstCut.split('_');
        productId = parseInt(ids[0]);

        if (typeof(ids[1]) != 'undefined') {
            productAttributeId = parseInt(ids[1]);
        }
        roja45quotationspro_quotationscart.remove(productId, productAttributeId);
    });

    $(document).on('click', '#layer_quote .cross, #layer_quote .continue, .layer_quote_overlay', function(e){
        e.preventDefault();
        $('.layer_quote_overlay').hide();
        $('#layer_quote').fadeOut('fast');
    });

    $('#columns #layer_quote, #columns .layer_quote_overlay').detach().prependTo('#columns');
});

var roja45quotationspro_quotationscart = {
    nb_total_products: 0,

    expand: function () {
        if ($('.cart_block_list').hasClass('collapsed')) {
            $('.cart_block_list.collapsed').slideDown({
                duration: 450,
                complete: function () {
                    $(this).parent().show(); // parent is hidden in global.js::accordion()
                    $(this).addClass('expanded').removeClass('collapsed');
                }
            });

            // save the expand statut in the user cookie
            $.ajax({
                type: 'POST',
                headers: {
                    'cache-control': 'no-cache'
                },
                url: baseDir + 'modules/blockcart/blockcart-set-collapse.php' + '?rand=' + new Date().getTime(),
                async: true,
                cache: false,
                data: 'ajax_blockcart_display=expand',
                complete: function () {
                    $('.block_cart_expand').fadeOut('fast', function () {
                        $('.block_cart_collapse').fadeIn('fast');
                    });
                }
            });
        }
    },

    // add a product in the cart via ajax
    add: function (idProduct, idCombination, addedFromProductPage, callerElement, minimalQuantity, quantity) {
        if (addedFromProductPage) {
            $('#add_to_quote_cart button').prop('disabled', 'disabled').addClass('disabled');
            $('.filled').removeClass('filled');
        } else {
            $(callerElement).prop('disabled', 'disabled');
            $(callerElement).addClass('disabled');
        }

        $.ajax({
            url: roja45quotationspro_controller,
            headers: {
                'cache-control': 'no-cache'
            },
            type: 'post',
            dataType: 'json',
            data: {
                'action' : 'addProductToRequest',
                'ajax' : 1,
                'quantity' : ((quantity && quantity != null) ? quantity : minimalQuantity),
                'id_product' : idProduct,
                'id_product_attribute' : ((idCombination && idCombination != null) ? idCombination : '0')
            },
            beforeSend: function () {
                $(this).attr('disabled', 'disabled');
                $(this).addClass('disabled');
            },
            success: function (data) {
                if (data.result == 'success') {
                    $('.quotation_cart').parent().replaceWith(data.template);
                } else if (data.result == 'error') {
                    roja45quotationsprofree.displayErrorMsg([roja45quotationspro_added_failed]);
                    roja45quotationsprofree.displayErrorMsg(data.errors);
                } else {
                    roja45quotationsprofree.displayErrorMsg([roja45quotationspro_unknown_error]);
                }
            },
            error: function (data) {
                roja45quotationsprofree.displayErrorMsg([roja45quotationspro_sent_failed]);
            },
            complete: function (data) {
                $(callerElement).removeAttr('disabled');
                $(callerElement).removeClass('disabled');
            }
        });
    },
};