[*] BO: Improve form of catalog price rules #PSCFV-6099

This commit is contained in:
Rémi Gaillard
2013-01-04 15:50:13 +01:00
parent 507309ddf5
commit d7694b5900
@@ -137,12 +137,14 @@
var current_id_condition_group = 0; var current_id_condition_group = 0;
var last_condition_group = 0; var last_condition_group = 0;
var conditions = new Array(); var conditions = new Array();
function toggle_condition_group(id_condition_group) function toggle_condition_group(id_condition_group)
{ {
$('.condition_group > table').css('border', 'none'); $('.condition_group > table').css('border', 'none');
$('#condition_group_'+id_condition_group+' > table').css('border', '2px solid'); $('#condition_group_'+id_condition_group+' > table').css('border', '2px solid');
current_id_condition_group = id_condition_group; current_id_condition_group = id_condition_group;
} }
function add_condition(id_condition_group, type, value) function add_condition(id_condition_group, type, value)
{ {
var id_condition = id_condition_group+'_'+type+'_'+value; var id_condition = id_condition_group+'_'+type+'_'+value;
@@ -155,12 +157,14 @@ function add_condition(id_condition_group, type, value)
conditions[id_condition] = condition; conditions[id_condition] = condition;
return id_condition; return id_condition;
} }
function delete_condition(condition) function delete_condition(condition)
{ {
delete conditions[condition]; delete conditions[condition];
$('#'+condition).remove(); $('#'+condition).remove();
return false; return false;
} }
function new_condition_group() function new_condition_group()
{ {
last_condition_group++; last_condition_group++;
@@ -170,6 +174,14 @@ function new_condition_group()
$('#condition_group_list').append(html); $('#condition_group_list').append(html);
toggle_condition_group(last_condition_group); toggle_condition_group(last_condition_group);
} }
function appendConditionToGroup(html)
{
if ($('#condition_group_'+current_id_condition_group+' table tbody tr').length > 0)
$('#condition_group_'+current_id_condition_group+' table tbody').append('<tr><td align="center" colspan="3"><b>{l s='AND' js=1}</b></td></tr>');
$('#condition_group_'+current_id_condition_group+' table tbody').append(html);
}
$(document).ready(function() { $(document).ready(function() {
$('#leave_bprice_on').click(function() { $('#leave_bprice_on').click(function() {
if (this.checked) if (this.checked)
@@ -177,72 +189,94 @@ $(document).ready(function() {
else else
$('#price').removeAttr('disabled'); $('#price').removeAttr('disabled');
}); });
$('#specific_price_rule_form').live('submit', function(e) { $('#specific_price_rule_form').live('submit', function(e) {
var html = ''; var html = '';
for (i in conditions) for (i in conditions)
html += '<input type="hidden" name="condition_group_'+conditions[i].id_condition_group+'[]" value="'+conditions[i].type+'_'+conditions[i].value+'" />'; html += '<input type="hidden" name="condition_group_'+conditions[i].id_condition_group+'[]" value="'+conditions[i].type+'_'+conditions[i].value+'" />';
$('#conditions').append(html); $('#conditions').append(html);
}); });
$('#id_feature').change(function() { $('#id_feature').change(function() {
$('.id_feature_value').hide(); $('.id_feature_value').hide();
$('#id_feature_'+$(this).val()).show(); $('#id_feature_'+$(this).val()).show();
}); });
$('#id_attribute_group').change(function() { $('#id_attribute_group').change(function() {
$('.id_attribute').hide(); $('.id_attribute').hide();
$('#id_attribute_'+$(this).val()).show(); $('#id_attribute_'+$(this).val()).show();
}); });
$('#add_condition_category').click(function() { $('#add_condition_category').click(function() {
var id_condition = add_condition(current_id_condition_group, 'category', $('#id_category option:selected').val()); var id_condition = add_condition(current_id_condition_group, 'category', $('#id_category option:selected').val());
if (!id_condition) if (!id_condition)
return false; return false;
var html = '<tr id="'+id_condition+'"><td>{l s='Category'}</td><td>'+$('#id_category option:selected').html()+'</td><td><a href="#" onclick="delete_condition(\''+id_condition+'\');"><img src="../img/admin/delete.gif" /></a></td></tr>'; var html = '<tr id="'+id_condition+'"><td>{l s='Category'}</td><td>'+$('#id_category option:selected').html()+'</td><td><a href="#" onclick="delete_condition(\''+id_condition+'\');"><img src="../img/admin/delete.gif" /></a></td></tr>';
$('#condition_group_'+current_id_condition_group+' table tbody').append(html); appendConditionToGroup(html);
return false; return false;
}); });
$('#add_condition_manufacturer').click(function() { $('#add_condition_manufacturer').click(function() {
var id_condition = add_condition(current_id_condition_group, 'manufacturer', $('#id_manufacturer option:selected').val()); var id_condition = add_condition(current_id_condition_group, 'manufacturer', $('#id_manufacturer option:selected').val());
if (!id_condition) if (!id_condition)
return false; return false;
var html = '<tr id="'+id_condition+'"><td>{l s='Manufacturer'}</td><td>'+$('#id_manufacturer option:selected').html()+'</td><td><a href="#" onclick="delete_condition(\''+id_condition+'\');"><img src="../img/admin/delete.gif" /></a></td></tr>'; var html = '<tr id="'+id_condition+'"><td>{l s='Manufacturer'}</td><td>'+$('#id_manufacturer option:selected').html()+'</td><td><a href="#" onclick="delete_condition(\''+id_condition+'\');"><img src="../img/admin/delete.gif" /></a></td></tr>';
$('#condition_group_'+current_id_condition_group+' table tbody').append(html); appendConditionToGroup(html);
return false; return false;
}); });
$('#add_condition_supplier').click(function() { $('#add_condition_supplier').click(function() {
var id_condition = add_condition(current_id_condition_group, 'supplier', $('#id_supplier option:selected').val()); var id_condition = add_condition(current_id_condition_group, 'supplier', $('#id_supplier option:selected').val());
if (!id_condition) if (!id_condition)
return false; return false;
var html = '<tr id="'+id_condition+'"><td>{l s='Supplier'}</td><td>'+$('#id_supplier option:selected').html()+'</td><td><a href="#" onclick="delete_condition(\''+id_condition+'\');"><img src="../img/admin/delete.gif" /></a></td></tr>'; var html = '<tr id="'+id_condition+'"><td>{l s='Supplier'}</td><td>'+$('#id_supplier option:selected').html()+'</td><td><a href="#" onclick="delete_condition(\''+id_condition+'\');"><img src="../img/admin/delete.gif" /></a></td></tr>';
$('#condition_group_'+current_id_condition_group+' table tbody').append(html); appendConditionToGroup(html);
return false; return false;
}); });
$('#add_condition_attribute').click(function() { $('#add_condition_attribute').click(function() {
var id_condition = add_condition(current_id_condition_group, 'attribute', $('#id_attribute_'+$('#id_attribute_group option:selected').val()+' option:selected').val()); var id_condition = add_condition(current_id_condition_group, 'attribute', $('#id_attribute_'+$('#id_attribute_group option:selected').val()+' option:selected').val());
if (!id_condition) if (!id_condition)
return false; return false;
var html = '<tr id="'+id_condition+'"><td>{l s='Attribute'}</td><td>'+$('#id_attribute_group option:selected').html()+': '+$('#id_attribute_'+$('#id_attribute_group option:selected').val()+' option:selected').html()+'</td><td><a href="#" onclick="delete_condition(\''+id_condition+'\');"><img src="../img/admin/delete.gif" /></a></td></tr>'; var html = '<tr id="'+id_condition+'"><td>{l s='Attribute'}</td><td>'+$('#id_attribute_group option:selected').html()+': '+$('#id_attribute_'+$('#id_attribute_group option:selected').val()+' option:selected').html()+'</td><td><a href="#" onclick="delete_condition(\''+id_condition+'\');"><img src="../img/admin/delete.gif" /></a></td></tr>';
$('#condition_group_'+current_id_condition_group+' table tbody').append(html); appendConditionToGroup(html);
return false; return false;
}); });
$('#add_condition_feature').click(function() { $('#add_condition_feature').click(function() {
var id_condition = add_condition(current_id_condition_group, 'feature', $('#id_feature_'+$('#id_feature option:selected').val()+' option:selected').val()); var id_condition = add_condition(current_id_condition_group, 'feature', $('#id_feature_'+$('#id_feature option:selected').val()+' option:selected').val());
if (!id_condition) if (!id_condition)
return false; return false;
var html = '<tr id="'+id_condition+'"><td>{l s='Feature'}</td><td>'+$('#id_feature option:selected').html()+': '+$('#id_feature_'+$('#id_feature option:selected').val()+' option:selected').html()+'</td><td><a href="#" onclick="delete_condition(\''+id_condition+'\');"><img src="../img/admin/delete.gif" /></a></td></tr>'; var html = '<tr id="'+id_condition+'"><td>{l s='Feature'}</td><td>'+$('#id_feature option:selected').html()+': '+$('#id_feature_'+$('#id_feature option:selected').val()+' option:selected').html()+'</td><td><a href="#" onclick="delete_condition(\''+id_condition+'\');"><img src="../img/admin/delete.gif" /></a></td></tr>';
$('#condition_group_'+current_id_condition_group+' table tbody').append(html); appendConditionToGroup(html);
return false; return false;
}); });
$('#add_condition_group').click(function() { $('#add_condition_group').click(function() {
new_condition_group(); new_condition_group();
return false; return false;
}); });
$('.condition_group').live('click', function() { $('.condition_group').live('click', function() {
var id = this.id.split('_'); var id = this.id.split('_');
toggle_condition_group(id[2]); toggle_condition_group(id[2]);
return false; return false;
}); });
{if $conditions|@count == 0} {if $conditions|@count == 0}
new_condition_group(); new_condition_group();
{/if} {/if}
{foreach from=$conditions key='id_group_condition' item='condition_group'} {foreach from=$conditions key='id_group_condition' item='condition_group'}
new_condition_group(); new_condition_group();
{foreach from=$condition_group item='condition'} {foreach from=$condition_group item='condition'}