вівторок, 15 березня 2011 р.

Symfony admin many-to-many safe delete - Безпечне видалення записів many-to-many

Безпечне видалення записів 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().

Немає коментарів:

Дописати коментар