From 97a5b7ca8a94c52b29c3528d1db7a9af261f98da Mon Sep 17 00:00:00 2001
From: lecluse <lecluse@d57fa8bc-6af1-4de9-8b7d-78e900e231e7>
Date: Wed, 21 Sep 2016 10:02:48 +0000
Subject: [PATCH] =?UTF-8?q?Correction=20de=20bugs=20:=20=20-=20le=20r?=
=?UTF-8?q?=C3=B4le=20provider=20=C3=A9tait=20bugg=C3=A9=20suite=20=C3=A0?=
=?UTF-8?q?=20une=20mauvaise=20modif!!=20=20-=20un=20message=20+=20explici?=
=?UTF-8?q?te=20a=20=C3=A9t=C3=A9=20mis=20en=20cas=20d'EP=20avec=20code=20?=
=?UTF-8?q?doublons=20=20-=20v4.2.3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
composer.lock | 109 +++++++++---------
config/autoload/unicaen-app.global.php | 2 +-
.../src/Application/Exception/DbException.php | 2 +
.../Provider/Role/RoleProvider.php | 24 ++--
4 files changed, 71 insertions(+), 66 deletions(-)
diff --git a/composer.lock b/composer.lock
index 4da12536ad..c03167a25b 100644
--- a/composer.lock
+++ b/composer.lock
@@ -356,16 +356,16 @@
},
{
"name": "doctrine/dbal",
- "version": "v2.5.4",
+ "version": "v2.5.5",
"source": {
"type": "git",
"url": "https://github.com/doctrine/dbal.git",
- "reference": "abbdfd1cff43a7b99d027af3be709bc8fc7d4769"
+ "reference": "9f8c05cd5225a320d56d4bfdb4772f10d045a0c9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/dbal/zipball/abbdfd1cff43a7b99d027af3be709bc8fc7d4769",
- "reference": "abbdfd1cff43a7b99d027af3be709bc8fc7d4769",
+ "url": "https://api.github.com/repos/doctrine/dbal/zipball/9f8c05cd5225a320d56d4bfdb4772f10d045a0c9",
+ "reference": "9f8c05cd5225a320d56d4bfdb4772f10d045a0c9",
"shasum": ""
},
"require": {
@@ -374,7 +374,7 @@
},
"require-dev": {
"phpunit/phpunit": "4.*",
- "symfony/console": "2.*"
+ "symfony/console": "2.*||^3.0"
},
"suggest": {
"symfony/console": "For helpful console commands such as SQL execution and import of files."
@@ -423,7 +423,7 @@
"persistence",
"queryobject"
],
- "time": "2016-01-05 22:11:12"
+ "time": "2016-09-09 19:13:33"
},
{
"name": "doctrine/doctrine-module",
@@ -758,16 +758,16 @@
},
{
"name": "doctrine/orm",
- "version": "v2.5.4",
+ "version": "v2.5.5",
"source": {
"type": "git",
"url": "https://github.com/doctrine/doctrine2.git",
- "reference": "bc4ddbfb0114cb33438cc811c9a740d8aa304aab"
+ "reference": "73e4be7c7b3ba26f96b781a40b33feba4dfa6d45"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/doctrine2/zipball/bc4ddbfb0114cb33438cc811c9a740d8aa304aab",
- "reference": "bc4ddbfb0114cb33438cc811c9a740d8aa304aab",
+ "url": "https://api.github.com/repos/doctrine/doctrine2/zipball/73e4be7c7b3ba26f96b781a40b33feba4dfa6d45",
+ "reference": "73e4be7c7b3ba26f96b781a40b33feba4dfa6d45",
"shasum": ""
},
"require": {
@@ -830,7 +830,7 @@
"database",
"orm"
],
- "time": "2016-01-05 21:34:58"
+ "time": "2016-09-10 18:51:13"
},
{
"name": "jasig/phpcas",
@@ -1066,16 +1066,16 @@
},
{
"name": "symfony/console",
- "version": "v3.1.2",
+ "version": "v3.1.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "747154aa69b0f83cd02fc9aa554836dee417631a"
+ "reference": "8ea494c34f0f772c3954b5fbe00bffc5a435e563"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/747154aa69b0f83cd02fc9aa554836dee417631a",
- "reference": "747154aa69b0f83cd02fc9aa554836dee417631a",
+ "url": "https://api.github.com/repos/symfony/console/zipball/8ea494c34f0f772c3954b5fbe00bffc5a435e563",
+ "reference": "8ea494c34f0f772c3954b5fbe00bffc5a435e563",
"shasum": ""
},
"require": {
@@ -1122,7 +1122,7 @@
],
"description": "Symfony Console Component",
"homepage": "https://symfony.com",
- "time": "2016-06-29 07:02:31"
+ "time": "2016-08-19 06:48:39"
},
{
"name": "symfony/polyfill-mbstring",
@@ -1185,16 +1185,16 @@
},
{
"name": "symfony/process",
- "version": "v2.8.8",
+ "version": "v2.8.11",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "89f33c16796415ccfd8bb3cf8d520cbb79899bfe"
+ "reference": "05a03ed27073638658cab9405d99a67dd1014987"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/89f33c16796415ccfd8bb3cf8d520cbb79899bfe",
- "reference": "89f33c16796415ccfd8bb3cf8d520cbb79899bfe",
+ "url": "https://api.github.com/repos/symfony/process/zipball/05a03ed27073638658cab9405d99a67dd1014987",
+ "reference": "05a03ed27073638658cab9405d99a67dd1014987",
"shasum": ""
},
"require": {
@@ -1230,7 +1230,7 @@
],
"description": "Symfony Process Component",
"homepage": "https://symfony.com",
- "time": "2016-06-29 05:29:29"
+ "time": "2016-09-06 10:55:00"
},
{
"name": "unicaen/unicaen-app",
@@ -1238,7 +1238,7 @@
"source": {
"type": "svn",
"url": "https://svn.unicaen.fr/svn/UnicaenApp",
- "reference": "/trunk/@714"
+ "reference": "/trunk/@720"
},
"require": {
"doctrine/doctrine-orm-module": ">=0.7",
@@ -1281,7 +1281,7 @@
]
},
"description": "Module commun aux applis ZF2 de l'UCBN",
- "time": "2016-06-10 15:26:34"
+ "time": "2016-09-15 14:26:18"
},
{
"name": "unicaen/unicaen-auth",
@@ -1289,7 +1289,7 @@
"source": {
"type": "svn",
"url": "https://svn.unicaen.fr/svn/UnicaenAuth",
- "reference": "/trunk/@288"
+ "reference": "/trunk/@300"
},
"require": {
"bjyoungblood/bjy-authorize": ">=1.4",
@@ -1311,7 +1311,7 @@
]
},
"description": "Module d'authentification pour les applis ZF2 de l'UCBN",
- "time": "2016-06-24 11:49:10"
+ "time": "2016-09-09 12:15:12"
},
{
"name": "unicaen/unicaen-code",
@@ -1319,7 +1319,7 @@
"source": {
"type": "svn",
"url": "https://svn.unicaen.fr/svn/UnicaenCode",
- "reference": "/trunk/@35"
+ "reference": "/trunk/@37"
},
"require": {
"zendframework/zend-developer-tools": ">=1.0"
@@ -1339,7 +1339,7 @@
]
},
"description": "Boite à outils pour la programmation avec la bibliothèque Unicaen",
- "time": "2016-07-01 12:19:01"
+ "time": "2016-09-02 16:54:48"
},
{
"name": "unicaen/unicaen-import",
@@ -1347,7 +1347,7 @@
"source": {
"type": "svn",
"url": "https://svn.unicaen.fr/svn/UnicaenImport",
- "reference": "/trunk/@14"
+ "reference": "/trunk/@19"
},
"require-dev": {
"phpunit/phpunit": ">=3.7"
@@ -1363,7 +1363,7 @@
]
},
"description": "Boite à outils pour la programmation avec la bibliothèque Unicaen",
- "time": "2016-05-20 14:06:59"
+ "time": "2016-09-16 11:01:01"
},
{
"name": "zendframework/zend-authentication",
@@ -4093,16 +4093,16 @@
},
{
"name": "phpunit/phpunit",
- "version": "4.8.26",
+ "version": "4.8.27",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "fc1d8cd5b5de11625979125c5639347896ac2c74"
+ "reference": "c062dddcb68e44b563f66ee319ddae2b5a322a90"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/fc1d8cd5b5de11625979125c5639347896ac2c74",
- "reference": "fc1d8cd5b5de11625979125c5639347896ac2c74",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c062dddcb68e44b563f66ee319ddae2b5a322a90",
+ "reference": "c062dddcb68e44b563f66ee319ddae2b5a322a90",
"shasum": ""
},
"require": {
@@ -4161,7 +4161,7 @@
"testing",
"xunit"
],
- "time": "2016-05-17 03:09:28"
+ "time": "2016-07-21 06:48:14"
},
{
"name": "phpunit/phpunit-mock-objects",
@@ -4337,23 +4337,23 @@
},
{
"name": "sebastian/environment",
- "version": "1.3.7",
+ "version": "1.3.8",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/environment.git",
- "reference": "4e8f0da10ac5802913afc151413bc8c53b6c2716"
+ "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/4e8f0da10ac5802913afc151413bc8c53b6c2716",
- "reference": "4e8f0da10ac5802913afc151413bc8c53b6c2716",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea",
+ "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": "^5.3.3 || ^7.0"
},
"require-dev": {
- "phpunit/phpunit": "~4.4"
+ "phpunit/phpunit": "^4.8 || ^5.0"
},
"type": "library",
"extra": {
@@ -4383,7 +4383,7 @@
"environment",
"hhvm"
],
- "time": "2016-05-17 03:18:57"
+ "time": "2016-08-18 05:49:44"
},
{
"name": "sebastian/exporter",
@@ -4593,16 +4593,16 @@
},
{
"name": "symfony/yaml",
- "version": "v3.1.2",
+ "version": "v3.1.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
- "reference": "2884c26ce4c1d61aebf423a8b912950fe7c764de"
+ "reference": "f291ed25eb1435bddbe8a96caaef16469c2a092d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/2884c26ce4c1d61aebf423a8b912950fe7c764de",
- "reference": "2884c26ce4c1d61aebf423a8b912950fe7c764de",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/f291ed25eb1435bddbe8a96caaef16469c2a092d",
+ "reference": "f291ed25eb1435bddbe8a96caaef16469c2a092d",
"shasum": ""
},
"require": {
@@ -4638,32 +4638,33 @@
],
"description": "Symfony Yaml Component",
"homepage": "https://symfony.com",
- "time": "2016-06-29 05:41:56"
+ "time": "2016-09-02 02:12:52"
},
{
"name": "webmozart/assert",
- "version": "1.0.2",
+ "version": "1.1.0",
"source": {
"type": "git",
"url": "https://github.com/webmozart/assert.git",
- "reference": "30eed06dd6bc88410a4ff7f77b6d22f3ce13dbde"
+ "reference": "bb2d123231c095735130cc8f6d31385a44c7b308"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/webmozart/assert/zipball/30eed06dd6bc88410a4ff7f77b6d22f3ce13dbde",
- "reference": "30eed06dd6bc88410a4ff7f77b6d22f3ce13dbde",
+ "url": "https://api.github.com/repos/webmozart/assert/zipball/bb2d123231c095735130cc8f6d31385a44c7b308",
+ "reference": "bb2d123231c095735130cc8f6d31385a44c7b308",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": "^5.3.3|^7.0"
},
"require-dev": {
- "phpunit/phpunit": "^4.6"
+ "phpunit/phpunit": "^4.6",
+ "sebastian/version": "^1.0.1"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0-dev"
+ "dev-master": "1.2-dev"
}
},
"autoload": {
@@ -4687,7 +4688,7 @@
"check",
"validate"
],
- "time": "2015-08-24 13:29:44"
+ "time": "2016-08-09 15:02:57"
},
{
"name": "zendframework/zend-dom",
diff --git a/config/autoload/unicaen-app.global.php b/config/autoload/unicaen-app.global.php
index 04a1e170b7..d662c1fdf6 100644
--- a/config/autoload/unicaen-app.global.php
+++ b/config/autoload/unicaen-app.global.php
@@ -12,7 +12,7 @@ $settings = [
'app_infos' => [
'nom' => "OSE",
'desc' => "Organisation des Services d'Enseignement",
- 'version' => "4.2.2",
+ 'version' => "4.2.3",
'date' => "21/09/2016",
'contact' => ['mail' => "Contactez votre composante.", /*'tel' => "01 02 03 04 05"*/],
'mentionsLegales' => "http://www.unicaen.fr/outils-portail-institutionnel/mentions-legales/",
diff --git a/module/Application/src/Application/Exception/DbException.php b/module/Application/src/Application/Exception/DbException.php
index d4f58d9527..0a3d8c7d52 100644
--- a/module/Application/src/Application/Exception/DbException.php
+++ b/module/Application/src/Application/Exception/DbException.php
@@ -25,6 +25,8 @@ class DbException extends RuntimeException {
'Vous ne pouvez pas dévalider ces heures d\'enseignement car des demandes de mise en paiement ou des mises en paiement ont été faites.',
'integrity constraint (OSE.MEP_FR_SERVICE_REF_FK) violated' =>
'Vous ne pouvez pas dévalider ces heures de référentiel car des demandes de mise en paiement ou des mises en paiement ont été faites.',
+ 'unique constraint (OSE.EP_CODE__UN) violated' =>
+ 'Un enseignement existe déjà avec le même code. Merci de choisir un autre code d\'enseignement.',
];
diff --git a/module/Application/src/Application/Provider/Role/RoleProvider.php b/module/Application/src/Application/Provider/Role/RoleProvider.php
index 2ac05752ef..7f2ece88af 100644
--- a/module/Application/src/Application/Provider/Role/RoleProvider.php
+++ b/module/Application/src/Application/Provider/Role/RoleProvider.php
@@ -80,7 +80,7 @@ class RoleProvider implements ProviderInterface, EntityManagerAwareInterface
- protected function getRolesPrivileges($roleId)
+ protected function getRolesPrivileges()
{
if (!$this->rolesPrivileges){
$pr = $this->getPrivilegeProvider()->getPrivilegesRoles();
@@ -93,12 +93,7 @@ class RoleProvider implements ProviderInterface, EntityManagerAwareInterface
}
}
}
-
- if (isset($this->rolesPrivileges[$roleId])){
- return $this->rolesPrivileges[$roleId];
- }else{
- return [];
- }
+ return $this->rolesPrivileges;
}
@@ -126,7 +121,7 @@ class RoleProvider implements ProviderInterface, EntityManagerAwareInterface
// chargement des rôles métiers
$query = $this->getEntityManager()->createQuery(
- 'SELECT DISTINCT
+ 'SELECT DISTINCT
r, a, s, p
FROM
Application\Entity\Db\Role r
@@ -138,12 +133,15 @@ class RoleProvider implements ProviderInterface, EntityManagerAwareInterface
)->setParameter(':personnel', $personnel);
$result = $query->getResult();
+ $rolesPrivileges = $this->getRolesPrivileges();
foreach ($result as $dbRole) {
/* @var $dbRole \Application\Entity\Db\Role */
$roleId = $dbRole->getRoleId();
$role = new Role($roleId, 'user', $dbRole->getLibelle());
- $role->initPrivileges($this->getRolesPrivileges($roleId));
+ if (isset($rolesPrivileges[$roleId])){
+ $role->initPrivileges($rolesPrivileges[$roleId]);
+ }
if ($dbRole->getPeutChangerStructure()){
$role->setPeutChangerStructure(true);
@@ -168,7 +166,9 @@ class RoleProvider implements ProviderInterface, EntityManagerAwareInterface
if (!isset($roles[$affRoleId])) {
$affRoleLibelle = $dbRole->getLibelle() . ' (' . $structure->getLibelleCourt() . ')';
$affRole = new \Application\Acl\Role($affRoleId, $roleId, $affRoleLibelle);
- $role->initPrivileges($this->getRolesPrivileges($roleId));
+ if (isset($rolesPrivileges[$roleId])){
+ $affRole->initPrivileges($rolesPrivileges[$roleId]);
+ }
$affRole->setDbRole( $dbRole );
$affRole->setPersonnel($personnel);
$affRole->setStructure($structure);
@@ -186,7 +186,9 @@ class RoleProvider implements ProviderInterface, EntityManagerAwareInterface
if ($intervenant) {
if ($intervenant->getStatut()->getId() == $statut['statut-id']) {
$role->setIntervenant($intervenant);
- $role->initPrivileges($this->getRolesPrivileges($intervenant->getStatut()->getRoleId()));
+ if (isset($rolesPrivileges[$intervenant->getStatut()->getRoleId()])){
+ $role->initPrivileges($rolesPrivileges[$intervenant->getStatut()->getRoleId()]);
+ }
}
}
$roles[$statut['role-id']] = $role;
--
GitLab