/** * (non-PHPdoc) * @see de\RaumZeitLabor\PartKeepr\Service.RestfulService::create() */ public function create () { $this->requireParameter("tmp_id"); $this->requireParameter("footprint_id"); $tmpImage = TempUploadedFile::loadById($this->getParameter("tmp_id")); $file = new FootprintAttachment(); $footprint = Footprint::loadById($this->getParameter("footprint_id")); $file->setFootprint($footprint); $file->replace($tmpImage->getFilename()); $file->setOriginalFilename($tmpImage->getOriginalFilename()); $file->setDescription($this->getParameter("description")); PartKeepr::getEM()->persist($file); PartKeepr::getEM()->flush(); return $file->serialize(); }
/** * Finds or creates a footprint by name. * * @param mixed $footprint Either the ID or the footprint's name to find */ public function getOrCreateFootprint ($footprint) { try { $footprint = Footprint::loadById($footprint); return $footprint; } catch (EntityNotFoundException $e) {} $dql = "SELECT f FROM de\RaumZeitLabor\PartKeepr\Footprint\Footprint f WHERE f.name = :name"; $query = PartKeepr::getEM()->createQuery($dql); $query->setParameter("name", $footprint); try { $footprint = $query->getSingleResult(); return $footprint; } catch (\Exception $e) {} $fp = new Footprint(); $fp->setName($footprint); PartKeepr::getEM()->persist($fp); return $fp; }