yes, please accept my apologies for not posting the code sooner)
class UnsetTag extends Action
{
use InteractsWithQueue, Queueable;
public function handle(ActionFields $fields, Collection $models)
{
...
return Action::message('The tag was removed successfully!');
}
}
class Orders extends Model
{
...
}
class OrderTags extends Model
{
...
}
class OrderTagsLens extends OrderTags
{
...
}
Resource
class StatusUnshipped extends Resource
{
public static $model = Orders::class;
...
public function lenses()
{
return [
new OrderedMain(),
];
}
}
Lens
class OrderedMain extends Lens
{
public static $model = OrderTags::class;
...
public function actions(NovaRequest $request)
{
return [
(new \App\Nova\Actions\ReturnTag\UnsetOrderedTag)
->canSee(function ($request) {
return $request->user()->can(
'Seller', User::class
);
})
->canRun(function ($request) {
return $request->user()->can(
'Seller', User::class
);
}),
];
}
public function authorizedToView(NovaRequest $request)
{
return true;
}
public function authorizedToRestore(NovaRequest $request)
{
return true;
}
public static function authorizedToCreate(NovaRequest $request)
{
return true;
}
public function authorizedToUpdate(NovaRequest $request)
{
return true;
}
public function authorizedToDelete(NovaRequest $request)
{
return true;
}
public function authorizedToReplicate(NovaRequest $request)
{
return true;
}
public function authorizedToSee(Request $request)
{
return true;
}
}
OrderTagsLensPolicy
class OrderTagsLensPolicy extends \Sereny\NovaPermissions\Policies\BasePolicy
{
public function viewAny(Model $user)
{
return true;
}
public function view(Model $user, $model)
{
return true;
}
public function create(Model $user)
{
return true;
}
public function update(Model $user, $model)
{
return true;
}
public function delete(Model $user, $model)
{
return true;
}
public function restore(Model $user, $model)
{
return true;
}
public function forceDelete(Model $user, $model)
{
return true;
}
public function authorizedToDelete(Model $user, $model)
{
return true;
}
public function authorizedToUpdate(Model $user, $model)
{
return true;
}
public function authorizedToView(Model $user, $model)
{
return true;
}
public function authorizedToCreate(Model $user, $model)
{
return true;
}
public function authorizedToRestore(Model $user, $model)
{
return true;
}
}
AppServiceProvider.php
'App\Models\Order\OrderTagsLens' => 'App\Policies\Order\OrderTagsLensPolicy',