Ejemplo n.º 1
0
	/**
	 * (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();
	}
Ejemplo n.º 2
0
	/**
	 * 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;
	}