Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
kohinos
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
9
Issues
9
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
cooperatic-mlc
kohinos
Commits
43f00f57
Commit
43f00f57
authored
Jan 22, 2019
by
Julien Jorry
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
BO : empêcher la suppresion des groupes admin
parent
ff11addd
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
111 additions
and
82 deletions
+111
-82
composer.lock
composer.lock
+50
-50
sonata.yaml
config/packages/sonata.yaml
+5
-1
GroupCRUDController.php
src/Controller/CRUD/GroupCRUDController.php
+52
-0
IndexController.php
src/Controller/IndexController.php
+0
-28
User.php
src/Entity/User.php
+4
-3
No files found.
composer.lock
View file @
43f00f57
...
...
@@ -2665,16 +2665,16 @@
},
{
"name": "knplabs/gaufrette",
"version": "v0.8.
0
",
"version": "v0.8.
1
",
"source": {
"type": "git",
"url": "https://github.com/KnpLabs/Gaufrette.git",
"reference": "
1f7c4bf5fa603d9396ba812cf3171713adc7b394
"
"reference": "
80cc42e1c5f008a8fc9d02e856c60140c7d1ea19
"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/KnpLabs/Gaufrette/zipball/
1f7c4bf5fa603d9396ba812cf3171713adc7b394
",
"reference": "
1f7c4bf5fa603d9396ba812cf3171713adc7b394
",
"url": "https://api.github.com/repos/KnpLabs/Gaufrette/zipball/
80cc42e1c5f008a8fc9d02e856c60140c7d1ea19
",
"reference": "
80cc42e1c5f008a8fc9d02e856c60140c7d1ea19
",
"shasum": ""
},
"require": {
...
...
@@ -2750,7 +2750,7 @@
"filesystem",
"media"
],
"time": "201
8-12-21T14:09:42
+00:00"
"time": "201
9-01-11T10:04:44
+00:00"
},
{
"name": "knplabs/knp-components",
...
...
@@ -4875,16 +4875,16 @@
},
{
"name": "sonata-project/core-bundle",
"version": "3.1
4.1
",
"version": "3.1
5.0
",
"source": {
"type": "git",
"url": "https://github.com/sonata-project/SonataCoreBundle.git",
"reference": "
b38dfe1709c02cb9bb95f38c48103803f0aaaf3c
"
"reference": "
664d338cde48effa27c96846a131d75b4b5ea255
"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sonata-project/SonataCoreBundle/zipball/
b38dfe1709c02cb9bb95f38c48103803f0aaaf3c
",
"reference": "
b38dfe1709c02cb9bb95f38c48103803f0aaaf3c
",
"url": "https://api.github.com/repos/sonata-project/SonataCoreBundle/zipball/
664d338cde48effa27c96846a131d75b4b5ea255
",
"reference": "
664d338cde48effa27c96846a131d75b4b5ea255
",
"shasum": ""
},
"require": {
...
...
@@ -4955,7 +4955,7 @@
"keywords": [
"sonata"
],
"time": "2019-01-
17T07:33:02
+00:00"
"time": "2019-01-
20T13:25:19
+00:00"
},
{
"name": "sonata-project/datagrid-bundle",
...
...
@@ -5018,16 +5018,16 @@
},
{
"name": "sonata-project/doctrine-extensions",
"version": "1.1.
4
",
"version": "1.1.
5
",
"source": {
"type": "git",
"url": "https://github.com/sonata-project/sonata-doctrine-extensions.git",
"reference": "1
f619e6f5a27b5bbaa48ab0872b19dc2064bc03f
"
"reference": "1
87495be73b2099c6ff8d0c2384ca31a8adca66e
"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sonata-project/sonata-doctrine-extensions/zipball/1
f619e6f5a27b5bbaa48ab0872b19dc2064bc03f
",
"reference": "1
f619e6f5a27b5bbaa48ab0872b19dc2064bc03f
",
"url": "https://api.github.com/repos/sonata-project/sonata-doctrine-extensions/zipball/1
87495be73b2099c6ff8d0c2384ca31a8adca66e
",
"reference": "1
87495be73b2099c6ff8d0c2384ca31a8adca66e
",
"shasum": ""
},
"require": {
...
...
@@ -5082,29 +5082,29 @@
"doctrine2",
"json"
],
"time": "2019-01-1
5T23:01:57
+00:00"
"time": "2019-01-1
9T09:07:22
+00:00"
},
{
"name": "sonata-project/doctrine-orm-admin-bundle",
"version": "3.
7
.0",
"version": "3.
8
.0",
"source": {
"type": "git",
"url": "https://github.com/sonata-project/SonataDoctrineORMAdminBundle.git",
"reference": "
8676f4a1293c9e7ea2978be9ac6746ad7d4a2e23
"
"reference": "
276e0925d6824ddd5a791146df08f922197b9bd7
"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sonata-project/SonataDoctrineORMAdminBundle/zipball/
8676f4a1293c9e7ea2978be9ac6746ad7d4a2e23
",
"reference": "
8676f4a1293c9e7ea2978be9ac6746ad7d4a2e23
",
"url": "https://api.github.com/repos/sonata-project/SonataDoctrineORMAdminBundle/zipball/
276e0925d6824ddd5a791146df08f922197b9bd7
",
"reference": "
276e0925d6824ddd5a791146df08f922197b9bd7
",
"shasum": ""
},
"require": {
"doctrine/doctrine-bundle": "^1.8",
"doctrine/orm": "^2.
4.
5",
"php": "^
5.6 || ^7.0
",
"doctrine/orm": "^2.5",
"php": "^
7.1
",
"sonata-project/admin-bundle": "^3.29",
"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/console": "^2.8 || ^3.2 || ^4.0",
"symfony/dependency-injection": "^2.8 || ^3.2 || ^4.0",
...
...
@@ -5126,7 +5126,7 @@
"require-dev": {
"simplethings/entity-audit-bundle": "^0.9 || ^1.0",
"sonata-project/block-bundle": "^3.11",
"symfony/phpunit-bridge": "^4.
0
"
"symfony/phpunit-bridge": "^4.
2
"
},
"suggest": {
"simplethings/entity-audit-bundle": "If you want to support for versioning of entities and their associations."
...
...
@@ -5166,7 +5166,7 @@
"generator",
"sonata"
],
"time": "201
8-12-29T21:37:07
+00:00"
"time": "201
9-01-20T16:50:56
+00:00"
},
{
"name": "sonata-project/easy-extends-bundle",
...
...
@@ -5230,34 +5230,34 @@
},
{
"name": "sonata-project/exporter",
"version": "
1.11
.0",
"version": "
2.0
.0",
"source": {
"type": "git",
"url": "https://github.com/sonata-project/exporter.git",
"reference": "
63d1199e802ff8af2826d8410080093f949dcb92
"
"reference": "
a82bb9c3ed6fe9fa073c8bf145db6449da1ab8e7
"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sonata-project/exporter/zipball/
63d1199e802ff8af2826d8410080093f949dcb92
",
"reference": "
63d1199e802ff8af2826d8410080093f949dcb92
",
"url": "https://api.github.com/repos/sonata-project/exporter/zipball/
a82bb9c3ed6fe9fa073c8bf145db6449da1ab8e7
",
"reference": "
a82bb9c3ed6fe9fa073c8bf145db6449da1ab8e7
",
"shasum": ""
},
"require": {
"php": "^
5.6 || ^7.0
"
"php": "^
7.2
"
},
"require-dev": {
"doctrine/dbal": "^2.5",
"doctrine/orm": "^2.4.5",
"matthiasnoback/symfony-config-test": "^
2
.0",
"matthiasnoback/symfony-dependency-injection-test": "^
1
.0",
"matthiasnoback/symfony-config-test": "^
4
.0",
"matthiasnoback/symfony-dependency-injection-test": "^
3
.0",
"propel/propel1": "^1.6",
"symfony/config": "^
2.8 || ^3.2
|| ^4.0",
"symfony/dependency-injection": "^
2.8 || ^3.2
|| ^4.0",
"symfony/http-foundation": "^
2.8 || ^3.2
|| ^4.0",
"symfony/http-kernel": "^
2.8 || ^3.2
|| ^4.0",
"symfony/phpunit-bridge": "^4.
0
",
"symfony/property-access": "^
2.8 || ^3.2
|| ^4.0",
"symfony/routing": "^
2.8 || ^3.2
|| ^4.0"
"symfony/config": "^
3.4
|| ^4.0",
"symfony/dependency-injection": "^
3.4
|| ^4.0",
"symfony/http-foundation": "^
3.4
|| ^4.0",
"symfony/http-kernel": "^
3.4
|| ^4.0",
"symfony/phpunit-bridge": "^4.
1
",
"symfony/property-access": "^
3.4
|| ^4.0",
"symfony/routing": "^
3.4
|| ^4.0"
},
"suggest": {
"ext-curl": "*",
...
...
@@ -5268,12 +5268,11 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "
1
.x-dev"
"dev-master": "
2
.x-dev"
}
},
"autoload": {
"psr-4": {
"Exporter\\": "aliases/",
"Sonata\\Exporter\\": "src/"
}
},
...
...
@@ -5297,7 +5296,7 @@
"export",
"xls"
],
"time": "201
9-01-10T19:05:17
+00:00"
"time": "201
8-12-15T18:40:08
+00:00"
},
{
"name": "sonata-project/intl-bundle",
...
...
@@ -5373,16 +5372,16 @@
},
{
"name": "sonata-project/media-bundle",
"version": "3.1
7
.1",
"version": "3.1
8
.1",
"source": {
"type": "git",
"url": "https://github.com/sonata-project/SonataMediaBundle.git",
"reference": "
a161cd4614503393e58f2f4e4f328208c575244e
"
"reference": "
fdae9b6889eec8c63b69b55b8ec11f6bcb485e26
"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sonata-project/SonataMediaBundle/zipball/
a161cd4614503393e58f2f4e4f328208c575244e
",
"reference": "
a161cd4614503393e58f2f4e4f328208c575244e
",
"url": "https://api.github.com/repos/sonata-project/SonataMediaBundle/zipball/
fdae9b6889eec8c63b69b55b8ec11f6bcb485e26
",
"reference": "
fdae9b6889eec8c63b69b55b8ec11f6bcb485e26
",
"shasum": ""
},
"require": {
...
...
@@ -5393,8 +5392,8 @@
"kriswallsmith/buzz": "^0.15 || ^0.16",
"php": "^7.1",
"psr/log": "^1.0",
"sonata-project/core-bundle": "^3.
9
",
"sonata-project/doctrine-extensions": "^1.1",
"sonata-project/core-bundle": "^3.
14
",
"sonata-project/doctrine-extensions": "^1.1
.3
",
"sonata-project/easy-extends-bundle": "^2.5",
"symfony/config": "^2.8 || ^3.2 || ^4.0",
"symfony/console": "^2.8 || ^3.2 || ^4.0",
...
...
@@ -5418,10 +5417,11 @@
"twig/twig": "^1.35 || ^2.0"
},
"conflict": {
"doctrine/dbal": "<2.6.0",
"friendsofsymfony/rest-bundle": "<2.1 || >=3.0",
"jms/serializer": "<0.13",
"liip/imagine-bundle": "<1.9",
"sonata-project/block-bundle": "<3.1
1
|| >=4.0",
"sonata-project/block-bundle": "<3.1
4
|| >=4.0",
"sonata-project/classification-bundle": "<3.0 || >= 5.0",
"sonata-project/formatter-bundle": "<3.4",
"sonata-project/notification-bundle": "<3.3",
...
...
@@ -5436,7 +5436,7 @@
"matthiasnoback/symfony-dependency-injection-test": "^3.1",
"nelmio/api-doc-bundle": "^2.11",
"sonata-project/admin-bundle": "^3.31",
"sonata-project/block-bundle": "^3.1
1
",
"sonata-project/block-bundle": "^3.1
4
",
"sonata-project/datagrid-bundle": "^2.3",
"sonata-project/doctrine-orm-admin-bundle": "^3.4",
"sonata-project/formatter-bundle": "^3.4 || ^4.0",
...
...
@@ -5493,7 +5493,7 @@
"vimeo",
"youtube"
],
"time": "2019-01-
12T12:11:00
+00:00"
"time": "2019-01-
21T18:38:36
+00:00"
},
{
"name": "sonata-project/translation-bundle",
...
...
config/packages/sonata.yaml
View file @
43f00f57
...
...
@@ -9,7 +9,11 @@ sonata_user:
admin
:
# Admin Classes
user
:
class
:
App\Application\Sonata\UserBundle\Admin\UserAdmin
# controller: SonataAdminBundle:CRUD
controller
:
App\Controller\CRUD\CRUDController
translation
:
SonataUserBundle
group
:
class
:
Sonata\UserBundle\Admin\Entity\GroupAdmin
controller
:
App\Controller\CRUD\GroupCRUDController
translation
:
SonataUserBundle
impersonating
:
route
:
sonata_admin_dashboard
...
...
src/Controller/CRUD/GroupCRUDController.php
0 → 100644
View file @
43f00f57
<?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
);
}
}
src/Controller/IndexController.php
View file @
43f00f57
...
...
@@ -24,36 +24,8 @@ class IndexController extends AbstractController
// 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'
,
[
'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
]);
}
}
src/Entity/User.php
View file @
43f00f57
...
...
@@ -212,9 +212,10 @@ class User extends BaseUser
*/
public
function
removeCotisation
(
Cotisation
$cotisation
)
{
if
(
$this
->
cotisations
->
contains
(
$cotisation
))
{
$this
->
cotisations
->
removeElement
(
$cotisation
);
}
throw
new
\LogicException
(
'User::removeCotisation : This code should not be reached!'
);
// if ($this->cotisations->contains($cotisation)) {
// $this->cotisations->removeElement($cotisation);
// }
return
$this
;
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment