// SupplyOrder reference is now unique

git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@11854 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
bMancone
2011-12-28 14:58:55 +00:00
parent 72b7fa3801
commit d8422f1896
3 changed files with 34 additions and 0 deletions
+18
View File
@@ -429,6 +429,24 @@ class SupplyOrderCore extends ObjectModel
return ($res > 0);
}
/**
* For a given id or reference, tells if the supply order exists
* @param int|string $match
*/
public static function exists($match)
{
if (!$match)
return false;
$query = new DbQuery();
$query->select('id_supply_order');
$query->from('supply_order', 'so');
$query->where('so.id_supply_order = '.(int)$match.' OR so.reference = "'.pSQL($match).'"');
$res = Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue($query);
return ($res > 0);
}
/**
* Webservice : gets the ids supply_order_detail associated to this order
* @return array
@@ -936,6 +936,18 @@ class AdminSupplyOrdersControllerCore extends AdminController
$this->_errors[] = Tools::displayError($this->l('You do not have the required permission to add a supply order.'));
if (Tools::isSubmit('submitBulkUpdatesupply_order_detail') && !($this->tabAccess['edit'] === '1'))
$this->_errors[] = Tools::displayError($this->l('You do not have the required permission to edit an order.'));
// checks if supply order reference is unique
if (Tools::isSubmit('reference'))
{
$ref = pSQL(Tools::getValue('reference'));
if (SupplyOrder::exists($ref))
$this->_errors[] = Tools::displayError($this->l('The reference has to be unique.'));
}
if ($this->_errors)
return;
// Global checks when add / update a supply order
if (Tools::isSubmit('submitAddsupply_order') || Tools::isSubmit('submitAddsupply_orderAndStay'))
{
+4
View File
@@ -2,3 +2,7 @@ SET NAMES 'utf8';
ALTER TABLE PREFIX_theme ADD COLUMN directory varchar(64) NOT NULL;
/* Supply Order modification as of 1.5.0.3 */
ALTER TABLE `PREFIX_supply_order` DROP INDEX `reference`;
ALTER TABLE `PREFIX_supply_order` ADD UNIQUE (`reference`);