diff --git a/app/Filament/Resources/Events/EventResource.php b/app/Filament/Resources/Events/EventResource.php index 0340f5ad..e45d8bf6 100644 --- a/app/Filament/Resources/Events/EventResource.php +++ b/app/Filament/Resources/Events/EventResource.php @@ -5,6 +5,7 @@ namespace App\Filament\Resources\Events; use App\Filament\Resources\Events\Pages\ListEvents; use App\Filament\Resources\Events\Schemas\EventForm; use App\Filament\Resources\Events\Tables\EventsTable; +use App\Filament\Resources\Events\Tables\Tools\LoadClientStartimeDifference; use App\Filament\Resources\Events\Tables\Tools\LoadPartnerDifferences; use App\Models\Event; use App\Models\EventBookmaker; @@ -89,6 +90,11 @@ class EventResource extends Resource $query->whereIn('id', $event_ids); } + if (auth()->user()->starttime_differences) { + $event_ids = LoadClientStartimeDifference::load(); + $query->whereIn('id', $event_ids); + } + if (auth()->user()->bookmaker_partner_differences == 1) { $a = EventBookmaker::where('bookmaker_id', auth()->user()->bookmaker_id) ->where('sport_id', auth()->user()->sport_id) diff --git a/app/Filament/Resources/Events/Tables/Tools/LoadClientStartimeDifference.php b/app/Filament/Resources/Events/Tables/Tools/LoadClientStartimeDifference.php new file mode 100644 index 00000000..2f08a90f --- /dev/null +++ b/app/Filament/Resources/Events/Tables/Tools/LoadClientStartimeDifference.php @@ -0,0 +1,30 @@ +where('sport_id', auth()->user()->sport_id) + ->where('starttime', '>=', Carbon::now()) + ->whereHas('event_bookmaker', function ($query) { + $query->where('bookmaker_id', auth()->user()->bookmaker_id); + }) + ->get(); + + $event_ids = []; + foreach ($events as $event) { + if ($event->starttime != $event->event_bookmaker->starttime) { + $event_ids[] = $event->id; + } + } + + return array_unique($event_ids); + } +} diff --git a/app/Livewire/BettypeToggle.php b/app/Livewire/BettypeToggle.php index 37864f42..43288de8 100644 --- a/app/Livewire/BettypeToggle.php +++ b/app/Livewire/BettypeToggle.php @@ -176,6 +176,15 @@ class BettypeToggle extends Component $this->dispatch('refreshTable'); } + public function filterStarttimeDifferences() + { + User::where('id', auth()->user()->id)->update(['starttime_differences' => DB::raw('!starttime_differences')]); + + $this->dispatch('refreshBettypeMenu'); + + $this->dispatch('refreshTable'); + } + public function setDifferences() { $a = EventBookmaker::where('bookmaker_id', auth()->user()->bookmaker_id) diff --git a/app/Models/User.php b/app/Models/User.php index c41f3116..4f019d3b 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -79,6 +79,7 @@ class User extends Authenticatable implements FilamentUser, HasAppAuthentication 'partner_show' => 'boolean', 'partner_compare' => 'boolean', 'bookmaker_partner_differences' => 'boolean', + 'starttime_differences' => 'boolean', ]; } diff --git a/database/migrations/0001_01_01_000000_create_users_table.php b/database/migrations/0001_01_01_000000_create_users_table.php index 150d7a41..2caaec37 100644 --- a/database/migrations/0001_01_01_000000_create_users_table.php +++ b/database/migrations/0001_01_01_000000_create_users_table.php @@ -31,6 +31,7 @@ return new class extends Migration $table->boolean('partner_show')->default(false); $table->boolean('partner_compare')->default(false); $table->boolean('bookmaker_partner_differences')->default(false); + $table->boolean('starttime_differences')->default(false); $table->timestamp('app_verified_at')->nullable(); $table->rememberToken(); diff --git a/resources/views/livewire/bettype-toggle.blade.php b/resources/views/livewire/bettype-toggle.blade.php index 1b45862f..3f3be297 100644 --- a/resources/views/livewire/bettype-toggle.blade.php +++ b/resources/views/livewire/bettype-toggle.blade.php @@ -3,6 +3,9 @@