Multiline Setting compleated
This commit is contained in:
1 parent
c6fd66189b
commit
bb71c4b406
14 files changed
+129
-68
No files matched your search
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
namespace App\Actions;
|
namespace App\Actions;
|
||||||
|
|
||||||
use App\Models\Multiline;
|
use App\Models\MultilineClient;
|
||||||
use App\Models\MultilineSetting;
|
use App\Models\MultilineSetting;
|
||||||
use Filament\Notifications\Notification;
|
use Filament\Notifications\Notification;
|
||||||
|
|
||||||
@@ -12,7 +12,7 @@ class MultilineGenerator
|
|||||||
{
|
{
|
||||||
$client_id = $record->id;
|
$client_id = $record->id;
|
||||||
|
|
||||||
Multiline::where('client_id', $client_id)->update(['disabled' => 1]);
|
MultilineClient::where('client_id', $client_id)->update(['disabled' => 1]);
|
||||||
|
|
||||||
foreach ($record->sport as $sportid) {
|
foreach ($record->sport as $sportid) {
|
||||||
|
|
||||||
@@ -22,12 +22,11 @@ class MultilineGenerator
|
|||||||
|
|
||||||
for ($i = 1; $i <= $multiline->rows; $i++) {
|
for ($i = 1; $i <= $multiline->rows; $i++) {
|
||||||
|
|
||||||
Multiline::updateOrCreate(
|
MultilineClient::updateOrCreate(
|
||||||
[
|
[
|
||||||
'client_id' => $client_id,
|
'client_id' => $client_id,
|
||||||
'sport_id' => $sportid,
|
'sport_id' => $sportid,
|
||||||
'name' => $multiline->name,
|
'multiline_setting_id' => $multiline->id,
|
||||||
'table' => $multiline->table,
|
|
||||||
'sort' => $i,
|
'sort' => $i,
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
|||||||
+10
-10
@@ -1,21 +1,21 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Filament\Resources\Multilines;
|
namespace App\Filament\Resources\MultilineClients;
|
||||||
|
|
||||||
use App\Filament\Clusters\Settings\SettingsCluster;
|
use App\Filament\Clusters\Settings\SettingsCluster;
|
||||||
use App\Filament\Resources\Multilines\Pages\ListMultilines;
|
use App\Filament\Resources\MultilineClients\Pages\ListMultilineClients;
|
||||||
use App\Filament\Resources\Multilines\Schemas\MultilineForm;
|
use App\Filament\Resources\MultilineClients\Schemas\MultilineClientForm;
|
||||||
use App\Filament\Resources\Multilines\Tables\MultilinesTable;
|
use App\Filament\Resources\MultilineClients\Tables\MultilineClientsTable;
|
||||||
use App\Models\Multiline;
|
use App\Models\MultilineClient;
|
||||||
use BackedEnum;
|
use BackedEnum;
|
||||||
use Filament\Resources\Resource;
|
use Filament\Resources\Resource;
|
||||||
use Filament\Schemas\Schema;
|
use Filament\Schemas\Schema;
|
||||||
use Filament\Support\Icons\Heroicon;
|
use Filament\Support\Icons\Heroicon;
|
||||||
use Filament\Tables\Table;
|
use Filament\Tables\Table;
|
||||||
|
|
||||||
class MultilineResource extends Resource
|
class MultilineClientResources extends Resource
|
||||||
{
|
{
|
||||||
protected static ?string $model = Multiline::class;
|
protected static ?string $model = MultilineClient::class;
|
||||||
|
|
||||||
protected static string|BackedEnum|null $navigationIcon = Heroicon::Bars3;
|
protected static string|BackedEnum|null $navigationIcon = Heroicon::Bars3;
|
||||||
|
|
||||||
@@ -25,18 +25,18 @@ class MultilineResource extends Resource
|
|||||||
|
|
||||||
public static function form(Schema $schema): Schema
|
public static function form(Schema $schema): Schema
|
||||||
{
|
{
|
||||||
return MultilineForm::configure($schema);
|
return MultilineClientForm::configure($schema);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function table(Table $table): Table
|
public static function table(Table $table): Table
|
||||||
{
|
{
|
||||||
return MultilinesTable::configure($table);
|
return MultilineClientsTable::configure($table);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function getPages(): array
|
public static function getPages(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'index' => ListMultilines::route('/'),
|
'index' => ListMultilineClients::route('/'),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Filament\Resources\MultilineClients\Pages;
|
||||||
|
|
||||||
|
use App\Filament\Resources\MultilineClients\MultilineClientResources;
|
||||||
|
use Filament\Resources\Pages\CreateRecord;
|
||||||
|
|
||||||
|
class CreateMultilineClient extends CreateRecord
|
||||||
|
{
|
||||||
|
protected static string $resource = MultilineClientResources::class;
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Filament\Resources\MultilineClients\Pages;
|
||||||
|
|
||||||
|
use App\Filament\Resources\MultilineClients\MultilineClientResources;
|
||||||
|
use Filament\Actions\DeleteAction;
|
||||||
|
use Filament\Resources\Pages\EditRecord;
|
||||||
|
|
||||||
|
class EditMultilineClient extends EditRecord
|
||||||
|
{
|
||||||
|
protected static string $resource = MultilineClientResources::class;
|
||||||
|
|
||||||
|
protected function getHeaderActions(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
// DeleteAction::make(),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
+4
-4
@@ -1,14 +1,14 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Filament\Resources\Multilines\Pages;
|
namespace App\Filament\Resources\MultilineClients\Pages;
|
||||||
|
|
||||||
use App\Filament\Resources\Multilines\MultilineResource;
|
use App\Filament\Resources\MultilineClients\MultilineClientResources;
|
||||||
use Filament\Actions\CreateAction;
|
use Filament\Actions\CreateAction;
|
||||||
use Filament\Resources\Pages\ListRecords;
|
use Filament\Resources\Pages\ListRecords;
|
||||||
|
|
||||||
class ListMultilines extends ListRecords
|
class ListMultilineClients extends ListRecords
|
||||||
{
|
{
|
||||||
protected static string $resource = MultilineResource::class;
|
protected static string $resource = MultilineClientResources::class;
|
||||||
|
|
||||||
protected function getHeaderActions(): array
|
protected function getHeaderActions(): array
|
||||||
{
|
{
|
||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Filament\Resources\Multilines\Schemas;
|
namespace App\Filament\Resources\MultilineClients\Schemas;
|
||||||
|
|
||||||
use App\Models\Bettype;
|
use App\Models\Bettype;
|
||||||
use App\Models\Bookmaker;
|
use App\Models\Bookmaker;
|
||||||
@@ -10,7 +10,7 @@ use Filament\Forms\Components\Select;
|
|||||||
use Filament\Schemas\Components\Utilities\Get;
|
use Filament\Schemas\Components\Utilities\Get;
|
||||||
use Filament\Schemas\Schema;
|
use Filament\Schemas\Schema;
|
||||||
|
|
||||||
class MultilineForm
|
class MultilineClientForm
|
||||||
{
|
{
|
||||||
public static $bettypes = [1, 2, 3, 4, 16, 2001, 2002, 2021, 3001, 3002, 3021];
|
public static $bettypes = [1, 2, 3, 4, 16, 2001, 2002, 2021, 3001, 3002, 3021];
|
||||||
|
|
||||||
+10
-10
@@ -1,11 +1,11 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Filament\Resources\Multilines\Tables;
|
namespace App\Filament\Resources\MultilineClients\Tables;
|
||||||
|
|
||||||
use App\Filament\Tables\Columns\BookmakerIcon;
|
use App\Filament\Tables\Columns\BookmakerIcon;
|
||||||
use App\Models\Bookmaker;
|
use App\Models\Bookmaker;
|
||||||
use App\Models\Client;
|
use App\Models\Client;
|
||||||
use App\Models\Multiline;
|
use App\Models\MultilineSetting;
|
||||||
use App\Models\Sport;
|
use App\Models\Sport;
|
||||||
use Filament\Actions\Action;
|
use Filament\Actions\Action;
|
||||||
use Filament\Forms\Components\Select;
|
use Filament\Forms\Components\Select;
|
||||||
@@ -18,7 +18,7 @@ use Filament\Tables\Filters\Filter;
|
|||||||
use Filament\Tables\Table;
|
use Filament\Tables\Table;
|
||||||
use Illuminate\Database\Eloquent\Builder;
|
use Illuminate\Database\Eloquent\Builder;
|
||||||
|
|
||||||
class MultilinesTable
|
class MultilineClientsTable
|
||||||
{
|
{
|
||||||
public static function configure(Table $table): Table
|
public static function configure(Table $table): Table
|
||||||
{
|
{
|
||||||
@@ -38,7 +38,7 @@ class MultilinesTable
|
|||||||
return $record->sport->icon;
|
return $record->sport->icon;
|
||||||
}),
|
}),
|
||||||
TextColumn::make('sport.name'),
|
TextColumn::make('sport.name'),
|
||||||
TextColumn::make('name'),
|
TextColumn::make('multiline_setting.name')->label('Bettype'),
|
||||||
BookmakerIcon::make('bookmaker.icon')->label('Icon'),
|
BookmakerIcon::make('bookmaker.icon')->label('Icon'),
|
||||||
SelectColumn::make('bookmaker_id')
|
SelectColumn::make('bookmaker_id')
|
||||||
->width('2rem')
|
->width('2rem')
|
||||||
@@ -58,11 +58,11 @@ class MultilinesTable
|
|||||||
return Sport::query()->whereIn('id', $sports)->pluck('name', 'id');
|
return Sport::query()->whereIn('id', $sports)->pluck('name', 'id');
|
||||||
})
|
})
|
||||||
->live(),
|
->live(),
|
||||||
Select::make('name')
|
Select::make('multiline_setting_id')
|
||||||
->default('1X2')
|
|
||||||
->label('Bettype')
|
->label('Bettype')
|
||||||
->options(function (Builder $query, Get $get) {
|
->default(1)
|
||||||
return Multiline::where('sport_id', $get('sport_id'))->pluck('name', 'name');
|
->options(function (Get $get) {
|
||||||
|
return MultilineSetting::where('sport_id', $get('sport_id'))->pluck('name', 'id');
|
||||||
})
|
})
|
||||||
->live(),
|
->live(),
|
||||||
])
|
])
|
||||||
@@ -72,8 +72,8 @@ class MultilinesTable
|
|||||||
$data['sport_id'],
|
$data['sport_id'],
|
||||||
fn (Builder $query, $sport_id) => $query->where('sport_id', $sport_id)
|
fn (Builder $query, $sport_id) => $query->where('sport_id', $sport_id)
|
||||||
)->when(
|
)->when(
|
||||||
$data['name'],
|
$data['multiline_setting_id'],
|
||||||
fn (Builder $query, $name) => $query->where('name', $name)
|
fn (Builder $query, $multiline_setting_id) => $query->where('multiline_setting_id', $multiline_setting_id)
|
||||||
);
|
);
|
||||||
})
|
})
|
||||||
->columns(3)->columnSpan(3),
|
->columns(3)->columnSpan(3),
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Filament\Resources\Multilines\Pages;
|
|
||||||
|
|
||||||
use App\Filament\Resources\Multilines\MultilineResource;
|
|
||||||
use Filament\Resources\Pages\CreateRecord;
|
|
||||||
|
|
||||||
class CreateMultiline extends CreateRecord
|
|
||||||
{
|
|
||||||
protected static string $resource = MultilineResource::class;
|
|
||||||
}
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Filament\Resources\Multilines\Pages;
|
|
||||||
|
|
||||||
use App\Filament\Resources\Multilines\MultilineResource;
|
|
||||||
use Filament\Actions\DeleteAction;
|
|
||||||
use Filament\Resources\Pages\EditRecord;
|
|
||||||
|
|
||||||
class EditMultiline extends EditRecord
|
|
||||||
{
|
|
||||||
protected static string $resource = MultilineResource::class;
|
|
||||||
|
|
||||||
protected function getHeaderActions(): array
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
// DeleteAction::make(),
|
|
||||||
];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -5,13 +5,12 @@ namespace App\Models;
|
|||||||
use App\Models\Scopes\ClientScope;
|
use App\Models\Scopes\ClientScope;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
class Multiline extends Model
|
class MultilineClient extends Model
|
||||||
{
|
{
|
||||||
protected $fillable = [
|
protected $fillable = [
|
||||||
'client_id',
|
'client_id',
|
||||||
'sport_id',
|
'sport_id',
|
||||||
'table',
|
'multiline_setting_id',
|
||||||
'name',
|
|
||||||
'disabled',
|
'disabled',
|
||||||
'bookmaker_id',
|
'bookmaker_id',
|
||||||
'sort',
|
'sort',
|
||||||
@@ -22,6 +21,11 @@ class Multiline extends Model
|
|||||||
return $this->belongsTo(Sport::class);
|
return $this->belongsTo(Sport::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function multiline_setting()
|
||||||
|
{
|
||||||
|
return $this->belongsTo(MultilineSetting::class);
|
||||||
|
}
|
||||||
|
|
||||||
public function bookmaker()
|
public function bookmaker()
|
||||||
{
|
{
|
||||||
return $this->belongsTo(Bookmaker::class, 'bookmaker_id', 'txid');
|
return $this->belongsTo(Bookmaker::class, 'bookmaker_id', 'txid');
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class MultilineUser extends Model
|
||||||
|
{
|
||||||
|
protected $fillable = [
|
||||||
|
'user_id',
|
||||||
|
'sport_id',
|
||||||
|
'multiline_setting_id',
|
||||||
|
];
|
||||||
|
|
||||||
|
public function sport()
|
||||||
|
{
|
||||||
|
return $this->belongsTo(Sport::class);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function multiline_setting()
|
||||||
|
{
|
||||||
|
return $this->belongsTo(MultilineSetting::class);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -50,6 +50,11 @@ class User extends Authenticatable implements FilamentUser, HasAppAuthentication
|
|||||||
'app_authentication_recovery_codes',
|
'app_authentication_recovery_codes',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
public function multiline_user()
|
||||||
|
{
|
||||||
|
return $this->belongsTo(MultilineUser::class);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the attributes that should be cast.
|
* Get the attributes that should be cast.
|
||||||
*
|
*
|
||||||
|
|||||||
+3
-4
@@ -11,13 +11,12 @@ return new class extends Migration
|
|||||||
*/
|
*/
|
||||||
public function up(): void
|
public function up(): void
|
||||||
{
|
{
|
||||||
Schema::create('multilines', function (Blueprint $table) {
|
Schema::create('multiline_clients', function (Blueprint $table) {
|
||||||
$table->id();
|
$table->id();
|
||||||
$table->integer('client_id')->default(0);
|
$table->integer('client_id')->default(0);
|
||||||
$table->integer('sport_id');
|
$table->integer('sport_id');
|
||||||
$table->boolean('disabled')->default(0);
|
$table->boolean('disabled')->default(0);
|
||||||
$table->string('table')->nullable();
|
$table->integer('multiline_setting_id')->default(1);
|
||||||
$table->string('name')->nullable();
|
|
||||||
$table->integer('bookmaker_id')->default(0);
|
$table->integer('bookmaker_id')->default(0);
|
||||||
$table->integer('sort')->default(0);
|
$table->integer('sort')->default(0);
|
||||||
$table->timestamps();
|
$table->timestamps();
|
||||||
@@ -29,6 +28,6 @@ return new class extends Migration
|
|||||||
*/
|
*/
|
||||||
public function down(): void
|
public function down(): void
|
||||||
{
|
{
|
||||||
Schema::dropIfExists('multilines');
|
Schema::dropIfExists('multiline_clients');
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
return new class extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*/
|
||||||
|
public function up(): void
|
||||||
|
{
|
||||||
|
Schema::create('multiline_users', function (Blueprint $table) {
|
||||||
|
$table->id();
|
||||||
|
$table->integer('user_id')->default(0);
|
||||||
|
$table->integer('sport_id')->default(1);
|
||||||
|
$table->integer('multiline_setting_id')->default(1);
|
||||||
|
$table->timestamps();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*/
|
||||||
|
public function down(): void
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('multiline_users');
|
||||||
|
}
|
||||||
|
};
|
||||||
Reference in new issue
Block a user