diff --git a/admin-dev/themes/default/template/controllers/products/quantities.tpl b/admin-dev/themes/default/template/controllers/products/quantities.tpl
index 09707e54c..b64149d40 100644
--- a/admin-dev/themes/default/template/controllers/products/quantities.tpl
+++ b/admin-dev/themes/default/template/controllers/products/quantities.tpl
@@ -40,8 +40,6 @@
| {l s='The stock management is disabled'} | +|||
| {l s='The stock management is disabled'} | ++ |
+
+ {l s='The minimum quantity to buy this product (set to 1 to disable this feature)'} + |
+ |
| + | + {include file="controllers/products/input_text_lang.tpl" + languages=$languages + input_value=$product->available_now + input_name='available_now'} + {l s='Forbidden characters:'} <>;=#{} + | +||
| + | + {include file="controllers/products/input_text_lang.tpl" + languages=$languages + input_value=$product->available_later + input_name='available_later'} + {l s='Forbidden characters:'} <>;=#{} + | +||
| + |
+
+ {l s='The available date when this product is out of stock'} + |
||
| - |
-
- {l s='The minimum quantity to buy this product (set to 1 to disable this feature)'} - |
- ||
| - | - {include file="controllers/products/input_text_lang.tpl" - languages=$languages - input_value=$product->available_now - input_name='available_now'} - {l s='Forbidden characters:'} <>;=#{} - | -||
| - | - {include file="controllers/products/input_text_lang.tpl" - languages=$languages - input_value=$product->available_later - input_name='available_later'} - {l s='Forbidden characters:'} <>;=#{} - | -||
| - |
-
- {l s='The available date when this product is out of stock'} - |
- ||
[TECHNICAL ERROR] ajaxProductManufacturers: "+textStatus+"
"); } }); - }, - 'onReady' : function(){ - product_tabs['Associations'].initAccessoriesAutocomplete(); - product_tabs['Associations'].getManufacturers(); + }; + + this.onReady = function(){ + self.initAccessoriesAutocomplete(); + self.getManufacturers(); } } -product_tabs['Attachments'] = { - 'bindAttachmentEvents' : function (){ +product_tabs['Attachments'] = new function(){ + var self = this; + this.bindAttachmentEvents = function (){ $("#addAttachment").live('click', function() { $("#selectAttachment2 option:selected").each(function(){ var val = $('#arrayAttachments').val(); @@ -495,14 +509,16 @@ product_tabs['Attachments'] = { $(this).attr("selected", "selected"); }); }); - }, - 'onReady' : function(){ - product_tabs['Attachments'].bindAttachmentEvents(); - } + }; + + this.onReady = function(){ + self.bindAttachmentEvents(); + }; } -product_tabs['Informations'] = { - 'bindAvailableForOrder' : function (){ +product_tabs['Informations'] = new function(){ + var self = this; + this.bindAvailableForOrder = function (){ $("#available_for_order").click(function(){ if ($(this).is(':checked')) { @@ -514,8 +530,9 @@ product_tabs['Informations'] = { $('#show_price').attr('disabled', ''); } }); - }, - 'bindTagImage' : function (){ + }; + + this.bindTagImage = function (){ function changeTagImage(){ var smallImage = $('input[name=smallImage]:checked').attr('value'); var leftRight = $('input[name=leftRight]:checked').attr('value'); @@ -542,8 +559,9 @@ product_tabs['Informations'] = { i = 0; } }); - }, - 'switchProductType' : function(){ + }; + + this.switchProductType = function(){ if (product_type == product_type_pack) { $('#pack_product').attr('checked', 'checked'); @@ -629,7 +647,7 @@ product_tabs['Informations'] = { // this handle the save button displays and warnings handleSaveButtons(); }); - }, + }; /*'setup_tinymce': function(){ // change each by click to load only on click $(".autoload_rte").each(function(e){ @@ -662,15 +680,16 @@ product_tabs['Informations'] = { }); }); },*/ - 'onReady' : function(){ - product_tabs['Informations'].bindAvailableForOrder(); - product_tabs['Informations'].bindTagImage(); - product_tabs['Informations'].switchProductType(); - } + this.onReady = function(){ + self.bindAvailableForOrder(); + self.bindTagImage(); + self.switchProductType(); + }; } -product_tabs['Pack'] = { - 'bindPackEvents' : function (){ +product_tabs['Pack'] = new function(){ + var self = this; + this.bindPackEvents = function (){ if ($('#ppack').attr('checked')) { $('#ppack').attr('disabled', 'disabled'); @@ -801,18 +820,142 @@ product_tabs['Pack'] = { ids = ids.replace(/\,$/,''); return ids; } - }, - 'onReady' : function(){ - product_tabs['Pack'].bindPackEvents(); + }; + + this.onReady = function(){ + self.bindPackEvents(); } } -product_tabs['Features'] = { - 'onReady' : function(){ +product_tabs['Features'] = new function(){ + this.onReady = function(){ displayFlags(languages, id_language, allowEmployeeFormLang); } } +product_tabs['Quantities'] = new function(){ + var self = this; + this.ajaxCall = function(data){ + data.ajaxProductQuantity = 1; + data.id_product = id_product; + data.token = token; + data.ajax = 1; + data.controller = "AdminProducts"; + data.action = "productQuantity"; + showAjaxMsg(quantities_ajax_waiting); + $.ajax({ + type: "POST", + url: "ajax-tab.php", + data: data, + dataType: 'json', + async : true, + success: function(msg) + { + if (msg.error) + { + showAjaxError(msg.error); + return; + } + showAjaxSuccess(quantities_ajax_success); + }, + error: function(msg) + { + showAjaxError(msg.error); + } + }); + + function showAjaxError(msg) + { + $('#available_quantity_ajax_error_msg').html(msg); + $('#available_quantity_ajax_error_msg').show(); + $('#available_quantity_ajax_msg').hide(); + $('#available_quantity_ajax_success_msg').hide(); + } + + function showAjaxSuccess(msg) + { + $('#available_quantity_ajax_success_msg').html(msg); + $('#available_quantity_ajax_error_msg').hide(); + $('#available_quantity_ajax_msg').hide(); + $('#available_quantity_ajax_success_msg').show(); + } + + function showAjaxMsg(msg) + { + $('#available_quantity_ajax_msg').html(msg); + $('#available_quantity_ajax_error_msg').hide(); + $('#available_quantity_ajax_msg').show(); + $('#available_quantity_ajax_success_msg').hide(); + } + }; + + this.refreshQtyAvailabilityForm = function() + { + if ($('#depends_on_stock_0').attr('checked')) + { + $('.available_quantity').find('input').show(); + $('.available_quantity').find('span').hide(); + } + else + { + $('.available_quantity').find('input').hide(); + $('.available_quantity').find('span').show(); + } + }; + + this.onReady = function(){ + $('#available_date').datepicker({ + prevText: '', + nextText: '', + dateFormat: 'yy-mm-dd' + }); + + $('.depends_on_stock').click(function(e) + { + self.refreshQtyAvailabilityForm(); + self.ajaxCall( { actionQty: 'depends_on_stock', value: $(this).val() } ); + if($(this).val() == 0) + $('.available_quantity input').trigger('change'); + }); + + $('.advanced_stock_management').click(function(e) + { + var val = 0; + if ($(this).attr('checked')) + val = 1; + + self.ajaxCall({actionQty: 'advanced_stock_management', value: val}); + if (val == 1) + { + $(this).val(1); + $('#depends_on_stock_1').attr('disabled', false); + } + else + { + $(this).val(0); + $('#depends_on_stock_1').attr('disabled', true); + $('#depends_on_stock_0').attr('checked', true); + self.ajaxCall({actionQty: 'depends_on_stock', value: 0}); + self.refreshQtyAvailabilityForm(); + } + self.refreshQtyAvailabilityForm(); + }); + + $('.available_quantity').find('input').change(function(e, init_val) + { + self.ajaxCall({actionQty: 'set_qty', id_product_attribute: $(this).parent().attr('id').split('_')[1], value: $(this).val()}); + }); + + $('.out_of_stock').click(function(e) + { + self.refreshQtyAvailabilityForm(); + self.ajaxCall({actionQty: 'out_of_stock', value: $(this).val()}); + }); + + self.refreshQtyAvailabilityForm(); + }; +} + var tabs_manager = new ProductTabsManager(); tabs_manager.setTabs(product_tabs);