Exemple #1
0
 /**
  * @expectedException \eZ\Publish\API\Repository\Exceptions\UnauthorizedException
  *
  * @covers \Netgen\TagsBundle\Core\Repository\TagsService::addSynonym
  */
 public function testAddSynonymThrowsUnauthorizedException()
 {
     $createStruct = $this->tagsService->newSynonymCreateStruct(40, 'eng-GB');
     $createStruct->setKeyword('New synonym');
     $this->repository->setCurrentUser($this->getStubbedUser(10));
     $this->tagsService->addSynonym($createStruct);
 }
 /**
  * Parse input structure.
  *
  * @param array $data
  * @param \eZ\Publish\Core\REST\Common\Input\ParsingDispatcher $parsingDispatcher
  *
  * @return \Netgen\TagsBundle\API\Repository\Values\Tags\SynonymCreateStruct
  */
 public function parse(array $data, ParsingDispatcher $parsingDispatcher)
 {
     if (!array_key_exists('mainLanguageCode', $data)) {
         throw new Exceptions\Parser("Missing 'mainLanguageCode' element for SynonymCreate.");
     }
     $synonymCreateStruct = $this->tagsService->newSynonymCreateStruct(null, $data['mainLanguageCode']);
     if (array_key_exists('remoteId', $data)) {
         $synonymCreateStruct->remoteId = $data['remoteId'];
     }
     if (array_key_exists('alwaysAvailable', $data)) {
         $synonymCreateStruct->alwaysAvailable = $this->parserTools->parseBooleanValue($data['alwaysAvailable']);
     }
     if (array_key_exists('names', $data)) {
         if (!is_array($data['names']) || !array_key_exists('value', $data['names']) || !is_array($data['names']['value'])) {
             throw new Exceptions\Parser("Invalid 'names' element for SynonymCreate.");
         }
         $keywords = $this->parserTools->parseTranslatableList($data['names']);
         foreach ($keywords as $languageCode => $keyword) {
             $synonymCreateStruct->setKeyword($keyword, $languageCode);
         }
     }
     return $synonymCreateStruct;
 }
 /**
  * Instantiates a new synonym create struct.
  *
  * @param mixed $mainTagId
  * @param string $mainLanguageCode
  *
  * @return \Netgen\TagsBundle\API\Repository\Values\Tags\SynonymCreateStruct
  */
 public function newSynonymCreateStruct($mainTagId, $mainLanguageCode)
 {
     return $this->service->newSynonymCreateStruct($mainTagId, $mainLanguageCode);
 }