Фильтр на основе шаблона, кроме одного маршрута

у меня стоят эти фильтры

Route::when('app/*', 'auth');
Route::when('app/*', 'filled_basic_info');

Фильтр «filled_basic_info» перенаправляет пользователя на маршрут «users.personal», если основная информация о пользователе еще не заполнена.

Маршрут «users.personal» ведет к URL-адресу «app/personal».

Мой вопрос: как настроить фильтр filled_basic_info для применения ко всем маршрутам, ведущим к app/*, кроме маршрута user.personal?

я пытался

Route::when('app/*', 'filled_basic_info', array('except' => 'users.personal'));

но это не работает.

Я бы хотел избежать группировки всех маршрутов «app/*», поскольку мне нужно было бы сделать это для всех пакетов, которые у меня есть.

Спасибо.


person Yassir Ennazk    schedule 17.08.2014    source источник


Ответы (1)


В итоге я отредактировал фильтр следующим образом:

Route::filter('filled_basic_info', function()
{
    if (empty(Auth::user()->first_name) || empty(Auth::user()->last_name))
    {
        if(!(Route::currentRouteName() == "user.personal"))
            return Redirect::route('user.personal')->withAlerts(['Please enter your name below to continue.']);
    }
});
person Yassir Ennazk    schedule 17.08.2014