public function tearDown() { while (($language = array_pop($this->createdLanguages)) !== null) { $this->languageService->deleteLanguage($language); } parent::tearDown(); }
/** * Deletes a language. * * @param mixed $languageId * * @return \Symfony\Component\HttpFoundation\Response */ public function deleteAction(Request $request, $languageId, $redirectErrorsTo = 'list') { $language = $this->languageService->loadLanguageById($languageId); $deleteForm = $this->createForm(new LanguageDeleteType($this->languageService), ['languageId' => $languageId]); $deleteForm->handleRequest($request); if ($deleteForm->isValid()) { $this->languageService->deleteLanguage($language); $this->notify('language.deleted', ['%languageName%' => $language->name], 'language'); return $this->redirectToRouteAfterFormPost('admin_languagelist'); } // Form validation failed. Send errors as notifications. foreach ($deleteForm->getErrors(true) as $error) { $this->notifyErrorPlural($error->getMessageTemplate(), $error->getMessagePluralization(), $error->getMessageParameters(), 'ezrepoforms_language'); } return $this->redirectToRouteAfterFormPost("admin_language{$redirectErrorsTo}", ['languageId' => $languageId]); }
/** * Deletes a language from content repository * * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException * if language can not be deleted * because it is still assigned to some content / type / (...). * @throws \eZ\Publish\API\Repository\Exceptions\UnauthorizedException If user is not allowed to delete a language * * @param \eZ\Publish\API\Repository\Values\Content\Language $language */ public function deleteLanguage(Language $language) { $returnValue = $this->service->deleteLanguage($language); $this->signalDispatcher->emit(new DeleteLanguageSignal(array('languageId' => $language->id))); return $returnValue; }