WordPress.org

Plugin Directory

Changeset 1638252


Ignore:
Timestamp:
04/15/17 16:22:34 (7 months ago)
Author:
Eoxia
Message:

Version 1.4.4.1

Corrections / Fix

  • 8782 - Correctif des prix HT des options - Fix ET prices on variations
Location:
wpshop/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • wpshop/trunk/includes/modules/wps_product/modules/wps_product_variation_interface/assets/js/script-backend.js

    r1635148 r1638252  
    1 var attributes_generated = jQuery.extend({}, wps_product_variation_interface.variation ); 
     1var attributes_generated = jQuery.extend( {}, wps_product_variation_interface.variation ); 
    22for ( x in attributes_generated ) { 
    33    attributes_generated[x] = false; 
     
    4545                    } else { 
    4646                        var result = '='; 
    47                         if( typeof wps_product_variation_interface.variation_defining !== 'undefined' ) { 
    48                             if( typeof wps_product_variation_interface.variation_defining.options !== 'undefined' ) { 
    49                                 if( typeof wps_product_variation_interface.variation_defining.options.price_behaviour !== 'undefined' ) { 
    50                                     if( typeof wps_product_variation_interface.variation_defining.options.price_behaviour[0] !== 'undefined' && wps_product_variation_interface.variation_defining.options.price_behaviour[0] == 'addition' ) { 
     47                        if ( typeof wps_product_variation_interface.variation_defining !== 'undefined' ) { 
     48                            if ( typeof wps_product_variation_interface.variation_defining.options !== 'undefined' ) { 
     49                                if ( typeof wps_product_variation_interface.variation_defining.options.price_behaviour !== 'undefined' ) { 
     50                                    if ( typeof wps_product_variation_interface.variation_defining.options.price_behaviour[0] !== 'undefined' && wps_product_variation_interface.variation_defining.options.price_behaviour[0] == 'addition' ) { 
    5151                                        var result = '+'; 
    5252                                    } 
     
    7272                }, 
    7373                price_option_activate: (function() { 
    74                     if( saved_element.post.post_status == 'publish' ) { 
     74                    if ( saved_element.post.post_status == 'publish' ) { 
    7575                        return 'checked'; 
    7676                    } else { 
     
    7979                })() 
    8080            } 
    81             if( saved.name.model.length > 1 ) { 
     81            if ( saved.name.model.length > 1 ) { 
    8282                saved.price_option_activate = 'checked disabled><input type="hidden" value="on" name="wps_pdt_variations[' + saved.ID + '][status]"'; 
    8383            } 
    8484            config_id( saved ); 
    85             if( saved.price_config == '+' ) { 
    86                 saved.price_value = ( ( typeof saved_element.variation_dif !== 'undefined' && typeof saved_element.variation_dif.product_price !== 'undefined' ) ? saved_element.variation_dif.product_price : '0.00' ) - parseFloat( wps_product_variation_interface.product_price ); 
    87             } else if( saved.price_config == '=' ) { 
    88                 saved.price_value = ( typeof saved_element.variation_dif !== 'undefined' && typeof saved_element.variation_dif.product_price !== 'undefined' ) ? saved_element.variation_dif.product_price : '0.00'; 
     85            var saved_price_variation; 
     86            if ( typeof saved_element.variation_dif !== 'undefined' ) { 
     87                if ( wps_product_variation_interface.price_piloting == 'HT' && typeof saved_element.variation_dif.price_ht !== 'undefined' ) { 
     88                    saved_price_variation = saved_element.variation_dif.price_ht; 
     89                } else if ( wps_product_variation_interface.price_piloting != 'HT' && typeof saved_element.variation_dif.product_price !== 'undefined' ) { 
     90                    saved_price_variation = saved_element.variation_dif.product_price; 
     91                } else { 
     92                    saved_price_variation = '0.00'; 
     93                } 
     94            } 
     95            if ( saved.price_config == '+' ) { 
     96                saved.price_value = saved_price_variation - parseFloat( wps_product_variation_interface.product_price ); 
     97            } else if ( saved.price_config == '=' ) { 
     98                saved.price_value = saved_price_variation; 
    8999            } 
    90100            saved.price_value = fix_number( saved.price_value, 2 ); 
     
    92102            result.push( saved ); 
    93103        } ); 
    94         if( result.length > 0 && !jQuery( 'input[name=question_combine_options][value=combine]' ).is( ':checked' ) ) { 
     104        if ( result.length > 0 && ! jQuery( 'input[name=question_combine_options][value=combine]' ).is( ':checked' ) ) { 
    95105            jQuery( 'input[name=question_combine_options][value=single]' ).prop( "checked", true ); 
    96106        } 
     
    106116                code: element.attribute_complete_def.code, 
    107117                generate: (function() { 
    108                     if( attributes_generated[element.attribute_complete_def.code] ) { return ' checked'; } else { return ''; } 
     118                    if ( attributes_generated[element.attribute_complete_def.code] ) { return ' checked'; } else { return ''; } 
    109119                })(), 
    110120                label: element.label, 
    111121                type: element.attribute_complete_def.data_type, 
    112122                requiered: (function() { 
    113                     if( typeof wps_product_variation_interface.variation_defining.options !== 'undefined' && typeof wps_product_variation_interface.variation_defining.options.required_attributes !== 'undefined' && typeof wps_product_variation_interface.variation_defining.options.required_attributes[element.attribute_complete_def.code] !== 'undefined' ) { 
     123                    if ( typeof wps_product_variation_interface.variation_defining.options !== 'undefined' && typeof wps_product_variation_interface.variation_defining.options.required_attributes !== 'undefined' && typeof wps_product_variation_interface.variation_defining.options.required_attributes[element.attribute_complete_def.code] !== 'undefined' ) { 
    114124                        requiered = 'checked'; 
    115125                    } else { 
     
    121131                    model: (function() { 
    122132                        var result = []; 
    123                         var re = element.attribute_complete_def.default_value.match('s:13:"default_value";(.*)"(.*?)";'); 
     133                        var re = element.attribute_complete_def.default_value.match( 's:13:"default_value";(.*)"(.*?)";' ); 
    124134                        jQuery.each( element.available, function( index_values, element_values ) { 
    125135                            var is_default = ''; 
    126                             if( typeof wps_product_variation_interface.variation_defining.options !== 'undefined' && typeof wps_product_variation_interface.variation_defining.options.attributes_default_value !== 'undefined' && typeof wps_product_variation_interface.variation_defining.options.attributes_default_value[element.attribute_complete_def.code] !== 'undefined' && wps_product_variation_interface.variation_defining.options.attributes_default_value[element.attribute_complete_def.code] == element_values ) { 
     136                            if ( typeof wps_product_variation_interface.variation_defining.options !== 'undefined' && typeof wps_product_variation_interface.variation_defining.options.attributes_default_value !== 'undefined' && typeof wps_product_variation_interface.variation_defining.options.attributes_default_value[element.attribute_complete_def.code] !== 'undefined' && wps_product_variation_interface.variation_defining.options.attributes_default_value[element.attribute_complete_def.code] == element_values ) { 
    127137                                is_default = ' selected'; 
    128138                            } 
     
    131141                                value_possibility_code: element_values, 
    132142                                value_possibility_label: ( function() { 
    133                                     for( var i = 0; wps_product_variation_interface.variation_value.length > i; i++ ) { 
    134                                         if( element_values == wps_product_variation_interface.variation_value[i].id ) { 
     143                                    for ( var i = 0; wps_product_variation_interface.variation_value.length > i; i++ ) { 
     144                                        if ( element_values == wps_product_variation_interface.variation_value[i].id ) { 
    135145                                            return wps_product_variation_interface.variation_value[i].label; 
    136146                                        } 
     
    138148                                } )(), 
    139149                                value_possibility_selected: ( function() { 
    140                                     if( element.values.indexOf( element_values ) > -1 ) { 
     150                                    if ( element.values.indexOf( element_values ) > -1 ) { 
    141151                                        return ' selected'; 
    142152                                    } 
     
    161171 
    162172function fix_number( parameter, decimal ) { 
    163     if (typeof(decimal)==='undefined') decimal = 2; 
    164     parameter = parseFloat( parseFloat( parameter ).toFixed(5) ); 
     173    if (typeof(decimal) === 'undefined') { decimal = 2; 
     174    } 
     175    parameter = parseFloat( parseFloat( parameter ).toFixed( 5 ) ); 
    165176    var parameter_fixed = parameter.toFixed( decimal ); 
    166     if( parameter_fixed != parameter ) { 
     177    if ( parameter_fixed != parameter ) { 
    167178        parameter_fixed = parameter; 
    168179    } 
     
    172183function config_id( parameter ) { 
    173184    parameter.price_config_id = (function() { 
    174         if( typeof wps_product_variation_interface.attribute_in_variation !== 'undefined' && typeof wps_product_variation_interface.attribute_in_variation.price_behaviour !== 'undefined' && typeof wps_product_variation_interface.attribute_in_variation.price_behaviour.possible_value !== 'undefined' ) { 
     185        if ( typeof wps_product_variation_interface.attribute_in_variation !== 'undefined' && typeof wps_product_variation_interface.attribute_in_variation.price_behaviour !== 'undefined' && typeof wps_product_variation_interface.attribute_in_variation.price_behaviour.possible_value !== 'undefined' ) { 
    175186            for (value in wps_product_variation_interface.attribute_in_variation.price_behaviour.possible_value) { 
    176                 if( wps_product_variation_interface.attribute_in_variation.price_behaviour.possible_value[value] == parameter.price_config ) { 
     187                if ( wps_product_variation_interface.attribute_in_variation.price_behaviour.possible_value[value] == parameter.price_config ) { 
    177188                    return value; 
    178189                } 
     
    183194 
    184195function calcul_price( parameter ) { 
    185     if( parameter.price_config == '=' ) { parameter.price_option = parameter.price_value; } 
    186     else if( parameter.price_config == '+' ) { parameter.price_option = fix_number( parseFloat( parameter.price_value ) + parameter.price_product ); } 
     196    if ( parameter.price_config == '=' ) { parameter.price_option = parameter.price_value; } else if ( parameter.price_config == '+' ) { parameter.price_option = fix_number( parseFloat( parameter.price_value ) + parameter.price_product ); } 
    187197    parameter.price_option = fix_number( parameter.price_option, 2 ) 
    188198    parameter.vat = fix_number( parameter.price_option - ( parameter.price_option / ( 1 + ( parameter.tx_tva / 100 ) ) ) ); 
    189199} 
    190200 
    191 //////////////////////////////////// PLACEHOLDER SELECT //////////////////////////////////// 
     201// PLACEHOLDER SELECT //////////////////////////////////// 
    192202function placeholder_select( code ) { 
    193203    var select_element = jQuery( 'select[name="wpshop_variation_defining[options][attributes_default_value][' + code + ']"]' ); 
     
    195205    optionPlaceholder.appendChild( document.createTextNode( select_element.data( 'placeholder-select' ) ) ); 
    196206    var have_selected_value = false; 
    197     select_element.find( 'option' ).each( function( index_select, element_select ) { if( element_select.getAttribute( 'selected' ) != null ) { have_selected_value = true; return false; } } ); 
     207    select_element.find( 'option' ).each( function( index_select, element_select ) { if ( element_select.getAttribute( 'selected' ) != null ) { have_selected_value = true; return false; } } ); 
    198208    function placeholder_selecter() { 
    199         if( select_element.val() == select_element.data( 'placeholder-select' ) || !have_selected_value ) { 
     209        if ( select_element.val() == select_element.data( 'placeholder-select' ) || ! have_selected_value ) { 
    200210            jQuery( optionPlaceholder ).attr( 'selected', 'selected' ); 
    201211            select_element.addClass( 'placeholder-select' ); 
     
    212222    select_element.prepend( optionPlaceholder ); 
    213223} 
    214 //////////////////////////////////////////////////////////////////////////////////////////// 
    215  
    216 jQuery(document).ready( function() { 
    217     /////////////////////////////////////////// TABS /////////////////////////////////////////// 
    218     jQuery('.wps_variations_tabs').hide(); 
    219     jQuery('#wps_variations_parameters').click(function(e) { 
     224jQuery( document ).ready( function() { 
     225    // TABS /////////////////////////////////////////// 
     226    jQuery( '.wps_variations_tabs' ).hide(); 
     227    jQuery( '#wps_variations_parameters' ).click(function(e) { 
    220228        e.preventDefault(); 
    221229        jQuery( '#wps_variations_options, #wps_variations_questions, #wps_variations_apply_btn' ).toggle(); 
    222230    }); 
    223     jQuery('#wps_variations_tabs li').click( function(e) { 
     231    jQuery( '#wps_variations_tabs li' ).click( function(e) { 
    224232        e.preventDefault(); 
    225         if( jQuery( this ).data( 'tab' ) && !jQuery( this ).hasClass( 'disabled' ) ) { 
     233        if ( jQuery( this ).data( 'tab' ) && ! jQuery( this ).hasClass( 'disabled' ) ) { 
    226234            var $toggle = jQuery( this ).hasClass( 'active' ); 
    227235            jQuery( '#wps_variations_tabs li' ).removeClass( 'active' ); 
    228             jQuery('.wps_variations_tabs').hide(); 
    229             if( !$toggle ) { 
     236            jQuery( '.wps_variations_tabs' ).hide(); 
     237            if ( ! $toggle ) { 
    230238                jQuery( this ).addClass( 'active' ); 
    231239                jQuery( '#' + jQuery( this ).data( 'tab' ) ).show(); 
     
    233241        } 
    234242    }); 
    235     //////////////////////////////////////////////////////////////////////////////////////////// 
    236  
    237     wps_variations_options_summary.control = new WPSVariationOptionsInterface( 'wps_variations_options_summary', wps_variations_options_summary.model ); 
     243        wps_variations_options_summary.control = new WPSVariationOptionsInterface( 'wps_variations_options_summary', wps_variations_options_summary.model ); 
    238244    wps_variations_options_summary.control.summary = function() { 
    239245        var not_generate = []; 
    240246        var generate = []; 
    241247        jQuery.each( wps_variations_options_raw.model, function( index, element ) { 
    242             if( element.generate == '' ) { 
     248            if ( element.generate == '' ) { 
    243249                not_generate.push( ' | ' + element.label ); 
    244250            } else { 
     
    249255        var first = true; 
    250256        jQuery.each( generate.concat( not_generate ), function( index, element ) { 
    251             if(first) { 
    252                 result += element.substr(3); 
     257            if (first) { 
     258                result += element.substr( 3 ); 
    253259                first = false; 
    254260            } else { 
     
    261267    wps_variations_options_raw.control = new WPSVariationOptionsInterface( 'wps_variations_options_raw', wps_variations_options_raw.model ); 
    262268    wps_variations_options_raw.control.requiered = function( element ) { 
    263         var id = jQuery( element ).closest( "ul[data-view-model='wps_variations_options_raw']" ).data('identifier'); 
    264         var parameter = jQuery.extend({}, wps_variations_options_raw.model[id]); 
    265         if( jQuery( element ).is( ':checked' ) ) { 
     269        var id = jQuery( element ).closest( "ul[data-view-model='wps_variations_options_raw']" ).data( 'identifier' ); 
     270        var parameter = jQuery.extend( {}, wps_variations_options_raw.model[id] ); 
     271        if ( jQuery( element ).is( ':checked' ) ) { 
    266272            parameter.requiered = 'checked'; 
    267273        } else { 
     
    270276        this.change( id, parameter ); 
    271277        parameter.possibilities.control.refresh(); 
    272         wps_variations_options_raw.control.chosenPossibilities(parameter); 
     278        wps_variations_options_raw.control.chosenPossibilities( parameter ); 
    273279    }; 
    274280    wps_variations_options_raw.control.generate = function( element ) { 
    275         var id = jQuery( element ).closest( "ul[data-view-model='wps_variations_options_raw']" ).data('identifier'); 
    276         var parameter = jQuery.extend({}, wps_variations_options_raw.model[id]); 
    277         if( jQuery( element ).is( ':checked' ) ) { 
     281        var id = jQuery( element ).closest( "ul[data-view-model='wps_variations_options_raw']" ).data( 'identifier' ); 
     282        var parameter = jQuery.extend( {}, wps_variations_options_raw.model[id] ); 
     283        if ( jQuery( element ).is( ':checked' ) ) { 
    278284            parameter.generate = 'checked'; 
    279285        } else { 
     
    283289        parameter.possibilities.control.refresh(); 
    284290        wps_variations_options_summary.control.summary(); 
    285         wps_variations_options_raw.control.chosenPossibilities(parameter); 
     291        wps_variations_options_raw.control.chosenPossibilities( parameter ); 
    286292    }; 
    287293    wps_variations_options_raw.control.chosenPossibilities = function( element ) { 
    288294        function chosenPossibilitiesDefault() { 
    289295            jQuery.each( element.possibilities.model, function( deep_index, deep_element ) { 
    290                 if( typeof deep_element.value_possibility_selected == 'undefined' || deep_element.value_possibility_selected == '' ) { 
    291                     jQuery( 'select[name="wpshop_variation_defining[options][attributes_default_value][' + element.code + ']"] option[value=' + deep_element.value_possibility_code + ']').attr( 'hidden', 'hidden' ); 
     296                if ( typeof deep_element.value_possibility_selected == 'undefined' || deep_element.value_possibility_selected == '' ) { 
     297                    jQuery( 'select[name="wpshop_variation_defining[options][attributes_default_value][' + element.code + ']"] option[value=' + deep_element.value_possibility_code + ']' ).attr( 'hidden', 'hidden' ); 
    292298                } else { 
    293                     jQuery( 'select[name="wpshop_variation_defining[options][attributes_default_value][' + element.code + ']"] option[value=' + deep_element.value_possibility_code + ']').removeAttr( 'hidden' ); 
     299                    jQuery( 'select[name="wpshop_variation_defining[options][attributes_default_value][' + element.code + ']"] option[value=' + deep_element.value_possibility_code + ']' ).removeAttr( 'hidden' ); 
    294300                } 
    295301            } ); 
     
    298304            var val = jQuery( this ).val(); 
    299305            jQuery.each( element.possibilities.model, function( index_default, element_default ) { 
    300                 if( element_default.value_possibility_code == val ) { 
    301                     var child = jQuery.extend({}, element.possibilities.model[index_default]); 
     306                if ( element_default.value_possibility_code == val ) { 
     307                    var child = jQuery.extend( {}, element.possibilities.model[index_default] ); 
    302308                    child.value_possibility_is_default = ' selected'; 
    303309                    element.possibilities.control.change( index_default, child ); 
    304                 } else if( typeof element_default.value_possibility_is_default != 'undefined' || element_default.value_possibility_is_default != '' ) { 
    305                     var child = jQuery.extend({}, element.possibilities.model[index_default]); 
     310                } else if ( typeof element_default.value_possibility_is_default != 'undefined' || element_default.value_possibility_is_default != '' ) { 
     311                    var child = jQuery.extend( {}, element.possibilities.model[index_default] ); 
    306312                    child.value_possibility_is_default = ''; 
    307313                    element.possibilities.control.change( index_default, child ); 
     
    311317        chosenPossibilitiesDefault( element ); 
    312318        placeholder_select( element.code ); 
    313         jQuery('.chosen_select_' + element.code ).chosen({no_results_text: "No result found. Press enter to add "}).on('change', function(evt, params) { 
    314             if( typeof( params.selected ) !== 'undefined' ) { 
     319        jQuery( '.chosen_select_' + element.code ).chosen( {no_results_text: "No result found. Press enter to add "} ).on('change', function(evt, params) { 
     320            if ( typeof( params.selected ) !== 'undefined' ) { 
    315321                for (var i = 0; i < evt.currentTarget.children.length; i++) { 
    316                     if( evt.currentTarget.children[i].value == params.selected ) { 
    317                         var child = jQuery.extend({}, element.possibilities.model[evt.currentTarget.children[i].dataset.identifier]); 
     322                    if ( evt.currentTarget.children[i].value == params.selected ) { 
     323                        var child = jQuery.extend( {}, element.possibilities.model[evt.currentTarget.children[i].dataset.identifier] ); 
    318324                        child.value_possibility_selected = ' selected'; 
    319325                        element.possibilities.control.change( evt.currentTarget.children[i].dataset.identifier, child ); 
    320326                    } 
    321327                } 
    322             } else if( typeof( params.deselected ) !== 'undefined' ) { 
     328            } else if ( typeof( params.deselected ) !== 'undefined' ) { 
    323329                for (var i = 0; i < evt.currentTarget.children.length; i++) { 
    324                     if( evt.currentTarget.children[i].value == params.deselected ) { 
    325                         var child = jQuery.extend({}, element.possibilities.model[evt.currentTarget.children[i].dataset.identifier]); 
     330                    if ( evt.currentTarget.children[i].value == params.deselected ) { 
     331                        var child = jQuery.extend( {}, element.possibilities.model[evt.currentTarget.children[i].dataset.identifier] ); 
    326332                        child.value_possibility_selected = ''; 
    327333                        element.possibilities.control.change( evt.currentTarget.children[i].dataset.identifier, child ); 
     
    330336            } 
    331337            chosenPossibilitiesDefault( element ); 
    332         }).parent().find('.chzn-container .search-field input[type=text]').keydown( function (evt) { 
     338        }).parent().find( '.chzn-container .search-field input[type=text]' ).keydown( function (evt) { 
    333339            var stroke, _ref, target, list; 
    334340            stroke = (_ref = evt.which) != null ? _ref : evt.keyCode; 
    335             target = jQuery(evt.target); 
     341            target = jQuery( evt.target ); 
    336342            if (stroke === 13) { 
    337                 var value = jQuery.trim(target.val()); 
     343                var value = jQuery.trim( target.val() ); 
    338344                var new_val = { 
    339345                    value_possibility_is_default: '', 
     
    343349                } 
    344350                var new_val_id = element.possibilities.control.push( new_val ); 
    345                 jQuery('.chosen_select_' + element.code ).trigger('liszt:updated'); 
    346                 jQuery('.chosen_select_' + element.code ).parent().click(); 
     351                jQuery( '.chosen_select_' + element.code ).trigger( 'liszt:updated' ); 
     352                jQuery( '.chosen_select_' + element.code ).parent().click(); 
    347353                var data = { 
    348354                    action: "new_option_for_select_from_product_edition", 
     
    351357                    attribute_new_label: value, 
    352358                    attribute_selected_values: [], 
    353                     item_in_edition: jQuery("#post_ID").val() 
     359                    item_in_edition: jQuery( "#post_ID" ).val() 
    354360                }; 
    355361                jQuery.post(ajaxurl, data, function(response) { 
     
    363369    jQuery.each( wps_variations_options_raw.model, function( index, element ) { 
    364370        element.possibilities.control = new WPSVariationOptionsInterface( 'wps_variations_possibilities_' + element.code, element.possibilities.model ); 
    365         wps_variations_options_raw.control.chosenPossibilities(element); 
     371        wps_variations_options_raw.control.chosenPossibilities( element ); 
    366372    } ); 
    367373    wps_variations_price_option_raw.control = new WPSVariationOptionsInterface( 'wps_variations_price_option_raw', wps_variations_price_option_raw.model ); 
    368374    wps_variations_price_option_raw.control.price = function( element ) { 
    369         var id = jQuery( element ).closest( "ul[data-view-model='wps_variations_price_option_raw']" ).data('identifier'); 
    370         var parameter = jQuery.extend({}, wps_variations_price_option_raw.model[id]); 
    371         var price_value = parseFloat( jQuery( element ).val().replace(',', '.') ); 
    372         if( !Number.isNaN( Number( price_value ) ) ) { parameter.price_value = fix_number( price_value ); } 
     375        var id = jQuery( element ).closest( "ul[data-view-model='wps_variations_price_option_raw']" ).data( 'identifier' ); 
     376        var parameter = jQuery.extend( {}, wps_variations_price_option_raw.model[id] ); 
     377        var price_value = parseFloat( jQuery( element ).val().replace( ',', '.' ) ); 
     378        if ( ! Number.isNaN( Number( price_value ) ) ) { parameter.price_value = fix_number( price_value ); } 
    373379        calcul_price( parameter ); 
    374380        this.change( id, parameter ); 
     
    377383    }; 
    378384    wps_variations_price_option_raw.control.config = function( element ) { 
    379         var id = jQuery( element ).closest( "ul[data-view-model='wps_variations_price_option_raw']" ).data('identifier'); 
    380         var parameter = jQuery.extend({}, wps_variations_price_option_raw.model[id]); 
    381         if( parameter.price_config == '+' ) { 
     385        var id = jQuery( element ).closest( "ul[data-view-model='wps_variations_price_option_raw']" ).data( 'identifier' ); 
     386        var parameter = jQuery.extend( {}, wps_variations_price_option_raw.model[id] ); 
     387        if ( parameter.price_config == '+' ) { 
    382388            parameter.price_config = '='; 
    383         } else if( parameter.price_config == '=' ) { 
     389        } else if ( parameter.price_config == '=' ) { 
    384390            parameter.price_config = '+'; 
    385391        } 
     
    391397    }; 
    392398    wps_variations_price_option_raw.control.stock = function( element ) { 
    393         var id = jQuery( element ).closest( "ul[data-view-model='wps_variations_price_option_raw']" ).data('identifier'); 
    394         var parameter = jQuery.extend({}, wps_variations_price_option_raw.model[id]); 
     399        var id = jQuery( element ).closest( "ul[data-view-model='wps_variations_price_option_raw']" ).data( 'identifier' ); 
     400        var parameter = jQuery.extend( {}, wps_variations_price_option_raw.model[id] ); 
    395401        var stock = parseInt( jQuery( element ).val() ); 
    396         if( !Number.isNaN( Number( stock ) ) ) { parameter.stock = stock; } 
     402        if ( ! Number.isNaN( Number( stock ) ) ) { parameter.stock = stock; } 
    397403        this.change( id, parameter ); 
    398404        parameter.name.control.refresh(); 
     
    400406    }; 
    401407    wps_variations_price_option_raw.control.weight = function( element ) { 
    402         var id = jQuery( element ).closest( "ul[data-view-model='wps_variations_price_option_raw']" ).data('identifier'); 
    403         var parameter = jQuery.extend({}, wps_variations_price_option_raw.model[id]); 
    404         var weight = parseFloat( jQuery( element ).val().replace(',', '.') ); 
    405         if( !Number.isNaN( Number( weight ) ) ) { parameter.weight = weight; } 
     408        var id = jQuery( element ).closest( "ul[data-view-model='wps_variations_price_option_raw']" ).data( 'identifier' ); 
     409        var parameter = jQuery.extend( {}, wps_variations_price_option_raw.model[id] ); 
     410        var weight = parseFloat( jQuery( element ).val().replace( ',', '.' ) ); 
     411        if ( ! Number.isNaN( Number( weight ) ) ) { parameter.weight = weight; } 
    406412        this.change( id, parameter ); 
    407413        parameter.name.control.refresh(); 
     
    411417    }; 
    412418    wps_variations_price_option_raw.control.file = function( element ) { 
    413         wps_variations_price_option_raw.model[jQuery( element ).closest( "ul[data-view-model='wps_variations_price_option_raw']" ).data('identifier')].file.control.file( element ); 
     419        wps_variations_price_option_raw.model[jQuery( element ).closest( "ul[data-view-model='wps_variations_price_option_raw']" ).data( 'identifier' )].file.control.file( element ); 
    414420    }; 
    415421    wps_variations_price_option_raw.control.link = function( event, input ) { 
    416         wps_variations_price_option_raw.model[jQuery( input ).closest( "ul[data-view-model='wps_variations_price_option_raw']" ).data('identifier')].file.control.link( event, input ); 
     422        wps_variations_price_option_raw.model[jQuery( input ).closest( "ul[data-view-model='wps_variations_price_option_raw']" ).data( 'identifier' )].file.control.link( event, input ); 
    417423    }; 
    418424    wps_variations_price_option_raw.control.activate = function( element ) { 
    419         var id = jQuery( element ).closest( "ul[data-view-model='wps_variations_price_option_raw']" ).data('identifier'); 
    420         var parameter = jQuery.extend({}, wps_variations_price_option_raw.model[id]); 
    421         if( parameter.price_option_activate == 'checked' ) { 
     425        var id = jQuery( element ).closest( "ul[data-view-model='wps_variations_price_option_raw']" ).data( 'identifier' ); 
     426        var parameter = jQuery.extend( {}, wps_variations_price_option_raw.model[id] ); 
     427        if ( parameter.price_option_activate == 'checked' ) { 
    422428            parameter.price_option_activate = ''; 
    423429        } else { 
     
    455461                data: data 
    456462            }).done(function( response ) { 
    457                 var div = document.createElement('div'); 
     463                var div = document.createElement( 'div' ); 
    458464                div.innerHTML = response; 
    459465                response = div.firstChild; 
    460466                var basename = /(?:http:\/\/.*\/)(.*)/g; 
    461                 var match = basename.exec(response.href); 
     467                var match = basename.exec( response.href ); 
    462468                this_element.change( { link: match[1], download: 'inline', path: match[0] } ); 
    463469            }); 
     
    466472        display_price_tab = true; 
    467473    } ); 
    468     if( display_price_tab ) { 
     474    if ( display_price_tab ) { 
    469475        jQuery( 'li[data-tab=wps_variations_price_option_tab]' ).removeClass( 'disabled' ); 
    470         if( !jQuery( 'li[data-tab=wps_variations_price_option_tab]' ).hasClass( 'active' ) ) { 
     476        if ( ! jQuery( 'li[data-tab=wps_variations_price_option_tab]' ).hasClass( 'active' ) ) { 
    471477            jQuery( 'li[data-tab=wps_variations_price_option_tab]' ).click(); 
    472478        } 
     
    478484        var variation_to_delete = []; 
    479485        for ( var i = wps_variations_price_option_raw.model.length; wps_variations_price_option_raw.model.length != 0; i-- ) { 
    480             if( typeof wps_variations_price_option_raw.model[i] !== 'undefined' ) { 
     486            if ( typeof wps_variations_price_option_raw.model[i] !== 'undefined' ) { 
    481487                variation_to_delete.push( wps_variations_price_option_raw.model[i].ID ); 
    482488            } 
     
    484490        } 
    485491        var result = []; 
    486         if( jQuery( 'input[name=question_combine_options]:checked' ).val() == 'combine' ) { 
     492        if ( jQuery( 'input[name=question_combine_options]:checked' ).val() == 'combine' ) { 
    487493            var first = true; 
    488494            jQuery.each( wps_variations_options_raw.model, function( deep_index, deep_element ) { 
    489                 if( deep_element.generate != '' ) { 
    490                     if( first ) { 
     495                if ( deep_element.generate != '' ) { 
     496                    if ( first ) { 
    491497                        result.push( { name: { model: [] } } ); 
    492498                        first = false; 
     
    497503                    jQuery.each( raw, function( index_raw, element_raw ) { 
    498504                        jQuery.each( deep_element.possibilities.model, function( deep_possibility_index, deep_possibility_element ) { 
    499                             if( typeof deep_possibility_element.value_possibility_selected !== 'undefined' && deep_possibility_element.value_possibility_selected != '' ) { 
     505                            if ( typeof deep_possibility_element.value_possibility_selected !== 'undefined' && deep_possibility_element.value_possibility_selected != '' ) { 
    500506                                var parameter = { 
    501507                                    ID: id, 
     
    528534                                    } 
    529535                                }; 
    530                                 if( parameter.name.model.length > 1 ) { 
    531                                     parameter.price_option_activate =  'checked disabled><input type="hidden" value="on" name="wps_pdt_variations[' + parameter.ID + '][status]"'; 
     536                                if ( parameter.name.model.length > 1 ) { 
     537                                    parameter.price_option_activate = 'checked disabled><input type="hidden" value="on" name="wps_pdt_variations[' + parameter.ID + '][status]"'; 
    532538                                } else { 
    533                                     parameter.price_option_activate =  'checked'; 
     539                                    parameter.price_option_activate = 'checked'; 
    534540                                } 
    535541                                config_id( parameter ); 
    536542                                result.push( parameter ); 
    537543                                id++; 
    538                             } 
     544                            }// End if(). 
    539545                        } ); 
    540546                    } ); 
    541                 } 
     547                }// End if(). 
    542548            } ); 
    543549        } else { 
    544             if( jQuery( 'input[name=question_combine_options]:checked' ).val() != 'single' ) { 
     550            if ( jQuery( 'input[name=question_combine_options]:checked' ).val() != 'single' ) { 
    545551                jQuery( 'input[name=question_combine_options][value=single]' ).prop( 'checked', true ); 
    546552            } 
    547553            var id = 0; 
    548554            jQuery.each( wps_variations_options_raw.model, function( index, element ) { 
    549                 if( element.generate != '' ) { 
     555                if ( element.generate != '' ) { 
    550556                    jQuery.each( element.possibilities.model, function( possibility_index, possibility_element ) { 
    551                         if( typeof possibility_element.value_possibility_selected !== 'undefined' && possibility_element.value_possibility_selected != '' ) { 
     557                        if ( typeof possibility_element.value_possibility_selected !== 'undefined' && possibility_element.value_possibility_selected != '' ) { 
    552558                            var parameter = { 
    553559                                ID: id, 
     
    584590                            result.push( parameter ); 
    585591                            id++; 
    586                         } 
     592                        }// End if(). 
    587593                    } ); 
    588                 } 
     594                }// End if(). 
    589595            } ); 
    590         } 
     596        }// End if(). 
    591597        var size = {}; 
    592598        size.current = size.total = 0; 
    593         if( result != 0 ) { 
     599        if ( result != 0 ) { 
    594600            jQuery.each( result, function( index, element ) { 
    595601                wps_variations_price_option_raw.control.push( element ); 
     
    626632                } 
    627633            } ); 
    628         } 
    629         if( size.total == 0 ) { 
    630             if( jQuery( 'li[data-tab=wps_variations_price_option_tab]' ).hasClass( 'active' ) ) { 
     634        }// End if(). 
     635        if ( size.total == 0 ) { 
     636            if ( jQuery( 'li[data-tab=wps_variations_price_option_tab]' ).hasClass( 'active' ) ) { 
    631637                jQuery( 'li[data-tab=wps_variations_price_option_tab]' ).click(); 
    632638            } 
     
    634640        } else { 
    635641            jQuery( 'li[data-tab=wps_variations_price_option_tab]' ).removeClass( 'disabled' ); 
    636             if( !jQuery( 'li[data-tab=wps_variations_price_option_tab]' ).hasClass( 'active' ) ) { 
     642            if ( ! jQuery( 'li[data-tab=wps_variations_price_option_tab]' ).hasClass( 'active' ) ) { 
    637643                jQuery( 'li[data-tab=wps_variations_price_option_tab]' ).click(); 
    638644            } 
    639645        } 
    640         wpshop_variation_delete ( variation_to_delete, wps_product_variation_interface.nonce_delete, function() { 
    641             if( size.total == 0 ) { 
     646        wpshop_variation_delete( variation_to_delete, wps_product_variation_interface.nonce_delete, function() { 
     647            if ( size.total == 0 ) { 
    642648                jQuery( '#wps_variations_apply_btn' ).removeClass( 'disabled' ); 
    643649            } 
     
    656662                } ); 
    657663                jQuery.post(ajaxurl, data, function( response ) { 
    658                     var parameter = jQuery.extend({}, element); 
     664                    var parameter = jQuery.extend( {}, element ); 
    659665                    parameter.ID = response.ID; 
    660                     if( parameter.name.model.length > 1 ) { 
     666                    if ( parameter.name.model.length > 1 ) { 
    661667                        parameter.price_option_activate = 'checked disabled><input type="hidden" value="on" name="wps_pdt_variations[' + parameter.ID + '][status]"'; 
    662668                    } 
     
    687693                            data: data 
    688694                        }).done(function( response ) { 
    689                             var div = document.createElement('div'); 
     695                            var div = document.createElement( 'div' ); 
    690696                            div.innerHTML = response; 
    691697                            response = div.firstChild; 
    692698                            var basename = /(?:http:\/\/.*\/)(.*)/g; 
    693                             var match = basename.exec(response.href); 
     699                            var match = basename.exec( response.href ); 
    694700                            this_element.change( { link: match[1], download: 'inline', path: match[0] } ); 
    695701                        }); 
    696702                        this_element.change( { link: link, download: 'none', path: path } ); 
    697703                    } 
    698                     if( size.current >= size.total ) { 
     704                    if ( size.current >= size.total ) { 
    699705                        jQuery( '#wps_variations_apply_btn' ).removeClass( 'disabled' ); 
    700706                    } 
     
    714720    jQuery.post(ajaxurl, data, function(response) { 
    715721        if ( response['status'] ) { 
    716             nouveauDiv = document.createElement("div"); 
    717             nouveauDiv.innerHTML = response['response']; 
     722            nouveauDiv = document.createElement( "div" ); 
     723                nouveauDiv.innerHTML = response['response']; 
    718724            nouveauDiv.title = title; 
    719725            nouveauDiv.dataset.post = id; 
     
    728734            }); 
    729735            jQuery( nouveauDiv ).on('dialogclose', function(event) { 
    730                 var response = jQuery( jQuery( '.is_downloadable_statut_' + id ).html() ).first().attr('href'); 
    731                 wps_variations_price_option_raw.model[jQuery( element ).closest( "ul[data-view-model='wps_variations_price_option_raw']" ).data('identifier')].file.control.change( { link: response.replace(/^.*\/|\.[^.]$/g, ''), download: 'inline', path: response } ); 
     736                var response = jQuery( jQuery( '.is_downloadable_statut_' + id ).html() ).first().attr( 'href' ); 
     737                wps_variations_price_option_raw.model[jQuery( element ).closest( "ul[data-view-model='wps_variations_price_option_raw']" ).data( 'identifier' )].file.control.change( { link: response.replace( /^.*\/|\.[^.]$/g, '' ), download: 'inline', path: response } ); 
    732738            }); 
    733739        } 
  • wpshop/trunk/readme.txt

    r1637797 r1638252  
    55Requires at least: 3.4.0 
    66Tested up to: 4.7.2 
    7 Stable tag: 1.4.4.0 
     7Stable tag: 1.4.4.1 
    88License: GPLv2 or later 
    99 
     
    9797 
    9898== Changelog == 
     99 
     100= Version 1.4.4.1 = 
     101 
     102Corrections / Fix 
     103 
     104* 8782 - Correctif des prix HT des options - Fix ET prices on variations 
    99105 
    100106= Version 1.4.4.0 = 
  • wpshop/trunk/wpshop.php

    r1637797 r1638252  
    44 * Plugin URI: http://www.wpshop.fr/documentations/presentation-wpshop/ 
    55 * Description: With this plugin you will be able to manage the products you want to sell and user would be able to buy this products 
    6  * Version: 1.4.4.0 
     6 * Version: 1.4.4.1 
    77 * Author: Eoxia 
    88 * Author URI: http://eoxia.com/ 
     
    1212 * Plugin main file. 
    1313 * 
    14  * This file is the main file called by wordpress for our plugin use. It define the basic vars and include the different file needed to use the plugin 
     14 * This file is the main file called by WordPress for our plugin use. It define the basic vars and include the different file needed to use the plugin 
    1515 * 
    1616 * @author Eoxia <dev@eoxia.com> 
     
    2727 
    2828/**    Allows to refresh css and js file in final user browser    */ 
    29 DEFINE( 'WPSHOP_VERSION', '1.4.4.0' ); 
     29DEFINE( 'WPSHOP_VERSION', '1.4.4.1' ); 
    3030 
    3131/**    Allows to avoid problem with theme not supporting thumbnail for post    */ 
     
    8383add_action( 'custom_menu_order', array( 'wpshop_init', 'admin_custom_menu_order' ) ); 
    8484 
    85 /*    Call function for new wordpress element creating [term (product_category) / post (product)]    */ 
     85/*    Call function for new WordPress element creating [term (product_category) / post (product)]    */ 
    8686add_action( 'init', array( 'wpshop_init', 'add_new_wp_type' ) ); 
    8787 
     
    9393register_activation_hook( __FILE__, array( 'wpshop_install', 'install_on_activation' ) ); 
    9494 
    95 /**    On plugin deactivation call the function to clean the wordpress installation    */ 
     95/**    On plugin deactivation call the function to clean the WordPress installation    */ 
    9696register_deactivation_hook( __FILE__, array( 'wpshop_install', 'uninstall_wpshop' ) ); 
    9797 
     
    107107} 
    108108// Start session 
    109 if(session_id() == '') 
    110      session_start(); 
     109if ( session_id() == '' ) { 
     110     session_start(); 
     111} 
    111112 
    112113// WP-Shop class instanciation 
Note: See TracChangeset for help on using the changeset viewer.