Comment préremplir les paramètres de transitions d’un cycle de vie

Prérequis

Afin de pouvoir suivre ce guide, il faut préalablement avoir rendu obligatoire des paramètres lors de la transition d’un cycle de vie.

On souhaite préremplir le champ Validateur de la transition Valider d’un PLAT avec l’utilisateur courant. Pour cela nous allons utiliser la méthode de rendu de transition getTransitionParameters.

Recommandations

Si vous n’êtes pas familier avec la méthode getTransitionParameters, il est recommandé de lire la documentation associée disponible ici

Comment procéder ?

Modifier la classe de rendu de transition src/vendor/Cogip/Restauratec/SmartStructures/Plat/PlatWorkflows/WfamPlatWorkflow/WfamPlatTransitionRender.php :




























 
 
 
 
 
 








<?php

namespace Cogip\Restauratec\SmartStructures\Plat\PlatWorkflows\WfamPlatWorkflow;

use Anakeen\Core\ContextManager;
use Anakeen\Ui\HtmltextRenderOptions;
use Anakeen\Ui\TransitionRender;
use SmartStructure\Fields\Plat;
use SmartStructure\Fields\Wfam_plat;

class WfamPlatTransitionRender extends TransitionRender
{

    public function getRenderOptions($transitionId)
    {
        $renderOptions = parent::getRenderOptions($transitionId);
        $renderOptions->htmltext(Wfam_plat::wplat_commentaire)->setToolbar(HtmltextRenderOptions::basicToolbar);
        return $renderOptions;
    }

    public function getTransitionParameters($transitionId)
    {
        $transitionParameters = parent::getTransitionParameters($transitionId);
        if ($transitionId === WfamPlatGraphConstant::transition_t_plat_e1_e2) {
            foreach ($transitionParameters as $ask) {
                if ($ask->getId() === Plat::plat_validateur) {
                    $ask->setNeeded(true);
                    $currentUser = ContextManager::getCurrentUser();
                    $currentUserValue = [
                        "value" => $currentUser->fid,
                        "displayValue" => $currentUser->getAccountName()
                    ];
                    $ask->setAttributeValue($currentUserValue);
                }
            }
        }
        return $transitionParameters;
    }

}

Vous pouvez maintenant déployer vos modifications :

npx @anakeen/anakeen-cli deploy -c http://localhost:8080/control -s . -u admin -p anakeen --reinstall

Et voir le résultat sur un PLAT à l’état En test en étant connecté avec un utilisateur de la direction :

login: pope
password: cogip

transitionFillParameters

Et ensuite ?

Comment créer une collection dynamique