[-] BO : Bug fixed related to #PSCFV-2490 - Default group should be copied

This commit is contained in:
fBrignoli committed 2012-05-21 15:51:50 +00:00
1 parent 21be2b2b1f
commit d29ad8a556
1 file changed
+35 -26
+35 -26
View File
@@ -248,8 +248,22 @@ class AdminShopControllerCore extends AdminController
protected function afterAdd($new_shop) protected function afterAdd($new_shop)
{ {
if (Tools::getValue('useImportData') && ($import_data = Tools::getValue('importData')) && is_array($import_data)) $import_data = Tools::getValue('importData');
if (Tools::getValue('useImportData') && is_array($import_data))
$new_shop->copyShopData((int)Tools::getValue('importFromShop'), $import_data); $new_shop->copyShopData((int)Tools::getValue('importFromShop'), $import_data);
// copy default data
if (!Tools::getValue('useImportData') || (is_array($import_data) && !isset($import_data['group'])))
{
$sql = 'INSERT INTO `'._DB_PREFIX_.'group_shop` (`id_shop`, `id_group`)
VALUES
('.(int)$new_shop->id.', '.(int)Configuration::get('PS_UNIDENTIFIED_GROUP').'),
('.(int)$new_shop->id.', '.(int)Configuration::get('PS_GUEST_GROUP').'),
('.(int)$new_shop->id.', '.(int)Configuration::get('PS_CUSTOMER_GROUP').')
';
Db::getInstance()->execute($sql);
}
return parent::afterAdd($new_shop); return parent::afterAdd($new_shop);
} }
@@ -540,6 +554,24 @@ class AdminShopControllerCore extends AdminController
$parent_id = (int)Tools::getValue('id_parent', 1); $parent_id = (int)Tools::getValue('id_parent', 1);
$this->afterAdd($object); $this->afterAdd($object);
$this->updateAssoShop($object->id); $this->updateAssoShop($object->id);
// Save and stay on same form
if (Tools::isSubmit('submitAdd'.$this->table.'AndStay'))
$this->redirect_after = self::$currentIndex.'&'.$this->identifier.'='.$object->id.'&conf=3&update'.$this->table.'&token='.$this->token;
// Save and back to parent
if (Tools::isSubmit('submitAdd'.$this->table.'AndBackToParent'))
$this->redirect_after = self::$currentIndex.'&'.$this->identifier.'='.$parent_id.'&conf=3&token='.$this->token;
// Default behavior (save and back)
if (empty($this->redirect_after))
$this->redirect_after = self::$currentIndex.($parent_id ? '&'.$this->identifier.'='.$object->id : '').'&conf=3&token='.$this->token;
}
}
$this->errors = array_unique($this->errors);
if (count($this->errors) > 0)
{
$this->display = 'add';
return;
}
// datas to import // datas to import
$import_data = Tools::getValue('importData'); $import_data = Tools::getValue('importData');
@@ -553,31 +585,8 @@ class AdminShopControllerCore extends AdminController
} }
// if we import datas from another shop, we do not update the shop categories // if we import datas from another shop, we do not update the shop categories
if (!Category::updateFromShop(Tools::getValue('categoryBox'), $object->id)) if (!isset($import_data['category']))
$this->errors[] = $this->l('You need to select at least the root category.'); Category::updateFromShop(Tools::getValue('categoryBox'), $object->id);
// Save and stay on same form
if (!$this->errors)
{
if (Tools::isSubmit('submitAdd'.$this->table.'AndStay'))
$this->redirect_after = self::$currentIndex.'&'.$this->identifier.'='.$object->id.'&conf=3&update'.$this->table.'&token='.$this->token;
// Save and back to parent
if (Tools::isSubmit('submitAdd'.$this->table.'AndBackToParent'))
$this->redirect_after = self::$currentIndex.'&'.$this->identifier.'='.$parent_id.'&conf=3&token='.$this->token;
// Default behavior (save and back)
if (empty($this->redirect_after))
$this->redirect_after = self::$currentIndex.($parent_id ? '&'.$this->identifier.'='.$object->id : '').'&conf=3&token='.$this->token;
}
}
}
$this->errors = array_unique($this->errors);
if (!empty($this->errors))
{
// if we have errors, we stay on the form instead of going back to the list
$this->display = 'edit';
return false;
}
return $object; return $object;
} }