// Improve attributes ergonomy with multishop #PSTEST-780

This commit is contained in:
rMalie
2012-03-07 17:34:47 +00:00
parent f9fe1b6db8
commit 6daa5eae2b
2 changed files with 25 additions and 1 deletions
@@ -64,4 +64,20 @@
displayColorFieldsOption();
$('#id_attribute_group').change(displayColorFieldsOption);
var shop_associations = {$fields[0]['form']['shop_associations']};
var changeAssociationGroup = function()
{
var id_attribute_group = $('#id_attribute_group').val();
$('.input_group_shop').each(function(k, item)
{
var id_group_shop = $(item).val();
if (shop_associations[id_attribute_group] != 'undefined' && $.inArray(id_group_shop, shop_associations[id_attribute_group]))
$(item).attr('disabled', false);
else
$(item).attr('disabled', true);
});
};
$('#id_attribute_group').change(changeAssociationGroup);
changeAssociationGroup();
{/block}
@@ -255,7 +255,7 @@ class AdminAttributesGroupsControllerCore extends AdminController
$this->fields_form = array(
'legend' => array(
'title' => $this->l('Values'),
'image' => '../img/admin/asterisk.gif'
'image' => '../img/admin/asterisk.gif',
),
'input' => array(
array(
@@ -284,6 +284,14 @@ class AdminAttributesGroupsControllerCore extends AdminController
if (Shop::isFeatureActive())
{
// We get all associated shops for all attribute groups, because we will disable group shops
// for attributes that the selected attribute group don't support
$sql = 'SELECT id_attribute_group, id_group_shop FROM '._DB_PREFIX_.'attribute_group_group_shop';
$associations = array();
foreach (Db::getInstance()->executeS($sql) as $row)
$associations[$row['id_attribute_group']][] = $row['id_group_shop'];
$this->fields_form['shop_associations'] = Tools::jsonEncode($associations);
$this->fields_form['input'][] = array(
'type' => 'group_shop',
'label' => $this->l('Group Shop association:'),