Безпечне видалення записів many-to-many в Symfony admin.
В згенерованому файлі modules/mymodule/actions.сlass.php слід перезвантажити метод executeDelete:
public function executeDelete(sfWebRequest $request)
{
$request->checkCSRFProtection();
$this->dispatcher->notify(new sfEvent($this, 'admin.delete_object', array('object' => $this->getRoute()->getObject())));
if(count($this->getRoute()->getObject()->getDetail()) > 0) {
$this->getUser()->setFlash('error', 'Не вдалось видалити. У вас є деталі цієї підкатегорії. Видаліть спочатку їх.');
$this->redirect('@subcategory');
}
if ($this->getRoute()->getObject()->delete())
{
$this->getUser()->setFlash('notice', 'The item was deleted successfully.');
}
$this->redirect('@subcategory');
}
В цьому випадку, якщо у вас будуть деталі цієї підкатегорії, замість помилки ви отримаєте флеш-повідомлення. Таким само варто перезавантажити і метод batchDelete().
вівторок, 15 березня 2011 р.
Symfony admin many-to-many safe delete - Безпечне видалення записів many-to-many
Підписатися на:
Дописати коментарі (Atom)
Немає коментарів:
Дописати коментар