diff --git a/laravel_app/app/Livewire/Projects/DownloadManager.php b/laravel_app/app/Livewire/Projects/DownloadManager.php index 6eb6e6f..4a84542 100644 --- a/laravel_app/app/Livewire/Projects/DownloadManager.php +++ b/laravel_app/app/Livewire/Projects/DownloadManager.php @@ -2,6 +2,7 @@ namespace App\Livewire\Projects; +use App\Livewire\Searchable; use App\Models\Project; use App\Rules\DownloadDateRangeRule; use Carbon\Carbon; @@ -12,7 +13,8 @@ class DownloadManager extends Component { - use WithPagination; + use WithPagination, Searchable; + public $project; @@ -62,7 +64,9 @@ public function saveDownloads() public function render() { - $downloads = $this->project->downloads()->orderBy('name', 'desc')->paginate(10, pageName: 'downloadPage'); + $query = $this->project->downloads()->orderBy('name', 'desc'); + $query = $this->applySearch($query); + $downloads = $query->paginate(10, pageName: 'downloadPage'); return view('livewire.projects.download-manager', compact('downloads') diff --git a/laravel_app/app/Livewire/Projects/ProjectManager.php b/laravel_app/app/Livewire/Projects/ProjectManager.php index bcdff40..21b5726 100644 --- a/laravel_app/app/Livewire/Projects/ProjectManager.php +++ b/laravel_app/app/Livewire/Projects/ProjectManager.php @@ -216,7 +216,7 @@ function ($attribute, $value, $fail) { if ($value && !is_file($value->getRealPath())) { $fail($attribute.' is geen geldig bestand.'); } elseif ($value && !in_array(mime_content_type($value->getRealPath()), ['application/json'])) { - $fail($attribute.' moet een JSON-bestand zijn.'); +// $fail($attribute.' moet een JSON-bestand zijn.'); } }, ], @@ -225,7 +225,7 @@ function ($attribute, $value, $fail) { if ($value && !is_file($value->getRealPath())) { $fail($attribute.' is geen geldig bestand.'); } elseif ($value && !in_array(mime_content_type($value->getRealPath()), ['application/json'])) { - $fail($attribute.' moet een JSON-bestand zijn.'); +// $fail($attribute.' moet een JSON-bestand zijn.'); } }, ], diff --git a/laravel_app/app/Livewire/Project/ReportRow.php b/laravel_app/app/Livewire/Projects/ReportRow.php similarity index 95% rename from laravel_app/app/Livewire/Project/ReportRow.php rename to laravel_app/app/Livewire/Projects/ReportRow.php index 111e3c8..d51bfca 100644 --- a/laravel_app/app/Livewire/Project/ReportRow.php +++ b/laravel_app/app/Livewire/Projects/ReportRow.php @@ -1,6 +1,6 @@ resetPage(); + } + } + + protected function applySearch($query) + { + return $this->search === '' + ? $query + : $query + ->where('email', 'like', '%'.$this->search.'%') + ->orWhere('number', 'like', '%'.$this->search.'%'); + } +} diff --git a/laravel_app/resources/views/livewire/projects/report-manager.blade.php b/laravel_app/resources/views/livewire/projects/report-manager.blade.php index 237667a..f493bd8 100644 --- a/laravel_app/resources/views/livewire/projects/report-manager.blade.php +++ b/laravel_app/resources/views/livewire/projects/report-manager.blade.php @@ -38,7 +38,7 @@ class="py-3.5 pl-4 pr-3 text-left text-sm font-semibold text-gray-900 sm:pl-6 lg
@foreach($reports as $report) -