Newscoop\NewscoopBundle\Controller\TopicsController::deleteTranslationAction PHP Метод

deleteTranslationAction() публичный Метод

public deleteTranslationAction ( Request $request, $id )
$request Symfony\Component\HttpFoundation\Request
    public function deleteTranslationAction(Request $request, $id)
    {
        $translator = $this->get('translator');
        $cacheService = $this->get('newscoop.cache');
        $em = $this->get('em');
        $topicTranslation = $em->getRepository('Newscoop\\NewscoopBundle\\Entity\\TopicTranslation')->findOneBy(array('id' => $id));
        if (!$topicTranslation) {
            return new JsonResponse(array('status' => false, 'message' => $translator->trans('topics.failedfindTranslation', array('%id%' => $id), 'topics')), 404);
        }
        if ($topicTranslation->getIsDefault()) {
            return new JsonResponse(array('status' => false, 'message' => $translator->trans('topics.failedremoveTranslation', array(), 'topics')), 403);
        }
        $em->remove($topicTranslation);
        $em->flush();
        $cacheService->clearNamespace('topic');
        return new JsonResponse(array('status' => true, 'message' => $translator->trans('topics.removedTranslation', array(), 'topics')));
    }