コード例 #1
0
 public function testGetOldPaths()
 {
     $this->assertEmpty($this->storage->getOldPaths());
     $this->storage->setPath('foo');
     $this->assertEmpty($this->storage->getOldPaths());
     $this->storage->setPath('bar');
     $this->assertEquals(['foo'], $this->storage->getOldPaths());
     $this->storage->setPath('baz');
     $this->assertEquals(['foo', 'bar'], $this->storage->getOldPaths());
 }
コード例 #2
0
 /**
  * Add storage (Stap #2).
  *
  * @param Request $request
  *
  * @return Response
  */
 public function addStorageAction(Request $request)
 {
     // app already installed
     if ($this->container->getParameter('anime_db.catalog.installed')) {
         return $this->redirect($this->generateUrl('home'));
     }
     $response = $this->getCacheTimeKeeper()->getResponse('AnimeDbCatalogBundle:Storage');
     // response was not modified for this request
     if ($response->isNotModified($request)) {
         return $response;
     }
     // get last storage
     $storage = $this->getRepository()->getLast();
     if (!$storage) {
         $storage = new Storage();
         $storage->setPath(Filesystem::getUserHomeDir());
     }
     $form = $this->createForm(new StorageForm(), $storage)->handleRequest($request);
     if ($form->isValid()) {
         $em = $this->getDoctrine()->getManager();
         $em->persist($storage);
         $em->flush();
         // redirect to step 3
         return $this->redirect($this->generateUrl('install_what_you_want'));
     }
     return $this->render('AnimeDbCatalogBundle:Install:add_storage.html.twig', ['form' => $form->createView(), 'is_new' => !$storage->getId(), 'guide' => $this->get('anime_db.api.client')->getSiteUrl(StorageController::GUIDE_LINK)], $response);
 }