Skip to content
Snippets Groups Projects
Commit 1ef80ac0 authored by David Surville's avatar David Surville
Browse files

Merge branch 'laminas_migration' into release-1.2.0

parents a972780f 1c2e298d
No related branches found
No related tags found
No related merge requests found
Pipeline #16884 passed
Showing
with 470 additions and 89 deletions
......@@ -3,11 +3,11 @@
namespace UnicaenUtilisateur;
use Zend\Mvc\ModuleRouteListener;
use Zend\Mvc\MvcEvent;
use Zend\Stdlib\ArrayUtils;
use Zend\Stdlib\Glob;
use Zend\Config\Factory as ConfigFactory;
use Laminas\Mvc\ModuleRouteListener;
use Laminas\Mvc\MvcEvent;
use Laminas\Stdlib\ArrayUtils;
use Laminas\Stdlib\Glob;
use Laminas\Config\Factory as ConfigFactory;
class Module
{
......@@ -19,7 +19,7 @@ class Module
$moduleRouteListener->attach($eventManager);
/* Active un layout spécial si la requête est de type AJAX. Valable pour TOUS les modules de l'application. */
$eventManager->getSharedManager()->attach('Zend\Mvc\Controller\AbstractActionController', 'dispatch',
$eventManager->getSharedManager()->attach('Laminas\Mvc\Controller\AbstractActionController', 'dispatch',
function (MvcEvent $e) {
$request = $e->getRequest();
if ($request instanceof HttpRequest && $request->isXmlHttpRequest()) {
......@@ -47,7 +47,7 @@ class Module
public function getAutoloaderConfig()
{
return array(
'Zend\Loader\StandardAutoloader' => array(
'Laminas\Loader\StandardAutoloader' => array(
'namespaces' => array(
__NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
),
......
......@@ -8,7 +8,8 @@
}
],
"require": {
"unicaen/app": ">=3.0"
"unicaen/app": ">=4.0.3",
"laminas/laminas-dependency-plugin": "^2.1"
},
"require-dev": {
"phpunit/phpunit": ">=3.7"
......
......@@ -16,8 +16,8 @@ use UnicaenUtilisateur\Provider\Role\Username;
use UnicaenUtilisateur\Provider\Role\UsernameServiceFactory;
use UnicaenUtilisateur\Service\Role\RoleService;
use UnicaenUtilisateur\Service\Role\RoleServiceFactory;
use Zend\Router\Http\Literal;
use Zend\Router\Http\Segment;
use Laminas\Router\Http\Literal;
use Laminas\Router\Http\Segment;
return [
'bjyauthorize' => [
......
......@@ -17,8 +17,8 @@ use UnicaenUtilisateur\Service\User\UserService;
use UnicaenUtilisateur\Service\User\UserServiceFactory;
use UnicaenUtilisateur\View\Helper\UserRole;
use UnicaenUtilisateur\View\Helper\UserRoleFactory;
use Zend\Router\Http\Literal;
use Zend\Router\Http\Segment;
use Laminas\Router\Http\Literal;
use Laminas\Router\Http\Segment;
return [
......
......@@ -50,7 +50,7 @@ return [
/* role providers simply provide a list of roles that should be inserted
* into the Zend\Acl instance. the module comes with two providers, one
* to specify roles in a config file and one to load roles using a
* Zend\Db adapter.
* Laminas\Db adapter.
*/
'role_providers' => [
/**
......
......@@ -39,7 +39,7 @@ return [
/* role providers simply provide a list of roles that should be inserted
* into the Zend\Acl instance. the module comes with two providers, one
* to specify roles in a config file and one to load roles using a
* Zend\Db adapter.
* Laminas\Db adapter.
*/
'role_providers' => [
/**
......
<?php
namespace UnicaenUtilisateur\Acl;
use Zend\Permissions\Acl\Role\RoleInterface;
use Laminas\Permissions\Acl\Role\RoleInterface;
/**
* Rôle avec nom explicite (humainement intelligible).
......
......@@ -12,10 +12,10 @@ use UnicaenUtilisateur\Exception\RuntimeException;
use UnicaenUtilisateur\Form\Role\RoleFormAwareTrait;
use UnicaenUtilisateur\Provider\Identity\IdentityServiceAwareTrait;
use UnicaenUtilisateur\Service\Role\RoleServiceAwareTrait;
use Zend\Http\Request;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\Mvc\Plugin\FlashMessenger\FlashMessenger;
use Zend\View\Model\ViewModel;
use Laminas\Http\Request;
use Laminas\Mvc\Controller\AbstractActionController;
use Laminas\Mvc\Plugin\FlashMessenger\FlashMessenger;
use Laminas\View\Model\ViewModel;
/** @method FlashMessenger flashMessenger() */
......
......@@ -18,10 +18,10 @@ use UnicaenUtilisateur\Service\RechercheIndividu\RechercheIndividuResultatInterf
use UnicaenUtilisateur\Service\RechercheIndividu\RechercheIndividuServiceInterface;
use UnicaenUtilisateur\Service\Role\RoleServiceAwareTrait;
use UnicaenUtilisateur\Service\User\UserServiceAwareTrait;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\Mvc\Plugin\FlashMessenger\FlashMessenger;
use Zend\View\Model\JsonModel;
use Zend\View\Model\ViewModel;
use Laminas\Mvc\Controller\AbstractActionController;
use Laminas\Mvc\Plugin\FlashMessenger\FlashMessenger;
use Laminas\View\Model\JsonModel;
use Laminas\View\Model\ViewModel;
/**
* @method FlashMessenger flashMessenger()
......@@ -70,7 +70,6 @@ class UtilisateurController extends AbstractActionController
switch ($source) {
case 'app' :
return $this->redirect()->toRoute('unicaen-utilisateur', [], ["query" => ["id" => $id]], true);
default :
if (isset($this->searchServices[$source])) {
$sourceUser = $this->searchServices[$source]->findById($id);
......
<?php
namespace UnicaenUtilisateur\Entity;
use DateTime;
use UnicaenUtilisateur\Entity\Db\UserInterface;
interface HistoriqueAwareInterface
{
/**
* Set histoCreation
*
* @param DateTime $histoCreation
* @return self
*/
public function setHistoCreation(?DateTime $histoCreation);
/**
* Get histoCreation
*
* @return DateTime
*/
public function getHistoCreation();
/**
* Set histoDestruction
*
* @param DateTime $histoDestruction
* @return self
*/
public function setHistoDestruction(?DateTime $histoDestruction);
/**
* Get histoDestruction
*
* @return DateTime
*/
public function getHistoDestruction();
/**
* Set histoModification
*
* @param DateTime $histoModification
* @return self
*/
public function setHistoModification(?DateTime $histoModification);
/**
* Get histoModification
*
* @return DateTime
*/
public function getHistoModification();
/**
* Set histoModificateur
*
* @param UserInterface $histoModificateur
* @return self
*/
public function setHistoModificateur(?UserInterface $histoModificateur = null);
/**
* Get histoModificateur
*
* @return UserInterface
*/
public function getHistoModificateur();
/**
* Set histoDestructeur
*
* @param UserInterface $histoDestructeur
* @return self
*/
public function setHistoDestructeur(?UserInterface $histoDestructeur = null);
/**
* Get histoDestructeur
*
* @return UserInterface
*/
public function getHistoDestructeur();
/**
* Set histoCreateur
*
* @param UserInterface $histoCreateur
* @return self
*/
public function setHistoCreateur(?UserInterface $histoCreateur = null);
/**
* Get histoCreateur
*
* @return UserInterface
*/
public function getHistoCreateur();
/**
* @param DateTime|null $dateObs
*
* @return boolean
*/
public function estNonHistorise(?DateTime $dateObs = null);
/**
* @param UserInterface $histoDestructeur
* @param DateTime|null $histoDestruction
* @return $this
*/
public function historiser(?UserInterface $histoDestructeur, ?DateTime $histoDestruction = null);
/**
* @return $this
*/
public function dehistoriser();
}
\ No newline at end of file
<?php
namespace UnicaenUtilisateur\Entity;
use DateTime;
use UnicaenApp\Exception\RuntimeException;
use UnicaenUtilisateur\Entity\Db\UserInterface;
trait HistoriqueAwareTrait
{
/**
* @var DateTime
*/
protected $histoCreation;
/**
* @var DateTime
*/
protected $histoModification;
/**
* @var DateTime
*/
protected $histoDestruction;
/**
* @var UserInterface
*/
protected $histoCreateur;
/**
* @var UserInterface
*/
protected $histoModificateur;
/**
* @var UserInterface
*/
protected $histoDestructeur;
/**
* Set histoCreation
*
* @param DateTime $histoCreation
*
* @return self
*/
public function setHistoCreation(?DateTime $histoCreation)
{
$this->histoCreation = $histoCreation;
return $this;
}
/**
* Get histoCreation
*
* @return DateTime
*/
public function getHistoCreation()
{
return $this->histoCreation;
}
/**
* Set histoDestruction
*
* @param DateTime $histoDestruction
*
* @return self
*/
public function setHistoDestruction(?DateTime $histoDestruction)
{
$this->histoDestruction = $histoDestruction;
return $this;
}
/**
* Get histoDestruction
*
* @return DateTime
*/
public function getHistoDestruction()
{
return $this->histoDestruction;
}
/**
* Set histoModification
*
* @param DateTime $histoModification
*
* @return self
*/
public function setHistoModification(?DateTime $histoModification)
{
$this->histoModification = $histoModification;
return $this;
}
/**
* Get histoModification
*
* @return DateTime
*/
public function getHistoModification()
{
return $this->histoModification;
}
/**
* Set histoModificateur
*
* @param UserInterface $histoModificateur
*
* @return self
*/
public function setHistoModificateur(?UserInterface $histoModificateur = null)
{
$this->histoModificateur = $histoModificateur;
return $this;
}
/**
* Get histoModificateur
*
* @return UserInterface
*/
public function getHistoModificateur()
{
return $this->histoModificateur;
}
/**
* Set histoDestructeur
*
* @param UserInterface $histoDestructeur
*
* @return self
*/
public function setHistoDestructeur(?UserInterface $histoDestructeur = null)
{
$this->histoDestructeur = $histoDestructeur;
return $this;
}
/**
* Get histoDestructeur
*
* @return UserInterface
*/
public function getHistoDestructeur()
{
return $this->histoDestructeur;
}
/**
* Set histoCreateur
*
* @param UserInterface $histoCreateur
*
* @return self
*/
public function setHistoCreateur(?UserInterface $histoCreateur = null)
{
$this->histoCreateur = $histoCreateur;
return $this;
}
/**
* Get histoCreateur
*
* @return UserInterface
*/
public function getHistoCreateur()
{
return $this->histoCreateur;
}
/**
* Marque cet enregistrement comme historisé.
*
* @see HistoriqueAwareInterface
*
* @param UserInterface|null $destructeur Auteur de la suppression ; si null, peut être renseigné
* automatiquement (cf. HistoriqueListener) si la classe implémente
* HistoriqueAwareInterface
* @param DateTime|null $dateDestruction Date éventuelle de la suppression
* @return $this
*/
public function historiser(?UserInterface $destructeur = null, ?DateTime $dateDestruction = null)
{
if ($destructeur) {
$this->setHistoDestructeur($destructeur);
}
if (empty($dateDestruction)) {
try {
$dateDestruction = new DateTime();
} catch (\Exception $e) {
throw new RuntimeException("Impossible d'instancier un DateTime!", null, $e);
}
}
$this->setHistoDestruction($dateDestruction);
return $this;
}
/**
* Annule l'historisation de cet enregistrement.
*
* @see HistoriqueAwareInterface
* @return $this
*/
public function dehistoriser()
{
$this->setHistoDestructeur(null);
$this->setHistoDestruction(null);
return $this;
}
/**
* Retourne true si l'entité est historisée.
*
* @param DateTime|null $dateObs Date d'observation éventuelle
* @return bool
*/
public function estHistorise(?DateTime $dateObs = null)
{
return ! $this->estNonHistorise($dateObs);
}
/**
* Retourne true si l'entité n'est *pas* historisée.
*
* @param DateTime|null $dateObs Date d'observation éventuelle
* @return bool
*/
public function estNonHistorise(?DateTime $dateObs = null)
{
if (empty($dateObs)) {
try {
$dateObs = new DateTime();
} catch (\Exception $e) {
throw new RuntimeException("Impossible d'instancier un DateTime!", null, $e);
}
}
$dObs = $dateObs->format('Y-m-d');
$dDeb = $this->getHistoCreation() ? $this->getHistoCreation()->format('Y-m-d') : null;
$dFin = $this->getHistoDestruction() ? $this->getHistoDestruction()->format('Y-m-d') : null;
if ($dDeb && !($dDeb <= $dObs)) return false;
if ($dFin && !($dObs < $dFin)) return false;
return true;
}
}
\ No newline at end of file
......@@ -10,16 +10,16 @@ use UnicaenApp\Service\EntityManagerAwareTrait;
use UnicaenUtilisateur\Entity\Db\UserInterface;
use UnicaenUtilisateur\Form\Strategy\RoleParentStrategy;
use UnicaenUtilisateur\Service\Role\RoleServiceAwareTrait;
use Zend\Form\Element\Button;
use Zend\Form\Element\Checkbox;
use Zend\Form\Element\Hidden;
use Zend\Form\Element\Select;
use Zend\Form\Element\Text;
use Zend\Form\Form;
use Zend\InputFilter\Factory;
use Zend\Validator\Callback;
use Zend\Validator\NotEmpty;
use Zend\Validator\Regex;
use Laminas\Form\Element\Button;
use Laminas\Form\Element\Checkbox;
use Laminas\Form\Element\Hidden;
use Laminas\Form\Element\Select;
use Laminas\Form\Element\Text;
use Laminas\Form\Form;
use Laminas\InputFilter\Factory;
use Laminas\Validator\Callback;
use Laminas\Validator\NotEmpty;
use Laminas\Validator\Regex;
class RoleForm extends Form
{
......
......@@ -3,7 +3,7 @@
namespace UnicaenUtilisateur\Form\Role;
use Doctrine\ORM\EntityManager;
use DoctrineModule\Stdlib\Hydrator\DoctrineObject;
use Doctrine\Laminas\Hydrator\DoctrineObject;
use Interop\Container\ContainerInterface;
use UnicaenUtilisateur\Service\Role\RoleService;
......
......@@ -3,7 +3,7 @@
namespace UnicaenUtilisateur\Form\Strategy;
use UnicaenUtilisateur\Service\Role\RoleServiceAwareTrait;
use Zend\Hydrator\Strategy\StrategyInterface;
use Laminas\Hydrator\Strategy\StrategyInterface;
class RoleParentStrategy implements StrategyInterface
{
......@@ -12,7 +12,7 @@ class RoleParentStrategy implements StrategyInterface
/**
* {@inheritDoc}
*/
public function extract($value)
public function extract($value, ?object $object = null)
{
if (null != $value) {
return $value->getId();
......@@ -24,7 +24,7 @@ class RoleParentStrategy implements StrategyInterface
/**
* {@inheritDoc}
*/
public function hydrate($value)
public function hydrate($value, ?array $data)
{
if (null != $value) {
$parent = $this->roleService->find($value);
......
......@@ -5,16 +5,16 @@ namespace UnicaenUtilisateur\Form\User;
use DoctrineModule\Validator\NoObjectExists;
use UnicaenApp\Service\EntityManagerAwareTrait;
use UnicaenUtilisateur\Service\User\UserServiceAwareTrait;
use Zend\Form\Element\Button;
use Zend\Form\Element\Email;
use Zend\Form\Element\Password;
use Zend\Form\Element\Text;
use Zend\Form\Form;
use Zend\InputFilter\Factory;
use Zend\Validator\Callback;
use Zend\Validator\Identical;
use Zend\Validator\NotEmpty;
use Zend\Validator\Regex;
use Laminas\Form\Element\Button;
use Laminas\Form\Element\Email;
use Laminas\Form\Element\Password;
use Laminas\Form\Element\Text;
use Laminas\Form\Form;
use Laminas\InputFilter\Factory;
use Laminas\Validator\Callback;
use Laminas\Validator\Identical;
use Laminas\Validator\NotEmpty;
use Laminas\Validator\Regex;
class UserForm extends Form
{
......
......@@ -3,7 +3,7 @@
namespace UnicaenUtilisateur\Form\User;
use Doctrine\ORM\EntityManager;
use DoctrineModule\Stdlib\Hydrator\DoctrineObject;
use Doctrine\Laminas\Hydrator\DoctrineObject;
use Interop\Container\ContainerInterface;
use UnicaenUtilisateur\Service\User\UserService;
......
......@@ -5,11 +5,11 @@ namespace UnicaenUtilisateur\Form\User;
use Application\Entity\Db\GroupeType;
use DoctrineModule\Form\Element\ObjectSelect as DoctrineObjectSelect;
use UnicaenApp\Form\Element\SearchAndSelect;
use Zend\Form\Element;
use Zend\Filter;
use Zend\Form\Form;
use Zend\InputFilter\Factory;
use Zend\Validator;
use Laminas\Form\Element;
use Laminas\Filter;
use Laminas\Form\Form;
use Laminas\InputFilter\Factory;
use Laminas\Validator;
class UserRechercheForm extends Form
{
......
......@@ -33,7 +33,7 @@ class RoleFormatter
if ($role instanceof RoleInterface) {
$formattedRole = $role->getLibelle();
}
elseif ($role instanceof \Zend\Permissions\Acl\Role\RoleInterface) {
elseif ($role instanceof \Laminas\Permissions\Acl\Role\RoleInterface) {
$formattedRole = $role->getRoleId();
}
elseif (is_string($role)) {
......
......@@ -8,11 +8,11 @@ use Doctrine\ORM\Event\LifecycleEventArgs;
use Doctrine\ORM\Event\PreUpdateEventArgs;
use Doctrine\ORM\Events;
use Exception;
use Laminas\Authentication\AuthenticationService;
use RuntimeException;
use UnicaenApp\Entity\HistoriqueAwareInterface;
use UnicaenApp\Service\EntityManagerAwareTrait;
use UnicaenUtilisateur\Entity\Db\AbstractUser;
use UnicaenUtilisateur\Service\User\UserServiceAwareTrait;
use Zend\Authentication\AuthenticationService;
use UnicaenUtilisateur\Entity\HistoriqueAwareInterface;
/**
* Listener Doctrine.
......@@ -29,8 +29,6 @@ use Zend\Authentication\AuthenticationService;
*/
class HistoriqueListener implements EventSubscriber
{
use UserServiceAwareTrait;
/**
* @var AuthenticationService
*/
......
......@@ -3,10 +3,9 @@
namespace UnicaenUtilisateur\ORM\Event\Listeners;
use Interop\Container\ContainerInterface;
use Zend\ServiceManager\FactoryInterface;
use Zend\ServiceManager\ServiceLocatorInterface;
use Zend\Authentication\AuthenticationService;
use Laminas\Authentication\AuthenticationService;
use Laminas\ServiceManager\FactoryInterface;
use Laminas\ServiceManager\ServiceLocatorInterface;
/**
* Description of MouchardServiceFactory
......@@ -25,7 +24,7 @@ class HistoriqueListenerFactory implements FactoryInterface
/**
* @var AuthenticationService $authenticationService
*/
$authenticationService = $container->get('Zend\Authentication\AuthenticationService');
$authenticationService = $container->get('Laminas\Authentication\AuthenticationService');
$listener = new HistoriqueListener();
$listener->setAuthenticationService($authenticationService);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment