/** * @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; }
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; }