mapper wip
This commit is contained in:
1 parent
16cc214db6
commit
d635ebe563
38 files changed
+98
-680
No files matched your search
@@ -14,6 +14,7 @@ class Fixtures
|
||||
public static function grap()
|
||||
{
|
||||
$debug = Nuh::$options['d'] ?? 0;
|
||||
$break = Nuh::$options['b'] ?? 0;
|
||||
|
||||
$sportmap = Sport::map('bapi');
|
||||
|
||||
@@ -76,6 +77,10 @@ class Fixtures
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($break) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Clusters\Settings;
|
||||
|
||||
use BackedEnum;
|
||||
use Filament\Clusters\Cluster;
|
||||
use Filament\Support\Icons\Heroicon;
|
||||
|
||||
class SettingsCluster extends Cluster
|
||||
{
|
||||
protected static string|BackedEnum|null $navigationIcon = Heroicon::AdjustmentsHorizontal;
|
||||
|
||||
protected static ?int $navigationSort = 2;
|
||||
}
|
||||
@@ -1,69 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\CompetitionGroupFilters;
|
||||
|
||||
use App\Filament\Clusters\Settings\SettingsCluster;
|
||||
use App\Filament\Resources\CompetitionGroupFilters\Pages\CreateCompetitionGroupFilter;
|
||||
use App\Filament\Resources\CompetitionGroupFilters\Pages\EditCompetitionGroupFilter;
|
||||
use App\Filament\Resources\CompetitionGroupFilters\Pages\ListCompetitionGroupFilters;
|
||||
use App\Filament\Resources\CompetitionGroupFilters\Schemas\CompetitionGroupFilterForm;
|
||||
use App\Filament\Resources\CompetitionGroupFilters\Tables\CompetitionGroupFiltersTable;
|
||||
use App\Models\CompetitionGroupFilter;
|
||||
use BackedEnum;
|
||||
use Filament\Resources\Resource;
|
||||
use Filament\Schemas\Schema;
|
||||
use Filament\Support\Icons\Heroicon;
|
||||
use Filament\Tables\Table;
|
||||
use UnitEnum;
|
||||
|
||||
class CompetitionGroupFilterResource extends Resource
|
||||
{
|
||||
protected static ?string $model = CompetitionGroupFilter::class;
|
||||
|
||||
protected static string|BackedEnum|null $navigationIcon = Heroicon::OutlinedRectangleStack;
|
||||
|
||||
protected static ?string $recordTitleAttribute = 'name';
|
||||
|
||||
protected static ?string $cluster = SettingsCluster::class;
|
||||
|
||||
protected static string|UnitEnum|null $navigationGroup = 'Filter';
|
||||
|
||||
protected static ?string $navigationLabel = 'Comp Group';
|
||||
|
||||
protected static ?string $modelLabel = 'Comp Group';
|
||||
|
||||
protected static ?string $title = 'Comp Group';
|
||||
|
||||
protected static ?string $pluralModelLabel = 'Comp Groups';
|
||||
|
||||
public static function form(Schema $schema): Schema
|
||||
{
|
||||
return CompetitionGroupFilterForm::configure($schema);
|
||||
}
|
||||
|
||||
public static function table(Table $table): Table
|
||||
{
|
||||
return CompetitionGroupFiltersTable::configure($table);
|
||||
}
|
||||
|
||||
public static function getRelations(): array
|
||||
{
|
||||
return [
|
||||
//
|
||||
];
|
||||
}
|
||||
|
||||
public static function getPages(): array
|
||||
{
|
||||
return [
|
||||
'index' => ListCompetitionGroupFilters::route('/'),
|
||||
'create' => CreateCompetitionGroupFilter::route('/create'),
|
||||
'edit' => EditCompetitionGroupFilter::route('/{record}/edit'),
|
||||
];
|
||||
}
|
||||
|
||||
public static function getNavigationBadge(): ?string
|
||||
{
|
||||
return parent::getEloquentQuery()->count();
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\CompetitionGroupFilters\Pages;
|
||||
|
||||
use App\Filament\Resources\CompetitionGroupFilters\CompetitionGroupFilterResource;
|
||||
use Filament\Resources\Pages\CreateRecord;
|
||||
|
||||
class CreateCompetitionGroupFilter extends CreateRecord
|
||||
{
|
||||
protected static string $resource = CompetitionGroupFilterResource::class;
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\CompetitionGroupFilters\Pages;
|
||||
|
||||
use App\Filament\Resources\CompetitionGroupFilters\CompetitionGroupFilterResource;
|
||||
use Filament\Actions\DeleteAction;
|
||||
use Filament\Resources\Pages\EditRecord;
|
||||
|
||||
class EditCompetitionGroupFilter extends EditRecord
|
||||
{
|
||||
protected static string $resource = CompetitionGroupFilterResource::class;
|
||||
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
DeleteAction::make(),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\CompetitionGroupFilters\Pages;
|
||||
|
||||
use App\Filament\Resources\CompetitionGroupFilters\CompetitionGroupFilterResource;
|
||||
use Filament\Actions\CreateAction;
|
||||
use Filament\Resources\Pages\ListRecords;
|
||||
|
||||
class ListCompetitionGroupFilters extends ListRecords
|
||||
{
|
||||
protected static string $resource = CompetitionGroupFilterResource::class;
|
||||
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
CreateAction::make(),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\CompetitionGroupFilters\Schemas;
|
||||
|
||||
use Filament\Schemas\Schema;
|
||||
|
||||
class CompetitionGroupFilterForm
|
||||
{
|
||||
public static function configure(Schema $schema): Schema
|
||||
{
|
||||
return $schema
|
||||
->components([
|
||||
//
|
||||
]);
|
||||
}
|
||||
}
|
||||
-30
@@ -1,30 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\CompetitionGroupFilters\Tables;
|
||||
|
||||
use Filament\Actions\BulkActionGroup;
|
||||
use Filament\Actions\DeleteBulkAction;
|
||||
use Filament\Actions\EditAction;
|
||||
use Filament\Tables\Table;
|
||||
|
||||
class CompetitionGroupFiltersTable
|
||||
{
|
||||
public static function configure(Table $table): Table
|
||||
{
|
||||
return $table
|
||||
->columns([
|
||||
//
|
||||
])
|
||||
->filters([
|
||||
//
|
||||
])
|
||||
->recordActions([
|
||||
EditAction::make(),
|
||||
])
|
||||
->toolbarActions([
|
||||
BulkActionGroup::make([
|
||||
DeleteBulkAction::make(),
|
||||
]),
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -1,69 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\ElementFilters;
|
||||
|
||||
use App\Filament\Clusters\Settings\SettingsCluster;
|
||||
use App\Filament\Resources\ElementFilters\Pages\CreateElementFilter;
|
||||
use App\Filament\Resources\ElementFilters\Pages\EditElementFilter;
|
||||
use App\Filament\Resources\ElementFilters\Pages\ListElementFilters;
|
||||
use App\Filament\Resources\ElementFilters\Schemas\ElementFilterForm;
|
||||
use App\Filament\Resources\ElementFilters\Tables\ElementFiltersTable;
|
||||
use App\Models\ElementFilter;
|
||||
use BackedEnum;
|
||||
use Filament\Resources\Resource;
|
||||
use Filament\Schemas\Schema;
|
||||
use Filament\Support\Icons\Heroicon;
|
||||
use Filament\Tables\Table;
|
||||
use UnitEnum;
|
||||
|
||||
class ElementFilterResource extends Resource
|
||||
{
|
||||
protected static ?string $model = ElementFilter::class;
|
||||
|
||||
protected static string|BackedEnum|null $navigationIcon = Heroicon::OutlinedRectangleStack;
|
||||
|
||||
protected static ?string $recordTitleAttribute = 'name';
|
||||
|
||||
protected static ?string $cluster = SettingsCluster::class;
|
||||
|
||||
protected static string|UnitEnum|null $navigationGroup = 'Filter';
|
||||
|
||||
protected static ?string $navigationLabel = 'Element';
|
||||
|
||||
protected static ?string $modelLabel = 'Element';
|
||||
|
||||
protected static ?string $title = 'Element';
|
||||
|
||||
protected static ?string $pluralModelLabel = 'Elements';
|
||||
|
||||
public static function form(Schema $schema): Schema
|
||||
{
|
||||
return ElementFilterForm::configure($schema);
|
||||
}
|
||||
|
||||
public static function table(Table $table): Table
|
||||
{
|
||||
return ElementFiltersTable::configure($table);
|
||||
}
|
||||
|
||||
public static function getRelations(): array
|
||||
{
|
||||
return [
|
||||
//
|
||||
];
|
||||
}
|
||||
|
||||
public static function getPages(): array
|
||||
{
|
||||
return [
|
||||
'index' => ListElementFilters::route('/'),
|
||||
'create' => CreateElementFilter::route('/create'),
|
||||
'edit' => EditElementFilter::route('/{record}/edit'),
|
||||
];
|
||||
}
|
||||
|
||||
public static function getNavigationBadge(): ?string
|
||||
{
|
||||
return parent::getEloquentQuery()->count();
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\ElementFilters\Pages;
|
||||
|
||||
use App\Filament\Resources\ElementFilters\ElementFilterResource;
|
||||
use Filament\Resources\Pages\CreateRecord;
|
||||
|
||||
class CreateElementFilter extends CreateRecord
|
||||
{
|
||||
protected static string $resource = ElementFilterResource::class;
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\ElementFilters\Pages;
|
||||
|
||||
use App\Filament\Resources\ElementFilters\ElementFilterResource;
|
||||
use Filament\Actions\DeleteAction;
|
||||
use Filament\Resources\Pages\EditRecord;
|
||||
|
||||
class EditElementFilter extends EditRecord
|
||||
{
|
||||
protected static string $resource = ElementFilterResource::class;
|
||||
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
DeleteAction::make(),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\ElementFilters\Pages;
|
||||
|
||||
use App\Filament\Resources\ElementFilters\ElementFilterResource;
|
||||
use Filament\Actions\CreateAction;
|
||||
use Filament\Resources\Pages\ListRecords;
|
||||
|
||||
class ListElementFilters extends ListRecords
|
||||
{
|
||||
protected static string $resource = ElementFilterResource::class;
|
||||
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
CreateAction::make(),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\ElementFilters\Schemas;
|
||||
|
||||
use Filament\Schemas\Schema;
|
||||
|
||||
class ElementFilterForm
|
||||
{
|
||||
public static function configure(Schema $schema): Schema
|
||||
{
|
||||
return $schema
|
||||
->components([
|
||||
//
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\ElementFilters\Tables;
|
||||
|
||||
use Filament\Actions\BulkActionGroup;
|
||||
use Filament\Actions\DeleteBulkAction;
|
||||
use Filament\Actions\EditAction;
|
||||
use Filament\Tables\Table;
|
||||
|
||||
class ElementFiltersTable
|
||||
{
|
||||
public static function configure(Table $table): Table
|
||||
{
|
||||
return $table
|
||||
->columns([
|
||||
//
|
||||
])
|
||||
->filters([
|
||||
//
|
||||
])
|
||||
->recordActions([
|
||||
EditAction::make(),
|
||||
])
|
||||
->toolbarActions([
|
||||
BulkActionGroup::make([
|
||||
DeleteBulkAction::make(),
|
||||
]),
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -46,7 +46,6 @@ class EventResource extends Resource
|
||||
public static function getNavigationBadge(): ?string
|
||||
{
|
||||
return parent::getEloquentQuery()
|
||||
->where('sport_id', auth()->user()->sport_id)
|
||||
->where('starttime', '>', Carbon::now())
|
||||
->count();
|
||||
}
|
||||
@@ -54,7 +53,6 @@ class EventResource extends Resource
|
||||
public static function getEloquentQuery(): Builder
|
||||
{
|
||||
return parent::getEloquentQuery()
|
||||
->where('starttime', '>', Carbon::now())
|
||||
->where('sport_id', auth()->user()->sport_id);
|
||||
->where('starttime', '>', Carbon::now());
|
||||
}
|
||||
}
|
||||
@@ -110,7 +110,7 @@ class EventsTable
|
||||
|
||||
public static function load_bettype_settings()
|
||||
{
|
||||
self::$bettype_settings = BettypeUser::where('user_id', auth()->user()->id)->where('sport_id', auth()->user()->sport_id)->where('is_active', 1)->pluck('multiline_setting_id')->toArray();
|
||||
self::$bettype_settings = BettypeUser::where('is_active', 1)->pluck('multiline_setting_id')->toArray();
|
||||
}
|
||||
|
||||
public static function configure(Table $table): Table
|
||||
|
||||
@@ -1,64 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\GroupFilters;
|
||||
|
||||
use App\Filament\Clusters\Settings\SettingsCluster;
|
||||
use App\Filament\Resources\GroupFilters\Pages\ListGroupFilters;
|
||||
use App\Filament\Resources\GroupFilters\Schemas\GroupFilterForm;
|
||||
use App\Filament\Resources\GroupFilters\Tables\GroupFiltersTable;
|
||||
use App\Models\GroupFilter;
|
||||
use BackedEnum;
|
||||
use Filament\Resources\Resource;
|
||||
use Filament\Schemas\Schema;
|
||||
use Filament\Support\Icons\Heroicon;
|
||||
use Filament\Tables\Table;
|
||||
|
||||
class GroupFilterResource extends Resource
|
||||
{
|
||||
protected static ?string $model = GroupFilter::class;
|
||||
|
||||
protected static string|BackedEnum|null $navigationIcon = Heroicon::OutlinedRectangleStack;
|
||||
|
||||
protected static ?string $recordTitleAttribute = 'name';
|
||||
|
||||
protected static ?string $cluster = SettingsCluster::class;
|
||||
|
||||
protected static string|\UnitEnum|null $navigationGroup = 'Filter';
|
||||
|
||||
protected static ?string $navigationLabel = 'Group';
|
||||
|
||||
protected static ?string $modelLabel = 'Group';
|
||||
|
||||
protected static ?string $title = 'Group';
|
||||
|
||||
protected static ?string $pluralModelLabel = 'Groups';
|
||||
|
||||
public static function form(Schema $schema): Schema
|
||||
{
|
||||
return GroupFilterForm::configure($schema);
|
||||
}
|
||||
|
||||
public static function table(Table $table): Table
|
||||
{
|
||||
return GroupFiltersTable::configure($table);
|
||||
}
|
||||
|
||||
public static function getRelations(): array
|
||||
{
|
||||
return [
|
||||
//
|
||||
];
|
||||
}
|
||||
|
||||
public static function getPages(): array
|
||||
{
|
||||
return [
|
||||
'index' => ListGroupFilters::route('/'),
|
||||
];
|
||||
}
|
||||
|
||||
public static function getNavigationBadge(): ?string
|
||||
{
|
||||
return parent::getEloquentQuery()->count();
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\GroupFilters\Pages;
|
||||
|
||||
use App\Filament\Resources\GroupFilters\GroupFilterResource;
|
||||
use Filament\Resources\Pages\CreateRecord;
|
||||
|
||||
class CreateGroupFilter extends CreateRecord
|
||||
{
|
||||
protected static string $resource = GroupFilterResource::class;
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\GroupFilters\Pages;
|
||||
|
||||
use App\Filament\Resources\GroupFilters\GroupFilterResource;
|
||||
use Filament\Actions\DeleteAction;
|
||||
use Filament\Resources\Pages\EditRecord;
|
||||
|
||||
class EditGroupFilter extends EditRecord
|
||||
{
|
||||
protected static string $resource = GroupFilterResource::class;
|
||||
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
DeleteAction::make(),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\GroupFilters\Pages;
|
||||
|
||||
use App\Filament\Resources\GroupFilters\GroupFilterResource;
|
||||
use Filament\Actions\CreateAction;
|
||||
use Filament\Resources\Pages\ListRecords;
|
||||
|
||||
class ListGroupFilters extends ListRecords
|
||||
{
|
||||
protected static string $resource = GroupFilterResource::class;
|
||||
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
CreateAction::make(),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\GroupFilters\Schemas;
|
||||
|
||||
use Filament\Forms\Components\TextInput;
|
||||
use Filament\Schemas\Schema;
|
||||
|
||||
class GroupFilterForm
|
||||
{
|
||||
public static function configure(Schema $schema): Schema
|
||||
{
|
||||
return $schema
|
||||
->components([
|
||||
TextInput::make('group_id')
|
||||
->required()
|
||||
->numeric(),
|
||||
TextInput::make('bkm_group_id')
|
||||
->required()
|
||||
->numeric(),
|
||||
TextInput::make('bookmaker_id')
|
||||
->required()
|
||||
->numeric(),
|
||||
TextInput::make('name')
|
||||
->default(null),
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -1,49 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\GroupFilters\Tables;
|
||||
|
||||
use Filament\Actions\BulkActionGroup;
|
||||
use Filament\Actions\DeleteBulkAction;
|
||||
use Filament\Actions\EditAction;
|
||||
use Filament\Tables\Columns\TextColumn;
|
||||
use Filament\Tables\Table;
|
||||
|
||||
class GroupFiltersTable
|
||||
{
|
||||
public static function configure(Table $table): Table
|
||||
{
|
||||
return $table
|
||||
->columns([
|
||||
TextColumn::make('group_id')
|
||||
->numeric()
|
||||
->sortable(),
|
||||
TextColumn::make('bkm_group_id')
|
||||
->numeric()
|
||||
->sortable(),
|
||||
TextColumn::make('bookmaker_id')
|
||||
->numeric()
|
||||
->sortable(),
|
||||
TextColumn::make('name')
|
||||
->searchable(),
|
||||
TextColumn::make('created_at')
|
||||
->dateTime()
|
||||
->sortable()
|
||||
->toggleable(isToggledHiddenByDefault: true),
|
||||
TextColumn::make('updated_at')
|
||||
->dateTime()
|
||||
->sortable()
|
||||
->toggleable(isToggledHiddenByDefault: true),
|
||||
])
|
||||
->filters([
|
||||
//
|
||||
])
|
||||
->recordActions([
|
||||
EditAction::make(),
|
||||
])
|
||||
->toolbarActions([
|
||||
BulkActionGroup::make([
|
||||
DeleteBulkAction::make(),
|
||||
]),
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -1,48 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\MultilineClients;
|
||||
|
||||
use App\Filament\Clusters\Settings\SettingsCluster;
|
||||
use App\Filament\Resources\MultilineClients\Pages\ListMultilineClients;
|
||||
use App\Filament\Resources\MultilineClients\Schemas\MultilineClientForm;
|
||||
use App\Filament\Resources\MultilineClients\Tables\MultilineClientsTable;
|
||||
use App\Models\MultilineClient;
|
||||
use BackedEnum;
|
||||
use Filament\Resources\Resource;
|
||||
use Filament\Schemas\Schema;
|
||||
use Filament\Support\Icons\Heroicon;
|
||||
use Filament\Tables\Table;
|
||||
|
||||
class MultilineClientResources extends Resource
|
||||
{
|
||||
protected static ?string $model = MultilineClient::class;
|
||||
|
||||
protected static string|BackedEnum|null $navigationIcon = Heroicon::Bars3;
|
||||
|
||||
protected static ?string $cluster = SettingsCluster::class;
|
||||
|
||||
// protected static string|\UnitEnum|null $navigationGroup = 'Settings';
|
||||
|
||||
protected static ?string $navigationLabel = 'Multiline';
|
||||
|
||||
protected static ?string $modelLabel = 'Multiline';
|
||||
|
||||
protected static ?string $title = 'Multiline';
|
||||
|
||||
public static function form(Schema $schema): Schema
|
||||
{
|
||||
return MultilineClientForm::configure($schema);
|
||||
}
|
||||
|
||||
public static function table(Table $table): Table
|
||||
{
|
||||
return MultilineClientsTable::configure($table);
|
||||
}
|
||||
|
||||
public static function getPages(): array
|
||||
{
|
||||
return [
|
||||
'index' => ListMultilineClients::route('/'),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
<?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;
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
<?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(),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\MultilineClients\Pages;
|
||||
|
||||
use App\Filament\Resources\MultilineClients\MultilineClientResources;
|
||||
use Filament\Actions\CreateAction;
|
||||
use Filament\Resources\Pages\ListRecords;
|
||||
|
||||
class ListMultilineClients extends ListRecords
|
||||
{
|
||||
protected static string $resource = MultilineClientResources::class;
|
||||
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
// CreateAction::make()->createAnother(false),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\MultilineClients\Schemas;
|
||||
|
||||
use App\Models\Bettype;
|
||||
use App\Models\Bookmaker;
|
||||
use App\Models\Matchpart;
|
||||
use App\Models\Sport;
|
||||
use Filament\Forms\Components\Select;
|
||||
use Filament\Schemas\Components\Utilities\Get;
|
||||
use Filament\Schemas\Schema;
|
||||
|
||||
class MultilineClientForm
|
||||
{
|
||||
public static $bettypes = [1, 2, 3, 4, 16, 2001, 2002, 2021, 3001, 3002, 3021];
|
||||
|
||||
public static function configure(Schema $schema): Schema
|
||||
{
|
||||
return $schema
|
||||
->components([
|
||||
Select::make('sport_id')
|
||||
->live()
|
||||
->options(Sport::where('is_active', 1)->pluck('name', 'id'))
|
||||
->preload(),
|
||||
Select::make('matchpart_id')
|
||||
->options(Matchpart::where('is_active', 1)->pluck('name', 'id'))
|
||||
->preload(),
|
||||
Select::make('bettype_id')
|
||||
->options(fn (Get $get) => Bettype::where('sport_id', $get('sport_id'))->whereIn('bettype_id', self::$bettypes)->pluck('name', 'bettype_id')),
|
||||
Select::make('bookmaker_id')
|
||||
->options(Bookmaker::where('is_active', 1)->pluck('name', 'txid'))
|
||||
->preload()
|
||||
->searchable(),
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -18,7 +18,7 @@ class BettypeToggle extends Component
|
||||
{
|
||||
$this->multilines = [];
|
||||
|
||||
$res = BettypeUser::with('multiline')->where('user_id', auth()->user()->id)->where('sport_id', auth()->user()->sport_id)->get();
|
||||
$res = BettypeUser::with('multiline')->get();
|
||||
|
||||
foreach ($res as $set) {
|
||||
$this->multilines[] = [
|
||||
@@ -37,7 +37,7 @@ class BettypeToggle extends Component
|
||||
|
||||
public function toggleBettype($multiline_setting_id)
|
||||
{
|
||||
BettypeUser::where('user_id', auth()->user()->id)->where('multiline_setting_id', $multiline_setting_id)->update(['is_active' => DB::raw('!is_active')]);
|
||||
BettypeUser::where('multiline_setting_id', $multiline_setting_id)->update(['is_active' => DB::raw('!is_active')]);
|
||||
|
||||
$this->dispatch('refreshBettypeMenu');
|
||||
}
|
||||
|
||||
@@ -24,7 +24,8 @@ class MapperLeft extends Component implements HasActions, HasSchemas, HasTable
|
||||
return $table
|
||||
->query(Event::query())
|
||||
->columns([
|
||||
TextColumn::make('name'),
|
||||
TextColumn::make('home.name')->alignRight(),
|
||||
TextColumn::make('away.name'),
|
||||
])
|
||||
->filters([
|
||||
// ...
|
||||
|
||||
@@ -24,7 +24,8 @@ class MapperRight extends Component implements HasActions, HasSchemas, HasTable
|
||||
return $table
|
||||
->query(Mapper::query())
|
||||
->columns([
|
||||
TextColumn::make('name'),
|
||||
TextColumn::make('home')->alignRight(),
|
||||
TextColumn::make('away'),
|
||||
])
|
||||
->filters([
|
||||
// ...
|
||||
|
||||
+24
-4
@@ -1,28 +1,42 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\MultilineClients\Tables;
|
||||
namespace App\Livewire;
|
||||
|
||||
use App\Filament\Tables\Columns\BookmakerIcon;
|
||||
use App\Models\Bookmaker;
|
||||
use App\Models\Client;
|
||||
use App\Models\MultilineClient;
|
||||
use App\Models\MultilineSetting;
|
||||
use App\Models\Sport;
|
||||
use Filament\Actions\Action;
|
||||
use Filament\Actions\Concerns\InteractsWithActions;
|
||||
use Filament\Actions\Contracts\HasActions;
|
||||
use Filament\Forms\Components\Select;
|
||||
use Filament\Schemas\Components\Utilities\Get;
|
||||
use Filament\Schemas\Concerns\InteractsWithSchemas;
|
||||
use Filament\Schemas\Contracts\HasSchemas;
|
||||
use Filament\Tables\Columns\IconColumn;
|
||||
use Filament\Tables\Columns\SelectColumn;
|
||||
use Filament\Tables\Columns\TextColumn;
|
||||
use Filament\Tables\Concerns\InteractsWithTable;
|
||||
use Filament\Tables\Contracts\HasTable;
|
||||
use Filament\Tables\Enums\FiltersLayout;
|
||||
use Filament\Tables\Filters\Filter;
|
||||
use Filament\Tables\Table;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Livewire\Component;
|
||||
|
||||
class MultilineClientsTable
|
||||
class MultilineBookmaker extends Component implements HasActions, HasSchemas, HasTable
|
||||
{
|
||||
public static function configure(Table $table): Table
|
||||
use InteractsWithActions;
|
||||
use InteractsWithSchemas;
|
||||
use InteractsWithTable;
|
||||
|
||||
public function table(Table $table): Table
|
||||
{
|
||||
return $table
|
||||
->query(MultilineClient::query())
|
||||
->paginated(false)
|
||||
->reorderRecordsTriggerAction(
|
||||
fn (Action $action, bool $isReordering) => $action
|
||||
@@ -59,6 +73,7 @@ class MultilineClientsTable
|
||||
Filter::make('multiline')
|
||||
->schema([
|
||||
Select::make('sport_id')
|
||||
->hiddenLabel()
|
||||
->label('Sport')
|
||||
->default(1)
|
||||
->options(function () {
|
||||
@@ -68,6 +83,7 @@ class MultilineClientsTable
|
||||
})
|
||||
->live(),
|
||||
Select::make('multiline_setting_id')
|
||||
->hiddenLabel()
|
||||
->label('Bettype')
|
||||
->default(1)
|
||||
->options(function (Get $get) {
|
||||
@@ -87,7 +103,11 @@ class MultilineClientsTable
|
||||
})
|
||||
->columns(3)->columnSpan(3),
|
||||
], layout: FiltersLayout::AboveContent)
|
||||
|
||||
->hiddenFilterIndicators();
|
||||
}
|
||||
|
||||
public function render(): View
|
||||
{
|
||||
return view('livewire.multiline-bookmaker');
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use App\Models\Scopes\SportScope;
|
||||
use App\Models\Scopes\UserScope;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class BettypeUser extends Model
|
||||
@@ -13,6 +15,12 @@ class BettypeUser extends Model
|
||||
'is_active',
|
||||
];
|
||||
|
||||
protected static function booted(): void
|
||||
{
|
||||
static::addGlobalScope(new SportScope);
|
||||
static::addGlobalScope(new UserScope);
|
||||
}
|
||||
|
||||
public function multiline()
|
||||
{
|
||||
return $this->hasOne(MultilineSetting::class, 'id', 'multiline_setting_id');
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use App\Models\Scopes\SportScope;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Event extends Model
|
||||
@@ -23,6 +24,11 @@ class Event extends Model
|
||||
'away_id',
|
||||
];
|
||||
|
||||
protected static function booted(): void
|
||||
{
|
||||
static::addGlobalScope(new SportScope);
|
||||
}
|
||||
|
||||
public function sport()
|
||||
{
|
||||
return $this->belongsTo(Sport::class);
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models\Scopes;
|
||||
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Scope;
|
||||
|
||||
class SportScope implements Scope
|
||||
{
|
||||
/**
|
||||
* Apply the scope to a given Eloquent query builder.
|
||||
*/
|
||||
public function apply(Builder $builder, Model $model): void
|
||||
{
|
||||
if (auth()->hasUser()) {
|
||||
$builder->where('sport_id', auth()->user()->sport_id);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models\Scopes;
|
||||
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Scope;
|
||||
|
||||
class UserScope implements Scope
|
||||
{
|
||||
/**
|
||||
* Apply the scope to a given Eloquent query builder.
|
||||
*/
|
||||
public function apply(Builder $builder, Model $model): void
|
||||
{
|
||||
if (auth()->hasUser()) {
|
||||
$builder->where('user_id', auth()->user()->id);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
use App\Filament\Clusters\Administrator\AdministratorCluster;
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
@@ -18,7 +20,7 @@ return [
|
||||
'shield_resource' => [
|
||||
'slug' => 'shield/roles',
|
||||
'show_model_path' => true,
|
||||
'cluster' => null,
|
||||
'cluster' => AdministratorCluster::class,
|
||||
'tabs' => [
|
||||
'pages' => true,
|
||||
'widgets' => true,
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
<div>
|
||||
{{ $this->table }}
|
||||
</div>
|
||||
@@ -73,9 +73,7 @@
|
||||
</x-slot>
|
||||
|
||||
{{-- Modal content --}}
|
||||
<div class="grid grid-cols-2 gap-4">
|
||||
Multiline Settings Content
|
||||
</div>
|
||||
@livewire('multiline-bookmaker')
|
||||
|
||||
</x-filament::modal>
|
||||
|
||||
|
||||
Reference in new issue
Block a user