// Fix carrier lang copy when a new shop is created + can duplicate data when editing a shop
git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@8094 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
1 parent
549d5be0c7
commit
51f2bf2617
2 files changed
+11
-6
No files matched your search
@@ -67,6 +67,12 @@ class AdminShop extends AdminTab
|
|||||||
$newShop->copyShopData((int)Tools::getValue('importFromShop'), $importData);
|
$newShop->copyShopData((int)Tools::getValue('importFromShop'), $importData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function afterUpdate($newShop)
|
||||||
|
{
|
||||||
|
if (Tools::getValue('useImportData') && ($importData = Tools::getValue('importData')) && is_array($importData))
|
||||||
|
$newShop->copyShopData((int)Tools::getValue('importFromShop'), $importData);
|
||||||
|
}
|
||||||
|
|
||||||
public function postProcess()
|
public function postProcess()
|
||||||
{
|
{
|
||||||
if ((Tools::isSubmit('status') || Tools::isSubmit('status'.$this->table) || (Tools::isSubmit('submitAdd'.$this->table) && Tools::getValue($this->identifier) && !Tools::getValue('active'))) && $this->loadObject() && $this->loadObject()->active)
|
if ((Tools::isSubmit('status') || Tools::isSubmit('status'.$this->table) || (Tools::isSubmit('submitAdd'.$this->table) && Tools::getValue($this->identifier) && !Tools::getValue('active'))) && $this->loadObject() && $this->loadObject()->active)
|
||||||
@@ -170,10 +176,9 @@ class AdminShop extends AdminTab
|
|||||||
<div class="small"><sup>*</sup> '.$this->l('Required field').'</div>
|
<div class="small"><sup>*</sup> '.$this->l('Required field').'</div>
|
||||||
</fieldset><br /><br />';
|
</fieldset><br /><br />';
|
||||||
|
|
||||||
if (Tools::getValue('addshop') !== false)
|
|
||||||
{
|
|
||||||
$importData = array(
|
$importData = array(
|
||||||
'carrier' => $this->l('Carriers'),
|
'carrier' => $this->l('Carriers'),
|
||||||
|
'carrier_lang' => $this->l('Carriers lang'),
|
||||||
'category_lang' => $this->l('Category lang'),
|
'category_lang' => $this->l('Category lang'),
|
||||||
'cms' => $this->l('CMS page'),
|
'cms' => $this->l('CMS page'),
|
||||||
'contact' => $this->l('Contact'),
|
'contact' => $this->l('Contact'),
|
||||||
@@ -198,10 +203,11 @@ class AdminShop extends AdminTab
|
|||||||
'zone' => $this->l('Zones'),
|
'zone' => $this->l('Zones'),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$checked = (Tools::getValue('addshop') !== false) ? true : false;
|
||||||
echo '<fieldset><legend>'.$this->l('Import data from another shop').'</legend>';
|
echo '<fieldset><legend>'.$this->l('Import data from another shop').'</legend>';
|
||||||
echo '<label>'.$this->l('Import data from another shop').'</label>';
|
echo '<label>'.$this->l('Import data from another shop').'</label>';
|
||||||
echo '<div class="margin-form">';
|
echo '<div class="margin-form">';
|
||||||
echo '<input type="checkbox" value="1" checked="checked" name="useImportData" onclick="$(\'#importList\').slideToggle(\'slow\')" /> ';
|
echo '<input type="checkbox" value="1" '.(($checked) ? 'checked="checked"' : '').' name="useImportData" onclick="$(\'#importList\').slideToggle(\'slow\')" /> ';
|
||||||
echo $this->l('Duplicate data from shop');
|
echo $this->l('Duplicate data from shop');
|
||||||
echo ' <select name="importFromShop">';
|
echo ' <select name="importFromShop">';
|
||||||
foreach (Shop::getTree() as $gID => $gData)
|
foreach (Shop::getTree() as $gID => $gData)
|
||||||
@@ -212,7 +218,7 @@ class AdminShop extends AdminTab
|
|||||||
echo '</optgroup>';
|
echo '</optgroup>';
|
||||||
}
|
}
|
||||||
echo '</select>';
|
echo '</select>';
|
||||||
echo '<div id="importList" style=""><ul>';
|
echo '<div id="importList" style="'.((!$checked) ? 'display: none' : '').'"><ul>';
|
||||||
foreach ($importData as $table => $lang)
|
foreach ($importData as $table => $lang)
|
||||||
echo '<li><label><input type="checkbox" name="importData['.$table.']" checked="checked" /> '.$lang.'</label></li>';
|
echo '<li><label><input type="checkbox" name="importData['.$table.']" checked="checked" /> '.$lang.'</label></li>';
|
||||||
echo '</ul></div>';
|
echo '</ul></div>';
|
||||||
@@ -221,7 +227,6 @@ class AdminShop extends AdminTab
|
|||||||
<input type="submit" value="'.$this->l(' Save ').'" name="submitAdd'.$this->table.'" class="button" />
|
<input type="submit" value="'.$this->l(' Save ').'" name="submitAdd'.$this->table.'" class="button" />
|
||||||
</div>';
|
</div>';
|
||||||
echo '</fieldset>';
|
echo '</fieldset>';
|
||||||
}
|
|
||||||
|
|
||||||
echo '</form>';
|
echo '</form>';
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -737,7 +737,7 @@ class ShopCore extends ObjectModel
|
|||||||
unset($res[$row['primary']]);
|
unset($res[$row['primary']]);
|
||||||
|
|
||||||
$keys = implode(', ', array_keys($res));
|
$keys = implode(', ', array_keys($res));
|
||||||
$sql = 'INSERT INTO `'._DB_PREFIX_.$table_name.'` ('.$keys.', '.$id.')
|
$sql = 'INSERT IGNORE INTO `'._DB_PREFIX_.$table_name.'` ('.$keys.', '.$id.')
|
||||||
(SELECT '.$keys.', '.(int)$this->id.' FROM '._DB_PREFIX_.$table_name.'
|
(SELECT '.$keys.', '.(int)$this->id.' FROM '._DB_PREFIX_.$table_name.'
|
||||||
WHERE `'.$id.'` = '.(int)$old_id.')';
|
WHERE `'.$id.'` = '.(int)$old_id.')';
|
||||||
Db::getInstance()->Execute($sql);
|
Db::getInstance()->Execute($sql);
|
||||||
|
|||||||
Reference in new issue
Block a user