[+] Project : Vouchers are now replaced by cart rules
git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@9771 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
+87
-10
@@ -187,11 +187,88 @@ CREATE TABLE `PREFIX_cart` (
|
||||
KEY `id_shop` (`id_shop`)
|
||||
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE `PREFIX_cart_discount` (
|
||||
CREATE TABLE `PREFIX_cart_rule` (
|
||||
`id_cart_rule` int(10) unsigned NOT NULL auto_increment,
|
||||
`id_customer` int unsigned NOT NULL default 0,
|
||||
`date_from` datetime NOT NULL,
|
||||
`date_to` datetime NOT NULL,
|
||||
`description` text,
|
||||
`quantity` int(10) unsigned NOT NULL default 0,
|
||||
`quantity_per_user` int(10) unsigned NOT NULL default 0,
|
||||
`priority` int(10) unsigned NOT NULL default 1,
|
||||
`code` varchar(254) NOT NULL,
|
||||
`minimum_amount` decimal(17,2) NOT NULL default 0,
|
||||
`minimum_amount_tax` tinyint(1) NOT NULL default 0,
|
||||
`minimum_amount_currency` int unsigned NOT NULL default 0,
|
||||
`minimum_amount_shipping` tinyint(1) NOT NULL default 0,
|
||||
`country_restriction` tinyint(1) unsigned NOT NULL default 0,
|
||||
`carrier_restriction` tinyint(1) unsigned NOT NULL default 0,
|
||||
`group_restriction` tinyint(1) unsigned NOT NULL default 0,
|
||||
`cart_rule_restriction` tinyint(1) unsigned NOT NULL default 0,
|
||||
`product_restriction` tinyint(1) unsigned NOT NULL default 0,
|
||||
`free_shipping` tinyint(1) NOT NULL default 0,
|
||||
`reduction_percent` decimal(4,2) NOT NULL default 0,
|
||||
`reduction_amount` decimal(17,2) NOT NULL default 0,
|
||||
`reduction_tax` tinyint(1) unsigned NOT NULL default 0,
|
||||
`reduction_currency` int(10) unsigned NOT NULL default 0,
|
||||
`reduction_product` int(10) NOT NULL default 0,
|
||||
`gift_product` int(10) unsigned NOT NULL default 0,
|
||||
`active` tinyint(1) unsigned NOT NULL default 0,
|
||||
`date_add` datetime NOT NULL,
|
||||
`date_upd` datetime NOT NULL,
|
||||
PRIMARY KEY (`id_cart_rule`)
|
||||
);
|
||||
|
||||
CREATE TABLE `PREFIX_cart_rule_lang` (
|
||||
`id_cart_rule` int(10) unsigned NOT NULL,
|
||||
`id_lang` int(10) unsigned NOT NULL,
|
||||
`name` varchar(254) NOT NULL,
|
||||
PRIMARY KEY (`id_cart_rule`, `id_lang`)
|
||||
);
|
||||
|
||||
CREATE TABLE `PREFIX_cart_rule_country` (
|
||||
`id_cart_rule` int(10) unsigned NOT NULL,
|
||||
`id_country` int(10) unsigned NOT NULL,
|
||||
PRIMARY KEY (`id_cart_rule`, `id_country`)
|
||||
);
|
||||
|
||||
CREATE TABLE `PREFIX_cart_rule_group` (
|
||||
`id_cart_rule` int(10) unsigned NOT NULL,
|
||||
`id_group` int(10) unsigned NOT NULL,
|
||||
PRIMARY KEY (`id_cart_rule`, `id_group`)
|
||||
);
|
||||
|
||||
CREATE TABLE `PREFIX_cart_rule_carrier` (
|
||||
`id_cart_rule` int(10) unsigned NOT NULL,
|
||||
`id_carrier` int(10) unsigned NOT NULL,
|
||||
PRIMARY KEY (`id_cart_rule`, `id_carrier`)
|
||||
);
|
||||
|
||||
CREATE TABLE `PREFIX_cart_rule_combination` (
|
||||
`id_cart_rule_1` int(10) unsigned NOT NULL,
|
||||
`id_cart_rule_2` int(10) unsigned NOT NULL,
|
||||
PRIMARY KEY (`id_cart_rule_1`, `id_cart_rule_2`)
|
||||
);
|
||||
|
||||
CREATE TABLE `PREFIX_cart_rule_product_rule` (
|
||||
`id_product_rule` int(10) unsigned NOT NULL auto_increment,
|
||||
`id_cart_rule` int(10) unsigned NOT NULL,
|
||||
`quantity` int(10) unsigned NOT NULL default 1,
|
||||
`type` ENUM('products', 'categories', 'attributes') NOT NULL,
|
||||
PRIMARY KEY (`id_product_rule`)
|
||||
);
|
||||
|
||||
CREATE TABLE `PREFIX_cart_rule_product_rule_value` (
|
||||
`id_product_rule` int(10) unsigned NOT NULL,
|
||||
`id_item` int(10) unsigned NOT NULL,
|
||||
PRIMARY KEY (`id_product_rule`, `id_item`)
|
||||
);
|
||||
|
||||
CREATE TABLE `PREFIX_cart_cart_rule` (
|
||||
`id_cart` int(10) unsigned NOT NULL,
|
||||
`id_discount` int(10) unsigned NOT NULL,
|
||||
KEY `cart_discount_index` (`id_cart`,`id_discount`),
|
||||
KEY `id_discount` (`id_discount`)
|
||||
`id_cart_rule` int(10) unsigned NOT NULL,
|
||||
PRIMARY KEY (`id_cart`,`id_cart_rule`),
|
||||
KEY (`id_cart_rule`)
|
||||
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE `PREFIX_cart_product` (
|
||||
@@ -1027,15 +1104,15 @@ CREATE TABLE `PREFIX_order_detail` (
|
||||
KEY `id_order_id_order_detail` (`id_order`, `id_order_detail`)
|
||||
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE `PREFIX_order_discount` (
|
||||
`id_order_discount` int(10) unsigned NOT NULL auto_increment,
|
||||
CREATE TABLE `PREFIX_order_cart_rule` (
|
||||
`id_order_cart_rule` int(10) unsigned NOT NULL auto_increment,
|
||||
`id_order` int(10) unsigned NOT NULL,
|
||||
`id_discount` int(10) unsigned NOT NULL,
|
||||
`id_cart_rule` int(10) unsigned NOT NULL,
|
||||
`name` varchar(32) NOT NULL,
|
||||
`value` decimal(17,2) NOT NULL default '0.00',
|
||||
PRIMARY KEY (`id_order_discount`),
|
||||
KEY `order_discount_order` (`id_order`),
|
||||
KEY `id_discount` (`id_discount`)
|
||||
PRIMARY KEY (`id_order_cart_rule`),
|
||||
KEY `id_order` (`id_order`),
|
||||
KEY `id_cart_rule` (`id_cart_rule`)
|
||||
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE `PREFIX_order_history` (
|
||||
|
||||
@@ -230,7 +230,7 @@ INSERT INTO `PREFIX_configuration` (`id_configuration`, `name`, `value`, `date_a
|
||||
(142, 'PS_SCENE_FEATURE_ACTIVE', '1', NOW(), NOW()),
|
||||
(143, 'PS_VIRTUAL_PROD_FEATURE_ACTIVE', '0', NOW(), NOW()),
|
||||
(144, 'PS_CUSTOMIZATION_FEATURE_ACTIVE', '0', NOW(), NOW()),
|
||||
(145, 'PS_DISCOUNT_FEATURE_ACTIVE', '0', NOW(), NOW()),
|
||||
(145, 'PS_CART_RULE_FEATURE_ACTIVE', '0', NOW(), NOW()),
|
||||
(146, 'PS_GROUP_FEATURE_ACTIVE', '0', NOW(), NOW()),
|
||||
(147, 'PS_PACK_FEATURE_ACTIVE', '0', NOW(), NOW()),
|
||||
(148, 'PS_ALIAS_FEATURE_ACTIVE', '1', NOW(), NOW()),
|
||||
@@ -848,7 +848,7 @@ INSERT INTO `PREFIX_tab` (`id_tab`, `class_name`, `id_parent`, `position`) VALUE
|
||||
(9, 'AdminTools', 0, 10),(82, 'AdminStores', 9, 11),(60, 'AdminTracking', 1, 3),(10, 'AdminManufacturers', 1, 4),(34, 'AdminSuppliers', 1, 5),(11, 'AdminAttributesGroups', 1, 6),
|
||||
(36, 'AdminFeatures', 1, 7),(58, 'AdminScenes', 1, 8),(66, 'AdminTags', 1, 9),(68, 'AdminAttachments', 1, 10),(12, 'AdminAddresses', 2, 1),(63, 'AdminGroups', 2, 2),
|
||||
(65, 'AdminCarts', 2, 3),(42, 'AdminInvoices', 3, 1),(55, 'AdminDeliverySlip', 3, 2),(47, 'AdminReturn', 3, 3),(49, 'AdminSlip', 3, 4),(59, 'AdminMessages', 3, 5),
|
||||
(13, 'AdminStatuses', 3, 6),(54, 'AdminOrderMessage', 3, 7),(14, 'AdminDiscounts', 4, 4),(15, 'AdminCurrencies', 4, 1),(16, 'AdminTaxes', 4, 2),
|
||||
(13, 'AdminStatuses', 3, 6),(54, 'AdminOrderMessage', 3, 7),(14, 'AdminCartRules', 4, 4),(15, 'AdminCurrencies', 4, 1),(16, 'AdminTaxes', 4, 2),
|
||||
(17, 'AdminCarriers', 5, 1),(46, 'AdminStates', 5, 2),(18, 'AdminCountries', 5, 3),(19, 'AdminZones', 5, 5),(20, 'AdminRangePrice', 5, 6),
|
||||
(21, 'AdminRangeWeight', 5, 7),(51, 'AdminStatsConf', 6, 1),(61, 'AdminSearchEngines', 6, 2),(62, 'AdminReferrers', 6, 3),
|
||||
(22, 'AdminModulesPositions', 7, 4),(30, 'AdminProfiles', 29, 1),(31, 'AdminAccess', 29, 2),(28, 'AdminContacts', 29, 3),(39, 'AdminContact', 8, 1),
|
||||
@@ -874,7 +874,7 @@ INSERT INTO `PREFIX_access` (`id_profile`, `id_tab`, `view`, `add`, `edit`, `del
|
||||
INSERT INTO `PREFIX_tab_lang` (`id_lang`, `id_tab`, `name`) VALUES
|
||||
(1, 1, 'Catalog'),(1, 2, 'Customers'),(1, 3, 'Orders'),(1, 4, 'Payment'),
|
||||
(1, 5, 'Shipping'),(1, 6, 'Stats'),(1, 7, 'Modules'),(1, 8, 'Preferences'),(1, 9, 'Tools'),(1, 10, 'Manufacturers'),(1, 11, 'Attributes and Groups'),
|
||||
(1, 12, 'Addresses'),(1, 13, 'Statuses'),(1, 14, 'Vouchers'),(1, 15, 'Currencies'),(1, 16, 'Taxes'),(1, 17, 'Carriers'),(1, 18, 'Countries'),
|
||||
(1, 12, 'Addresses'),(1, 13, 'Statuses'),(1, 14, 'Cart Rules'),(1, 15, 'Currencies'),(1, 16, 'Taxes'),(1, 17, 'Carriers'),(1, 18, 'Countries'),
|
||||
(1, 19, 'Zones'),(1, 20, 'Price Ranges'),(1, 21, 'Weight Ranges'),(1, 22, 'Positions'),(1, 23, 'Database'),(1, 24, 'E-mail'),(1, 26, 'Images'),
|
||||
(1, 27, 'Products'),(1, 28, 'Contacts'),(1, 29, 'Employees'),(1, 30, 'Profiles'),(1, 31, 'Permissions'),(1, 32, 'Languages'),(1, 33, 'Translations'),
|
||||
(1, 34, 'Suppliers'),(1, 35, 'Tabs'),(1, 36, 'Features'),(1, 37, 'Quick Access'),(1, 38, 'Themes'),(1, 39, 'Contact Information'),(1, 40, 'Keyword Typos'),
|
||||
@@ -897,7 +897,7 @@ INSERT INTO `PREFIX_tab_lang` (`id_lang`, `id_tab`, `name`) VALUES
|
||||
INSERT INTO `PREFIX_tab_lang` (`id_lang`, `id_tab`, `name`) VALUES
|
||||
(2, 1, 'Catalogue'),(2, 2, 'Clients'),(2, 3, 'Commandes'),(2, 4, 'Paiement'),(2, 5, 'Transport'),
|
||||
(2, 6, 'Stats'),(2, 7, 'Modules'),(2, 8, 'Préférences'),(2, 9, 'Outils'),(2, 10, 'Marques'),(2, 11, 'Attributs et groupes'),(2, 12, 'Adresses'),(2, 13, 'Statuts'),
|
||||
(2, 14, 'Bons de réduction'),(2, 15, 'Devises'),(2, 16, 'Taxes'),(2, 17, 'Transporteurs'),(2, 18, 'Pays'),(2, 19, 'Zones'),(2, 20, 'Tranches de prix'),
|
||||
(2, 14, 'Règles paniers'),(2, 15, 'Devises'),(2, 16, 'Taxes'),(2, 17, 'Transporteurs'),(2, 18, 'Pays'),(2, 19, 'Zones'),(2, 20, 'Tranches de prix'),
|
||||
(2, 21, 'Tranches de poids'),(2, 22, 'Positions'),(2, 23, 'Base de données'),(2, 24, 'Emails'),(2, 26, 'Images'),(2, 27, 'Produits'),(2, 28, 'Contacts'),
|
||||
(2, 29, 'Employés'),(2, 30, 'Profils'),(2, 31, 'Permissions'),(2, 32, 'Langues'),(2, 33, 'Traductions'),(2, 34, 'Fournisseurs'),(2, 35, 'Onglets'),
|
||||
(2, 36, 'Caractéristiques'),(2, 37, 'Accès rapide'),(2, 38, 'Thèmes'),(2, 39, 'Coordonnées'),(2, 40, 'Alias'),(2, 41, 'Import'),(2, 42, 'Factures'),
|
||||
@@ -994,7 +994,7 @@ INSERT IGNORE INTO `PREFIX_tab_lang` (`id_tab`, `id_lang`, `name`)
|
||||
FROM `PREFIX_lang` CROSS JOIN `PREFIX_tab`);
|
||||
|
||||
INSERT INTO `PREFIX_quick_access` (`id_quick_access`, `link`, `new_window`) VALUES
|
||||
(1, 'index.php', 0),(2, '../', 1),(3, 'index.php?controller=AdminCatalog&addcategory', 0),(4, 'index.php?controller=AdminCatalog&addproduct', 0),(5, 'index.php?controller=AdminDiscounts&adddiscount', 0);
|
||||
(1, 'index.php', 0),(2, '../', 1),(3, 'index.php?controller=AdminCatalog&addcategory', 0),(4, 'index.php?controller=AdminCatalog&addproduct', 0),(5, 'index.php?controller=AdminCartRules&addcart_rule', 0);
|
||||
|
||||
INSERT INTO `PREFIX_quick_access_lang` (`id_quick_access`, `id_lang`, `name`) VALUES
|
||||
(1, 1, 'Home'),(1, 2, 'Accueil'),(1, 3, 'Inicio'),(1, 4, 'Start'),(1, 5, 'Home page'),
|
||||
|
||||
@@ -222,3 +222,97 @@ ALTER TABLE `PREFIX_carrier` ADD `position` INT( 10 ) UNSIGNED NOT NULL DEFAULT
|
||||
|
||||
ALTER TABLE `PREFIX_order_state` ADD COLUMN `shipped` TINYINT(1) UNSIGNED NOT NULL DEFAULT 0 AFTER `delivery`;
|
||||
UPDATE `PREFIX_order_state` SET `shipped` = 1 WHERE id_order_states IN (4, 5);
|
||||
|
||||
|
||||
CREATE TABLE `PREFIX_cart_rule` (
|
||||
`id_cart_rule` int(10) unsigned NOT NULL auto_increment,
|
||||
`id_customer` int unsigned NOT NULL default 0,
|
||||
`date_from` datetime NOT NULL,
|
||||
`date_to` datetime NOT NULL,
|
||||
`description` text,
|
||||
`quantity` int(10) unsigned NOT NULL default 0,
|
||||
`quantity_per_user` int(10) unsigned NOT NULL default 0,
|
||||
`priority` int(10) unsigned NOT NULL default 1,
|
||||
`code` varchar(254) NOT NULL,
|
||||
`minimum_amount` decimal(17,2) NOT NULL default 0,
|
||||
`minimum_amount_tax` tinyint(1) NOT NULL default 0,
|
||||
`minimum_amount_currency` int unsigned NOT NULL default 0,
|
||||
`minimum_amount_shipping` tinyint(1) NOT NULL default 0,
|
||||
`country_restriction` tinyint(1) unsigned NOT NULL default 0,
|
||||
`carrier_restriction` tinyint(1) unsigned NOT NULL default 0,
|
||||
`group_restriction` tinyint(1) unsigned NOT NULL default 0,
|
||||
`cart_rule_restriction` tinyint(1) unsigned NOT NULL default 0,
|
||||
`product_restriction` tinyint(1) unsigned NOT NULL default 0,
|
||||
`free_shipping` tinyint(1) NOT NULL default 0,
|
||||
`reduction_percent` decimal(4,2) NOT NULL default 0,
|
||||
`reduction_amount` decimal(17,2) NOT NULL default 0,
|
||||
`reduction_tax` tinyint(1) unsigned NOT NULL default 0,
|
||||
`reduction_currency` int(10) unsigned NOT NULL default 0,
|
||||
`reduction_product` int(10) NOT NULL default 0,
|
||||
`gift_product` int(10) unsigned NOT NULL default 0,
|
||||
`active` tinyint(1) unsigned NOT NULL default 0,
|
||||
`date_add` datetime NOT NULL,
|
||||
`date_upd` datetime NOT NULL,
|
||||
PRIMARY KEY (`id_cart_rule`)
|
||||
);
|
||||
|
||||
CREATE TABLE `PREFIX_cart_rule_lang` (
|
||||
`id_cart_rule` int(10) unsigned NOT NULL,
|
||||
`id_lang` int(10) unsigned NOT NULL,
|
||||
`name` varchar(254) NOT NULL,
|
||||
PRIMARY KEY (`id_cart_rule`, `id_lang`)
|
||||
);
|
||||
|
||||
CREATE TABLE `PREFIX_cart_rule_country` (
|
||||
`id_cart_rule` int(10) unsigned NOT NULL,
|
||||
`id_country` int(10) unsigned NOT NULL,
|
||||
PRIMARY KEY (`id_cart_rule`, `id_country`)
|
||||
);
|
||||
|
||||
CREATE TABLE `PREFIX_cart_rule_group` (
|
||||
`id_cart_rule` int(10) unsigned NOT NULL,
|
||||
`id_group` int(10) unsigned NOT NULL,
|
||||
PRIMARY KEY (`id_cart_rule`, `id_group`)
|
||||
);
|
||||
|
||||
CREATE TABLE `PREFIX_cart_rule_carrier` (
|
||||
`id_cart_rule` int(10) unsigned NOT NULL,
|
||||
`id_carrier` int(10) unsigned NOT NULL,
|
||||
PRIMARY KEY (`id_cart_rule`, `id_carrier`)
|
||||
);
|
||||
|
||||
CREATE TABLE `PREFIX_cart_rule_combination` (
|
||||
`id_cart_rule_1` int(10) unsigned NOT NULL,
|
||||
`id_cart_rule_2` int(10) unsigned NOT NULL,
|
||||
PRIMARY KEY (`id_cart_rule_1`, `id_cart_rule_2`)
|
||||
);
|
||||
|
||||
CREATE TABLE `PREFIX_cart_rule_product_rule` (
|
||||
`id_product_rule` int(10) unsigned NOT NULL auto_increment,
|
||||
`id_cart_rule` int(10) unsigned NOT NULL,
|
||||
`quantity` int(10) unsigned NOT NULL default 1,
|
||||
`type` ENUM('products', 'categories', 'attributes') NOT NULL,
|
||||
PRIMARY KEY (`id_product_rule`)
|
||||
);
|
||||
|
||||
CREATE TABLE `PREFIX_cart_rule_product_rule_value` (
|
||||
`id_product_rule` int(10) unsigned NOT NULL,
|
||||
`id_item` int(10) unsigned NOT NULL,
|
||||
PRIMARY KEY (`id_product_rule`, `id_item`)
|
||||
);
|
||||
|
||||
ALTER TABLE `PREFIX_cart_discount` CHANGE `id_discount` `id_cart_rule` int(10) unsigned NOT NULL;
|
||||
ALTER TABLE `PREFIX_order_discount` CHANGE `id_discount` `id_cart_rule` int(10) unsigned NOT NULL;
|
||||
ALTER TABLE `PREFIX_order_discount` CHANGE `id_order_discount` `id_order_cart_rule` int(10) unsigned NOT NULL;
|
||||
|
||||
RENAME TABLE `PREFIX_order_discount` TO `PREFIX_order_cart_rule`;
|
||||
RENAME TABLE `PREFIX_cart_discount` TO `PREFIX_cart_cart_rule`;
|
||||
|
||||
CREATE VIEW `PREFIX_order_discount` AS SELECT *, id_cart_rule as id_discount FROM `PREFIX_order_cart_rule`;
|
||||
CREATE VIEW `PREFIX_cart_discount` AS SELECT *, id_cart_rule as id_discount FROM `PREFIX_cart_cart_rule`;
|
||||
|
||||
INSERT INTO `PREFIX_configuration` (`name`, `value`, `date_add`, `date_upd`) (
|
||||
SELECT 'PS_CART_RULE_FEATURE_ACTIVE', `value`, NOW(), NOW() FROM `PREFIX_configuration` WHERE `name` = 'PS_DISCOUNT_FEATURE_ACTIVE' LIMIT 1
|
||||
);
|
||||
|
||||
UPDATE `PREFIX_tab` SET class_name = 'AdminCartRules' WHERE class_name = 'AdminDiscounts';
|
||||
|
||||
Reference in New Issue
Block a user