These are chat archives for LaravelRUS/chat

23rd
Mar 2018
Vitaly Melnikov
@Vmelnikoff
Mar 23 2018 06:14

Подскажите в как реализовать?
Есть роли админ, пользователь
Есть часть фронта, которая должна быть доступна для админа и для пользователя, если его срок не истек.
В базе сделал два поля в Таблице User

expiry_date    date NULL    Дата окончания услуги
role    enum('admin','client') [client]    Статус пользователя

Роуты сделал через мидлварю

Route::group([
    'middleware' => ['auth']
], function () {

А как и где поставить условие для role == 'client' и на expiry_date >= date('Y-m-d')?

zesen
@zesen
Mar 23 2018 07:21
в маршрутах пишешь
Route::group(['middleware' => 'can:НАЗВАНИЕ ПРАВИЛА ИЗ AuthServiceProvider.php

В AuthServiceProvider.php в public function boot()

описываешь правило:

public function boot()
{
$this->registerPolicies();

Gate::define('НАЗВАНИЕ ПРАВИЛА', function($user) {
    тут проверяешь
});

}

в документации это хорошо описано
Vitaly Melnikov
@Vmelnikoff
Mar 23 2018 08:10
@zesen спасибо
Eugene
@bloodrain777
Mar 23 2018 08:38
@andku83 Привет :) Нууу конечно, я в последнее время на laravel подсел конкретно, очень понравился
Andrey
@daaner
Mar 23 2018 15:51
@Vmelnikoff ой как ты полюбишь енум) особенно при таком подходе
может сразу попробуешь ролями?
одну ко многим
Anton
@Spar9a
Mar 23 2018 18:03
 `C:\xampp\htdocs\laravel>php artisan sleepingowl:install
ReflectionException : Method SleepingOwl\Admin\Console\Commands\InstallCommand::handle() does not exist`
Возникает такая ошибка при установке на чистую laravel 5.6
Vlad Shcherbin
@VladShcherbin
Mar 23 2018 18:36
@Spar9a по SleepingOwl попробуй здесь спросить :wink: