elmudo-dev / filament-surveys
Módulo de encuestas para Filament.
Fund package maintenance!
Requires
- php: ^8.2
- filament/filament: ^3.0
- spatie/laravel-package-tools: ^1.15.0
- spatie/laravel-sluggable: ^3.7.5
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.9
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^8.0
- pestphp/pest: ^2.1
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- spatie/laravel-ray: ^1.26
README
[# This is my package filament-surveys]
Compatibility: This v1 release of the package is intended for Filament v3.
This is where your description should go. Limit it to a paragraph or two. Consider adding a small example.
Installation
Compatibility note: This v1 branch/release of the package is intended to work with Filament v3. If you are using a different Filament version (for example v4 or v5), consult the main branch.
You can install the package via composer:
composer require elmudo-dev/filament-surveys
You can publish and run the migrations with:
php artisan vendor:publish --tag="filament-surveys-migrations"
php artisan migrate
You can publish the config file with:
php artisan vendor:publish --tag="filament-surveys-config"
Optionally, you can publish the views using
php artisan vendor:publish --tag="filament-surveys-views"
This is the contents of the published config file:
return [ // Prefijo para las rutas públicas (participantes) 'public_prefix' => 'survey', // Remitente opcional para correos de invitación 'invite_mail_from' => env('SURVEYS_MAIL_FROM', null), // Cola opcional para encolar los correos de invitación 'invite_queue' => env('SURVEYS_INVITE_QUEUE', null), // Longitud del enlace único para participantes 'link_length' => 32, /** * Enum que contiene los modelos disponibles para asociar a las encuestas. * El enum debe implementar un método cases() que retorne los modelos. * Si usas Filament, puedes simplemente pasar la clase del Enum. */ 'models_enum' => null, 'model_type' => 'App\Models\Survey', ];
Usage
Asociación de Modelos mediante Enum
Puedes configurar un Enum para listar los modelos que pueden tener encuestas asociadas. Esto permite seleccionar el modelo directamente desde el administrador de Filament al crear una encuesta.
- Crea un Enum que implemente las opciones:
namespace App\Enums; enum SurveyModels: string { case Course = \App\Models\Course::class; case Event = \App\Models\Event::class; }
- Configura el Enum en
config/filament-surveys.php:
'models_enum' => \App\Enums\SurveyModels::class,
Al hacer esto, en el formulario de creación de encuestas aparecerá un selector para elegir a qué modelo pertenece la encuesta. El sistema utilizará este valor para filtrar y guardar las respuestas.
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.