src/Controller/DashboardController.php line 28
<?phpnamespace App\Controller;use App\Entity\Document;use App\Entity\Media;use App\Entity\Tag;use App\Form\DocumentType;use App\Repository\DocumentRepository;use App\Repository\GroupeRepository;use App\Repository\MediaRepository;use App\Repository\TagRepository;use App\Service\DisplaySize;use App\Service\DocumentService;use App\Service\FileUploader;use Doctrine\ORM\EntityManagerInterface;use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;use Symfony\Component\HttpFoundation\Request;use Symfony\Component\HttpFoundation\Response;use Symfony\Component\Routing\Annotation\Route;#[Route(path: '/dashboard')]class DashboardController extends AbstractController{public const NBRE_DOCS = 5;#[Route(path: '/{tagId}', name: 'dashboard_index', methods: ['GET', 'POST'])]public function index(DocumentRepository $documentRepository,MediaRepository $mediaRepository,TagRepository $tagRepository,Request $request,EntityManagerInterface $entityManager,FileUploader $fileUploader,GroupeRepository $groupeRepository,DisplaySize $displaySize,DocumentService $ds,Tag $tagId = null,): Response {$newDoc = new Document();$groupe = $groupeRepository->findAll();$newDoc->addGroupe($groupe[0]);$newDoc->setDateAjout(new \DateTime());$documents = [];$form = $this->createForm(DocumentType::class, $newDoc);$form->handleRequest($request);if ($form->isSubmitted() && $form->isValid()) {$newDoc->setDateAjout(new \DateTime());$fichier = $form->get('fichier')->getData();if ($fichier) {$uploaded = new Media();$uploaded = $fileUploader->upload($fichier);$newDoc->setDoc($uploaded);}$entityManager->persist($newDoc);$entityManager->flush();$this->addFlash('success','Le document a été créé !');return $this->redirectToRoute('dashboard_index');}$tags = $tagRepository->findAll();if ($tagId) {$tag = $tagId;} else {$tag = $tags[array_key_first($tags)];}$docsTag = $tag->getDocuments()->toArray();/** @var \App\Entity\User|null $user */$user = $this->getUser();if ($this->isGranted('ROLE_ADMIN')) {$documents = $documentRepository->findBy([], ['id' => 'DESC'], self::NBRE_DOCS);} else {$grps = $user->getGroupes();foreach ($grps as $groupe) {foreach ($groupe->getDocuments() as $doc) {$documents[$doc->getId()] = $doc;}$documents = \array_slice($documents, self::NBRE_DOCS * -1);$documents = array_reverse($documents);}}$documents = $ds->docFilter($documents);$docsTag = $ds->docFilter($docsTag);$docsTag = \array_slice($docsTag, self::NBRE_DOCS * -1);$sizeTotal = $mediaRepository->getSize();$sizeTotalDisplay = $displaySize->getSize((string) $sizeTotal);return $this->render('dashboard/index.html.twig', ['docsTous' => $documents,'docsTag' => $docsTag,'maxDocs' => self::NBRE_DOCS,// 'titre' => 'Actions','tags' => $tags,'tagDefault' => $tag,'controller_name' => 'DashboardController','sizetotalDisplay' => $sizeTotalDisplay,'nbreTotalDocs' => $documentRepository->countDocs(),'form' => $form->createView(),]);}}