/** * Remove Material from Multimedia Object */ public function removeMaterialFromMultimediaObject(MultimediaObject $multimediaObject, $materialId) { $material = $multimediaObject->getMaterialById($materialId); $materialPath = $material->getPath(); $multimediaObject->removeMaterialById($materialId); $this->dm->persist($multimediaObject); $this->dm->flush(); if ($this->forceDeleteOnDisk && $materialPath) { $this->deleteFileOnDisk($materialPath); } return $multimediaObject; }
/** * @ParamConverter("multimediaObject", class="PumukitSchemaBundle:MultimediaObject", options={"id" = "mmId"}) */ public function updateAction(MultimediaObject $multimediaObject, Request $request) { $translator = $this->get('translator'); $locale = $request->getLocale(); $material = $multimediaObject->getMaterialById($request->get('id')); $form = $this->createForm(new MaterialType($translator, $locale), $material); if (($request->isMethod('PUT') || $request->isMethod('POST')) && $form->bind($request)->isValid()) { try { $multimediaObject = $this->get('pumukitschema.material')->updateMaterialInMultimediaObject($multimediaObject); } catch (\Exception $e) { $this->get('session')->getFlashBag()->add('error', $e->getMessage()); } return $this->redirect($this->generateUrl('pumukitnewadmin_material_list', array('id' => $multimediaObject->getId()))); } return $this->render('PumukitNewAdminBundle:Material:update.html.twig', array('material' => $material, 'form' => $form->createView(), 'mmId' => $multimediaObject->getId())); }