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;