// Fix fields validation in preferences on fix with no visibility (for multishop) #PSTEST-267
This commit is contained in:
@@ -847,7 +847,7 @@ class AdminControllerCore extends Controller
|
|||||||
|
|
||||||
$languages = Language::getLanguages(false);
|
$languages = Language::getLanguages(false);
|
||||||
|
|
||||||
foreach ($this->options as $category => $category_data)
|
foreach ($this->options as $category_data)
|
||||||
{
|
{
|
||||||
if (!isset($category_data['fields']))
|
if (!isset($category_data['fields']))
|
||||||
continue;
|
continue;
|
||||||
@@ -855,6 +855,7 @@ class AdminControllerCore extends Controller
|
|||||||
$fields = $category_data['fields'];
|
$fields = $category_data['fields'];
|
||||||
|
|
||||||
foreach ($fields as $field => $values)
|
foreach ($fields as $field => $values)
|
||||||
|
{
|
||||||
if (isset($values['type']) && $values['type'] == 'selectLang')
|
if (isset($values['type']) && $values['type'] == 'selectLang')
|
||||||
{
|
{
|
||||||
foreach ($languages as $lang)
|
foreach ($languages as $lang)
|
||||||
@@ -866,9 +867,16 @@ class AdminControllerCore extends Controller
|
|||||||
'list' => $values['list']
|
'list' => $values['list']
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Check required fields */
|
// Validate fields
|
||||||
foreach ($fields as $field => $values)
|
foreach ($fields as $field => $values)
|
||||||
|
{
|
||||||
|
// We don't validate fields with no visibility
|
||||||
|
if (Shop::isFeatureActive() && isset($values['visibility']) && ($values['visibility'] > Context::getContext()->shop->getContextType()))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
// Check if field is required
|
||||||
if (isset($values['required']) && $values['required'] && !isset($_POST['configUseDefault'][$field]))
|
if (isset($values['required']) && $values['required'] && !isset($_POST['configUseDefault'][$field]))
|
||||||
if (isset($values['type']) && $values['type'] == 'textLang')
|
if (isset($values['type']) && $values['type'] == 'textLang')
|
||||||
{
|
{
|
||||||
@@ -879,8 +887,7 @@ class AdminControllerCore extends Controller
|
|||||||
else if (($value = Tools::getValue($field)) == false && (string)$value != '0')
|
else if (($value = Tools::getValue($field)) == false && (string)$value != '0')
|
||||||
$this->_errors[] = Tools::displayError('field').' <b>'.$values['title'].'</b> '.Tools::displayError('is required.');
|
$this->_errors[] = Tools::displayError('field').' <b>'.$values['title'].'</b> '.Tools::displayError('is required.');
|
||||||
|
|
||||||
/* Check fields validity */
|
// Check field validator
|
||||||
foreach ($fields as $field => $values)
|
|
||||||
if (isset($values['type']) && $values['type'] == 'textLang')
|
if (isset($values['type']) && $values['type'] == 'textLang')
|
||||||
{
|
{
|
||||||
foreach ($languages as $language)
|
foreach ($languages as $language)
|
||||||
@@ -892,10 +899,10 @@ class AdminControllerCore extends Controller
|
|||||||
if (!Validate::$values['validation'](Tools::getValue($field)))
|
if (!Validate::$values['validation'](Tools::getValue($field)))
|
||||||
$this->_errors[] = Tools::displayError('field').' <b>'.$values['title'].'</b> '.Tools::displayError('is invalid.');
|
$this->_errors[] = Tools::displayError('field').' <b>'.$values['title'].'</b> '.Tools::displayError('is invalid.');
|
||||||
|
|
||||||
/* Default value if null */
|
// Set default value
|
||||||
foreach ($fields as $field => $values)
|
|
||||||
if (!Tools::getValue($field) && isset($values['default']))
|
if (!Tools::getValue($field) && isset($values['default']))
|
||||||
$_POST[$field] = $values['default'];
|
$_POST[$field] = $values['default'];
|
||||||
|
}
|
||||||
|
|
||||||
if (!count($this->_errors))
|
if (!count($this->_errors))
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user