sql fixes

This commit is contained in:
salam committed 2026-07-09 17:52:10 +02:00
1 parent feb9070e5a
commit 1905440212
2 files changed
+88 -72

No files matched your search

@@ -69,106 +69,106 @@ class EventsTable
->columns([
IconColumn::make('sport.icon')
->label('')
->icon(fn($record) => $record->sport->icon)
->tooltip(fn($record) => $record->id)
->icon(fn ($record) => $record->sport->icon)
->tooltip(fn ($record) => $record->id)
->visibleFrom('lg'),
MatchIds::make('ids')->grow(false)->visibleFrom('xl')
->visible(fn() => auth()->user()->hasRole('super_admin')),
->visible(fn () => auth()->user()->hasRole('super_admin')),
ColumnStarttime::make('start'),
TextColumn::make('country.name')
->label('League')
->wrap()
->hidden(fn() => auth()->user()->sport_id == 5)
->hidden(fn () => auth()->user()->sport_id == 5)
->color('gray')
->icon(fn($record) => $record->country?->icon)
->description(fn($record) => ucwords($record->group?->name)),
->icon(fn ($record) => $record->country?->icon)
->description(fn ($record) => ucwords($record->group?->name)),
EventColumn::make('event'),
TooltipOdds::make('ml')->bettype('odds_2ways')->label('')->visible(fn() => in_array('odds_2ways', self::$bettype_settings)),
TooltipOdds::make('ml')->bettype('odds_2ways')->label('')->visible(fn () => in_array('odds_2ways', self::$bettype_settings)),
ColumnOdds::make('odds_2ways')->bettype('odds_2ways')
->visible(fn() => in_array('odds_2ways', self::$bettype_settings))
->visible(fn () => in_array('odds_2ways', self::$bettype_settings))
->verticalAlignment(VerticalAlignment::Start)
->label('ML'),
TooltipOdds::make('mls1')->bettype('odds_2ways_s1')->label('')->visible(fn() => in_array('odds_2ways_s1', self::$bettype_settings)),
TooltipOdds::make('mls1')->bettype('odds_2ways_s1')->label('')->visible(fn () => in_array('odds_2ways_s1', self::$bettype_settings)),
ColumnOdds::make('odds_2ways_s1')->bettype('odds_2ways_s1')
->visible(fn() => in_array('odds_2ways_s1', self::$bettype_settings))
->visible(fn () => in_array('odds_2ways_s1', self::$bettype_settings))
->verticalAlignment(VerticalAlignment::Start)
->label('ML S1'),
TooltipOdds::make('1x2')->bettype('odds_3ways')->label('')->visible(fn() => in_array('odds_3ways', self::$bettype_settings)),
TooltipOdds::make('1x2')->bettype('odds_3ways')->label('')->visible(fn () => in_array('odds_3ways', self::$bettype_settings)),
ColumnOdds::make('odds_3ways')
->bettype('odds_3ways')
->visible(fn() => in_array('odds_3ways', self::$bettype_settings))
->visible(fn () => in_array('odds_3ways', self::$bettype_settings))
->verticalAlignment(VerticalAlignment::Start)
->label('1X2'),
TooltipOdds::make('1x2ht')->bettype('odds_3ways_ht')->label('')->visible(fn() => in_array('odds_3ways_ht', self::$bettype_settings)),
TooltipOdds::make('1x2ht')->bettype('odds_3ways_ht')->label('')->visible(fn () => in_array('odds_3ways_ht', self::$bettype_settings)),
ColumnOdds::make('odds_3ways_ht')->bettype('odds_3ways_ht')
->visible(fn() => in_array('odds_3ways_ht', self::$bettype_settings))
->visible(fn () => in_array('odds_3ways_ht', self::$bettype_settings))
->verticalAlignment(VerticalAlignment::Start)
->label('1X2 HT'),
TooltipOdds::make('total')->bettype('odds_totals')->label('')->visible(fn() => in_array('odds_totals', self::$bettype_settings)),
TooltipOdds::make('total')->bettype('odds_totals')->label('')->visible(fn () => in_array('odds_totals', self::$bettype_settings)),
ColumnOdds::make('odds_totals')->bettype('odds_totals')
->visible(fn() => in_array('odds_totals', self::$bettype_settings))
->visible(fn () => in_array('odds_totals', self::$bettype_settings))
->verticalAlignment(VerticalAlignment::Start)
->label('Totals'),
TooltipOdds::make('total_ht')->bettype('odds_totals_ht')->label('')->visible(fn() => in_array('odds_totals_ht', self::$bettype_settings)),
TooltipOdds::make('total_ht')->bettype('odds_totals_ht')->label('')->visible(fn () => in_array('odds_totals_ht', self::$bettype_settings)),
ColumnOdds::make('odds_totals_ht')->bettype('odds_totals_ht')
->visible(fn() => in_array('odds_totals_ht', self::$bettype_settings))
->visible(fn () => in_array('odds_totals_ht', self::$bettype_settings))
->verticalAlignment(VerticalAlignment::Start)
->label('Totals HT'),
TooltipOdds::make('total_q1')->bettype('odds_totals_q1')->label('')->visible(fn() => in_array('odds_totals_q1', self::$bettype_settings)),
TooltipOdds::make('total_q1')->bettype('odds_totals_q1')->label('')->visible(fn () => in_array('odds_totals_q1', self::$bettype_settings)),
ColumnOdds::make('odds_totals_q1')->bettype('odds_totals_q1')
->visible(fn() => in_array('odds_totals_q1', self::$bettype_settings))
->visible(fn () => in_array('odds_totals_q1', self::$bettype_settings))
->verticalAlignment(VerticalAlignment::Start)
->alignCenter()
->label('Totals Q1'),
TooltipOdds::make('points')->bettype('odds_points')->label('')->visible(fn() => in_array('odds_points', self::$bettype_settings)),
TooltipOdds::make('points')->bettype('odds_points')->label('')->visible(fn () => in_array('odds_points', self::$bettype_settings)),
ColumnOdds::make('odds_points')->bettype('odds_points')
->visible(fn() => in_array('odds_points', self::$bettype_settings))
->visible(fn () => in_array('odds_points', self::$bettype_settings))
->verticalAlignment(VerticalAlignment::Start)
->label('Points'),
TooltipOdds::make('points_ht')->bettype('odds_points_ht')->label('')->visible(fn() => in_array('odds_points_ht', self::$bettype_settings)),
TooltipOdds::make('points_ht')->bettype('odds_points_ht')->label('')->visible(fn () => in_array('odds_points_ht', self::$bettype_settings)),
ColumnOdds::make('odds_points_ht')->bettype('odds_points_ht')
->visible(fn() => in_array('odds_points_ht', self::$bettype_settings))
->visible(fn () => in_array('odds_points_ht', self::$bettype_settings))
->verticalAlignment(VerticalAlignment::Start)
->label('Points HT'),
TooltipOdds::make('points_q1')->bettype('odds_points_q1')->label('')->visible(fn() => in_array('odds_points_q1', self::$bettype_settings)),
TooltipOdds::make('points_q1')->bettype('odds_points_q1')->label('')->visible(fn () => in_array('odds_points_q1', self::$bettype_settings)),
ColumnOdds::make('odds_points_q1')->bettype('odds_points_q1')
->visible(fn() => in_array('odds_points_q1', self::$bettype_settings))
->visible(fn () => in_array('odds_points_q1', self::$bettype_settings))
->verticalAlignment(VerticalAlignment::Start)
->label('Points Q1'),
TooltipOdds::make('ggng')->bettype('odds_ggng')->label('')->visible(fn() => in_array('odds_ggng', self::$bettype_settings)),
TooltipOdds::make('ggng')->bettype('odds_ggng')->label('')->visible(fn () => in_array('odds_ggng', self::$bettype_settings)),
ColumnOdds::make('odds_ggng')->bettype('odds_ggng')
->visible(fn() => \in_array('odds_ggng', self::$bettype_settings))
->visible(fn () => \in_array('odds_ggng', self::$bettype_settings))
->verticalAlignment(VerticalAlignment::Start)
->label('Goal No Goal'),
TooltipOdds::make('dc')->bettype('odds_dc')->label('')->visible(fn() => in_array('odds_dc', self::$bettype_settings)),
TooltipOdds::make('dc')->bettype('odds_dc')->label('')->visible(fn () => in_array('odds_dc', self::$bettype_settings)),
ColumnOdds::make('odds_dc')->bettype('odds_dc')
->visible(fn() => \in_array('odds_dc', self::$bettype_settings))
->visible(fn () => \in_array('odds_dc', self::$bettype_settings))
->verticalAlignment(VerticalAlignment::Start)
->label('Double Chance'),
TooltipOdds::make('tq')->bettype('odds_tq')->label('')->visible(fn() => in_array('odds_tq', self::$bettype_settings)),
TooltipOdds::make('tq')->bettype('odds_tq')->label('')->visible(fn () => in_array('odds_tq', self::$bettype_settings)),
ColumnOdds::make('odds_tq')->bettype('odds_tq')
->visible(fn() => \in_array('odds_tq', self::$bettype_settings))
->visible(fn () => \in_array('odds_tq', self::$bettype_settings))
->verticalAlignment(VerticalAlignment::Start)
->label('To Qualify'),
TooltipOdds::make('dnb')->bettype('odds_dnb')->label('')->visible(fn() => in_array('odds_dnb', self::$bettype_settings)),
TooltipOdds::make('dnb')->bettype('odds_dnb')->label('')->visible(fn () => in_array('odds_dnb', self::$bettype_settings)),
ColumnOdds::make('odds_dnb')->bettype('odds_dnb')
->visible(fn() => \in_array('odds_dnb', self::$bettype_settings))
->visible(fn () => \in_array('odds_dnb', self::$bettype_settings))
->verticalAlignment(VerticalAlignment::Start)
->label('Draw No Bet'),
])
@@ -206,6 +206,19 @@ class EventsTable
->afterStateUpdated(function (callable $set) {
$set('competition_group_id', null);
}),
Select::make('client_group_list_id')
->placeholder('Custom Groups')
->prefixIcon('phosphor-user-list')
->searchable()
->hiddenLabel()
->label('')
->preload()
->options(fn () => ClientGroupList::where('sport_id', auth()->user()->sport_id)
->where('client_id', auth()->user()->client_id)
->pluck('name', 'id'))
->live(),
Select::make('competition_group_id')
->placeholder('League')
->prefixIcon('phosphor-trophy')
@@ -214,7 +227,18 @@ class EventsTable
->multiple()
->searchable()
->options(function (Get $get) {
if ($get('country_id')) {
if ($get('client_group_list_id')) {
$list = ClientGroupList::where('id', $get('client_group_list_id'))->value('client_groups');
$res = Event::where('has_markets', 1)
->with('country')
->with('competition_group')
->where('sport_id', auth()->user()->sport_id)
->where('starttime', '>', Carbon::now())
->whereIn('competition_group_id', $list)
->get();
} elseif ($get('country_id')) {
$res = Event::where('has_markets', 1)
->with('country')
->with('competition_group')
@@ -233,15 +257,16 @@ class EventsTable
$arr = [];
foreach ($res as $val) {
$arr[$val->competition_group_id] = $val->country?->name . ' ' . $val->competition_group?->name;
$arr[$val->competition_group_id] = $val->country?->name.' '.$val->competition_group?->name;
}
asort($arr);
return $arr;
})
->live(),
Select::make('competition_group_id')
->visible(fn() => auth()->user()->sport_id == 5)
->visible(fn () => auth()->user()->sport_id == 5)
->placeholder('Tournament')
->prefixIcon('phosphor-trophy')
->columnSpan(2)
@@ -254,28 +279,19 @@ class EventsTable
->with('competition_group')
->where('sport_id', auth()->user()->sport_id)
->where('starttime', '>', Carbon::now())
->groupBy('competition_group_id')
// ->groupBy('competition_group_id')
->get();
$arr = [];
foreach ($res as $val) {
$arr[$val->competition_group_id] = $val->competition_group->name;
if (! isset($arr[$val->competition_group_id])) {
$arr[$val->competition_group_id] = $val->competition_group->name;
}
}
asort($arr);
return $arr;
})
->live(),
Select::make('client_group_list_id')
->placeholder('Custom Groups')
->prefixIcon('phosphor-user-list')
->searchable()
->hiddenLabel()
->label('')
->preload()
->options(fn() => ClientGroupList::where('sport_id', auth()->user()->sport_id)
->where('client_id', auth()->user()->client_id)
->pluck('name', 'id'))
->live(),
DateRangePicker::make('starttime_period')
->columnSpan(2)
@@ -301,7 +317,7 @@ class EventsTable
->prefixIcon('phosphor-funnel')
->hiddenLabel()
->allowHtml()
->options(fn() => CompareOptions::load()),
->options(fn () => CompareOptions::load()),
])
->query(function (Builder $query, array $data): Builder {
return $query->when(
@@ -311,7 +327,7 @@ class EventsTable
}
)->when(
$data['competition_group_id'],
fn(Builder $query, $competition_group_id) => $query->whereIn('competition_group_id', $competition_group_id)
fn (Builder $query, $competition_group_id) => $query->whereIn('competition_group_id', $competition_group_id)
)->when(
$data['client_group_list_id'],
@@ -477,7 +493,7 @@ class EventsTable
if ($data['client_group_list_id'] ?? null) {
$client_group_list_name = ClientGroupList::where('id', $data['client_group_list_id'])->value('name');
$indicators[] = Indicator::make('Custom Group: ' . $client_group_list_name)->removeField('client_group_list_id')->color('info');
$indicators[] = Indicator::make('Custom Group: '.$client_group_list_name)->removeField('client_group_list_id')->color('info');
}
if ($data['filter_stars'] ?? null) {
@@ -494,17 +510,17 @@ class EventsTable
if ($data['filter_alarm_green'] ?? null) {
$title = OddsTable::where('name', $data['filter_alarm_green'])->value('title');
$indicators[] = Indicator::make('Alarms: ' . $title)->removeField('filter_alarm_green')->color('success');
$indicators[] = Indicator::make('Alarms: '.$title)->removeField('filter_alarm_green')->color('success');
}
if ($data['filter_alarm_yellow'] ?? null) {
$title = OddsTable::where('name', $data['filter_alarm_yellow'])->value('title');
$indicators[] = Indicator::make('Alarms: ' . $title)->removeField('filter_alarm_yellow')->color('info');
$indicators[] = Indicator::make('Alarms: '.$title)->removeField('filter_alarm_yellow')->color('info');
}
if ($data['filter_alarm_red'] ?? null) {
$title = OddsTable::where('name', $data['filter_alarm_red'])->value('title');
$indicators[] = Indicator::make('Alarms: ' . $title)->removeField('filter_alarm_red')->color('danger');
$indicators[] = Indicator::make('Alarms: '.$title)->removeField('filter_alarm_red')->color('danger');
}
if ($data['starttime_period'] ?? null) {
@@ -514,7 +530,7 @@ class EventsTable
$text .= Carbon::parse($span['start'])->format('d. M.');
}
if ($span['end'] ?? null) {
$text .= ' - ' . Carbon::parse($span['end'])->format('d. M.');
$text .= ' - '.Carbon::parse($span['end'])->format('d. M.');
}
if ($text) {
$indicators[] = Indicator::make($text)->removeField('starttime_period.start')->color('info');
@@ -533,16 +549,16 @@ class EventsTable
if ($data['favorit_threshold'] ?? null) {
switch (auth()->user()->sport_id) {
case 1:
$indicators[] = Indicator::make('1X2 Fav <= ' . $data['favorit_threshold'])->removeField('favorit_threshold')->color('warning');
$indicators[] = Indicator::make('1X2 Fav <= '.$data['favorit_threshold'])->removeField('favorit_threshold')->color('warning');
break;
case 2:
$indicators[] = Indicator::make('1X2 Fav <= ' . $data['favorit_threshold'])->removeField('favorit_threshold')->color('warning');
$indicators[] = Indicator::make('1X2 Fav <= '.$data['favorit_threshold'])->removeField('favorit_threshold')->color('warning');
break;
case 3:
$indicators[] = Indicator::make('HC Fav <= ' . $data['favorit_threshold'])->removeField('favorit_threshold')->color('warning');
$indicators[] = Indicator::make('HC Fav <= '.$data['favorit_threshold'])->removeField('favorit_threshold')->color('warning');
break;
case 5:
$indicators[] = Indicator::make('ML Fav <= ' . $data['favorit_threshold'])->removeField('favorit_threshold')->color('warning');
$indicators[] = Indicator::make('ML Fav <= '.$data['favorit_threshold'])->removeField('favorit_threshold')->color('warning');
break;
}
}
@@ -617,7 +633,7 @@ class EventsTable
->modalIcon('phosphor-note-pencil-duotone')
->modalWidth(Width::Large)
->modalSubmitActionLabel('Save')
->extraModalFooterActions(fn(Action $action, $record) => $record->event_user_note->isEmpty() ? [] : [$action->makeModalSubmitAction('Delete', arguments: ['delete' => true])->color('danger')])
->extraModalFooterActions(fn (Action $action, $record) => $record->event_user_note->isEmpty() ? [] : [$action->makeModalSubmitAction('Delete', arguments: ['delete' => true])->color('danger')])
->fillForm(data: function ($record) {
foreach ($record->event_user_note as $value) {
if ($value->user_id == auth()->user()->id && $value->bookmaker_id == auth()->user()->bookmaker_id) {
@@ -638,7 +654,7 @@ class EventsTable
])
->icon('phosphor-note-pencil-duotone')
->iconButton()
->tooltip(fn($record) => view('filament.resources.events.tooltip.event-user-note-tooltip', ['notes' => $record->event_user_note]))
->tooltip(fn ($record) => view('filament.resources.events.tooltip.event-user-note-tooltip', ['notes' => $record->event_user_note]))
->action(function ($record, array $data, $arguments = []) {
if ($arguments) {
EventUserNote::where('id', $data['event_user_note_id'])->delete();
@@ -659,14 +675,14 @@ class EventsTable
]);
}
})
->color(fn($record) => $record->event_user_note->isEmpty() ? 'gray' : 'info'),
->color(fn ($record) => $record->event_user_note->isEmpty() ? 'gray' : 'info'),
ActionGroup::make([
DeleteAction::make()->visible(fn() => auth()->user()->hasRole('super_admin')),
DeleteAction::make()->visible(fn () => auth()->user()->hasRole('super_admin')),
Action::make('txodds_odds')
->label('TxOdds')
->disabled(fn() => ! auth()->user()->hasRole('super_admin'))
->disabled(fn () => ! auth()->user()->hasRole('super_admin'))
->icon('phosphor-arrow-square-out')
->url(fn($record): string => route('txodds_odds', ['sportid' => $record->sport_id, 'txoddsid' => $record->id]))
->url(fn ($record): string => route('txodds_odds', ['sportid' => $record->sport_id, 'txoddsid' => $record->id]))
->openUrlInNewTab(),
Action::make('swap_elements')
->icon('phosphor-swap')
+5 -5
View File
@@ -113,7 +113,7 @@ class MapperRight extends Component implements HasActions, HasSchemas, HasTable
->preload()
->live()
->options(function (Get $get) {
$query = Mapper::query()->where('sport_id', Auth::user()->sport_id)->where('provider_id', Auth::user()->provider_id)->groupBy('country_id')->orderBy('country');
$query = Mapper::query()->where('sport_id', Auth::user()->sport_id)->where('provider_id', Auth::user()->provider_id);
$timeframe = $get('starttime_period') ?? [];
if ($timeframe['start'] || $timeframe['end']) {
@@ -148,7 +148,7 @@ class MapperRight extends Component implements HasActions, HasSchemas, HasTable
->preload()
->live()
->options(function (Get $get) {
$query = Mapper::query()->where('sport_id', Auth::user()->sport_id)->where('provider_id', Auth::user()->provider_id)->groupBy('group_cc');
$query = Mapper::query()->where('sport_id', Auth::user()->sport_id)->where('provider_id', Auth::user()->provider_id);
$timeframe = $get('starttime_period') ?? [];
@@ -190,11 +190,11 @@ class MapperRight extends Component implements HasActions, HasSchemas, HasTable
->preload()
->options(function (Get $get) {
if ($get('country_id')) {
$query = Mapper::query()->where('sport_id', Auth::user()->sport_id)->where('provider_id', Auth::user()->provider_id)->where('country_id', $get('country_id'))->groupBy('group_id');
$query = Mapper::query()->where('sport_id', Auth::user()->sport_id)->where('provider_id', Auth::user()->provider_id)->where('country_id', $get('country_id'));
} elseif ($get('group_cc')) {
$query = Mapper::query()->where('sport_id', Auth::user()->sport_id)->where('provider_id', Auth::user()->provider_id)->where('group_cc', $get('group_cc'))->groupBy('group_id');
$query = Mapper::query()->where('sport_id', Auth::user()->sport_id)->where('provider_id', Auth::user()->provider_id)->where('group_cc', $get('group_cc'));
} else {
$query = Mapper::query()->where('sport_id', Auth::user()->sport_id)->where('provider_id', Auth::user()->provider_id)->groupBy('group_id');
$query = Mapper::query()->where('sport_id', Auth::user()->sport_id)->where('provider_id', Auth::user()->provider_id);
}
$timeframe = $get('starttime_period') ?? [];