Я думаю, что вы можете сделать это несколькими способами.
Вы можете скрыть ссылку на новое действие, но это не очень хорошо, потому что пользователи могут создавать новые оценки с прямымссылка на сайт.
Поэтому я рекомендую вам следующий путь.
Перейти к кэш / бэкэнд / prod / modules / autoNamemodule / action / action.class.php
Копировать в apps /backend / modules / Namemodule / action / action.class.php
next
public function executeNew(sfWebRequest $request)
{
$this->form = $this->configuration->getForm();
$this->product = $this->form->getObject();
}
Чем вам нужно проверить статус.У меня нет имени таблицы БД, например,
public function executeNew(sfWebRequest $request)
{
$id = $request->getParameter('id', false);
if (ctype_digit($id)) {
$group = Doctrine::getTable('Group')->findOneById($id);
$group_status=$group->getStatus();
if($group_status== 0){
$this->form = $this->configuration->getForm();
$this->product = $this->form->getObject();
}
else {
$this->getUser()->setFlash('notice', 'Group status ended!You can not create new evaluations ' );
$this->redirect('@yourmodulenamerout');
}
}
Поэтому, если статус группы закончился, вы перенаправляете пользователя в индекс вашего внутреннего модуля и показывает пользователю, почему он не может создавать новые оценки).Вы также можете скрыть ссылку на новые действия.Точно так же, но вы должны сделать это в файле _list_actions, так что это не очень хорошая практика.