/**
  * @param Request $request
  *
  * @return JsonResponse
  */
 public function addAction(Request $request)
 {
     $data = json_decode($request->getContent());
     $parentDirectory = $this->getDoctrine()->getRepository('RIFileManagerBundle:Directory')->find($data->dir_id);
     $directory = new Directory();
     $directory->setName($data->name);
     $directory->setParent($parentDirectory);
     $this->getDoctrine()->getManager()->persist($directory);
     $this->getDoctrine()->getManager()->flush();
     return new JsonResponse($this->get('ri.filemanager.data_provider.directory_data_provider')->convertDirectoryEntityToArray($directory));
 }
 /**
  * @param Directory $directory
  * @param bool      $convert
  *
  * @return array
  */
 public function getDirectoryParentsList(Directory $directory, $convert = true)
 {
     $parentsArray = array();
     $parent = $directory->getParent();
     while ($parent) {
         if ($convert) {
             $parentData = $this->convertDirectoryEntityToArray($parent);
             array_unshift($parentsArray, $parentData);
         } else {
             array_unshift($parentsArray, $parent);
         }
         $parent = $parent->getParent();
     }
     return $parentsArray;
 }
Esempio n. 3
0
 public function load(ObjectManager $manager)
 {
     $directory1 = new Directory();
     $directory1->setName('Dir one');
     $directory1->setParent(null);
     $manager->persist($directory1);
     $directory2 = new Directory();
     $directory2->setName('Dir second');
     $directory2->setParent(null);
     $manager->persist($directory2);
     $directory3 = new Directory();
     $directory3->setName('subdir of dir one');
     $directory3->setParent($directory1);
     $manager->persist($directory3);
     $this->addReference('directory1', $directory1);
     $this->addReference('directory2', $directory2);
     $this->addReference('directory3', $directory3);
     $manager->flush();
 }
 /**
  * Set necessary mocks
  */
 private function setMocks()
 {
     $directory1 = new Directory();
     $directory1->setName('first');
     $directory2 = new Directory();
     $directory2->setName('second');
     $directory3 = new Directory();
     $directory3->setName('subfirst');
     $this->directories = array(self::DIR_ID_1 => $directory1, self::DIR_ID_2 => $directory2, self::DIR_ID_1_1 => $directory3);
     $file1 = new File();
     $file1->setDirectory($directory1);
     $file1->setPath('/../../web/abc.jpg');
     $file2 = new File();
     $file2->setDirectory($directory2);
     $file2->setPath('/../../web/xyz.jpg');
     $this->files = array();
     $this->files[self::FILE_ID_1] = $file1;
     $this->files[self::FILE_ID_2] = $file2;
 }