/** * @Route("/user/prefs/edit", name="editPrefsUser") * @param UserInterface|User $user * @param Request $request * @return \Symfony\Component\HttpFoundation\RedirectResponse|Response */ public function editAction(UserInterface $user, Request $request) { $prefs = $user->getPrefs(); $form = $this->createForm(UserPrefsType::class, $prefs); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { /* @var $translator \Symfony\Bundle\FrameworkBundle\Translation\Translator */ $translator = $this->get('translator'); $message = $translator->trans('prefs.saved', [], 'prefs'); $user->savePrefs($prefs); $this->addFlash('success', $message); return $this->redirectToRoute('viewPrefsUser'); } return $this->render('@App/User/editPrefs.html.twig', array('form' => $form->createView())); }
/** * @Route("{institutionCode}/{collectionCode}/stats/{page}", name="stats",defaults={ "page" = 1}, * requirements={"page": "\d+"}) * @param UserInterface|User $user * @param string $institutionCode * @param string $collectionCode * @param int $page * @return Response */ public function statsAction(UserInterface $user, $institutionCode, $collectionCode, $page = 1) { /** @var Prefs $prefs */ $prefs = $user->getPrefs(); $collection = $this->get('utility')->getCollection($institutionCode, $collectionCode, $user); $statsManager = $this->get('statsmanager')->init($user, $collection); list($statsBySimilarity, $catalogNumbers) = $statsManager->getStatsBySimilarity([], $prefs->getCsvDateFormat()); $sumStats = $statsManager->getSumStats(); $paginator = $this->get('knp_paginator'); /** @var AbstractPagination $pagination */ $pagination = $paginator->paginate($statsBySimilarity, $page, 100); /* @var $exportManager \AppBundle\Manager\ExportManager */ $exportManager = $this->get('exportmanager')->init($user)->setCollection($collection); $taxons = $exportManager->getDiffHandler()->getTaxons($catalogNumbers); return $this->render('@App/Front/stats.html.twig', array('collection' => $collection, 'sumStats' => $sumStats, 'pagination' => $pagination, 'keyRecolnat' => AbstractDiff::KEY_RECOLNAT, 'keyInstitution' => AbstractDiff::KEY_INSTITUTION, 'taxons' => $taxons)); }