Я использую генератор администратора Symfony 1.4/Doctrine.
Есть список вопросов, и я хотел бы иметь возможность выполнять собственное object_action для каждого из них.
То, что я ищу, - это имитировать действие объекта _delete, но перед этим выполнить некоторые вычисления.
Итак, я создал новое действие:
public function executeListDeleteAndRecalculate(sfWebrequest $request)
{
// Do the calculation
// Then delete the question
}
И я добавляю его в свой генератор.yml:
object_actions:
delete_and_recalculate: ~
новое действие отображается в генераторе администратора, но часть удаления не работает.
Я пробовал кучу вещей, чтобы заставить его работать:
- После того, как все расчеты были сделаны, я сначала попытался перенаправить на действие
questionActions/delete. - Я также попытался скопировать код
executeDeleteв свое новое действие.
Но каждый раз, когда я получаю печально известный
500 | Внутренняя ошибка сервера | sfValidatorErrorSchema _csrf_token [Обязательно.]
Итак, я предполагаю, что Symfony творит магию, прежде чем фактически удалить объект.
Знаете ли вы, что я упустил и как лучше всего реализовать действие типа удаления и пересчета?
Изменить:
Конечно, если я удалю $request->checkCSRFProtection();, все будет работать нормально. Но я предполагаю, что это очень важно, поэтому я хотел бы найти более красивое решение.