/** * Update translation * * PUT /api/translations/{id} */ public function putAction() { $useNumberAsId = (bool) $this->Request()->getParam('useNumberAsId', 0); $id = $this->Request()->getParam('id'); $params = $this->Request()->getPost(); if ($useNumberAsId) { $translation = $this->resource->updateByNumber($id, $params); } else { $translation = $this->resource->update($id, $params); } $location = $this->apiBaseUrl . 'translations/' . $translation['id']; $data = array('id' => $translation['id'], 'location' => $location); $this->View()->assign(array('success' => true, 'data' => $data)); }
/** * @expectedException \Shopware\Components\Api\Exception\ParameterMissingException */ public function testUpdateMissingId() { $data = $this->getDummyData('article'); $this->resource->update(null, $data); }
/** * Create the TS-Article translation * * @param ArticleModel $articleModel * @param bool $isUpdate * @throws ParameterMissingException */ private function createArticleTranslation(ArticleModel $articleModel, $isUpdate = false) { /* @var Translation $translationResource */ $translationResource = new Translation(); $translationResource->setManager($this->em); if ($isUpdate) { $translationResource->update($articleModel->getId(), $this->getTranslationArray()); } else { $translationResource->create(array_merge(array('key' => $articleModel->getId()), $this->getTranslationArray())); } }