Added sorting and position ùmanagement to modules.

This commit is contained in:
Franck Allimant
2013-12-06 18:59:46 +01:00
parent e96088080d
commit 8c864021f5
9 changed files with 215 additions and 13 deletions

View File

@@ -33,6 +33,7 @@ use Thelia\Core\Security\AccessManager;
use Thelia\Form\ModuleModificationForm;
use Thelia\Model\ModuleQuery;
use Thelia\Module\ModuleManagement;
use Thelia\Core\Event\UpdatePositionEvent;
/**
* Class ModuleController
@@ -45,14 +46,30 @@ class ModuleController extends AbstractCrudController
{
parent::__construct(
'module',
null,
null,
'manual',
'module_order',
AdminResources::MODULE,
null,
TheliaEvents::MODULE_UPDATE,
null
null,
null,
TheliaEvents::MODULE_UPDATE_POSITION
/*
$objectName,
$defaultListOrder = null,
$orderRequestParameterName = null,
$resourceCode,
$createEventIdentifier,
$updateEventIdentifier,
$deleteEventIdentifier,
$visibilityToggleEventIdentifier = null,
$changePositionEventIdentifier = null
*/
);
}
@@ -90,6 +107,15 @@ class ModuleController extends AbstractCrudController
return null;
}
protected function createUpdatePositionEvent($positionChangeMode, $positionValue)
{
return new UpdatePositionEvent(
$this->getRequest()->get('module_id', null),
$positionChangeMode,
$positionValue
);
}
protected function eventContainsObject($event)
{
return $event->hasModule();
@@ -151,7 +177,7 @@ class ModuleController extends AbstractCrudController
// We always return to the feature edition form
return $this->render(
'modules',
array()
array('module_order' => $currentOrder)
);
}
@@ -185,7 +211,7 @@ class ModuleController extends AbstractCrudController
$moduleManagement = new ModuleManagement();
$moduleManagement->updateModules();
return $this->render("modules");
return $this->renderList();
}
public function configureAction($module_code)