diff --git a/admin-dev/themes/default/template/controllers/specific_price_rule/helpers/form/form.tpl b/admin-dev/themes/default/template/controllers/specific_price_rule/helpers/form/form.tpl index 38b6deff2..afcee7b7b 100755 --- a/admin-dev/themes/default/template/controllers/specific_price_rule/helpers/form/form.tpl +++ b/admin-dev/themes/default/template/controllers/specific_price_rule/helpers/form/form.tpl @@ -146,17 +146,27 @@ function toggle_condition_group(id_condition_group) } function add_condition(id_condition_group, type, value) { + var id_condition = id_condition_group+'_'+type+'_'+value; + if (typeof conditions[id_condition] != 'undefined') + return false; var condition = new Array(); condition.type = type; condition.value = value; condition.id_condition_group = id_condition_group; - conditions.push(condition); + conditions[id_condition] = condition; + return id_condition; +} +function delete_condition(condition) +{ + delete conditions[condition]; + $('#'+condition).remove(); + return false; } function new_condition_group() { last_condition_group++; var html = '

{l s='Condition group'} '+last_condition_group+'

'; - html += '
{l s='Type'}{l s='Value'}
'; + html += '
{l s='Type'}{l s='Value'}
'; html += '
{l s='OR'}
'; $('#condition_group_list').append(html); toggle_condition_group(last_condition_group); @@ -170,9 +180,8 @@ $(document).ready(function() { }); $('#specific_price_rule_form').live('submit', function(e) { var html = ''; - $.each(conditions, function() { - html += ''; - }); + for (i in conditions) + html += ''; $('#conditions').append(html); }); $('#id_feature').change(function() { @@ -184,32 +193,42 @@ $(document).ready(function() { $('#id_attribute_'+$(this).val()).show(); }); $('#add_condition_category').click(function() { - add_condition(current_id_condition_group, 'category', $('#id_category option:selected').val()); - var html = '{l s='Category'}'+$('#id_category option:selected').html()+''; + var id_condition = add_condition(current_id_condition_group, 'category', $('#id_category option:selected').val()); + if (!id_condition) + return false; + var html = '{l s='Category'}'+$('#id_category option:selected').html()+''; $('#condition_group_'+current_id_condition_group+' table tbody').append(html); return false; }); $('#add_condition_manufacturer').click(function() { - add_condition(current_id_condition_group, 'manufacturer', $('#id_manufacturer option:selected').val()); - var html = '{l s='Manufacturer'}'+$('#id_manufacturer option:selected').html()+''; + var id_condition = add_condition(current_id_condition_group, 'manufacturer', $('#id_manufacturer option:selected').val()); + if (!id_condition) + return false; + var html = '{l s='Manufacturer'}'+$('#id_manufacturer option:selected').html()+''; $('#condition_group_'+current_id_condition_group+' table tbody').append(html); return false; }); $('#add_condition_supplier').click(function() { - add_condition(current_id_condition_group, 'supplier', $('#id_supplier option:selected').val()); - var html = '{l s='Supplier'}'+$('#id_supplier option:selected').html()+''; + var id_condition = add_condition(current_id_condition_group, 'supplier', $('#id_supplier option:selected').val()); + if (!id_condition) + return false; + var html = '{l s='Supplier'}'+$('#id_supplier option:selected').html()+''; $('#condition_group_'+current_id_condition_group+' table tbody').append(html); return false; }); $('#add_condition_attribute').click(function() { - add_condition(current_id_condition_group, 'attribute', $('#id_attribute_'+$('#id_attribute_group option:selected').val()+' option:selected').val()); - var html = '{l s='Attribute'}'+$('#id_attribute_group option:selected').html()+': '+$('#id_attribute_'+$('#id_attribute_group option:selected').val()+' option:selected').html()+''; + var id_condition = add_condition(current_id_condition_group, 'attribute', $('#id_attribute_'+$('#id_attribute_group option:selected').val()+' option:selected').val()); + if (!id_condition) + return false; + var html = '{l s='Attribute'}'+$('#id_attribute_group option:selected').html()+': '+$('#id_attribute_'+$('#id_attribute_group option:selected').val()+' option:selected').html()+''; $('#condition_group_'+current_id_condition_group+' table tbody').append(html); return false; }); $('#add_condition_feature').click(function() { - add_condition(current_id_condition_group, 'feature', $('#id_feature_'+$('#id_feature option:selected').val()+' option:selected').val()); - var html = '{l s='Feature'}'+$('#id_feature option:selected').html()+': '+$('#id_feature_'+$('#id_feature option:selected').val()+' option:selected').html()+''; + var id_condition = add_condition(current_id_condition_group, 'feature', $('#id_feature_'+$('#id_feature option:selected').val()+' option:selected').val()); + if (!id_condition) + return false; + var html = '{l s='Feature'}'+$('#id_feature option:selected').html()+': '+$('#id_feature_'+$('#id_feature option:selected').val()+' option:selected').html()+''; $('#condition_group_'+current_id_condition_group+' table tbody').append(html); return false; });