ketchalegend / filament-survey
Filament Laravel Survey plugin with multi tenancy
Requires
- php: ^8.1
- filament/filament: ^3.0-stable
- filament/spatie-laravel-translatable-plugin: ^3.0-stable
- maatwebsite/excel: ^3.1
- spatie/eloquent-sortable: ^4.0
- spatie/laravel-package-tools: ^1.9
Requires (Dev)
- doctrine/dbal: ^3.6
README
A Filament plugin for Laravel Survey package.
This package provides Filament resources for Laravel Survey.
Requirements
- PHP 8.1+
- Laravel 10.0+
- Filament 3.0+
Dependencies
Installation
Installing the required package (Laravel Survey)
This plugin uses a modifed version of Laravel Survey package: https://github.com/ketchalegend/laravel-survey/tree/translatable that adds translatable and sortable fields to the survey models. More details in this PR: matt-daneshvar/laravel-survey#39.
So you must install this version instead of requiring matt-daneshvar/laravel-survey
. In order to do so, add to your project's composer.json
:
"require": { ... "matt-daneshvar/laravel-survey": "dev-translatable", }, "repositories": [ ... { "type": "vcs", "url": "https://github.com/Ketchalegend/laravel-survey" } ],
Install it using Composer
composer update
Publish the package migrations
php artisan vendor:publish --provider="MattDaneshvar\Survey\SurveyServiceProvider" --tag="migrations"
Run the migrations
php artisan migrate
Installing the Filament Survey plugin
Install the plugin via Composer:
composer require ketchalegend/filament-survey:"^3.0"
Optional: Publish the plugin's views, translations, and config
You can publish the view file with:
php artisan vendor:publish --tag="filament-survey-views"
You can publish the translations files with:
php artisan vendor:publish --tag="filament-survey-translations"
You can publish the config file with:
php artisan vendor:publish --tag="filament-survey-config"
Adding the plugin to a panel
Add this plugin to a panel on plugins()
method (e.g. in app/Providers/Filament/AdminPanelProvider.php
).
This plugin requires the Spatie Translatable plugin, so it should also be added on a panel like so:
use Filament\SpatieLaravelTranslatablePlugin; use Ketchalegend\FilamentSurvey\FilamentSurveyPlugin; public function panel(Panel $panel): Panel { return $panel // ... ->plugins([ FilamentSurveyPlugin::make(), SpatieLaravelTranslatablePlugin::make(), //... ]); }
That's it! Now the surveys, sections, questions, answers, and entries resources will be displayed in the left sidebar in your Filament admin panel.