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()
|
public static function grap()
|
||||||
{
|
{
|
||||||
$debug = Nuh::$options['d'] ?? 0;
|
$debug = Nuh::$options['d'] ?? 0;
|
||||||
|
$break = Nuh::$options['b'] ?? 0;
|
||||||
|
|
||||||
$sportmap = Sport::map('bapi');
|
$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
|
public static function getNavigationBadge(): ?string
|
||||||
{
|
{
|
||||||
return parent::getEloquentQuery()
|
return parent::getEloquentQuery()
|
||||||
->where('sport_id', auth()->user()->sport_id)
|
|
||||||
->where('starttime', '>', Carbon::now())
|
->where('starttime', '>', Carbon::now())
|
||||||
->count();
|
->count();
|
||||||
}
|
}
|
||||||
@@ -54,7 +53,6 @@ class EventResource extends Resource
|
|||||||
public static function getEloquentQuery(): Builder
|
public static function getEloquentQuery(): Builder
|
||||||
{
|
{
|
||||||
return parent::getEloquentQuery()
|
return parent::getEloquentQuery()
|
||||||
->where('starttime', '>', Carbon::now())
|
->where('starttime', '>', Carbon::now());
|
||||||
->where('sport_id', auth()->user()->sport_id);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -110,7 +110,7 @@ class EventsTable
|
|||||||
|
|
||||||
public static function load_bettype_settings()
|
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
|
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 = [];
|
$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) {
|
foreach ($res as $set) {
|
||||||
$this->multilines[] = [
|
$this->multilines[] = [
|
||||||
@@ -37,7 +37,7 @@ class BettypeToggle extends Component
|
|||||||
|
|
||||||
public function toggleBettype($multiline_setting_id)
|
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');
|
$this->dispatch('refreshBettypeMenu');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,8 @@ class MapperLeft extends Component implements HasActions, HasSchemas, HasTable
|
|||||||
return $table
|
return $table
|
||||||
->query(Event::query())
|
->query(Event::query())
|
||||||
->columns([
|
->columns([
|
||||||
TextColumn::make('name'),
|
TextColumn::make('home.name')->alignRight(),
|
||||||
|
TextColumn::make('away.name'),
|
||||||
])
|
])
|
||||||
->filters([
|
->filters([
|
||||||
// ...
|
// ...
|
||||||
|
|||||||
@@ -24,7 +24,8 @@ class MapperRight extends Component implements HasActions, HasSchemas, HasTable
|
|||||||
return $table
|
return $table
|
||||||
->query(Mapper::query())
|
->query(Mapper::query())
|
||||||
->columns([
|
->columns([
|
||||||
TextColumn::make('name'),
|
TextColumn::make('home')->alignRight(),
|
||||||
|
TextColumn::make('away'),
|
||||||
])
|
])
|
||||||
->filters([
|
->filters([
|
||||||
// ...
|
// ...
|
||||||
|
|||||||
+24
-4
@@ -1,28 +1,42 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Filament\Resources\MultilineClients\Tables;
|
namespace App\Livewire;
|
||||||
|
|
||||||
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\MultilineClient;
|
||||||
use App\Models\MultilineSetting;
|
use App\Models\MultilineSetting;
|
||||||
use App\Models\Sport;
|
use App\Models\Sport;
|
||||||
use Filament\Actions\Action;
|
use Filament\Actions\Action;
|
||||||
|
use Filament\Actions\Concerns\InteractsWithActions;
|
||||||
|
use Filament\Actions\Contracts\HasActions;
|
||||||
use Filament\Forms\Components\Select;
|
use Filament\Forms\Components\Select;
|
||||||
use Filament\Schemas\Components\Utilities\Get;
|
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\IconColumn;
|
||||||
use Filament\Tables\Columns\SelectColumn;
|
use Filament\Tables\Columns\SelectColumn;
|
||||||
use Filament\Tables\Columns\TextColumn;
|
use Filament\Tables\Columns\TextColumn;
|
||||||
|
use Filament\Tables\Concerns\InteractsWithTable;
|
||||||
|
use Filament\Tables\Contracts\HasTable;
|
||||||
use Filament\Tables\Enums\FiltersLayout;
|
use Filament\Tables\Enums\FiltersLayout;
|
||||||
use Filament\Tables\Filters\Filter;
|
use Filament\Tables\Filters\Filter;
|
||||||
use Filament\Tables\Table;
|
use Filament\Tables\Table;
|
||||||
|
use Illuminate\Contracts\View\View;
|
||||||
use Illuminate\Database\Eloquent\Builder;
|
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
|
return $table
|
||||||
|
->query(MultilineClient::query())
|
||||||
->paginated(false)
|
->paginated(false)
|
||||||
->reorderRecordsTriggerAction(
|
->reorderRecordsTriggerAction(
|
||||||
fn (Action $action, bool $isReordering) => $action
|
fn (Action $action, bool $isReordering) => $action
|
||||||
@@ -59,6 +73,7 @@ class MultilineClientsTable
|
|||||||
Filter::make('multiline')
|
Filter::make('multiline')
|
||||||
->schema([
|
->schema([
|
||||||
Select::make('sport_id')
|
Select::make('sport_id')
|
||||||
|
->hiddenLabel()
|
||||||
->label('Sport')
|
->label('Sport')
|
||||||
->default(1)
|
->default(1)
|
||||||
->options(function () {
|
->options(function () {
|
||||||
@@ -68,6 +83,7 @@ class MultilineClientsTable
|
|||||||
})
|
})
|
||||||
->live(),
|
->live(),
|
||||||
Select::make('multiline_setting_id')
|
Select::make('multiline_setting_id')
|
||||||
|
->hiddenLabel()
|
||||||
->label('Bettype')
|
->label('Bettype')
|
||||||
->default(1)
|
->default(1)
|
||||||
->options(function (Get $get) {
|
->options(function (Get $get) {
|
||||||
@@ -87,7 +103,11 @@ class MultilineClientsTable
|
|||||||
})
|
})
|
||||||
->columns(3)->columnSpan(3),
|
->columns(3)->columnSpan(3),
|
||||||
], layout: FiltersLayout::AboveContent)
|
], layout: FiltersLayout::AboveContent)
|
||||||
|
|
||||||
->hiddenFilterIndicators();
|
->hiddenFilterIndicators();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function render(): View
|
||||||
|
{
|
||||||
|
return view('livewire.multiline-bookmaker');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
namespace App\Models;
|
namespace App\Models;
|
||||||
|
|
||||||
|
use App\Models\Scopes\SportScope;
|
||||||
|
use App\Models\Scopes\UserScope;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
class BettypeUser extends Model
|
class BettypeUser extends Model
|
||||||
@@ -13,6 +15,12 @@ class BettypeUser extends Model
|
|||||||
'is_active',
|
'is_active',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
protected static function booted(): void
|
||||||
|
{
|
||||||
|
static::addGlobalScope(new SportScope);
|
||||||
|
static::addGlobalScope(new UserScope);
|
||||||
|
}
|
||||||
|
|
||||||
public function multiline()
|
public function multiline()
|
||||||
{
|
{
|
||||||
return $this->hasOne(MultilineSetting::class, 'id', 'multiline_setting_id');
|
return $this->hasOne(MultilineSetting::class, 'id', 'multiline_setting_id');
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace App\Models;
|
namespace App\Models;
|
||||||
|
|
||||||
|
use App\Models\Scopes\SportScope;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
class Event extends Model
|
class Event extends Model
|
||||||
@@ -23,6 +24,11 @@ class Event extends Model
|
|||||||
'away_id',
|
'away_id',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
protected static function booted(): void
|
||||||
|
{
|
||||||
|
static::addGlobalScope(new SportScope);
|
||||||
|
}
|
||||||
|
|
||||||
public function sport()
|
public function sport()
|
||||||
{
|
{
|
||||||
return $this->belongsTo(Sport::class);
|
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);
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
use App\Filament\Clusters\Administrator\AdministratorCluster;
|
||||||
|
|
||||||
return [
|
return [
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -18,7 +20,7 @@ return [
|
|||||||
'shield_resource' => [
|
'shield_resource' => [
|
||||||
'slug' => 'shield/roles',
|
'slug' => 'shield/roles',
|
||||||
'show_model_path' => true,
|
'show_model_path' => true,
|
||||||
'cluster' => null,
|
'cluster' => AdministratorCluster::class,
|
||||||
'tabs' => [
|
'tabs' => [
|
||||||
'pages' => true,
|
'pages' => true,
|
||||||
'widgets' => true,
|
'widgets' => true,
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
<div>
|
||||||
|
{{ $this->table }}
|
||||||
|
</div>
|
||||||
@@ -73,9 +73,7 @@
|
|||||||
</x-slot>
|
</x-slot>
|
||||||
|
|
||||||
{{-- Modal content --}}
|
{{-- Modal content --}}
|
||||||
<div class="grid grid-cols-2 gap-4">
|
@livewire('multiline-bookmaker')
|
||||||
Multiline Settings Content
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</x-filament::modal>
|
</x-filament::modal>
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user