условно скрыть / показать новое действие ссылки в symfony 1.4 - PullRequest
0 голосов
/ 04 ноября 2011

Я хочу показать / скрыть новое действие ссылки в списке администратора генератора в зависимости от некоторых условий БД.

Например: «Группа» имеет много «Оценок», учитель может создавать новые оценки, только если статус Группы не окончен. Я хочу скрыть «новую» ссылку в списке генератора админки Symfony в зависимости от этого. Как я могу это сделать? Я пытался редактировать файл _list_actions безуспешно до сих пор.

спасибо. Йоан

1 Ответ

0 голосов
/ 04 ноября 2011

Я думаю, что вы можете сделать это несколькими способами.

  1. Вы можете скрыть ссылку на новое действие, но это не очень хорошо, потому что пользователи могут создавать новые оценки с прямымссылка на сайт.

  2. Поэтому я рекомендую вам следующий путь.

Перейти к кэш / бэкэнд / 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, так что это не очень хорошая практика.

...