Commit 43f00f57 by Julien Jorry

BO : empêcher la suppresion des groupes admin

parent ff11addd
...@@ -2665,16 +2665,16 @@ ...@@ -2665,16 +2665,16 @@
}, },
{ {
"name": "knplabs/gaufrette", "name": "knplabs/gaufrette",
"version": "v0.8.0", "version": "v0.8.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/KnpLabs/Gaufrette.git", "url": "https://github.com/KnpLabs/Gaufrette.git",
"reference": "1f7c4bf5fa603d9396ba812cf3171713adc7b394" "reference": "80cc42e1c5f008a8fc9d02e856c60140c7d1ea19"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/KnpLabs/Gaufrette/zipball/1f7c4bf5fa603d9396ba812cf3171713adc7b394", "url": "https://api.github.com/repos/KnpLabs/Gaufrette/zipball/80cc42e1c5f008a8fc9d02e856c60140c7d1ea19",
"reference": "1f7c4bf5fa603d9396ba812cf3171713adc7b394", "reference": "80cc42e1c5f008a8fc9d02e856c60140c7d1ea19",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -2750,7 +2750,7 @@ ...@@ -2750,7 +2750,7 @@
"filesystem", "filesystem",
"media" "media"
], ],
"time": "2018-12-21T14:09:42+00:00" "time": "2019-01-11T10:04:44+00:00"
}, },
{ {
"name": "knplabs/knp-components", "name": "knplabs/knp-components",
...@@ -4875,16 +4875,16 @@ ...@@ -4875,16 +4875,16 @@
}, },
{ {
"name": "sonata-project/core-bundle", "name": "sonata-project/core-bundle",
"version": "3.14.1", "version": "3.15.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sonata-project/SonataCoreBundle.git", "url": "https://github.com/sonata-project/SonataCoreBundle.git",
"reference": "b38dfe1709c02cb9bb95f38c48103803f0aaaf3c" "reference": "664d338cde48effa27c96846a131d75b4b5ea255"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sonata-project/SonataCoreBundle/zipball/b38dfe1709c02cb9bb95f38c48103803f0aaaf3c", "url": "https://api.github.com/repos/sonata-project/SonataCoreBundle/zipball/664d338cde48effa27c96846a131d75b4b5ea255",
"reference": "b38dfe1709c02cb9bb95f38c48103803f0aaaf3c", "reference": "664d338cde48effa27c96846a131d75b4b5ea255",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -4955,7 +4955,7 @@ ...@@ -4955,7 +4955,7 @@
"keywords": [ "keywords": [
"sonata" "sonata"
], ],
"time": "2019-01-17T07:33:02+00:00" "time": "2019-01-20T13:25:19+00:00"
}, },
{ {
"name": "sonata-project/datagrid-bundle", "name": "sonata-project/datagrid-bundle",
...@@ -5018,16 +5018,16 @@ ...@@ -5018,16 +5018,16 @@
}, },
{ {
"name": "sonata-project/doctrine-extensions", "name": "sonata-project/doctrine-extensions",
"version": "1.1.4", "version": "1.1.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sonata-project/sonata-doctrine-extensions.git", "url": "https://github.com/sonata-project/sonata-doctrine-extensions.git",
"reference": "1f619e6f5a27b5bbaa48ab0872b19dc2064bc03f" "reference": "187495be73b2099c6ff8d0c2384ca31a8adca66e"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sonata-project/sonata-doctrine-extensions/zipball/1f619e6f5a27b5bbaa48ab0872b19dc2064bc03f", "url": "https://api.github.com/repos/sonata-project/sonata-doctrine-extensions/zipball/187495be73b2099c6ff8d0c2384ca31a8adca66e",
"reference": "1f619e6f5a27b5bbaa48ab0872b19dc2064bc03f", "reference": "187495be73b2099c6ff8d0c2384ca31a8adca66e",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -5082,29 +5082,29 @@ ...@@ -5082,29 +5082,29 @@
"doctrine2", "doctrine2",
"json" "json"
], ],
"time": "2019-01-15T23:01:57+00:00" "time": "2019-01-19T09:07:22+00:00"
}, },
{ {
"name": "sonata-project/doctrine-orm-admin-bundle", "name": "sonata-project/doctrine-orm-admin-bundle",
"version": "3.7.0", "version": "3.8.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sonata-project/SonataDoctrineORMAdminBundle.git", "url": "https://github.com/sonata-project/SonataDoctrineORMAdminBundle.git",
"reference": "8676f4a1293c9e7ea2978be9ac6746ad7d4a2e23" "reference": "276e0925d6824ddd5a791146df08f922197b9bd7"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sonata-project/SonataDoctrineORMAdminBundle/zipball/8676f4a1293c9e7ea2978be9ac6746ad7d4a2e23", "url": "https://api.github.com/repos/sonata-project/SonataDoctrineORMAdminBundle/zipball/276e0925d6824ddd5a791146df08f922197b9bd7",
"reference": "8676f4a1293c9e7ea2978be9ac6746ad7d4a2e23", "reference": "276e0925d6824ddd5a791146df08f922197b9bd7",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"doctrine/doctrine-bundle": "^1.8", "doctrine/doctrine-bundle": "^1.8",
"doctrine/orm": "^2.4.5", "doctrine/orm": "^2.5",
"php": "^5.6 || ^7.0", "php": "^7.1",
"sonata-project/admin-bundle": "^3.29", "sonata-project/admin-bundle": "^3.29",
"sonata-project/core-bundle": "^3.8", "sonata-project/core-bundle": "^3.8",
"sonata-project/exporter": "^1.3.1", "sonata-project/exporter": "^1.11.0 || ^2.0",
"symfony/config": "^2.8 || ^3.2 || ^4.0", "symfony/config": "^2.8 || ^3.2 || ^4.0",
"symfony/console": "^2.8 || ^3.2 || ^4.0", "symfony/console": "^2.8 || ^3.2 || ^4.0",
"symfony/dependency-injection": "^2.8 || ^3.2 || ^4.0", "symfony/dependency-injection": "^2.8 || ^3.2 || ^4.0",
...@@ -5126,7 +5126,7 @@ ...@@ -5126,7 +5126,7 @@
"require-dev": { "require-dev": {
"simplethings/entity-audit-bundle": "^0.9 || ^1.0", "simplethings/entity-audit-bundle": "^0.9 || ^1.0",
"sonata-project/block-bundle": "^3.11", "sonata-project/block-bundle": "^3.11",
"symfony/phpunit-bridge": "^4.0" "symfony/phpunit-bridge": "^4.2"
}, },
"suggest": { "suggest": {
"simplethings/entity-audit-bundle": "If you want to support for versioning of entities and their associations." "simplethings/entity-audit-bundle": "If you want to support for versioning of entities and their associations."
...@@ -5166,7 +5166,7 @@ ...@@ -5166,7 +5166,7 @@
"generator", "generator",
"sonata" "sonata"
], ],
"time": "2018-12-29T21:37:07+00:00" "time": "2019-01-20T16:50:56+00:00"
}, },
{ {
"name": "sonata-project/easy-extends-bundle", "name": "sonata-project/easy-extends-bundle",
...@@ -5230,34 +5230,34 @@ ...@@ -5230,34 +5230,34 @@
}, },
{ {
"name": "sonata-project/exporter", "name": "sonata-project/exporter",
"version": "1.11.0", "version": "2.0.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sonata-project/exporter.git", "url": "https://github.com/sonata-project/exporter.git",
"reference": "63d1199e802ff8af2826d8410080093f949dcb92" "reference": "a82bb9c3ed6fe9fa073c8bf145db6449da1ab8e7"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sonata-project/exporter/zipball/63d1199e802ff8af2826d8410080093f949dcb92", "url": "https://api.github.com/repos/sonata-project/exporter/zipball/a82bb9c3ed6fe9fa073c8bf145db6449da1ab8e7",
"reference": "63d1199e802ff8af2826d8410080093f949dcb92", "reference": "a82bb9c3ed6fe9fa073c8bf145db6449da1ab8e7",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^5.6 || ^7.0" "php": "^7.2"
}, },
"require-dev": { "require-dev": {
"doctrine/dbal": "^2.5", "doctrine/dbal": "^2.5",
"doctrine/orm": "^2.4.5", "doctrine/orm": "^2.4.5",
"matthiasnoback/symfony-config-test": "^2.0", "matthiasnoback/symfony-config-test": "^4.0",
"matthiasnoback/symfony-dependency-injection-test": "^1.0", "matthiasnoback/symfony-dependency-injection-test": "^3.0",
"propel/propel1": "^1.6", "propel/propel1": "^1.6",
"symfony/config": "^2.8 || ^3.2 || ^4.0", "symfony/config": "^3.4 || ^4.0",
"symfony/dependency-injection": "^2.8 || ^3.2 || ^4.0", "symfony/dependency-injection": "^3.4 || ^4.0",
"symfony/http-foundation": "^2.8 || ^3.2 || ^4.0", "symfony/http-foundation": "^3.4 || ^4.0",
"symfony/http-kernel": "^2.8 || ^3.2 || ^4.0", "symfony/http-kernel": "^3.4 || ^4.0",
"symfony/phpunit-bridge": "^4.0", "symfony/phpunit-bridge": "^4.1",
"symfony/property-access": "^2.8 || ^3.2 || ^4.0", "symfony/property-access": "^3.4 || ^4.0",
"symfony/routing": "^2.8 || ^3.2 || ^4.0" "symfony/routing": "^3.4 || ^4.0"
}, },
"suggest": { "suggest": {
"ext-curl": "*", "ext-curl": "*",
...@@ -5268,12 +5268,11 @@ ...@@ -5268,12 +5268,11 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.x-dev" "dev-master": "2.x-dev"
} }
}, },
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"Exporter\\": "aliases/",
"Sonata\\Exporter\\": "src/" "Sonata\\Exporter\\": "src/"
} }
}, },
...@@ -5297,7 +5296,7 @@ ...@@ -5297,7 +5296,7 @@
"export", "export",
"xls" "xls"
], ],
"time": "2019-01-10T19:05:17+00:00" "time": "2018-12-15T18:40:08+00:00"
}, },
{ {
"name": "sonata-project/intl-bundle", "name": "sonata-project/intl-bundle",
...@@ -5373,16 +5372,16 @@ ...@@ -5373,16 +5372,16 @@
}, },
{ {
"name": "sonata-project/media-bundle", "name": "sonata-project/media-bundle",
"version": "3.17.1", "version": "3.18.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sonata-project/SonataMediaBundle.git", "url": "https://github.com/sonata-project/SonataMediaBundle.git",
"reference": "a161cd4614503393e58f2f4e4f328208c575244e" "reference": "fdae9b6889eec8c63b69b55b8ec11f6bcb485e26"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sonata-project/SonataMediaBundle/zipball/a161cd4614503393e58f2f4e4f328208c575244e", "url": "https://api.github.com/repos/sonata-project/SonataMediaBundle/zipball/fdae9b6889eec8c63b69b55b8ec11f6bcb485e26",
"reference": "a161cd4614503393e58f2f4e4f328208c575244e", "reference": "fdae9b6889eec8c63b69b55b8ec11f6bcb485e26",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
...@@ -5393,8 +5392,8 @@ ...@@ -5393,8 +5392,8 @@
"kriswallsmith/buzz": "^0.15 || ^0.16", "kriswallsmith/buzz": "^0.15 || ^0.16",
"php": "^7.1", "php": "^7.1",
"psr/log": "^1.0", "psr/log": "^1.0",
"sonata-project/core-bundle": "^3.9", "sonata-project/core-bundle": "^3.14",
"sonata-project/doctrine-extensions": "^1.1", "sonata-project/doctrine-extensions": "^1.1.3",
"sonata-project/easy-extends-bundle": "^2.5", "sonata-project/easy-extends-bundle": "^2.5",
"symfony/config": "^2.8 || ^3.2 || ^4.0", "symfony/config": "^2.8 || ^3.2 || ^4.0",
"symfony/console": "^2.8 || ^3.2 || ^4.0", "symfony/console": "^2.8 || ^3.2 || ^4.0",
...@@ -5418,10 +5417,11 @@ ...@@ -5418,10 +5417,11 @@
"twig/twig": "^1.35 || ^2.0" "twig/twig": "^1.35 || ^2.0"
}, },
"conflict": { "conflict": {
"doctrine/dbal": "<2.6.0",
"friendsofsymfony/rest-bundle": "<2.1 || >=3.0", "friendsofsymfony/rest-bundle": "<2.1 || >=3.0",
"jms/serializer": "<0.13", "jms/serializer": "<0.13",
"liip/imagine-bundle": "<1.9", "liip/imagine-bundle": "<1.9",
"sonata-project/block-bundle": "<3.11 || >=4.0", "sonata-project/block-bundle": "<3.14 || >=4.0",
"sonata-project/classification-bundle": "<3.0 || >= 5.0", "sonata-project/classification-bundle": "<3.0 || >= 5.0",
"sonata-project/formatter-bundle": "<3.4", "sonata-project/formatter-bundle": "<3.4",
"sonata-project/notification-bundle": "<3.3", "sonata-project/notification-bundle": "<3.3",
...@@ -5436,7 +5436,7 @@ ...@@ -5436,7 +5436,7 @@
"matthiasnoback/symfony-dependency-injection-test": "^3.1", "matthiasnoback/symfony-dependency-injection-test": "^3.1",
"nelmio/api-doc-bundle": "^2.11", "nelmio/api-doc-bundle": "^2.11",
"sonata-project/admin-bundle": "^3.31", "sonata-project/admin-bundle": "^3.31",
"sonata-project/block-bundle": "^3.11", "sonata-project/block-bundle": "^3.14",
"sonata-project/datagrid-bundle": "^2.3", "sonata-project/datagrid-bundle": "^2.3",
"sonata-project/doctrine-orm-admin-bundle": "^3.4", "sonata-project/doctrine-orm-admin-bundle": "^3.4",
"sonata-project/formatter-bundle": "^3.4 || ^4.0", "sonata-project/formatter-bundle": "^3.4 || ^4.0",
...@@ -5493,7 +5493,7 @@ ...@@ -5493,7 +5493,7 @@
"vimeo", "vimeo",
"youtube" "youtube"
], ],
"time": "2019-01-12T12:11:00+00:00" "time": "2019-01-21T18:38:36+00:00"
}, },
{ {
"name": "sonata-project/translation-bundle", "name": "sonata-project/translation-bundle",
......
...@@ -9,8 +9,12 @@ sonata_user: ...@@ -9,8 +9,12 @@ sonata_user:
admin: # Admin Classes admin: # Admin Classes
user: user:
class: App\Application\Sonata\UserBundle\Admin\UserAdmin class: App\Application\Sonata\UserBundle\Admin\UserAdmin
# controller: SonataAdminBundle:CRUD controller: App\Controller\CRUD\CRUDController
translation: SonataUserBundle translation: SonataUserBundle
group:
class: Sonata\UserBundle\Admin\Entity\GroupAdmin
controller: App\Controller\CRUD\GroupCRUDController
translation: SonataUserBundle
impersonating: impersonating:
route: sonata_admin_dashboard route: sonata_admin_dashboard
......
<?php
namespace App\Controller\CRUD;
use Sonata\AdminBundle\Controller\CRUDController as Controller;
use Sonata\AdminBundle\Datagrid\ProxyQueryInterface;
use Symfony\Component\HttpFoundation\RedirectResponse;
class GroupCRUDController extends Controller
{
public function deleteAction($id)
{
$request = $this->getRequest();
$id = $request->get($this->admin->getIdParameter());
$object = $this->admin->getObject($id);
if (!$object) {
throw $this->createNotFoundException(sprintf('unable to find the object with id: %s', $id));
}
if ($object->hasRole('ROLE_ADMIN_SIEGE') || $object->hasRole('ROLE_SUPER_ADMIN') || $object->hasRole('ROLE_ADMIN')) {
$this->addFlash(
'sonata_flash_error',
'Vous ne pouvez pas supprimer les groupe ayant les rôles ROLE_SUPER_ADMIN, ROLE_ADMIN et ROLE_ADMIN_SIEGE !'
);
return $this->redirectTo($object);
}
return parent::deleteAction($id);
}
public function batchActionDelete(ProxyQueryInterface $query)
{
$objects = $query->execute();
foreach ($objects as $object) {
if ($object->hasRole('ROLE_ADMIN_SIEGE') || $object->hasRole('ROLE_SUPER_ADMIN') || $object->hasRole('ROLE_ADMIN')) {
$this->addFlash(
'sonata_flash_error',
'Vous ne pouvez pas supprimer les groupe ayant les rôles ROLE_SUPER_ADMIN, ROLE_ADMIN et ROLE_ADMIN_SIEGE !'
);
return new RedirectResponse(
$this->admin->generateUrl('list', array('filter' => $this->admin->getFilterParameters()))
);
}
}
return parent::batchActionDelete($query);
}
}
...@@ -24,36 +24,8 @@ class IndexController extends AbstractController ...@@ -24,36 +24,8 @@ class IndexController extends AbstractController
// array('%name%' => $user->getName()) // array('%name%' => $user->getName())
// ); // );
// GEOCODING ADDRESS :
// $httpClient = new \Http\Adapter\Guzzle6\Client();
// $provider = Nominatim::withOpenStreetMapServer($httpClient, 'test');
// $geocoder = new \Geocoder\StatefulGeocoder($provider, 'fr');
// $result = $geocoder->geocodeQuery(GeocodeQuery::create("19300 Rosiers-d'Egletons"));
// dump($result);
// exit();
return $this->render('index.html.twig', [ return $this->render('index.html.twig', [
'news' => array(), 'news' => array(),
]); ]);
} }
/**
* @Route("/toto/{id}/{name}", name="toto")
*/
// public function index(TranslatorInterface $translator)
public function toto($id, $name)
{
// Exemple pour la traduction :
// $translated = $translator->trans('Symfony is great');
// $translator->transChoice(
// 'Hurry up %name%! There is one apple left.|There are %count% apples left.',
// 10,
// // no need to include %count% here; Symfony does that for you
// array('%name%' => $user->getName())
// );
return $this->render('index.html.twig', [
'toto' => 'toto',
'id' => $id
]);
}
} }
...@@ -212,9 +212,10 @@ class User extends BaseUser ...@@ -212,9 +212,10 @@ class User extends BaseUser
*/ */
public function removeCotisation(Cotisation $cotisation) public function removeCotisation(Cotisation $cotisation)
{ {
if ($this->cotisations->contains($cotisation)) { throw new \LogicException('User::removeCotisation : This code should not be reached!');
$this->cotisations->removeElement($cotisation); // if ($this->cotisations->contains($cotisation)) {
} // $this->cotisations->removeElement($cotisation);
// }
return $this; return $this;
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment