diff --git a/app/Livewire/TopMenuItems.php b/app/Livewire/TopMenuItems.php index 548626c0..e16b79d1 100644 --- a/app/Livewire/TopMenuItems.php +++ b/app/Livewire/TopMenuItems.php @@ -24,6 +24,10 @@ class TopMenuItems extends Component public $current = ''; + protected $listeners = [ + 'reload_data' => '$refresh', + ]; + public function mount() { $cps = Client::where('id', auth()->user()->client_id)->pluck('sport')->first(); @@ -54,11 +58,25 @@ class TopMenuItems extends Component $bookmaker_id = array_shift($bookmakers); - User::where('id', auth()->user()->id)->update(['bookmaker_id' => $bookmaker_id, 'client_id' => $client_id]); + User::where('id', auth()->user()->id)->update(['bookmaker_mapper_id' => $bookmaker_id, 'bookmaker_id' => $bookmaker_id, 'client_id' => $client_id]); $this->js('window.location.reload()'); } + public function swopBookmaker($bookmaker_id) + { + User::where('id', auth()->user()->id)->update(['bookmaker_id' => $bookmaker_id]); + + $this->js('window.location.reload()'); + } + + public function swopMapper($bookmaker_id) + { + User::where('id', auth()->user()->id)->update(['bookmaker_mapper_id' => $bookmaker_id]); + + $this->dispatch('reload_data'); + } + public function swopSport() { User::where('id', auth()->user()->id)->update(['sport_id' => $this->sport_id]); diff --git a/app/Models/User.php b/app/Models/User.php index fe61e116..524a342a 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -20,10 +20,6 @@ class User extends Authenticatable implements FilamentUser, HasAppAuthentication /** @use HasFactory<\Database\Factories\UserFactory> */ use HasFactory, HasRoles, Notifiable; - protected $casts = [ - 'bettype_status' => 'json', - ]; - /** * The attributes that are mass assignable. * @@ -36,10 +32,10 @@ class User extends Authenticatable implements FilamentUser, HasAppAuthentication 'password', 'agb_akzeptiert', 'app_verified_at', - 'bettype_status', 'client_id', 'sport_id', 'bookmaker_id', + 'bookmaker_mapper_id', ]; protected static function newFactory(): Factory @@ -164,4 +160,15 @@ class User extends Authenticatable implements FilamentUser, HasAppAuthentication { return $this->hasMany(BettypeUser::class)->where('sport_id', auth()->user()->sport_id); } + + // Accessor + public function getUserBookmakerAttribute() + { + return $this->userBookmaker()->id ?? null; + } + + public function userBookmaker() + { + return Bookmaker::where('id', auth()->user()->bookmaker_id)->select('id', 'name', 'icon', 'svg', 'txid')->first(); + } } 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 13134b4b..946085bf 100644 --- a/database/migrations/0001_01_01_000000_create_users_table.php +++ b/database/migrations/0001_01_01_000000_create_users_table.php @@ -20,8 +20,7 @@ return new class extends Migration $table->integer('client_id'); $table->integer('sport_id')->default(1); $table->integer('bookmaker_id')->nullable(); - $table->json('bettype_status')->nullable(); - $table->string('mapper_source')->default('bookmaker'); + $table->integer('bookmaker_mapper_id')->nullable(); $table->text('app_authentication_secret')->nullable(); $table->text('app_authentication_recovery_codes')->nullable(); diff --git a/database/seeders/RolesAndPermissionsSeeder.php b/database/seeders/RolesAndPermissionsSeeder.php index 27a34fbe..9aa59960 100644 --- a/database/seeders/RolesAndPermissionsSeeder.php +++ b/database/seeders/RolesAndPermissionsSeeder.php @@ -28,6 +28,7 @@ class RolesAndPermissionsSeeder extends Seeder 'client_id' => 1, 'sport_id' => 1, 'bookmaker_id' => 20, + 'bookmaker_mapper_id' => 20, ]); $user->assignRole('super_admin'); $user->assignRole('konto_switch'); @@ -43,6 +44,7 @@ class RolesAndPermissionsSeeder extends Seeder 'client_id' => 1, 'sport_id' => 1, 'bookmaker_id' => 20, + 'bookmaker_mapper_id' => 20, ]); $user->assignRole('super_admin'); $user->assignRole('konto_switch'); diff --git a/resources/bkm/logifuture-colombia.svg b/resources/bkm/logifuture-colombia.svg new file mode 100644 index 00000000..3c57e89f --- /dev/null +++ b/resources/bkm/logifuture-colombia.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/bkm/logifuture-nigeria.svg b/resources/bkm/logifuture-nigeria.svg new file mode 100644 index 00000000..00606cf8 --- /dev/null +++ b/resources/bkm/logifuture-nigeria.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/bkm/magloo-kenia.svg b/resources/bkm/magloo-kenia.svg index f79a344b..fcc11931 100644 --- a/resources/bkm/magloo-kenia.svg +++ b/resources/bkm/magloo-kenia.svg @@ -1,23 +1,41 @@ - - - + - - - - - - - - - - - - - - + xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/bkm/magloo-nig.svg b/resources/bkm/magloo-nig.svg deleted file mode 100644 index d5a620f1..00000000 --- a/resources/bkm/magloo-nig.svg +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/resources/bkm/magloo-nigeria.svg b/resources/bkm/magloo-nigeria.svg new file mode 100644 index 00000000..84671f6d --- /dev/null +++ b/resources/bkm/magloo-nigeria.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/views/livewire/top-menu-items.blade.php b/resources/views/livewire/top-menu-items.blade.php index 19d002dc..a5db6bef 100644 --- a/resources/views/livewire/top-menu-items.blade.php +++ b/resources/views/livewire/top-menu-items.blade.php @@ -1,7 +1,75 @@ -
+
@if ($this->current == 'filament.admin.resources.events.index') - + + {{-- Client Swop Bookmaker --}} + + + + + + @switch(auth()->user()->bookmaker_mapper_id) + @case(26) + + @break + + @case(27) + + @break + + @case(20) + + @break + + @case(24) + + @break + @endswitch + + + + + + @if (in_array(auth()->user()->bookmaker_id, [26, 27])) + @if (auth()->user()->bookmaker_mapper_id != 26) + + + + @endif + + @if (auth()->user()->bookmaker_mapper_id != 27) + + + + @endif + @endif + + @if (in_array(auth()->user()->bookmaker_id, [20, 24])) + @if (auth()->user()->bookmaker_mapper_id != 20) + + + + @endif + + @if (auth()->user()->bookmaker_mapper_id != 24) + + + + @endif + @endif + + + @if (auth()->user()->hasRole('mapper_source_betsapi')) + + + + @endif + + + + {{-- Swop Sport --}} + + @foreach ($sports as $id => $name) @@ -9,7 +77,10 @@ - + + {{-- Event Mapper --}} + + Event Mapper @@ -19,24 +90,70 @@
Event Mapper
+ @php + if (!auth()->user()->bookmaker_mapper_id) { + auth()->user()->bookmaker_mapper_id = auth()->user()->bookmaker_id; + } + @endphp - + @switch(auth()->user()->bookmaker_mapper_id) + @case(26) + + @break + + @case(27) + + @break + + @case(20) + + @break + + @case(24) + + @break + + @case(2) + + @break + @endswitch - - - + @if (in_array(auth()->user()->bookmaker_id, [26, 27])) + @if (auth()->user()->bookmaker_mapper_id != 26) + + + + @endif + + @if (auth()->user()->bookmaker_mapper_id != 27) + + + + @endif + @endif + + @if (in_array(auth()->user()->bookmaker_id, [20, 24])) + @if (auth()->user()->bookmaker_mapper_id != 20) + + + + @endif + + @if (auth()->user()->bookmaker_mapper_id != 24) + + + + @endif + @endif - - - @if (auth()->user()->hasRole('mapper_source_betsapi')) - - + + @endif @@ -54,7 +171,7 @@
- + Settings