laravel nova скрыть кнопку редактирования на странице указателя - PullRequest
0 голосов
/ 19 июня 2019

Как отключить кнопку редактирования / удаления на странице индекса nova и по-прежнему разрешать страницу с подробностями, если я создам политику, которая повсеместно отключит операцию, я хочу разрешить редактирование и удаление на странице сведений, но просто хочу удалить эти кнопки из индекса,

делает что-то вроде

 public function update(User $user, Customer $customer)
    {
        if ( request()->route()->getName('route-name') ) {
            return false;
        }
    }

это правильный путь или есть какой-то лучший способ?

Ответы [ 2 ]

2 голосов
/ 19 июня 2019

Вы можете определить настраиваемые действия и установить видимость действия в соответствии с вашими требованиями.

  1. Создать новый Класс действия :
# To generate the action class
php artisan nova:action DeleteUserData --destructive
Набор Видимость действия:
/**
 * Indicates if this action is only available on the resource index view.
 *
 * @var bool
 */
public $onlyOnIndex = false;

/**
 * Indicates if this action is only available on the resource detail view.
 *
 * @var bool
 */
public $onlyOnDetail = true;

Источник: https://nova.laravel.com/docs/1.0/actions/defining-actions.html#action-visibility

1 голос
/ 05 июля 2019

Если вы хотите отключить любую кнопку строки на странице индекса, создайте политику для ресурса и верните false для соответствующей функции в моем случае update(),

, все остальные возвращают true и добавьте политику наAuthServiceProvider.php добавить

protected $policies = [
    Post::class => PostPolicy::class,
];

и в классе ресурсов

public static function authorizable()
{
    return true;
}

, что отключит эту кнопку.

...