diff --git a/core/lib/Thelia/Action/BaseAction.php b/core/lib/Thelia/Action/BaseAction.php index bd37119d6..ed42f14e1 100644 --- a/core/lib/Thelia/Action/BaseAction.php +++ b/core/lib/Thelia/Action/BaseAction.php @@ -27,7 +27,7 @@ class BaseAction * @param ModelCriteria $query * @param UpdatePositionEvent $event * - * @return mixed + * @return null */ protected function genericUpdatePosition(ModelCriteria $query, UpdatePositionEvent $event) { diff --git a/core/lib/Thelia/Action/Module.php b/core/lib/Thelia/Action/Module.php index 6cec76fe7..0c11e5423 100644 --- a/core/lib/Thelia/Action/Module.php +++ b/core/lib/Thelia/Action/Module.php @@ -180,6 +180,8 @@ class Module extends BaseAction implements EventSubscriberInterface public function updatePosition(UpdatePositionEvent $event) { $this->genericUpdatePosition(ModuleQuery::create(), $event); + + $this->cacheClear($event->getDispatcher()); } protected function cacheClear(EventDispatcherInterface $dispatcher) diff --git a/core/lib/Thelia/Model/ModuleQuery.php b/core/lib/Thelia/Model/ModuleQuery.php index dfe9b1b3c..c1f9394dd 100644 --- a/core/lib/Thelia/Model/ModuleQuery.php +++ b/core/lib/Thelia/Model/ModuleQuery.php @@ -25,6 +25,7 @@ class ModuleQuery extends BaseModuleQuery if (null === self::$activated) { self::$activated = self::create() ->filterByActivate(1) + ->orderByPosition() ->find(); } diff --git a/local/config/schema.xml b/local/config/schema.xml index 52a0b4319..5607438d1 100644 --- a/local/config/schema.xml +++ b/local/config/schema.xml @@ -728,6 +728,9 @@ + + + diff --git a/setup/thelia.sql b/setup/thelia.sql index 71c5c0e48..3ff2547b0 100644 --- a/setup/thelia.sql +++ b/setup/thelia.sql @@ -866,7 +866,8 @@ CREATE TABLE `module` `created_at` DATETIME, `updated_at` DATETIME, PRIMARY KEY (`id`), - UNIQUE INDEX `code_UNIQUE` (`code`) + UNIQUE INDEX `code_UNIQUE` (`code`), + INDEX `idx_module_activate` (`activate`) ) ENGINE=InnoDB CHARACTER SET='utf8'; -- --------------------------------------------------------------------- diff --git a/setup/update/2.0.1.sql b/setup/update/2.0.1.sql new file mode 100644 index 000000000..093ba7510 --- /dev/null +++ b/setup/update/2.0.1.sql @@ -0,0 +1,12 @@ +# This is a fix for InnoDB in MySQL >= 4.1.x +# It "suspends judgement" for fkey relationships until are tables are set. +SET FOREIGN_KEY_CHECKS = 0; + +UPDATE `config` SET `value`='2.0.1' WHERE `name`='thelia_version'; +UPDATE `config` SET `value`='' WHERE `name`='thelia_extra_version'; + + +ALTER TABLE `module` ADD INDEX `idx_module_activate` (`activate`); + + +SET FOREIGN_KEY_CHECKS = 1;