[-] CORE : Currency conversion rate can not be 0
This commit is contained in:
1 parent
64706075d5
commit
a43851469e
2 files changed
+15
-4
No files matched your search
+13
-4
@@ -73,7 +73,7 @@ class CurrencyCore extends ObjectModel
|
|||||||
'sign' => array('type' => self::TYPE_STRING, 'validate' => 'isGenericName', 'required' => true, 'size' => 8),
|
'sign' => array('type' => self::TYPE_STRING, 'validate' => 'isGenericName', 'required' => true, 'size' => 8),
|
||||||
'format' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'required' => true),
|
'format' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'required' => true),
|
||||||
'decimals' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'required' => true),
|
'decimals' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'required' => true),
|
||||||
'conversion_rate' =>array('type' => self::TYPE_FLOAT, 'validate' => 'isFloat', 'required' => true, 'shop' => true),
|
'conversion_rate' =>array('type' => self::TYPE_FLOAT, 'validate' => 'isUnsignedFloat', 'required' => true, 'shop' => true),
|
||||||
'deleted' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
|
'deleted' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
|
||||||
'active' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
|
'active' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
|
||||||
),
|
),
|
||||||
@@ -107,14 +107,23 @@ class CurrencyCore extends ObjectModel
|
|||||||
$this->suffix = $this->format % 2 == 0 ? ' '.$this->sign : '';
|
$this->suffix = $this->format % 2 == 0 ? ' '.$this->sign : '';
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Overriding check if currency with the same iso code already exists.
|
* Overriding check if currency rate is not empty and if currency with the same iso code already exists.
|
||||||
* If it's true, currency is doesn't added.
|
* If it's true, currency is not added.
|
||||||
*
|
*
|
||||||
* @see ObjectModelCore::add()
|
* @see ObjectModelCore::add()
|
||||||
*/
|
*/
|
||||||
public function add($autodate = true, $nullValues = false)
|
public function add($autodate = true, $nullValues = false)
|
||||||
{
|
{
|
||||||
return Currency::exists($this->iso_code, $this->iso_code_num) ? false : parent::add();
|
if ((float)$this->conversion_rate <= 0)
|
||||||
|
return false;
|
||||||
|
return Currency::exists($this->iso_code, $this->iso_code_num) ? false : parent::add($autodate, $nullValues);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function update($autodate = true, $nullValues = false)
|
||||||
|
{
|
||||||
|
if ((float)$this->conversion_rate <= 0)
|
||||||
|
return false;
|
||||||
|
return parent::update($autodate, $nullValues);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -346,6 +346,8 @@ class AdminCurrenciesControllerCore extends AdminController
|
|||||||
}
|
}
|
||||||
if (Tools::isSubmit('submitAddcurrency') && !Tools::getValue('id_currency') && Currency::exists(Tools::getValue('iso_code'), Tools::getValue('iso_code_num')))
|
if (Tools::isSubmit('submitAddcurrency') && !Tools::getValue('id_currency') && Currency::exists(Tools::getValue('iso_code'), Tools::getValue('iso_code_num')))
|
||||||
$this->errors[] = Tools::displayError('This currency already exists.');
|
$this->errors[] = Tools::displayError('This currency already exists.');
|
||||||
|
if (Tools::isSubmit('submitAddcurrency') && (float)Tools::getValue('conversion_rate') <= 0)
|
||||||
|
$this->errors[] = Tools::displayError('This currency conversion rate can not be equal to 0.');
|
||||||
parent::initProcess();
|
parent::initProcess();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user