예제 #1
0
    public function delete()
    {
        if ($this->id == _PS_DEFAULT_CUSTOMER_GROUP_) {
            return false;
        }
        if (parent::delete()) {
            Db::getInstance()->Execute('DELETE FROM `' . _DB_PREFIX_ . 'customer_group` WHERE `id_group` = ' . (int) $this->id);
            Db::getInstance()->Execute('DELETE FROM `' . _DB_PREFIX_ . 'category_group` WHERE `id_group` = ' . (int) $this->id);
            Db::getInstance()->Execute('DELETE FROM `' . _DB_PREFIX_ . 'group_reduction` WHERE `id_group` = ' . (int) $this->id);
            Db::getInstance()->Execute('DELETE FROM `' . _DB_PREFIX_ . 'product_group_reduction_cache` WHERE `id_group` = ' . (int) $this->id);
            // Add default group (id 1) to customers without groups
            Db::getInstance()->Execute('INSERT INTO `' . _DB_PREFIX_ . 'customer_group` (
				SELECT c.id_customer, 1 FROM `' . _DB_PREFIX_ . 'customer` c
				LEFT JOIN `' . _DB_PREFIX_ . 'customer_group` cg
				ON cg.id_customer = c.id_customer
				WHERE cg.id_customer IS NULL)');
            // Set to the customer the default group
            // Select the minimal id from customer_group
            Db::getInstance()->Execute('UPDATE `' . _DB_PREFIX_ . 'customer` cg
				SET id_default_group =
					IFNULL((
						SELECT min(id_group) FROM `' . _DB_PREFIX_ . 'customer_group`
						WHERE id_customer = cg.id_customer),
						1)
				WHERE `id_default_group` = ' . (int) $this->id);
            Discount::deleteByIdGroup((int) $this->id);
            return true;
        }
        return false;
    }
예제 #2
0
 public function delete()
 {
     if ($this->id == _PS_DEFAULT_CUSTOMER_GROUP_) {
         return false;
     }
     if (parent::delete()) {
         Db::getInstance()->Execute('DELETE FROM `' . _DB_PREFIX_ . 'customer_group` WHERE `id_group` = ' . (int) $this->id);
         Db::getInstance()->Execute('DELETE FROM `' . _DB_PREFIX_ . 'category_group` WHERE `id_group` = ' . (int) $this->id);
         Discount::deleteByIdGroup((int) $this->id);
         return true;
     }
     return false;
 }