elmudo-dev/filament-surveys

Módulo de encuestas para Filament.

Maintainers

Package info

github.com/elmudometal/filament-surveys

pkg:composer/elmudo-dev/filament-surveys

Fund package maintenance!

ElmudoDev

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 1

Open Issues: 0

v1.0.0 2026-04-02 15:50 UTC

This package is auto-updated.

Last update: 2026-04-02 16:02:39 UTC


README

[# This is my package filament-surveys]

Compatibility: This v1 release of the package is intended for Filament v3.

Latest Version on Packagist GitHub Tests Action Status 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

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.

  1. 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;
}
  1. 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.