Merge branch 'release' of https://github.com/PrestaShop/PrestaShop into release
This commit is contained in:
+8
-1
@@ -161,6 +161,13 @@ function add_condition(id_condition_group, type, value)
|
||||
function delete_condition(condition)
|
||||
{
|
||||
delete conditions[condition];
|
||||
|
||||
to_delete = $('#'+condition).prev();
|
||||
if ($(to_delete).children().hasClass('btn_delete_condition'))
|
||||
$(to_delete).remove();
|
||||
else
|
||||
$('#'+condition).next().remove();
|
||||
|
||||
$('#'+condition).remove();
|
||||
return false;
|
||||
}
|
||||
@@ -178,7 +185,7 @@ function new_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('<tr><td align="center" class="btn_delete_condition" colspan="3"><b>{l s='AND' js=1}</b></td></tr>');
|
||||
$('#condition_group_'+current_id_condition_group+' table tbody').append(html);
|
||||
}
|
||||
|
||||
|
||||
@@ -142,14 +142,15 @@ class AttributeGroupCore extends ObjectModel
|
||||
if (!AttributeGroup::cleanDeadCombinations())
|
||||
return false;
|
||||
/* Also delete related attributes */
|
||||
if (Db::getInstance()->execute('
|
||||
if (count($to_remove))
|
||||
if (!Db::getInstance()->execute('
|
||||
DELETE FROM `'._DB_PREFIX_.'attribute_lang`
|
||||
WHERE `id_attribute` IN ('.implode(',', $to_remove).')') === false ||
|
||||
Db::getInstance()->execute('
|
||||
WHERE `id_attribute` IN ('.implode(',', $to_remove).')') ||
|
||||
!Db::getInstance()->execute('
|
||||
DELETE FROM `'._DB_PREFIX_.'attribute_shop`
|
||||
WHERE `id_attribute` IN ('.implode(',', $to_remove).')') === false ||
|
||||
Db::getInstance()->execute('DELETE FROM `'._DB_PREFIX_.'attribute` WHERE `id_attribute_group` = '.(int)$this->id) === false)
|
||||
return false;
|
||||
WHERE `id_attribute` IN ('.implode(',', $to_remove).')') ||
|
||||
!Db::getInstance()->execute('DELETE FROM `'._DB_PREFIX_.'attribute` WHERE `id_attribute_group` = '.(int)$this->id))
|
||||
return false;
|
||||
$this->cleanPositions();
|
||||
}
|
||||
$return = parent::delete();
|
||||
|
||||
@@ -53,22 +53,15 @@ class TaxRulesGroupCore extends ObjectModel
|
||||
|
||||
protected static $_taxes = array();
|
||||
|
||||
public static function getTaxRulesGroups($only_active = true, $multiShop = false)
|
||||
public static function getTaxRulesGroups($only_active = true)
|
||||
{
|
||||
if ((bool)$multiShop) {
|
||||
return Db::getInstance()->executeS('
|
||||
SELECT *
|
||||
return Db::getInstance()->executeS('
|
||||
SELECT DISTINCT g.id_tax_rules_group, g.name, g.active
|
||||
FROM `'._DB_PREFIX_.'tax_rules_group` g'
|
||||
.Shop::addSqlAssociation('tax_rules_group', 'g')
|
||||
.($only_active ? ' WHERE g.`active` = 1' : '').'
|
||||
ORDER BY name ASC');
|
||||
} else {
|
||||
return Db::getInstance()->executeS('
|
||||
SELECT *
|
||||
FROM `'._DB_PREFIX_.'tax_rules_group` g'
|
||||
.($only_active ? ' WHERE g.`active` = 1' : '').'
|
||||
ORDER BY name ASC');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -718,7 +718,7 @@ class AdminCarrierWizardControllerCore extends AdminController
|
||||
&& (!isset($logo['error']) || !$logo['error'])
|
||||
&& preg_match('/\.(jpe?g|gif|png)$/', $logo['name'])
|
||||
&& is_uploaded_file($logo['tmp_name'])
|
||||
&& ImageManager::isRealImage($logo['tmp_name']))
|
||||
&& ImageManager::isRealImage($logo['tmp_name'], $logo['type']))
|
||||
{
|
||||
$file = $logo['tmp_name'];
|
||||
do $tmp_name = uniqid().'.jpg';
|
||||
|
||||
@@ -557,7 +557,7 @@ class AdminCategoriesControllerCore extends AdminController
|
||||
$id_parent = (int)Tools::getValue('id_parent');
|
||||
|
||||
// if true, we are in a root category creation
|
||||
if (!$id_parent && !Tools::isSubmit('is_root_category'))
|
||||
if (!$id_parent)
|
||||
{
|
||||
$_POST['is_root_category'] = $_POST['level_depth'] = 1;
|
||||
$_POST['id_parent'] = $id_parent = (int)Configuration::get('PS_ROOT_CATEGORY');
|
||||
|
||||
@@ -33,9 +33,6 @@ class AdminLogsControllerCore extends AdminController
|
||||
$this->lang = false;
|
||||
$this->noLink = true;
|
||||
|
||||
$this->addRowAction('delete');
|
||||
$this->bulk_actions = array('delete' => array('text' => $this->l('Delete selected'), 'confirm' => $this->l('Delete selected items?')));
|
||||
|
||||
$this->fields_list = array(
|
||||
'id_log' => array('title' => $this->l('ID'), 'align' => 'center', 'width' => 25),
|
||||
'employee' => array('title' => $this->l('Employee'), 'align' => 'center', 'width' => 100),
|
||||
|
||||
@@ -2993,7 +2993,7 @@ class AdminProductsControllerCore extends AdminController
|
||||
$data->assign(array(
|
||||
'link' => $this->context->link,
|
||||
'currency' => $currency = $this->context->currency,
|
||||
'tax_rules_groups' => TaxRulesGroup::getTaxRulesGroups(true, true),
|
||||
'tax_rules_groups' => TaxRulesGroup::getTaxRulesGroups(true),
|
||||
'taxesRatesByGroup' => TaxRulesGroup::getAssociatedTaxRatesByIdCountry($this->context->country->id),
|
||||
'ecotaxTaxRate' => Tax::getProductEcotaxRate(),
|
||||
'tax_exclude_taxe_option' => Tax::excludeTaxeOption(),
|
||||
|
||||
@@ -179,6 +179,15 @@ class AdminTaxRulesGroupControllerCore extends AdminController
|
||||
'stay' => true
|
||||
)
|
||||
);
|
||||
|
||||
if (Shop::isFeatureActive())
|
||||
{
|
||||
$this->fields_form['input'][] = array(
|
||||
'type' => 'shop',
|
||||
'label' => $this->l('Shop association:'),
|
||||
'name' => 'checkBoxShopAsso',
|
||||
);
|
||||
}
|
||||
|
||||
if (!($obj = $this->loadObject(true)))
|
||||
return;
|
||||
|
||||
@@ -30,7 +30,7 @@ abstract class InstallControllerHttp
|
||||
* @var array List of installer steps
|
||||
*/
|
||||
protected static $steps = array('welcome', 'license', 'system', 'configure', 'database', 'process');
|
||||
|
||||
protected $phone;
|
||||
protected static $instances = array();
|
||||
|
||||
/**
|
||||
@@ -318,7 +318,14 @@ abstract class InstallControllerHttp
|
||||
*/
|
||||
public function getPhone()
|
||||
{
|
||||
return $this->language->getInformation('phone', false);
|
||||
if ($this->phone === null)
|
||||
{
|
||||
$this->phone = $this->language->getInformation('phone', false);
|
||||
if ($iframe = Tools::file_get_contents('http://api.prestashop.com/iframe/install.php?lang='.$this->language->getLanguageIso()))
|
||||
if (preg_match('/<img.+alt="([^"]+)".*>/Ui', $iframe, $matches) && isset($matches[1]))
|
||||
$this->phone = $matches[1];
|
||||
}
|
||||
return $this->phone;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
return array(
|
||||
'informations' => array(
|
||||
'phone' => '+1 (888) 947-6543',
|
||||
'phone' => '+34 917.872.909',
|
||||
'support' => 'https://www.prestashop.com/es/support',
|
||||
),
|
||||
'translations' => array(
|
||||
|
||||
@@ -105,8 +105,8 @@ function onLeaveStepCallback(obj, context)
|
||||
{
|
||||
if (context.toStep == nbr_steps)
|
||||
displaySummary();
|
||||
|
||||
return validateSteps(context.fromStep); // return false to stay on step and true to continue navigation
|
||||
|
||||
return validateSteps(context.fromStep, context.toStep); // return false to stay on step and true to continue navigation
|
||||
}
|
||||
|
||||
function displaySummary()
|
||||
@@ -192,25 +192,25 @@ function displaySummary()
|
||||
});
|
||||
}
|
||||
|
||||
function validateSteps(step_number)
|
||||
function validateSteps(fromStep, toStep)
|
||||
{
|
||||
var is_ok = true;
|
||||
if ((multistore_enable && step_number == 3) || (!multistore_enable && step_number == 2))
|
||||
if ((multistore_enable && fromStep == 3) || (!multistore_enable && fromStep == 2))
|
||||
{
|
||||
if (!$('#is_free_on').attr('checked') && !validateRange(2))
|
||||
if (toStep > fromStep && !$('#is_free_on').attr('checked') && !validateRange(2))
|
||||
is_ok = false;
|
||||
}
|
||||
|
||||
$('.wizard_error').remove();
|
||||
if (is_ok)
|
||||
{
|
||||
form = $('#carrier_wizard #step-'+step_number+' form');
|
||||
form = $('#carrier_wizard #step-'+fromStep+' form');
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url : validate_url,
|
||||
async: false,
|
||||
dataType: 'json',
|
||||
data : form.serialize()+'&step_number='+step_number+'&action=validate_step&ajax=1',
|
||||
data : form.serialize()+'&step_number='+fromStep+'&action=validate_step&ajax=1',
|
||||
success : function(datas)
|
||||
{
|
||||
if (datas.has_error)
|
||||
@@ -220,7 +220,7 @@ function validateSteps(step_number)
|
||||
$('input').focus( function () {
|
||||
$(this).removeClass('field_error');
|
||||
});
|
||||
displayError(datas.errors, step_number);
|
||||
displayError(datas.errors, fromStep);
|
||||
resizeWizard();
|
||||
}
|
||||
},
|
||||
|
||||
@@ -80,23 +80,24 @@ public function hookDisplayMobileHeader($params)
|
||||
|
||||
public function hookRightColumn($params)
|
||||
{
|
||||
if (!$this->isCached('blocksearch.tpl', $this->getCacheId()))
|
||||
|
||||
if (Tools::getValue('search_query') || !$this->isCached('blocksearch.tpl', $this->getCacheId()))
|
||||
{
|
||||
$this->calculHookCommon($params);
|
||||
$this->smarty->assign('blocksearch_type', 'block');
|
||||
}
|
||||
return $this->display(__FILE__, 'blocksearch.tpl', $this->getCacheId());
|
||||
return $this->display(__FILE__, 'blocksearch.tpl', Tools::getValue('search_query') ? null : $this->getCacheId());
|
||||
}
|
||||
|
||||
public function hookTop($params)
|
||||
{
|
||||
if (!$this->isCached('blocksearch-top.tpl', $this->getCacheId('blocksearch-top')))
|
||||
if (Tools::getValue('search_query') || !$this->isCached('blocksearch-top.tpl', $this->getCacheId('blocksearch-top')))
|
||||
{
|
||||
$this->calculHookCommon($params);
|
||||
$this->smarty->assign('blocksearch_type', 'top');
|
||||
}
|
||||
|
||||
return $this->display(__FILE__, 'blocksearch-top.tpl', $this->getCacheId('blocksearch-top'));
|
||||
return $this->display(__FILE__, 'blocksearch-top.tpl', Tools::getValue('search_query') ? null : $this->getCacheId('blocksearch-top'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user