/**
  * Обработка события до какого-либо экшена.
  * 
  * @param string $action
  *
  * @return bool
  */
 public function beforeAction($action)
 {
     $this->uid = get_uid(false);
     //Если будет новый заказ от анонимуса
     //то эти проверки не нужны
     if ($action != 'neworder') {
         //Юзер должен быть зарегистрирован
         if (!$this->uid) {
             switch ($action) {
                 //редирект на создание заказа для анонимуса
                 case 'newpersonalorder':
                     $this->redirect(tservices_helper::getGuestPersonalOrderUrl());
                     break;
                     //редирект на регистрацию/авторизацию
                 //редирект на регистрацию/авторизацию
                 default:
                     $this->redirect('/registration/?user_action=add_order');
             }
         }
         //Юзер в белом списке?
         if (!tservices_helper::isUserOrderWhiteList()) {
             $this->missingAction($action);
         }
     }
     //искуственно повторяем чтобы сохранить текущий урл в сессию
     $this->uid = get_uid();
     //заказ инициировать может только работодатель
     $filter_action = in_array($action, array('order', 'newprojectorder', 'newpersonalorder'));
     if ($filter_action && !$this->is_emp) {
         $this->redirect('/registration/?user_action=add_order');
     }
     //свой список заказов видит только фрилансер
     if ($action == 'frllist' && $this->is_emp) {
         if ($_SESSION['login']) {
             $url = "/users/{$_SESSION['login']}/tu-orders/";
             $this->redirect($url);
         } else {
             $this->missingAction($action);
         }
     }
     return true;
 }
 /**
  * Generated from @assert ('fake') == FALSE.
  *
  * @covers tservices_helper::isUserOrderWhiteList
  */
 public function testIsUserOrderWhiteList3()
 {
     $this->assertFalse(tservices_helper::isUserOrderWhiteList('fake'));
 }