first commit

This commit is contained in:
f4ilji
2024-09-19 16:06:49 +05:00
commit b686638a39
1664 changed files with 428174 additions and 0 deletions
@@ -0,0 +1,12 @@
<?php
namespace App\Filament\Resources\EducationalProgramResource\Pages;
use App\Filament\Resources\EducationalProgramResource;
use Filament\Actions;
use Filament\Resources\Pages\CreateRecord;
class CreateEducationalProgram extends CreateRecord
{
protected static string $resource = EducationalProgramResource::class;
}
@@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\EducationalProgramResource\Pages;
use App\Filament\Resources\EducationalProgramResource;
use Filament\Actions;
use Filament\Resources\Pages\EditRecord;
class EditEducationalProgram extends EditRecord
{
protected static string $resource = EducationalProgramResource::class;
protected function getHeaderActions(): array
{
return [
Actions\DeleteAction::make(),
];
}
}
@@ -0,0 +1,45 @@
<?php
namespace App\Filament\Resources\EducationalProgramResource\Pages;
use App\Enums\EducationalProgramStatus;
use App\Enums\PostStatus;
use App\Filament\Resources\EducationalProgramResource;
use App\Models\EducationalProgram;
use Filament\Actions;
use Filament\Resources\Components\Tab;
use Filament\Resources\Pages\ListRecords;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Support\Facades\DB;
class ListEducationalPrograms extends ListRecords
{
protected static string $resource = EducationalProgramResource::class;
public \Illuminate\Support\Collection $programByStatuses;
public function __construct()
{
$this->programByStatuses = EducationalProgram::select('status', DB::raw('count(*) as program_count'))
->groupBy('status')
->pluck('program_count', 'status');
}
protected function getHeaderActions(): array
{
return [
Actions\CreateAction::make(),
];
}
public function getTabs(): array
{
return [
'status' => Tab::make('Опубликованные программы')->modifyQueryUsing(function (Builder $query) {
$query->where('status', '=', EducationalProgramStatus::PUBLISHED->value);
})->badge($this->programByStatuses[EducationalProgramStatus::PUBLISHED->value] ?? 0),
'All' => Tab::make('Все программы'),
];
}
}