Commit 4e90429b authored by Jean-Philippe Metivier's avatar Jean-Philippe Metivier
Browse files

Drag and drop sur les descriptions des activités lors de la modification d'une activite

parent 38cd0f2b
Loading
Loading
Loading
Loading
+22 −0
Changes for module/Application/config/merged/activite.config.php: 22 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -64,6 +64,8 @@ return [
                        'ajouter-descriptions',
                        'modifier-description',
                        'supprimer-description',
                        'echanger-ordre-description',
                        'update-ordre-description',
                    ],
                    'privileges' => [
                        ActivitePrivileges::ACTIVITE_MODIFIER,
@@ -162,6 +164,26 @@ return [
                            ],
                        ],
                    ],
                    'echanger-ordre-description' => [
                        'type'  => Segment::class,
                        'options' => [
                            'route'    => '/echanger-ordre-description/:description1/:description2',
                            'defaults' => [
                                'controller' => ActiviteController::class,
                                'action'     => 'echanger-ordre-description',
                            ],
                        ],
                    ],
                    'update-ordre-description' => [
                        'type'  => Segment::class,
                        'options' => [
                            'route'    => '/update-ordre-description/:activite/:ordre',
                            'defaults' => [
                                'controller' => ActiviteController::class,
                                'action'     => 'update-ordre-description',
                            ],
                        ],
                    ],
                    'historiser' => [
                        'type'  => Segment::class,
                        'options' => [
+44 −4
Changes for module/Application/src/Application/Controller/ActiviteController.php: 44 added lines, 4 removed lines.
Original line number Diff line number Diff line
@@ -34,7 +34,7 @@ class ActiviteController extends AbstractActionController {
    public function indexAction()
    {
        /** @var Activite[] $activites */
        $activites = $this->getActiviteService()->getActivites('id');
        $activites = $this->getActiviteService()->getActivites();

        return new ViewModel([
            'activites' => $activites,
@@ -73,7 +73,7 @@ class ActiviteController extends AbstractActionController {

    public function afficherAction()
    {
        $activite = $this->getActiviteService()->getRequestedActivite($this, 'activite');
        $activite = $this->getActiviteService()->getRequestedActivite($this);

        return new ViewModel([
            'title' => 'Visualisation d\'une activité',
@@ -111,7 +111,6 @@ class ActiviteController extends AbstractActionController {
        return $this->redirect()->toRoute('activite');
    }


    public function detruireAction()
    {
        /** @var Activite $activite */
@@ -217,7 +216,6 @@ class ActiviteController extends AbstractActionController {
                $activiteDescription->setDescription($description);
                $this->getActiviteDescriptionService()->create($activiteDescription);
            }

        }

        $vm = new ViewModel();
@@ -341,4 +339,46 @@ class ActiviteController extends AbstractActionController {
        return $vm;
    }

    public function echangerOrdreDescriptionAction()
    {
        $description1 = $this->getActiviteDescriptionService()->getActiviteDescription($this->params()->fromRoute('description1'));
        $description2 = $this->getActiviteDescriptionService()->getActiviteDescription($this->params()->fromRoute('description2'));

        $ordre1 = $description1->getOrdre();
        $ordre2 = $description2->getOrdre();

        $description1->setOrdre($ordre2);
        $description2->setOrdre($ordre1);
        $this->getActiviteDescriptionService()->update($description1);
        $this->getActiviteDescriptionService()->update($description2);

        return new ViewModel();
    }

    public function updateOrdreDescriptionAction()
    {
        $activite = $this->getActiviteService()->getRequestedActivite($this);
        $ordre = explode("_",$this->params()->fromRoute('ordre'));
        $sort = [];
        $position = 1;
        foreach ($ordre as $item) {
            $sort[$item] = $position;
            $position++;
        }

        $descriptions = $activite->getDescriptions();
        foreach ($descriptions as $description) {
            if (! isset($sort[$description->getId()]) AND $description->getOrdre() !== null) {
                $description->setOrdre(null);
                $this->getActiviteDescriptionService()->update($description);
            }
            if ($description->getOrdre() != $sort[$description->getId()]) {
                $description->setOrdre($sort[$description->getId()]);
                $this->getActiviteDescriptionService()->update($description);
            }
        }

        return new ViewModel();
    }

}
 No newline at end of file
+0 −5
Changes for module/Application/src/Application/Controller/ActiviteControllerFactory.php: 0 added lines, 5 removed lines.
Original line number Diff line number Diff line
@@ -10,9 +10,6 @@ use Application\Form\SelectionCompetence\SelectionCompetenceForm;
use Application\Form\SelectionFormation\SelectionFormationForm;
use Application\Service\Activite\ActiviteService;
use Application\Service\ActiviteDescription\ActiviteDescriptionService;
use Application\Service\Application\ApplicationService;
use Application\Service\Competence\CompetenceService;
use Application\Service\Formation\FormationService;
use Interop\Container\ContainerInterface;

class ActiviteControllerFactory {
@@ -26,7 +23,6 @@ class ActiviteControllerFactory {
        $activiteService = $container->get(ActiviteService::class);
        $activiteDescriptionService = $container->get(ActiviteDescriptionService::class);


        /**
         * @var ActiviteForm                $activiteForm
         * @var ModifierDescriptionForm     $modifierDescriptionForm
@@ -42,7 +38,6 @@ class ActiviteControllerFactory {
        $selectionCompetenceForm = $container->get('FormElementManager')->get(SelectionCompetenceForm::class);
        $selectionFormationForm = $container->get('FormElementManager')->get(SelectionFormationForm::class);


        /** @var ActiviteController $controller */
        $controller = new ActiviteController();
        $controller->setActiviteService($activiteService);
+1 −1
Changes for module/Application/src/Application/Controller/AgentController.php: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -749,7 +749,7 @@ class AgentController extends AbstractActionController
            $result[] = array(
                'id'    => $agent->getId(),
                'label' => $agent->getDenomination(),
                'extra' => "<span class='badge' style='background-color: slategray;'>".$agent->getSourceName()."</span>",
                'extra' => "<span class='badge' style='background-color: slategray;'>"."OCTOPUS"."</span>",
            );
        }
        usort($result, function($a, $b) {
+2 −4
Changes for module/Application/src/Application/Controller/MetierController.php: 2 added lines, 4 removed lines.
Original line number Diff line number Diff line
@@ -576,7 +576,7 @@ class MetierController extends AbstractActionController {
            $references = [];
            foreach ($metier->getReferences() as $reference) {
                $references[] = $reference->getTitre();
            };
            }

            $domaines = $metier->getDomaines();
            if (empty($domaines)) $domaines[] = null;
@@ -617,7 +617,7 @@ class MetierController extends AbstractActionController {
            $references = [];
            foreach ($metier->getReferences() as $reference) {
                $references[] = $reference->getTitre();
            };
            }

            $domaines = $metier->getDomaines();
            if (empty($domaines)) $domaines[] = null;
@@ -657,6 +657,4 @@ class MetierController extends AbstractActionController {

        return $result;
    }


}
Loading