manager #4
12
.env
12
.env
@ -50,11 +50,13 @@ APP_NIVEAU04MANDATORY='[""]'
|
||||
APP_GROUPUSE=1
|
||||
APP_GROUPSUBMITER='["ALL"]'
|
||||
|
||||
APP_ANNUSCOPEADMIN=ALL
|
||||
APP_ANNUSCOPEMODO=ALL
|
||||
APP_ANNUSCOPEMASTER=ALL
|
||||
APP_ANNUSCOPEMANAGER=ALL
|
||||
APP_ANNUSCOPEUSER=ALL
|
||||
APP_ANNUSCOPEADMIN=ALL # ALL or number of niveau view : 1||2||3||4
|
||||
APP_ANNUSCOPEMODO=ALL # ALL or number of niveau view : 1||2||3||4
|
||||
APP_ANNUSCOPEMASTER=ALL # ALL or number of niveau view : 1||2||3||4
|
||||
APP_ANNUSCOPEMANAGER=ALL # ALL or number of niveau view : 1||2||3||4
|
||||
APP_ANNUSCOPEUSER=ALL # ALL or number of niveau view : 1||2||3||4
|
||||
|
||||
APP_USERVIEWISVISIBLE=1 # Profil user with isvisible field
|
||||
|
||||
# Synchronisation
|
||||
APP_SYNCHRO= # Synchronisation null | LDAP2NINE | NINE2LDAP | NINE2NINE
|
||||
|
@ -8,7 +8,7 @@ body {
|
||||
color: var(--colorfttitledark);
|
||||
}
|
||||
|
||||
.header a, #sidebar a, #sidebar hr{
|
||||
.header h1, .header a, #sidebar a, #sidebar hr{
|
||||
color: var(--colorfttitledark);
|
||||
}
|
||||
|
||||
|
@ -121,6 +121,7 @@
|
||||
}
|
||||
},
|
||||
"require-dev": {
|
||||
"doctrine/doctrine-fixtures-bundle": "^3.4",
|
||||
"phpunit/phpunit": "^9.5",
|
||||
"symfony/browser-kit": "6.1.*",
|
||||
"symfony/css-selector": "6.1.*",
|
||||
|
167
composer.lock
generated
167
composer.lock
generated
@ -4,7 +4,7 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "8d7631f5e9055ef66369d9d0ea7d116e",
|
||||
"content-hash": "d3be737db4f7ce5089c83be63c8dbf09",
|
||||
"packages": [
|
||||
{
|
||||
"name": "aws/aws-crt-php",
|
||||
@ -10931,6 +10931,171 @@
|
||||
}
|
||||
],
|
||||
"packages-dev": [
|
||||
{
|
||||
"name": "doctrine/data-fixtures",
|
||||
"version": "1.5.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/doctrine/data-fixtures.git",
|
||||
"reference": "ba37bfb776de763c5bf04a36d074cd5f5a083c42"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/doctrine/data-fixtures/zipball/ba37bfb776de763c5bf04a36d074cd5f5a083c42",
|
||||
"reference": "ba37bfb776de763c5bf04a36d074cd5f5a083c42",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"doctrine/common": "^2.13|^3.0",
|
||||
"doctrine/persistence": "^1.3.3|^2.0|^3.0",
|
||||
"php": "^7.2 || ^8.0"
|
||||
},
|
||||
"conflict": {
|
||||
"doctrine/dbal": "<2.13",
|
||||
"doctrine/phpcr-odm": "<1.3.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"doctrine/coding-standard": "^9.0",
|
||||
"doctrine/dbal": "^2.13 || ^3.0",
|
||||
"doctrine/mongodb-odm": "^1.3.0 || ^2.0.0",
|
||||
"doctrine/orm": "^2.7.0",
|
||||
"ext-sqlite3": "*",
|
||||
"jangregor/phpstan-prophecy": "^1",
|
||||
"phpstan/phpstan": "^1.5",
|
||||
"phpunit/phpunit": "^8.5 || ^9.5",
|
||||
"symfony/cache": "^5.0 || ^6.0",
|
||||
"vimeo/psalm": "^4.10"
|
||||
},
|
||||
"suggest": {
|
||||
"alcaeus/mongo-php-adapter": "For using MongoDB ODM 1.3 with PHP 7 (deprecated)",
|
||||
"doctrine/mongodb-odm": "For loading MongoDB ODM fixtures",
|
||||
"doctrine/orm": "For loading ORM fixtures",
|
||||
"doctrine/phpcr-odm": "For loading PHPCR ODM fixtures"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Doctrine\\Common\\DataFixtures\\": "lib/Doctrine/Common/DataFixtures"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Jonathan Wage",
|
||||
"email": "jonwage@gmail.com"
|
||||
}
|
||||
],
|
||||
"description": "Data Fixtures for all Doctrine Object Managers",
|
||||
"homepage": "https://www.doctrine-project.org",
|
||||
"keywords": [
|
||||
"database"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/doctrine/data-fixtures/issues",
|
||||
"source": "https://github.com/doctrine/data-fixtures/tree/1.5.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://www.doctrine-project.org/sponsorship.html",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://www.patreon.com/phpdoctrine",
|
||||
"type": "patreon"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/doctrine%2Fdata-fixtures",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-04-19T10:01:44+00:00"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/doctrine-fixtures-bundle",
|
||||
"version": "3.4.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/doctrine/DoctrineFixturesBundle.git",
|
||||
"reference": "601988c5b46dbd20a0f886f967210aba378a6fd5"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/doctrine/DoctrineFixturesBundle/zipball/601988c5b46dbd20a0f886f967210aba378a6fd5",
|
||||
"reference": "601988c5b46dbd20a0f886f967210aba378a6fd5",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"doctrine/data-fixtures": "^1.3",
|
||||
"doctrine/doctrine-bundle": "^1.11|^2.0",
|
||||
"doctrine/orm": "^2.6.0",
|
||||
"doctrine/persistence": "^1.3.7|^2.0|^3.0",
|
||||
"php": "^7.1 || ^8.0",
|
||||
"symfony/config": "^3.4|^4.3|^5.0|^6.0",
|
||||
"symfony/console": "^3.4|^4.3|^5.0|^6.0",
|
||||
"symfony/dependency-injection": "^3.4.47|^4.3|^5.0|^6.0",
|
||||
"symfony/doctrine-bridge": "^3.4|^4.1|^5.0|^6.0",
|
||||
"symfony/http-kernel": "^3.4|^4.3|^5.0|^6.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"doctrine/coding-standard": "^9",
|
||||
"phpstan/phpstan": "^1.4.10",
|
||||
"phpunit/phpunit": "^7.5.20 || ^8.5.26 || ^9.5.20",
|
||||
"symfony/phpunit-bridge": "^6.0.8",
|
||||
"vimeo/psalm": "^4.22"
|
||||
},
|
||||
"type": "symfony-bundle",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Doctrine\\Bundle\\FixturesBundle\\": ""
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Fabien Potencier",
|
||||
"email": "fabien@symfony.com"
|
||||
},
|
||||
{
|
||||
"name": "Doctrine Project",
|
||||
"homepage": "https://www.doctrine-project.org"
|
||||
},
|
||||
{
|
||||
"name": "Symfony Community",
|
||||
"homepage": "https://symfony.com/contributors"
|
||||
}
|
||||
],
|
||||
"description": "Symfony DoctrineFixturesBundle",
|
||||
"homepage": "https://www.doctrine-project.org",
|
||||
"keywords": [
|
||||
"Fixture",
|
||||
"persistence"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/doctrine/DoctrineFixturesBundle/issues",
|
||||
"source": "https://github.com/doctrine/DoctrineFixturesBundle/tree/3.4.2"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://www.doctrine-project.org/sponsorship.html",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://www.patreon.com/phpdoctrine",
|
||||
"type": "patreon"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/doctrine%2Fdoctrine-fixtures-bundle",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-04-28T17:58:29+00:00"
|
||||
},
|
||||
{
|
||||
"name": "masterminds/html5",
|
||||
"version": "2.7.6",
|
||||
|
@ -21,4 +21,5 @@ return [
|
||||
FOS\RestBundle\FOSRestBundle::class => ['all' => true],
|
||||
Nelmio\ApiDocBundle\NelmioApiDocBundle::class => ['all' => true],
|
||||
Symfony\Bundle\MakerBundle\MakerBundle::class => ['dev' => true],
|
||||
Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle::class => ['dev' => true, 'test' => true],
|
||||
];
|
||||
|
@ -738,6 +738,37 @@ app_modo_user_delete:
|
||||
controller: App\Controller\UserController::delete
|
||||
defaults: { access: modo }
|
||||
|
||||
#-- Access manager
|
||||
app_manager_user:
|
||||
path: /manager/user
|
||||
controller: App\Controller\UserController::list
|
||||
defaults: { access: manager }
|
||||
|
||||
app_manager_user_tablelist:
|
||||
path: /manager/user/tablelist
|
||||
controller: App\Controller\UserController::tablelist
|
||||
defaults: { access: manager }
|
||||
|
||||
app_manager_user_selectlist:
|
||||
path: /manager/user/selectlist
|
||||
controller: App\Controller\UserController::selectlist
|
||||
defaults: { access: manager }
|
||||
|
||||
app_manager_user_submit:
|
||||
path: /manager/user/submit
|
||||
controller: App\Controller\UserController::submit
|
||||
defaults: { access: manager }
|
||||
|
||||
app_manager_user_update:
|
||||
path: /manager/user/update/{id}
|
||||
controller: App\Controller\UserController::update
|
||||
defaults: { access: manager }
|
||||
|
||||
app_manager_user_delete:
|
||||
path: /manager/user/delete/{id}
|
||||
controller: App\Controller\UserController::delete
|
||||
defaults: { access: manager }
|
||||
|
||||
#-- Access all
|
||||
app_all_user:
|
||||
path: /all/update
|
||||
|
@ -40,6 +40,8 @@ parameters:
|
||||
appAnnuscopemanager: '%env(resolve:APP_ANNUSCOPEMANAGER)%'
|
||||
appAnnuscopeuser: '%env(resolve:APP_ANNUSCOPEUSER)%'
|
||||
|
||||
appUserviewisvisible: '%env(resolve:APP_USERVIEWISVISIBLE)%'
|
||||
|
||||
appSynchro: '%env(resolve:APP_SYNCHRO)%'
|
||||
appSynchroPurgeNiveau01: '%env(resolve:APP_SYNDCHROPURGENIVEAU01)%'
|
||||
appSynchroPurgeNiveau02: '%env(resolve:APP_SYNDCHROPURGENIVEAU02)%'
|
||||
|
@ -8,18 +8,39 @@ use Symfony\Component\HttpFoundation\Response;
|
||||
|
||||
class HomeController extends AbstractController
|
||||
{
|
||||
public function home(Request $request): Response
|
||||
public function home(Request $request)
|
||||
{
|
||||
if ($request->getSession()->get('fgforceconnect')) {
|
||||
if ($request->getSession()->get('fgforceconnect') && !$this->getUser()) {
|
||||
return $this->redirectToRoute('app_login');
|
||||
}
|
||||
|
||||
if (!$this->getUser()) {
|
||||
return $this->render('Home/home.html.twig', [
|
||||
'useheader' => true,
|
||||
'usemenu' => false,
|
||||
'usesidebar' => false,
|
||||
'maxsize' => 1000,
|
||||
]);
|
||||
}
|
||||
if ($this->getUser()->hasRole('ROLE_USER')) {
|
||||
return $this->redirectToRoute('app_user_home');
|
||||
}
|
||||
|
||||
return $this->render('Home/home.html.twig', [
|
||||
'useheader' => true,
|
||||
'usemenu' => true,
|
||||
'usesidebar' => false,
|
||||
'maxsize' => 1000,
|
||||
]);
|
||||
if ($this->getUser()->hasRole('ROLE_MANAGER')) {
|
||||
return $this->redirectToRoute('app_manager_home');
|
||||
}
|
||||
|
||||
if ($this->getUser()->hasRole('ROLE_MASTER')) {
|
||||
return $this->redirectToRoute('app_master_home');
|
||||
}
|
||||
|
||||
if ($this->getUser()->hasRole('ROLE_MODO')) {
|
||||
return $this->redirectToRoute('app_modo_home');
|
||||
}
|
||||
|
||||
if ($this->getUser()->hasRole('ROLE_ADMIN')) {
|
||||
return $this->redirectToRoute('app_admin_home');
|
||||
}
|
||||
}
|
||||
|
||||
public function homeuser($access): Response
|
||||
@ -32,9 +53,19 @@ class HomeController extends AbstractController
|
||||
]);
|
||||
}
|
||||
|
||||
public function homeadmin($access): Response
|
||||
public function homemaster($access): Response
|
||||
{
|
||||
return $this->redirectToRoute('app_admin_config');
|
||||
return $this->render('Home/home.html.twig', [
|
||||
'useheader' => true,
|
||||
'usemenu' => false,
|
||||
'usesidebar' => false,
|
||||
'maxsize' => 1000,
|
||||
]);
|
||||
}
|
||||
|
||||
public function homemanager($access): Response
|
||||
{
|
||||
return $this->redirectToRoute('app_manager_user');
|
||||
}
|
||||
|
||||
public function homemodo($access): Response
|
||||
@ -42,6 +73,11 @@ class HomeController extends AbstractController
|
||||
return $this->redirectToRoute('app_modo_niveau02');
|
||||
}
|
||||
|
||||
public function homeadmin($access): Response
|
||||
{
|
||||
return $this->redirectToRoute('app_admin_config');
|
||||
}
|
||||
|
||||
public function docrest(): Response
|
||||
{
|
||||
return $this->render('Home/docrest.html.twig', [
|
||||
|
@ -72,14 +72,15 @@ class UserController extends AbstractController
|
||||
->from("App\Entity\UserModo", 'usermodo')
|
||||
->where('usermodo.niveau01 = entity.niveau01')
|
||||
->andWhere('usermodo.user = :user')
|
||||
->where('entity.isactive = :isactive')
|
||||
->andwhere('entity.isactive = :isactive')
|
||||
->setParameter('isactive', $isactive)
|
||||
->setParameter('user', $this->getUser())
|
||||
->getQuery()->getSingleScalarResult();
|
||||
break;
|
||||
|
||||
default:
|
||||
$isactive = true;
|
||||
$isactive = ('manager' == $access ? $em->getRepository($this->entity)->getPreference($this->getUser(), 'userisactive', true) : true);
|
||||
|
||||
$niveau01 = $this->getUser()->getNiveau01();
|
||||
$niveau02 = $this->getUser()->getNiveau02();
|
||||
$niveau03 = $this->getUser()->getNiveau03();
|
||||
@ -89,7 +90,7 @@ class UserController extends AbstractController
|
||||
->select('COUNT(entity)')
|
||||
->from($this->entity, 'entity')
|
||||
->where('entity.isvisible=true')
|
||||
->where('entity.isactive = :isactive')
|
||||
->andwhere('entity.isactive = :isactive')
|
||||
->setParameter('isactive', $isactive);
|
||||
|
||||
switch ($request->getSession()->get('scopeannu')) {
|
||||
@ -247,7 +248,7 @@ class UserController extends AbstractController
|
||||
}
|
||||
|
||||
if ($ordercolumn) {
|
||||
if ('admin' == $access || 'modo' == $access) {
|
||||
if ('admin' == $access || 'modo' == $access || 'manager' == $access) {
|
||||
$ordercolumn = $ordercolumn - 1;
|
||||
}
|
||||
|
||||
@ -298,6 +299,15 @@ class UserController extends AbstractController
|
||||
case 'modo':
|
||||
$action .= "<a href='".$this->generateUrl(str_replace('_admin_', '_modo_', $this->route).'_update', ['id' => $data->getId()])."'><i class='fa fa-file fa-fw fa-2x'></i></a>";
|
||||
break;
|
||||
case 'manager':
|
||||
if ($this->getUser()->getNiveau03() && $this->getUser()->getNiveau03() == $data->getNiveau03()) {
|
||||
$action .= "<a href='".$this->generateUrl(str_replace('_admin_', '_manager_', $this->route).'_update', ['id' => $data->getId()])."'><i class='fa fa-file fa-fw fa-2x'></i></a>";
|
||||
} elseif (!$this->getUser()->getNiveau03() && $this->getUser()->getNiveau02() && $this->getUser()->getNiveau02() == $data->getNiveau02()) {
|
||||
$action .= "<a href='".$this->generateUrl(str_replace('_admin_', '_manager_', $this->route).'_update', ['id' => $data->getId()])."'><i class='fa fa-file fa-fw fa-2x'></i></a>";
|
||||
} elseif (!$this->getUser()->getNiveau02() && $this->getUser()->getNiveau01() && $this->getUser()->getNiveau01() == $data->getNiveau01()) {
|
||||
$action .= "<a href='".$this->generateUrl(str_replace('_admin_', '_manager_', $this->route).'_update', ['id' => $data->getId()])."'><i class='fa fa-file fa-fw fa-2x'></i></a>";
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
// Groupes
|
||||
@ -313,7 +323,7 @@ class UserController extends AbstractController
|
||||
}
|
||||
|
||||
$tmp = [];
|
||||
if ('admin' == $access || 'modo' == $access) {
|
||||
if ('admin' == $access || 'modo' == $access || 'manager' == $access) {
|
||||
array_push($tmp, $action);
|
||||
}
|
||||
|
||||
@ -381,6 +391,14 @@ class UserController extends AbstractController
|
||||
$data->setIsactive(true);
|
||||
$data->setApikey(Uuid::uuid4());
|
||||
|
||||
// If manager set same niveau to usertosubmit
|
||||
if ('manager' == $access) {
|
||||
$data->setNiveau01($this->getUser()->getNiveau01());
|
||||
$data->setNiveau02($this->getUser()->getNiveau02());
|
||||
$data->setNiveau03($this->getUser()->getNiveau03());
|
||||
$data->setRoles(['ROLE_USER']);
|
||||
}
|
||||
|
||||
// Création du formulaire
|
||||
$form = $this->createForm(Form::class, $data, [
|
||||
'mode' => 'submit',
|
||||
@ -395,6 +413,7 @@ class UserController extends AbstractController
|
||||
'appNiveau04use' => $this->GetParameter('appNiveau04use'),
|
||||
'appNiveau04label' => $this->GetParameter('appNiveau04label'),
|
||||
'appNiveauupdatable' => $this->GetParameter('appNiveauupdatable'),
|
||||
'appUserviewisvisible' => $this->GetParameter('appUserviewisvisible'),
|
||||
]);
|
||||
|
||||
// Récupération des data du formulaire
|
||||
@ -514,6 +533,7 @@ class UserController extends AbstractController
|
||||
'appNiveau04use' => $this->GetParameter('appNiveau04use'),
|
||||
'appNiveau04label' => $this->GetParameter('appNiveau04label'),
|
||||
'appNiveauupdatable' => $this->GetParameter('appNiveauupdatable'),
|
||||
'appUserviewisvisible' => $this->GetParameter('appUserviewisvisible'),
|
||||
]);
|
||||
|
||||
// Récupération des data du formulaire
|
||||
@ -678,6 +698,8 @@ class UserController extends AbstractController
|
||||
break;
|
||||
case 'modo': return true;
|
||||
break;
|
||||
case 'manager': return true;
|
||||
break;
|
||||
}
|
||||
throw $this->createAccessDeniedException('Permission denied');
|
||||
}
|
||||
@ -687,6 +709,7 @@ class UserController extends AbstractController
|
||||
switch ($access) {
|
||||
case 'admin': return true;
|
||||
break;
|
||||
|
||||
case 'modo':
|
||||
$usermodo = $em->getRepository("App\Entity\UserModo")->findOneBy(['user' => $this->getUser(), 'niveau01' => $entity->getNiveau01()]);
|
||||
if (!$usermodo) {
|
||||
@ -695,6 +718,19 @@ class UserController extends AbstractController
|
||||
|
||||
return true;
|
||||
break;
|
||||
|
||||
case 'manager':
|
||||
if ($this->getUser()->getNiveau03() && $this->getUser()->getNiveau03() == $entity->getNiveau03()) {
|
||||
return true;
|
||||
} elseif ($this->getUser()->getNiveau02() && $this->getUser()->getNiveau02() == $entity->getNiveau02()) {
|
||||
return true;
|
||||
} elseif ($this->getUser()->getNiveau01() && $this->getUser()->getNiveau01() == $entity->getNiveau01()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
throw $this->createAccessDeniedException('Permission denied');
|
||||
break;
|
||||
|
||||
case 'all':
|
||||
if ($this->getUser()->getId() != $entity->getId()) {
|
||||
throw $this->createAccessDeniedException('Permission denied');
|
||||
|
340
src/DataFixtures/AppFixtures.php
Normal file
340
src/DataFixtures/AppFixtures.php
Normal file
@ -0,0 +1,340 @@
|
||||
<?php
|
||||
|
||||
namespace App\DataFixtures;
|
||||
|
||||
use App\Entity\Niveau01;
|
||||
use App\Entity\Niveau02;
|
||||
use App\Entity\Niveau03;
|
||||
use App\Entity\Niveau04;
|
||||
use App\Entity\User;
|
||||
use App\Entity\UserModo;
|
||||
use Doctrine\Bundle\FixturesBundle\Fixture;
|
||||
use Doctrine\ORM\Id\AssignedGenerator;
|
||||
use Doctrine\ORM\Mapping\ClassMetadata;
|
||||
use Doctrine\Persistence\ObjectManager;
|
||||
use Symfony\Bundle\FrameworkBundle\Console\Application;
|
||||
use Symfony\Component\Console\Input\ArrayInput;
|
||||
use Symfony\Component\Console\Output\BufferedOutput;
|
||||
use Symfony\Component\Console\Output\ConsoleOutput;
|
||||
use Symfony\Component\HttpKernel\KernelInterface;
|
||||
|
||||
class AppFixtures extends Fixture
|
||||
{
|
||||
private $kernel;
|
||||
private $output;
|
||||
|
||||
public function __construct(KernelInterface $kernel)
|
||||
{
|
||||
$this->kernel = $kernel;
|
||||
$this->output = new ConsoleOutput();
|
||||
}
|
||||
|
||||
public function load(ObjectManager $manager): void
|
||||
{
|
||||
// app:Init
|
||||
$this->writeln('app:Init');
|
||||
$application = new Application($this->kernel);
|
||||
$application->setAutoExit(false);
|
||||
$input = new ArrayInput(['command' => 'app:Init']);
|
||||
$boutput = new BufferedOutput();
|
||||
$application->run($input, $boutput);
|
||||
$manager->flush();
|
||||
|
||||
// app:Synchro
|
||||
$manager->clear();
|
||||
$this->writeln('app:Synchro');
|
||||
$input = new ArrayInput(['command' => 'app:Synchro']);
|
||||
$boutput = new BufferedOutput();
|
||||
$application->run($input, $boutput);
|
||||
|
||||
// Assign id
|
||||
$metadata = $manager->getClassMetaData('App\Entity\Niveau01');
|
||||
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_NONE);
|
||||
$metadata->setIdGenerator(new AssignedGenerator());
|
||||
|
||||
$metadata = $manager->getClassMetaData('App\Entity\Niveau02');
|
||||
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_NONE);
|
||||
$metadata->setIdGenerator(new AssignedGenerator());
|
||||
|
||||
$metadata = $manager->getClassMetaData('App\Entity\Niveau03');
|
||||
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_NONE);
|
||||
$metadata->setIdGenerator(new AssignedGenerator());
|
||||
|
||||
$metadata = $manager->getClassMetaData('App\Entity\Niveau04');
|
||||
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_NONE);
|
||||
$metadata->setIdGenerator(new AssignedGenerator());
|
||||
|
||||
// Niveau 01
|
||||
$this->writeln('Niveau01');
|
||||
$csv = file_get_contents($this->kernel->getProjectDir().'/src/DataFixtures/niveau01.csv');
|
||||
$tab = $this->csv_to_array($csv);
|
||||
foreach ($tab as $lig) {
|
||||
$niveau01 = $manager->getRepository('App\Entity\Niveau01')->find($lig['id']);
|
||||
if (!$niveau01) {
|
||||
$niveau01 = new Niveau01();
|
||||
$niveau01->setId($lig['id']);
|
||||
$manager->persist($niveau01);
|
||||
}
|
||||
$niveau01->setLabel($lig['label']);
|
||||
$niveau01->setCode($lig['code']);
|
||||
$niveau01->setPostaladress($lig['postaladress']);
|
||||
$niveau01->setTelephonenumber($lig['telephonenumber']);
|
||||
$niveau01->setEmail($lig['email']);
|
||||
$niveau01->setApikey($lig['apikey']);
|
||||
|
||||
$manager->flush();
|
||||
}
|
||||
|
||||
// Niveau 02
|
||||
$this->writeln('Niveau02');
|
||||
$csv = file_get_contents($this->kernel->getProjectDir().'/src/DataFixtures/niveau02.csv');
|
||||
$tab = $this->csv_to_array($csv);
|
||||
foreach ($tab as $lig) {
|
||||
$niveau01 = $manager->getRepository('App\Entity\Niveau01')->findOneBy(['code' => $lig['codenv1']]);
|
||||
if (!$niveau01) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$niveau02 = $manager->getRepository('App\Entity\Niveau02')->find($lig['id']);
|
||||
if (!$niveau02) {
|
||||
$niveau02 = new Niveau02();
|
||||
$niveau02->setId($lig['id']);
|
||||
$manager->persist($niveau02);
|
||||
}
|
||||
$niveau02->setLabel($lig['label']);
|
||||
$niveau02->setCode($lig['code']);
|
||||
$niveau02->setPostaladress($lig['postaladress']);
|
||||
$niveau02->setTelephonenumber($lig['telephonenumber']);
|
||||
$niveau02->setEmail($lig['email']);
|
||||
$niveau02->setApikey($lig['apikey']);
|
||||
$niveau02->setNiveau01($niveau01);
|
||||
|
||||
$manager->flush();
|
||||
}
|
||||
|
||||
// Niveau 03
|
||||
$this->writeln('Niveau03');
|
||||
$csv = file_get_contents($this->kernel->getProjectDir().'/src/DataFixtures/niveau03.csv');
|
||||
$tab = $this->csv_to_array($csv);
|
||||
foreach ($tab as $lig) {
|
||||
$niveau02 = $manager->getRepository('App\Entity\Niveau02')->findOneBy(['code' => $lig['codenv2']]);
|
||||
if (!$niveau02) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$niveau03 = $manager->getRepository('App\Entity\Niveau03')->find($lig['id']);
|
||||
if (!$niveau03) {
|
||||
$niveau03 = new Niveau03();
|
||||
$niveau03->setId($lig['id']);
|
||||
$manager->persist($niveau03);
|
||||
}
|
||||
$niveau03->setLabel($lig['label']);
|
||||
$niveau03->setCode($lig['code']);
|
||||
$niveau03->setPostaladress($lig['postaladress']);
|
||||
$niveau03->setTelephonenumber($lig['telephonenumber']);
|
||||
$niveau03->setEmail($lig['email']);
|
||||
$niveau03->setApikey($lig['apikey']);
|
||||
$niveau03->setNiveau02($niveau02);
|
||||
|
||||
$manager->flush();
|
||||
}
|
||||
|
||||
// Niveau 04
|
||||
$this->writeln('Niveau04');
|
||||
$csv = file_get_contents($this->kernel->getProjectDir().'/src/DataFixtures/niveau04.csv');
|
||||
$tab = $this->csv_to_array($csv);
|
||||
foreach ($tab as $lig) {
|
||||
$niveau03 = $manager->getRepository('App\Entity\Niveau03')->findOneBy(['code' => $lig['codenv3']]);
|
||||
if (!$niveau03) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$niveau04 = $manager->getRepository('App\Entity\Niveau04')->find($lig['id']);
|
||||
if (!$niveau04) {
|
||||
$niveau04 = new Niveau04();
|
||||
$niveau04->setId($lig['id']);
|
||||
$manager->persist($niveau04);
|
||||
}
|
||||
$niveau04->setLabel($lig['label']);
|
||||
$niveau04->setCode($lig['code']);
|
||||
$niveau04->setPostaladress($lig['postaladress']);
|
||||
$niveau04->setTelephonenumber($lig['telephonenumber']);
|
||||
$niveau04->setEmail($lig['email']);
|
||||
$niveau04->setApikey($lig['apikey']);
|
||||
$niveau04->setNiveau03($niveau03);
|
||||
|
||||
$manager->flush();
|
||||
}
|
||||
|
||||
// User MODO
|
||||
$this->writeln('User Modo');
|
||||
$userid = -99;
|
||||
$usercpt = 0;
|
||||
$niveau01s = $manager->getRepository('App\Entity\Niveau01')->findAll();
|
||||
foreach ($niveau01s as $niveau01) {
|
||||
$userid = $userid - 1;
|
||||
$usercpt = $usercpt + 1;
|
||||
$username = 'modo'.str_pad($usercpt, 3, '0', STR_PAD_LEFT);
|
||||
|
||||
$user = $manager->getRepository('App\Entity\User')->find($userid);
|
||||
if (!$user) {
|
||||
$user = new User();
|
||||
$user->setId($userid);
|
||||
$manager->persist($user);
|
||||
|
||||
$usermodo = new UserModo();
|
||||
$usermodo->setUser($user);
|
||||
$usermodo->setNiveau01($niveau01);
|
||||
$manager->persist($usermodo);
|
||||
}
|
||||
|
||||
$user->setUsername($username);
|
||||
$user->setPassword($username);
|
||||
$user->setRoles(['ROLE_MODO']);
|
||||
$user->setFirstname(str_pad($usercpt, 3, '0', STR_PAD_LEFT));
|
||||
$user->setLastname('Modo');
|
||||
$user->setEmail($username.'@noreply.fr');
|
||||
$user->setIsvisible(true);
|
||||
$user->setIsactive(true);
|
||||
$user->setAvatar('noavatar.png');
|
||||
$user->setApikey($username);
|
||||
$user->setNiveau01($niveau01);
|
||||
|
||||
$manager->flush();
|
||||
}
|
||||
|
||||
// User MASTER
|
||||
$this->writeln('User Master');
|
||||
$userid = -199;
|
||||
$usercpt = 0;
|
||||
$niveau02s = $manager->getRepository('App\Entity\Niveau02')->findAll();
|
||||
foreach ($niveau02s as $niveau02) {
|
||||
$userid = $userid - 1;
|
||||
$usercpt = $usercpt + 1;
|
||||
$username = 'master'.str_pad($usercpt, 3, '0', STR_PAD_LEFT);
|
||||
|
||||
$user = $manager->getRepository('App\Entity\User')->find($userid);
|
||||
if (!$user) {
|
||||
$user = new User();
|
||||
$user->setId($userid);
|
||||
$manager->persist($user);
|
||||
}
|
||||
|
||||
$user->setUsername($username);
|
||||
$user->setPassword($username);
|
||||
$user->setRoles(['ROLE_MASTER']);
|
||||
$user->setFirstname(str_pad($usercpt, 3, '0', STR_PAD_LEFT));
|
||||
$user->setLastname('Master');
|
||||
$user->setEmail($username.'@noreply.fr');
|
||||
$user->setIsvisible(true);
|
||||
$user->setIsactive(true);
|
||||
$user->setAvatar('noavatar.png');
|
||||
$user->setApikey($username);
|
||||
$user->setNiveau01($niveau02->getNiveau01());
|
||||
$user->setNiveau02($niveau02);
|
||||
|
||||
$manager->flush();
|
||||
}
|
||||
|
||||
// User MANAGER
|
||||
$this->writeln('User Manager');
|
||||
$userid = -299;
|
||||
$usercpt = 0;
|
||||
$niveau03s = $manager->getRepository('App\Entity\Niveau03')->findAll();
|
||||
foreach ($niveau03s as $niveau03) {
|
||||
$userid = $userid - 1;
|
||||
$usercpt = $usercpt + 1;
|
||||
$username = 'manager'.str_pad($usercpt, 3, '0', STR_PAD_LEFT);
|
||||
|
||||
$user = $manager->getRepository('App\Entity\User')->find($userid);
|
||||
if (!$user) {
|
||||
$user = new User();
|
||||
$user->setId($userid);
|
||||
$manager->persist($user);
|
||||
}
|
||||
|
||||
$user->setUsername($username);
|
||||
$user->setPassword($username);
|
||||
$user->setRoles(['ROLE_MANAGER']);
|
||||
$user->setFirstname(str_pad($usercpt, 3, '0', STR_PAD_LEFT));
|
||||
$user->setLastname('Manager');
|
||||
$user->setEmail($username.'@noreply.fr');
|
||||
$user->setIsvisible(true);
|
||||
$user->setIsactive(true);
|
||||
$user->setAvatar('noavatar.png');
|
||||
$user->setApikey($username);
|
||||
$user->setNiveau01($niveau03->getNiveau02()->getNiveau01());
|
||||
$user->setNiveau02($niveau03->getNiveau02());
|
||||
$user->setNiveau03($niveau03);
|
||||
|
||||
$manager->flush();
|
||||
}
|
||||
|
||||
// User USER
|
||||
$this->writeln('User User');
|
||||
$userid = -399;
|
||||
$usercpt = 0;
|
||||
$niveau03s = $manager->getRepository('App\Entity\Niveau03')->findAll();
|
||||
foreach ($niveau03s as $niveau03) {
|
||||
$userid = $userid - 1;
|
||||
$usercpt = $usercpt + 1;
|
||||
$username = 'user'.str_pad($usercpt, 3, '0', STR_PAD_LEFT);
|
||||
|
||||
$user = $manager->getRepository('App\Entity\User')->find($userid);
|
||||
if (!$user) {
|
||||
$user = new User();
|
||||
$user->setId($userid);
|
||||
$manager->persist($user);
|
||||
}
|
||||
|
||||
$user->setUsername($username);
|
||||
$user->setPassword($username);
|
||||
$user->setRoles(['ROLE_USER']);
|
||||
$user->setFirstname(str_pad($usercpt, 3, '0', STR_PAD_LEFT));
|
||||
$user->setLastname('User');
|
||||
$user->setEmail($username.'@noreply.fr');
|
||||
$user->setIsvisible(true);
|
||||
$user->setIsactive(true);
|
||||
$user->setAvatar('noavatar.png');
|
||||
$user->setApikey($username);
|
||||
$user->setNiveau01($niveau03->getNiveau02()->getNiveau01());
|
||||
$user->setNiveau02($niveau03->getNiveau02());
|
||||
$user->setNiveau03($niveau03);
|
||||
|
||||
$manager->flush();
|
||||
}
|
||||
|
||||
// app:Synchro
|
||||
$manager->clear();
|
||||
$this->writeln('app:Synchro');
|
||||
$input = new ArrayInput(['command' => 'app:Synchro']);
|
||||
$boutput = new BufferedOutput();
|
||||
$application->run($input, $boutput);
|
||||
}
|
||||
|
||||
private function writeln($string)
|
||||
{
|
||||
$this->output->writeln(' <fg=yellow>></> <info>'.$string.'</info>');
|
||||
}
|
||||
|
||||
private function csv_to_array($csv, $delimiter = ';', $enclosure = '', $escape = '\\', $terminator = "\n")
|
||||
{
|
||||
$r = [];
|
||||
$rows = explode($terminator, trim($csv));
|
||||
|
||||
$names = array_shift($rows);
|
||||
$names = str_getcsv($names, $delimiter, $enclosure, $escape);
|
||||
$nc = count($names);
|
||||
foreach ($rows as $row) {
|
||||
if (trim($row)) {
|
||||
$values = str_getcsv($row, $delimiter, $enclosure, $escape);
|
||||
if (!$values) {
|
||||
$values = array_fill(0, $nc, null);
|
||||
}
|
||||
@$r[] = array_combine($names, $values);
|
||||
}
|
||||
}
|
||||
|
||||
return $r;
|
||||
}
|
||||
}
|
4
src/DataFixtures/niveau01.csv
Normal file
4
src/DataFixtures/niveau01.csv
Normal file
@ -0,0 +1,4 @@
|
||||
id;label;code;postaladress;telephonenumber;email;apikey
|
||||
-1;Nv01;Nv01;;;;Nv01
|
||||
-2;Nv02;Nv02;;;;Nv02
|
||||
-3;Nv03;Nv03;;;;Nv03
|
|
7
src/DataFixtures/niveau02.csv
Normal file
7
src/DataFixtures/niveau02.csv
Normal file
@ -0,0 +1,7 @@
|
||||
id;label;code;postaladress;telephonenumber;email;apikey;codenv1
|
||||
-1;Nv01Nv01;Nv01Nv01;;;;Nv01Nv01;Nv01
|
||||
-2;Nv01Nv02;Nv01Nv02;;;;Nv01Nv02;Nv01
|
||||
-3;Nv02Nv01;Nv02Nv01;;;;Nv02Nv01;Nv02
|
||||
-4;Nv02Nv02;Nv02Nv02;;;;Nv02Nv02;Nv02
|
||||
-5;Nv03Nv01;Nv03Nv01;;;;Nv03Nv01;Nv03
|
||||
-6;Nv03Nv02;Nv03Nv02;;;;Nv03Nv02;Nv03
|
|
13
src/DataFixtures/niveau03.csv
Normal file
13
src/DataFixtures/niveau03.csv
Normal file
@ -0,0 +1,13 @@
|
||||
id;label;code;postaladress;telephonenumber;email;apikey;codenv2
|
||||
-1;Nv01Nv01Nv01;Nv01Nv01Nv01;;;;Nv01Nv01Nv01;Nv01Nv01
|
||||
-2;Nv01Nv01Nv02;Nv01Nv01Nv02;;;;Nv01Nv01Nv02;Nv01Nv01
|
||||
-3;Nv01Nv02Nv01;Nv01Nv02Nv01;;;;Nv01Nv02Nv01;Nv01Nv02
|
||||
-4;Nv01Nv02Nv02;Nv01Nv02Nv02;;;;Nv01Nv02Nv02;Nv01Nv02
|
||||
-5;Nv02Nv01Nv01;Nv02Nv01Nv01;;;;Nv02Nv01Nv01;Nv02Nv01
|
||||
-6;Nv02Nv01Nv02;Nv02Nv01Nv02;;;;Nv02Nv01Nv02;Nv02Nv01
|
||||
-7;Nv02Nv02Nv01;Nv02Nv02Nv01;;;;Nv02Nv02Nv01;Nv02Nv02
|
||||
-8;Nv02Nv02Nv02;Nv02Nv02Nv02;;;;Nv02Nv02Nv02;Nv02Nv02
|
||||
-9;Nv03Nv01Nv01;Nv03Nv01Nv01;;;;Nv03Nv01Nv01;Nv03Nv01
|
||||
-10;Nv03Nv01Nv02;Nv03Nv01Nv02;;;;Nv03Nv01Nv02;Nv03Nv01
|
||||
-11;Nv03Nv02Nv01;Nv03Nv02Nv01;;;;Nv03Nv02Nv01;Nv03Nv02
|
||||
-12;Nv03Nv02Nv02;Nv03Nv02Nv02;;;;Nv03Nv02Nv02;Nv03Nv02
|
|
25
src/DataFixtures/niveau04.csv
Normal file
25
src/DataFixtures/niveau04.csv
Normal file
@ -0,0 +1,25 @@
|
||||
id;label;code;postaladress;telephonenumber;email;apikey;codenv3
|
||||
-1;Nv01Nv01Nv01Nv01;Nv01Nv01Nv01Nv01;;;;Nv01Nv01Nv01Nv01;Nv01Nv01Nv01
|
||||
-2;Nv01Nv01Nv01Nv02;Nv01Nv01Nv01Nv02;;;;Nv01Nv01Nv01Nv02;Nv01Nv01Nv01
|
||||
-3;Nv01Nv01Nv02Nv01;Nv01Nv01Nv02Nv01;;;;Nv01Nv01Nv02Nv01;Nv01Nv01Nv02
|
||||
-4;Nv01Nv01Nv02Nv02;Nv01Nv01Nv02Nv02;;;;Nv01Nv01Nv02Nv02;Nv01Nv01Nv02
|
||||
-5;Nv01Nv02Nv01Nv01;Nv01Nv02Nv01Nv01;;;;Nv01Nv02Nv01Nv01;Nv01Nv02Nv01
|
||||
-6;Nv01Nv02Nv01Nv02;Nv01Nv02Nv01Nv02;;;;Nv01Nv02Nv01Nv02;Nv01Nv02Nv01
|
||||
-7;Nv01Nv02Nv02Nv01;Nv01Nv02Nv02Nv01;;;;Nv01Nv02Nv02Nv01;Nv01Nv02Nv02
|
||||
-8;Nv01Nv02Nv02Nv02;Nv01Nv02Nv02Nv02;;;;Nv01Nv02Nv02Nv02;Nv01Nv02Nv02
|
||||
-9;Nv02Nv01Nv01Nv01;Nv02Nv01Nv01Nv01;;;;Nv02Nv01Nv01Nv01;Nv02Nv01Nv01
|
||||
-10;Nv02Nv01Nv01Nv02;Nv02Nv01Nv01Nv02;;;;Nv02Nv01Nv01Nv02;Nv02Nv01Nv01
|
||||
-11;Nv02Nv01Nv02Nv01;Nv02Nv01Nv02Nv01;;;;Nv02Nv01Nv02Nv01;Nv02Nv01Nv02
|
||||
-12;Nv02Nv01Nv02Nv02;Nv02Nv01Nv02Nv02;;;;Nv02Nv01Nv02Nv02;Nv02Nv01Nv02
|
||||
-13;Nv02Nv02Nv01Nv01;Nv02Nv02Nv01Nv01;;;;Nv02Nv02Nv01Nv01;Nv02Nv02Nv01
|
||||
-14;Nv02Nv02Nv01Nv02;Nv02Nv02Nv01Nv02;;;;Nv02Nv02Nv01Nv02;Nv02Nv02Nv01
|
||||
-15;Nv02Nv02Nv02Nv01;Nv02Nv02Nv02Nv01;;;;Nv02Nv02Nv02Nv01;Nv02Nv02Nv02
|
||||
-16;Nv02Nv02Nv02Nv02;Nv02Nv02Nv02Nv02;;;;Nv02Nv02Nv02Nv02;Nv02Nv02Nv02
|
||||
-17;Nv03Nv01Nv01Nv01;Nv03Nv01Nv01Nv01;;;;Nv03Nv01Nv01Nv01;Nv03Nv01Nv01
|
||||
-18;Nv03Nv01Nv01Nv02;Nv03Nv01Nv01Nv02;;;;Nv03Nv01Nv01Nv02;Nv03Nv01Nv01
|
||||
-19;Nv03Nv01Nv02Nv01;Nv03Nv01Nv02Nv01;;;;Nv03Nv01Nv02Nv01;Nv03Nv01Nv02
|
||||
-20;Nv03Nv01Nv02Nv02;Nv03Nv01Nv02Nv02;;;;Nv03Nv01Nv02Nv02;Nv03Nv01Nv02
|
||||
-21;Nv03Nv02Nv01Nv01;Nv03Nv02Nv01Nv01;;;;Nv03Nv02Nv01Nv01;Nv03Nv02Nv01
|
||||
-22;Nv03Nv02Nv01Nv02;Nv03Nv02Nv01Nv02;;;;Nv03Nv02Nv01Nv02;Nv03Nv02Nv01
|
||||
-23;Nv03Nv02Nv02Nv01;Nv03Nv02Nv02Nv01;;;;Nv03Nv02Nv02Nv01;Nv03Nv02Nv02
|
||||
-24;Nv03Nv02Nv02Nv02;Nv03Nv02Nv02Nv02;;;;Nv03Nv02Nv02Nv02;Nv03Nv02Nv02
|
|
@ -104,14 +104,6 @@ class Niveau01
|
||||
*/
|
||||
private $modos;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->niveau02s = new ArrayCollection();
|
||||
$this->registrations = new ArrayCollection();
|
||||
$this->users = new ArrayCollection();
|
||||
$this->modos = new ArrayCollection();
|
||||
}
|
||||
|
||||
// == CODE A NE PAS REGENERER
|
||||
public function setId(int $id): self
|
||||
{
|
||||
@ -121,6 +113,14 @@ class Niveau01
|
||||
}
|
||||
// == FIN DU CODE A NE PAS REGENERER
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->niveau02s = new ArrayCollection();
|
||||
$this->registrations = new ArrayCollection();
|
||||
$this->users = new ArrayCollection();
|
||||
$this->modos = new ArrayCollection();
|
||||
}
|
||||
|
||||
public function getId(): ?int
|
||||
{
|
||||
return $this->id;
|
||||
|
@ -87,6 +87,15 @@ class Niveau02
|
||||
*/
|
||||
private $users;
|
||||
|
||||
// == CODE A NE PAS REGENERER
|
||||
public function setId(int $id): self
|
||||
{
|
||||
$this->id = $id;
|
||||
|
||||
return $this;
|
||||
}
|
||||
// == FIN DU CODE A NE PAS REGENERER
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->niveau03s = new ArrayCollection();
|
||||
|
@ -101,7 +101,14 @@ class Niveau03
|
||||
|
||||
return $this;
|
||||
}
|
||||
// ==
|
||||
|
||||
public function setId(int $id): self
|
||||
{
|
||||
$this->id = $id;
|
||||
|
||||
return $this;
|
||||
}
|
||||
// == FIN DU CODE A NE PAS REGENERER
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
|
@ -108,7 +108,13 @@ class Niveau04
|
||||
return $this;
|
||||
}
|
||||
|
||||
// ==
|
||||
public function setId(int $id): self
|
||||
{
|
||||
$this->id = $id;
|
||||
|
||||
return $this;
|
||||
}
|
||||
// == FIN DU CODE A NE PAS REGENERER
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
|
@ -181,13 +181,15 @@ class UserType extends AbstractType
|
||||
);
|
||||
}
|
||||
|
||||
$choices = ['oui' => '1', 'non' => '0'];
|
||||
$builder->add('isvisible',
|
||||
ChoiceType::class, [
|
||||
'label' => 'Visible',
|
||||
'choices' => $choices,
|
||||
]
|
||||
);
|
||||
if (('all' != $access && 'manager' != $access) || $options['appUserviewisvisible']) {
|
||||
$choices = ['oui' => '1', 'non' => '0'];
|
||||
$builder->add('isvisible',
|
||||
ChoiceType::class, [
|
||||
'label' => 'Visible',
|
||||
'choices' => $choices,
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
$builder->add('postaladress',
|
||||
TextareaType::class, [
|
||||
@ -285,6 +287,7 @@ class UserType extends AbstractType
|
||||
'appNiveau04use' => 'string',
|
||||
'appNiveau04label' => 'string',
|
||||
'appNiveauupdatable' => 'string',
|
||||
'appUserviewisvisible' => 'string',
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
@ -44,6 +44,10 @@ class AppSession
|
||||
$session->set('colorbgbodydark-darkrgb', $this->hexToRgb($session->get('colorbgbodydark-darker')));
|
||||
$session->set('colorbgbodydark-lightrgb', $this->hexToRgb($session->get('colorbgbodydark-lighter')));
|
||||
|
||||
// Préférence par défaut
|
||||
$session->set('fgheader', true);
|
||||
$session->set('fgaudit', false);
|
||||
|
||||
// Current user
|
||||
$token = $this->token->getToken();
|
||||
if (!$token) {
|
||||
@ -51,10 +55,6 @@ class AppSession
|
||||
}
|
||||
$curentuser = $token->getUser();
|
||||
|
||||
// Préférence par défaut
|
||||
$session->set('fgheader', true);
|
||||
$session->set('fgaudit', false);
|
||||
|
||||
// Préférence
|
||||
if ('anon.' != $curentuser) {
|
||||
$preference = $curentuser->getPreference();
|
||||
|
12
symfony.lock
12
symfony.lock
@ -22,6 +22,18 @@
|
||||
"src/Repository/.gitignore"
|
||||
]
|
||||
},
|
||||
"doctrine/doctrine-fixtures-bundle": {
|
||||
"version": "3.4",
|
||||
"recipe": {
|
||||
"repo": "github.com/symfony/recipes",
|
||||
"branch": "main",
|
||||
"version": "3.0",
|
||||
"ref": "1f5514cfa15b947298df4d771e694e578d4c204d"
|
||||
},
|
||||
"files": [
|
||||
"src/DataFixtures/AppFixtures.php"
|
||||
]
|
||||
},
|
||||
"doctrine/doctrine-migrations-bundle": {
|
||||
"version": "3.2",
|
||||
"recipe": {
|
||||
|
@ -13,5 +13,13 @@
|
||||
{{ render(path("app_publish_sample",{id:2})) }}
|
||||
</div>
|
||||
</div>
|
||||
{% else %}
|
||||
<div style="text-align:center">
|
||||
<img src="{{ path('app_minio_image',{file:"logo/"~app.session.get("logolight")}) }}" style="height:120px;margin-top:10px;margin-bottom:20px;">
|
||||
<h1 style="border:none">{{app.session.get('appname')}}</h1>
|
||||
<div style="max-width:600px; text-align:justify; margin:auto ">{{app.session.get('appdescription')|raw}}</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% endblock %}
|
||||
|
@ -11,7 +11,7 @@
|
||||
{% block body %}
|
||||
{{ form_start(form) }}
|
||||
<h1 class="page-header">
|
||||
{% if access=="admin" or access=="modo" %}
|
||||
{% if access=="admin" or access=="modo" or access=="manager" %}
|
||||
{% if mode=="update" %}
|
||||
Modification Utilisateur = {{ user.username}}
|
||||
{% else %}
|
||||
@ -191,7 +191,7 @@
|
||||
{{ form_row(form.firstname) }}
|
||||
{{ form_row(form.lastname) }}
|
||||
{{ form_row(form.email) }}
|
||||
{{ form_row(form.isvisible) }}
|
||||
{%if form.isvisible is defined %}{{ form_row(form.isvisible) }}{%endif%}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -29,7 +29,7 @@
|
||||
<table class="table table-striped table-bordered table-hover wrap" id="dataTables" style="width:100%; font-size:11px;">
|
||||
<thead>
|
||||
<tr>
|
||||
{% if access=="admin" or access=="modo"%}
|
||||
{% if access=="admin" or access=="modo" or access=="manager"%}
|
||||
<th class="no-sort">Action</th>
|
||||
{% endif %}
|
||||
|
||||
@ -67,6 +67,9 @@
|
||||
{% elseif access=="modo" %}
|
||||
order: [[ 2, "asc" ]],
|
||||
ajax: "{{ path('app_modo_user_tablelist') }}",
|
||||
{% elseif access=="manager" %}
|
||||
order: [[ 2, "asc" ]],
|
||||
ajax: "{{ path('app_manager_user_tablelist') }}",
|
||||
{% else %}
|
||||
order: [[ 1, "asc" ]],
|
||||
ajax: "{{ path('app_all_user_tablelist') }}",
|
||||
|
@ -3,6 +3,8 @@
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html"; charset="utf-8" />
|
||||
<title>{% block title %}{{app.session.get("appname")}}{% endblock %}</title>
|
||||
<meta name="description" content="{{app.session.get("appdescription")|striptags|raw}}">
|
||||
|
||||
<link rel="shortcut icon" href="{{ path('app_minio_image',{file:"logo/"~app.session.get("logodark")}) }}" />
|
||||
|
||||
|
||||
@ -33,7 +35,7 @@
|
||||
{{app.session.get("appname")}}
|
||||
</a>
|
||||
<br>
|
||||
<small>{{app.session.get("appsubname")}}</small>
|
||||
<small><a href="{{ path('app_home')}}">{{app.session.get("appsubname")}}</a></small>
|
||||
</h1>
|
||||
|
||||
<div class="pe-3">
|
||||
|
Loading…
Reference in New Issue
Block a user