creode/laravel-nova-folders

Allows the folders module to be used with Laravel Nova.

1.6.0 2024-02-16 16:35 UTC

README

Latest Version on Packagist GitHub Code Style Action Status Total Downloads

This is where your description should go. Limit it to a paragraph or two. Consider adding a small example.

Installation

You can install the package via composer:

composer require creode/laravel-nova-folders

You can publish and run the migrations with:

php artisan vendor:publish --tag="nova-folders-migrations"
php artisan migrate

You can publish the config file with:

php artisan vendor:publish --tag="nova-folders-config"

This is the contents of the published config file:

return [
];

Optionally, you can publish the views using

php artisan vendor:publish --tag="nova-folders-views"

Usage

Handles the registration of the folders module with Laravel Nova. This module is meant to be used as a base to get basic folder functionality working within Laravel Nova but provides very little functionality on its own.

Registering Custom Resource Actions

You can register custom resource actions to appear on the Folder resource. To do this you need to listen for the DefineFolderActionsEvent event and add your actions to the $actions array. These just use Nova's standard Actions functionality. For details about defining actions please look at the Nova documentation.

Event::listen(function (DefineFolderActionsEvent $event) {
    $event->actions[] = TestActionClass::make();
});

Permissions

This module exposes a new permission seeder class which will need to be published to your application in order to grant permissions to the new resource. To do this you need to run the following command:

php artisan vendor:publish --tag="nova-folders-seeders"

This will create a new FolderRoleAndPermissionSeeder.php file within your database/seeders directory. This will need to be run in order to grant permissions to the new resource. You can run this by running the following command:

php artisan db:seed --class=FolderRoleAndPermissionSeeder

You should now see in your database a collection of permissions and a new role called folder-manager. This role will have all the permissions required to manage folders. Before running this, it requires the setup of any tables for the spatie/laravel-permissions package. Please see the documentation for more information.

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.