public function delete(LangDeleteEvent $event) { if (null !== ($lang = LangQuery::create()->findPk($event->getLangId()))) { $lang->setDispatcher($event->getDispatcher())->delete(); $event->setLang($lang); } }
public function delete(LangDeleteEvent $event) { if (null !== ($lang = LangQuery::create()->findPk($event->getLangId()))) { if ($lang->getByDefault()) { throw new \RuntimeException(Translator::getInstance()->trans('It is not allowed to delete the default language')); } $lang->setDispatcher($event->getDispatcher())->delete(); $event->setLang($lang); } }
public function delete(LangDeleteEvent $event) { if (null !== ($lang = LangQuery::create()->findPk($event->getLangId()))) { if ($lang->getByDefault()) { throw new \RuntimeException(Translator::getInstance()->trans('It is not allowed to delete the default language')); } $lang->setDispatcher($event->getDispatcher())->delete(); $session = $this->request->getSession(); // If we've just deleted the current admin edition language, set it to the default one. if ($lang->getId() == $session->getAdminEditionLang()->getId()) { $session->setAdminEditionLang(LangModel::getDefaultLanguage()); } // If we've just deleted the current admin language, set it to the default one. if ($lang->getId() == $session->getLang()->getId()) { $session->setLang(LangModel::getDefaultLanguage()); } $event->setLang($lang); } }
/** * @param LangModel $lang * @depends testToggleDefault */ public function testDelete(LangModel $lang) { $event = new LangDeleteEvent($lang->getId()); $event->setDispatcher($this->dispatcher); $action = new Lang(); $action->delete($event); $deletedLang = $event->getLang(); $this->assertInstanceOf('Thelia\\Model\\Lang', $deletedLang); $this->assertTrue($deletedLang->isDeleted()); }
/** * @expectedException \RuntimeException * @expectedExceptionMessage It is not allowed to delete the default language */ public function testDeleteDefault() { $lang = LangQuery::create()->findOneByByDefault(1); $event = new LangDeleteEvent($lang->getId()); $event->setDispatcher($this->dispatcher); $action = new Lang(new TheliaTemplateHelper(), $this->request); $action->delete($event); }
/** * @expectedException \RuntimeException * @expectedExceptionMessage It is not allowed to delete the default language */ public function testDeleteDefault() { self::tearDownAfterClass(); $lang = LangQuery::create()->findOneByByDefault(1); $event = new LangDeleteEvent($lang->getId()); $event->setDispatcher($this->dispatcher); $action = new Lang(); $action->delete($event); }