Migrate backend to Porto architecture and fix minor bugs

- Fully transitioned the backend to the Porto architectural pattern
- Improved code organization and maintainability
- Fixed minor bugs and inconsistencies
This commit is contained in:
F4ilji
2025-05-12 08:47:43 +05:00
parent 76deaf75f3
commit c01016a154
620 changed files with 16218 additions and 6073 deletions
@@ -2,20 +2,11 @@
namespace App\Filament\Components\Forms;
use App\Enums\CustomFormStatus;
use App\Enums\PostStatus;
use App\Containers\Widget\Enums\CustomFormStatus;
use App\Filament\Components\Forms\ItemForm\CustomForm\FormBuilderItem;
use App\Filament\Components\Forms\ItemForm\Pages\ContentBuilderItem;
use App\Helpers\ByteConverter;
use App\Models\Category;
use App\Models\CustomForm;
use App\Models\Page;
use App\Models\Post;
use Filament\Forms;
use Filament\Forms\Components\Builder;
use Filament\Forms\Components\DateTimePicker;
use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\Hidden;
use Filament\Forms\Components\RichEditor;
use Filament\Forms\Components\Section;
use Filament\Forms\Components\Select;
@@ -26,9 +17,6 @@ use Filament\Forms\Form;
use Filament\Resources\Components\Tab;
use Illuminate\Support\Carbon;
use Illuminate\Support\Str;
use Livewire\Features\SupportFileUploads\TemporaryUploadedFile;
use Mohamedsabil83\FilamentFormsTinyeditor\Components\TinyEditor;
use Symfony\Component\Finder\Finder;
class CustomFormForm
{
@@ -2,17 +2,9 @@
namespace App\Filament\Components\Forms\ItemForm\Blocks;
use App\Filament\Components\Forms\ItemForm\Blocks\BlockSchema;
use App\Helpers\ByteConverter;
use App\Models\ContactWidget;
use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\Hidden;
use Filament\Forms\Components\Repeater;
use App\Containers\Widget\Models\ContactWidget;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\TextInput;
use Illuminate\Support\Carbon;
use Illuminate\Support\Str;
use Livewire\Features\SupportFileUploads\TemporaryUploadedFile;
class ContactBlock implements BlockSchema
{
@@ -2,8 +2,8 @@
namespace App\Filament\Components\Forms\ItemForm\Blocks;
use App\Enums\CustomFormStatus;
use App\Models\CustomForm;
use App\Containers\Widget\Enums\CustomFormStatus;
use App\Containers\Widget\Models\CustomForm;
use Filament\Forms\Components\Section;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\Toggle;
@@ -3,7 +3,7 @@
namespace App\Filament\Components\Forms\ItemForm\Blocks;
use App\Filament\Components\Forms\ItemForm\Blocks\BlockSchema;
use App\Helpers\ByteConverter;
use App\Ship\Helpers\ByteConverter;
use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\Hidden;
use Filament\Forms\Components\Repeater;
@@ -3,7 +3,7 @@
namespace App\Filament\Components\Forms\ItemForm\Blocks;
use App\Filament\Components\Forms\ItemForm\Blocks\BlockSchema;
use App\Helpers\ByteConverter;
use App\Ship\Helpers\ByteConverter;
use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\Hidden;
use Filament\Forms\Components\Repeater;
@@ -3,7 +3,7 @@
namespace App\Filament\Components\Forms\ItemForm\Blocks;
use App\Filament\Components\Forms\ItemForm\Blocks\BlockSchema;
use App\Helpers\ByteConverter;
use App\Ship\Helpers\ByteConverter;
use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\Hidden;
use Filament\Forms\Components\Repeater;
@@ -3,8 +3,8 @@
namespace App\Filament\Components\Forms\ItemForm\Blocks;
use App\Filament\Components\Forms\ItemForm\Blocks\BlockSchema;
use App\Helpers\ByteConverter;
use App\Models\Page;
use App\Ship\Helpers\ByteConverter;
use App\Containers\AppStructure\Models\Page;
use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\Hidden;
use Filament\Forms\Components\Repeater;
@@ -2,21 +2,12 @@
namespace App\Filament\Components\Forms\ItemForm\Blocks;
use App\Filament\Components\Forms\ItemForm\Blocks\BlockSchema;
use App\Helpers\ByteConverter;
use App\Models\PageReferenceList;
use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\Hidden;
use Filament\Forms\Components\Repeater;
use App\Containers\Widget\Models\PageReferenceList;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\TextInput;
use Illuminate\Support\Carbon;
use Illuminate\Support\Str;
use Livewire\Features\SupportFileUploads\TemporaryUploadedFile;
class PageResourceListBlock implements BlockSchema
{
public static function schema(): array
{
return [
@@ -3,7 +3,7 @@
namespace App\Filament\Components\Forms\ItemForm\Blocks;
use App\Filament\Components\Forms\ItemForm\Blocks\BlockSchema;
use App\Helpers\ByteConverter;
use App\Ship\Helpers\ByteConverter;
use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\Hidden;
use Filament\Forms\Components\Repeater;
@@ -2,8 +2,8 @@
namespace App\Filament\Components\Forms\ItemForm\Blocks;
use App\Enums\PostStatus;
use App\Models\Post;
use App\Containers\Article\Enums\PostStatus;
use App\Containers\Article\Models\Post;
use Filament\Forms\Components\Select;
class PostItemBlock implements BlockSchema
@@ -2,18 +2,10 @@
namespace App\Filament\Components\Forms\ItemForm\Blocks;
use App\Filament\Components\Forms\ItemForm\Blocks\BlockSchema;
use App\Helpers\ByteConverter;
use App\Models\Category;
use Filament\Forms\Components\FileUpload;
use App\Containers\Article\Models\Category;
use Filament\Forms\Components\Grid;
use Filament\Forms\Components\Hidden;
use Filament\Forms\Components\Repeater;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\TextInput;
use Illuminate\Support\Carbon;
use Illuminate\Support\Str;
use Livewire\Features\SupportFileUploads\TemporaryUploadedFile;
class PostListBlock implements BlockSchema
{
@@ -2,17 +2,8 @@
namespace App\Filament\Components\Forms\ItemForm\Blocks;
use App\Filament\Components\Forms\ItemForm\Blocks\BlockSchema;
use App\Helpers\ByteConverter;
use App\Models\Slider;
use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\Hidden;
use Filament\Forms\Components\Repeater;
use App\Containers\Widget\Models\Slider;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\TextInput;
use Illuminate\Support\Carbon;
use Illuminate\Support\Str;
use Livewire\Features\SupportFileUploads\TemporaryUploadedFile;
class SliderBlock implements BlockSchema
{
@@ -3,7 +3,7 @@
namespace App\Filament\Components\Forms\ItemForm\Blocks;
use App\Filament\Components\Forms\ItemForm\Blocks\BlockSchema;
use App\Helpers\ByteConverter;
use App\Ship\Helpers\ByteConverter;
use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\Hidden;
use Filament\Forms\Components\Repeater;
@@ -4,7 +4,7 @@ namespace App\Filament\Components\Forms\ItemForm\Blocks;
use App\Filament\Components\Forms\ItemForm\Blocks\BlockSchema;
use App\Filament\Components\Forms\ItemForm\Defaults\TabBuilderItem;
use App\Helpers\ByteConverter;
use App\Ship\Helpers\ByteConverter;
use Filament\Forms\Components\Builder;
use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\Hidden;
@@ -2,15 +2,8 @@
namespace App\Filament\Components\Forms\ItemForm\Blocks;
use App\Filament\Components\Forms\ItemForm\Blocks\BlockSchema;
use App\Helpers\ByteConverter;
use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\Hidden;
use Filament\Forms\Components\Repeater;
use Filament\Forms\Components\TextInput;
use Illuminate\Support\Carbon;
use Illuminate\Support\Str;
use Livewire\Features\SupportFileUploads\TemporaryUploadedFile;
class VideoBlock implements BlockSchema
{
@@ -2,32 +2,18 @@
namespace App\Filament\Components\Forms\ItemForm\CustomForm;
use App\Enums\CustomFormStatus;
use App\Enums\PostStatus;
use App\Filament\Components\Forms\ItemForm\CustomForm\components\rules\RuleLengthLimitComponent;
use App\Filament\Components\Forms\ItemForm\CustomForm\components\rules\RuleRequiredComponent;
use App\Filament\Components\Forms\ItemForm\CustomForm\components\rules\RuleUniqueComponent;
use App\Helpers\ByteConverter;
use App\Models\Category;
use App\Models\CustomForm;
use App\Models\Page;
use App\Models\Post;
use Filament\Forms;
use Filament\Forms\Components\Builder;
use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\Hidden;
use Filament\Forms\Components\Repeater;
use Filament\Forms\Components\RichEditor;
use Filament\Forms\Components\Section;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\Textarea;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Toggle;
use Filament\Forms\Form;
use Illuminate\Support\Carbon;
use Illuminate\Support\Str;
use Livewire\Features\SupportFileUploads\TemporaryUploadedFile;
use Mohamedsabil83\FilamentFormsTinyeditor\Components\TinyEditor;
class FormBuilderItem
{
@@ -2,27 +2,9 @@
namespace App\Filament\Components\Forms\ItemForm\CustomForm\components\rules;
use App\Enums\CustomFormStatus;
use App\Enums\PostStatus;
use App\Helpers\ByteConverter;
use App\Models\Category;
use App\Models\CustomForm;
use App\Models\Page;
use App\Models\Post;
use Filament\Forms;
use Filament\Forms\Components\Builder;
use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\Hidden;
use Filament\Forms\Components\RichEditor;
use Filament\Forms\Components\Section;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Toggle;
use Filament\Forms\Form;
use Illuminate\Support\Carbon;
use Illuminate\Support\Str;
use Livewire\Features\SupportFileUploads\TemporaryUploadedFile;
use Mohamedsabil83\FilamentFormsTinyeditor\Components\TinyEditor;
class RuleLengthLimitComponent
{
@@ -2,27 +2,9 @@
namespace App\Filament\Components\Forms\ItemForm\CustomForm\components\rules;
use App\Enums\CustomFormStatus;
use App\Enums\PostStatus;
use App\Helpers\ByteConverter;
use App\Models\Category;
use App\Models\CustomForm;
use App\Models\Page;
use App\Models\Post;
use Filament\Forms;
use Filament\Forms\Components\Builder;
use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\Hidden;
use Filament\Forms\Components\RichEditor;
use Filament\Forms\Components\Section;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Toggle;
use Filament\Forms\Form;
use Illuminate\Support\Carbon;
use Illuminate\Support\Str;
use Livewire\Features\SupportFileUploads\TemporaryUploadedFile;
use Mohamedsabil83\FilamentFormsTinyeditor\Components\TinyEditor;
class RuleRequiredComponent
{
@@ -2,27 +2,8 @@
namespace App\Filament\Components\Forms\ItemForm\CustomForm\components\rules;
use App\Enums\CustomFormStatus;
use App\Enums\PostStatus;
use App\Helpers\ByteConverter;
use App\Models\Category;
use App\Models\CustomForm;
use App\Models\Page;
use App\Models\Post;
use Filament\Forms;
use Filament\Forms\Components\Builder;
use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\Hidden;
use Filament\Forms\Components\RichEditor;
use Filament\Forms\Components\Section;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Toggle;
use Filament\Forms\Form;
use Illuminate\Support\Carbon;
use Illuminate\Support\Str;
use Livewire\Features\SupportFileUploads\TemporaryUploadedFile;
use Mohamedsabil83\FilamentFormsTinyeditor\Components\TinyEditor;
class RuleUniqueComponent
{
@@ -2,30 +2,21 @@
namespace App\Filament\Components\Forms\ItemForm\Defaults;
use App\Enums\CustomFormStatus;
use App\Enums\PostStatus;
use App\Helpers\ByteConverter;
use App\Models\Category;
use App\Models\CustomForm;
use App\Models\Page;
use App\Models\PageReferenceList;
use App\Models\Post;
use Filament\Forms;
use App\Containers\Article\Models\Category;
use App\Containers\Widget\Models\CustomForm;
use App\Containers\Widget\Models\PageReferenceList;
use App\Ship\Helpers\ByteConverter;
use App\Containers\AppStructure\Models\Page;
use App\Containers\Article\Models\Post;
use Filament\Forms\Components\Builder;
use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\Grid;
use Filament\Forms\Components\Hidden;
use Filament\Forms\Components\Repeater;
use Filament\Forms\Components\RichEditor;
use Filament\Forms\Components\Section;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\Textarea;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Toggle;
use Filament\Forms\Form;
use Illuminate\Support\Carbon;
use Illuminate\Support\Str;
use Livewire\Features\SupportFileUploads\TemporaryUploadedFile;
use Mohamedsabil83\FilamentFormsTinyeditor\Components\TinyEditor;
class ContentBuilderItem
@@ -2,26 +2,24 @@
namespace App\Filament\Components\Forms\ItemForm\Defaults;
use App\Enums\CustomFormStatus;
use App\Enums\PostStatus;
use App\Helpers\ByteConverter;
use App\Models\Category;
use App\Models\ContactWidget;
use App\Models\CustomForm;
use App\Models\Page;
use App\Models\PageReferenceList;
use App\Models\Post;
use App\Models\Slider;
use App\Containers\Article\Enums\PostStatus;
use App\Containers\Article\Models\Category;
use App\Containers\Widget\Enums\CustomFormStatus;
use App\Containers\Widget\Models\ContactWidget;
use App\Containers\Widget\Models\CustomForm;
use App\Containers\Widget\Models\PageReferenceList;
use App\Containers\Widget\Models\Slider;
use App\Ship\Helpers\ByteConverter;
use App\Containers\AppStructure\Models\Page;
use App\Containers\Article\Models\Post;
use Filament\Forms;
use Filament\Forms\Components\Builder;
use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\Hidden;
use Filament\Forms\Components\RichEditor;
use Filament\Forms\Components\Section;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Toggle;
use Filament\Forms\Form;
use Illuminate\Support\Carbon;
use Illuminate\Support\Str;
use Livewire\Features\SupportFileUploads\TemporaryUploadedFile;
@@ -2,8 +2,6 @@
namespace App\Filament\Components\Forms\ItemForm\Pages;
use App\Enums\CustomFormStatus;
use App\Enums\PostStatus;
use App\Filament\Components\Forms\ItemForm\Blocks\ContactBlock;
use App\Filament\Components\Forms\ItemForm\Blocks\CustomFormBlock;
use App\Filament\Components\Forms\ItemForm\Blocks\FilesBlock;
@@ -19,30 +17,7 @@ use App\Filament\Components\Forms\ItemForm\Blocks\SliderBlock;
use App\Filament\Components\Forms\ItemForm\Blocks\StepperBlock;
use App\Filament\Components\Forms\ItemForm\Blocks\TabBlock;
use App\Filament\Components\Forms\ItemForm\Blocks\VideoBlock;
use App\Filament\Components\Forms\ItemForm\Defaults\TabBuilderItem;
use App\Helpers\ByteConverter;
use App\Models\Category;
use App\Models\ContactWidget;
use App\Models\CustomForm;
use App\Models\Page;
use App\Models\PageReferenceList;
use App\Models\Post;
use App\Models\Slider;
use Filament\Forms;
use Filament\Forms\Components\Builder;
use Filament\Forms\Components\Fieldset;
use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\Hidden;
use Filament\Forms\Components\RichEditor;
use Filament\Forms\Components\Section;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Toggle;
use Filament\Forms\Form;
use Illuminate\Support\Carbon;
use Illuminate\Support\Str;
use Livewire\Features\SupportFileUploads\TemporaryUploadedFile;
use Mohamedsabil83\FilamentFormsTinyeditor\Components\TinyEditor;
class ContentBuilderItem
{
+2 -3
View File
@@ -2,10 +2,9 @@
namespace App\Filament\Components\Forms;
use App\Enums\CustomFormStatus;
use App\Enums\PostStatus;
use App\Containers\Widget\Enums\CustomFormStatus;
use App\Containers\Widget\Models\CustomForm;
use App\Filament\Components\Forms\ItemForm\Pages\ContentBuilderItem;
use App\Models\CustomForm;
use Filament\Forms;
use Filament\Forms\Components\Actions\Action;
use Filament\Forms\Components\Section;
+14 -20
View File
@@ -2,24 +2,16 @@
namespace App\Filament\Components\Forms;
use App\Enums\CustomFormStatus;
use App\Enums\PostStatus;
use App\Containers\Article\Enums\PostStatus;
use App\Containers\Article\Models\Category;
use App\Containers\Widget\Models\Slider;
use App\Filament\Components\Forms\ItemForm\Pages\ContentBuilderItem;
use App\Helpers\ByteConverter;
use App\Models\Category;
use App\Models\CustomForm;
use App\Models\Page;
use App\Models\PageReferenceList;
use App\Models\Post;
use App\Models\Slider;
use Carbon\Carbon;
use Filament\Forms;
use Filament\Forms\Components\Builder;
use Filament\Forms\Components\ColorPicker;
use Filament\Forms\Components\DateTimePicker;
use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\Grid;
use Filament\Forms\Components\Hidden;
use Filament\Forms\Components\RichEditor;
use Filament\Forms\Components\Section;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\SpatieTagsInput;
@@ -29,13 +21,7 @@ use Filament\Forms\Components\Toggle;
use Filament\Forms\Components\ToggleButtons;
use Filament\Forms\Form;
use Filament\Resources\Components\Tab;
use Filament\Resources\Pages\CreateRecord;
use Filament\Resources\Pages\EditRecord;
use Illuminate\Support\Carbon;
use Illuminate\Support\Str;
use Livewire\Features\SupportFileUploads\TemporaryUploadedFile;
use Mohamedsabil83\FilamentFormsTinyeditor\Components\TinyEditor;
use Symfony\Component\Finder\Finder;
class PostForm
{
@@ -99,16 +85,17 @@ class PostForm
'Редакция',
'Администратор',
]),
Section::make('Отложенная публикация')
Section::make('Публикация по времени')
->description('Настройте автоматическую публикацию новости в указанное время')
->collapsible()
->schema([
Grid::make(2)
->schema([
Toggle::make('publish_setting.publish_after')
->label('Включить отложенную публикацию')
->label('Включить публикацию по времени')
->inline(false)
->default(false)
->disabled(fn (Forms\Get $get) => $get('publish_setting.publish_at'))
->live()
->helperText('Активируйте для публикации в указанное время'),
DateTimePicker::make('publish_setting.publish_at')
@@ -119,6 +106,13 @@ class PostForm
->required(fn (Forms\Get $get) => $get('publish_setting.publish_after'))
->disabled(fn (Forms\Get $get) => !$get('publish_setting.publish_after'))
->native(true)
->minDate(function (string $context, $state) {
if ($context === 'edit' && $state) {
return $state;
} else {
return now()->ceilHour()->subHour();
}
})
->maxDate(now()->addMonth()),
]),
]),
@@ -2,31 +2,11 @@
namespace App\Filament\Components\Forms;
use App\Enums\CustomFormStatus;
use App\Enums\PostStatus;
use App\Filament\Components\Forms\ItemForm\Pages\ContentBuilderItem;
use App\Helpers\ByteConverter;
use App\Models\Category;
use App\Models\CustomForm;
use App\Models\Page;
use App\Models\Post;
use Filament\Forms;
use Filament\Forms\Components\Builder;
use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\Hidden;
use Filament\Forms\Components\RichEditor;
use Filament\Forms\Components\Section;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\Tabs;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Toggle;
use Filament\Forms\Form;
use Filament\Resources\Components\Tab;
use Illuminate\Support\Carbon;
use Illuminate\Support\Str;
use Livewire\Features\SupportFileUploads\TemporaryUploadedFile;
use Mohamedsabil83\FilamentFormsTinyeditor\Components\TinyEditor;
use Symfony\Component\Finder\Finder;
class UserDetailForm
{
+1 -2
View File
@@ -2,8 +2,7 @@
namespace App\Filament\Exports;
use App\Models\CustomForm;
use App\Models\CustomFormResponse;
use App\Containers\Widget\Models\CustomForm;
use Filament\Actions\Exports\ExportColumn;
use Filament\Actions\Exports\Exporter;
use Filament\Actions\Exports\Models\Export;
@@ -1,103 +0,0 @@
<?php
namespace App\Filament\Pages;
use AskerAkbar\Checkpoint\Settings\CheckpointSettings;
use Filament\Forms\Components\Grid;
use Filament\Forms\Components\Section;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Toggle;
use Filament\Forms\Form;
use Filament\Forms\Get;
use Filament\Pages\SettingsPage;
class CheckpointSettingsPage extends SettingsPage
{
protected static ?string $slug = 'checkpoint/settings';
protected static ?string $navigationIcon = 'heroicon-o-adjustments-horizontal';
protected static string $settings = CheckpointSettings::class;
public static function getNavigationLabel(): string
{
return 'Настройки Контрольных Точек'; // Русифицированная метка навигации
}
public function getTitle(): string
{
return 'Настройки Контрольных Точек'; // Заголовок страницы
}
public function getSubheading(): ?string
{
return 'Здесь вы можете настроить параметры контрольных точек.'; // Подзаголовок с описанием
}
public static function getNavigationGroup(): ?string
{
return 'Настройки приложения'; // Группа навигации
}
public function form(Form $form): Form
{
return $form
->schema([
Grid::make()
->columns([
'default' => 1,
])
->columnSpan(2)
->schema([
TextInput::make('max_attempts')
->required()
->integer()
->minValue(1)
->label('Максимальное количество попыток') // Метка для поля
->helperText('Введите максимальное количество попыток входа.') // Подсказка
->suffix('попытки'),
TextInput::make('lockout_duration')
->required()
->integer()
->minValue(1)
->label('Продолжительность блокировки (в секундах)') // Метка для поля
->helperText('Введите время блокировки в секундах.') // Подсказка
->suffix('секунд'),
]),
Grid::make()
->schema([
Section::make()
->columns([
'default' => 2,
])
->columnSpan(2)
->schema([
Toggle::make('notify_on_lockout')
->live()
->columnSpan(2)
->default(false)
->label('Уведомлять при блокировке'), // Метка для переключателя
TextInput::make('notification_emails')
->required()
->email()
->hidden(fn (Get $get): bool => ! $get('notify_on_lockout'))
->helperText('Введите адреса электронной почты для уведомлений.') // Подсказка
->label('Электронная почта для уведомлений'), // Метка для поля
TextInput::make('notify_after_lockouts')
->required()
->hidden(fn (Get $get): bool => ! $get('notify_on_lockout'))
->label('Уведомлять после блокировок') // Метка для поля
->helperText('Введите количество блокировок, после которых отправляется уведомление.') // Подсказка
->suffix('блокировок'),
TextInput::make('notification_time_frame')
->required()
->hidden(fn (Get $get): bool => ! $get('notify_on_lockout'))
->label('Временной интервал уведомлений (в секундах)') // Метка для поля
->helperText('Введите временной интервал для уведомлений в секундах.') // Подсказка
->suffix('секунд')
]),
]),
]);
}
}
@@ -2,38 +2,22 @@
namespace App\Filament\Resources;
use App\Enums\CustomFormStatus;
use App\Enums\PostStatus;
use App\Containers\Science\Models\AcademicJournal;
use App\Filament\Components\Forms\ItemForm\Pages\ContentBuilderItem;
use App\Filament\Resources\AcademicJournalResource\Pages;
use App\Filament\Resources\AcademicJournalResource\RelationManagers;
use App\Filament\Resources\AcademicJournalResource\RelationManagers\JournalsRelationManager;
use App\Helpers\ByteConverter;
use App\Models\AcademicJournal;
use App\Models\Category;
use App\Models\CustomForm;
use App\Models\Page;
use App\Models\Post;
use Filament\Forms;
use Filament\Forms\Components\Actions\Action;
use Filament\Forms\Components\Builder;
use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\Grid;
use Filament\Forms\Components\Hidden;
use Filament\Forms\Components\RichEditor;
use Filament\Forms\Components\Section;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\Tabs;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Form;
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use Illuminate\Support\Carbon;
use Illuminate\Support\Str;
use Livewire\Features\SupportFileUploads\TemporaryUploadedFile;
use Mohamedsabil83\FilamentFormsTinyeditor\Components\TinyEditor;
class AcademicJournalResource extends Resource
{
@@ -4,9 +4,7 @@ namespace App\Filament\Resources\AcademicJournalResource\Pages;
use App\Filament\Resources\AcademicJournalResource;
use App\Services\Filament\Traits\SeoGenerate;
use Filament\Actions;
use Filament\Resources\Pages\CreateRecord;
use Illuminate\Support\Str;
class CreateAcademicJournal extends CreateRecord
{
@@ -6,7 +6,6 @@ use App\Filament\Resources\AcademicJournalResource;
use App\Services\Filament\Traits\SeoGenerate;
use Filament\Actions;
use Filament\Resources\Pages\EditRecord;
use Illuminate\Support\Str;
class EditAcademicJournal extends EditRecord
{
@@ -2,9 +2,6 @@
namespace App\Filament\Resources\AcademicJournalResource\RelationManagers;
use App\Models\AcademicJournal;
use Filament\Forms;
use Filament\Forms\Components\DatePicker;
use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Toggle;
@@ -13,7 +10,6 @@ use Filament\Resources\RelationManagers\RelationManager;
use Filament\Tables;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
class JournalsRelationManager extends RelationManager
{
@@ -2,18 +2,14 @@
namespace App\Filament\Resources;
use App\Containers\User\Models\AcceptedInvitation;
use App\Filament\Resources\AcceptedInvitationResource\Pages;
use App\Filament\Resources\AcceptedInvitationResource\RelationManagers;
use App\Models\AcceptedInvitation;
use BezhanSalleh\FilamentShield\Contracts\HasShieldPermissions;
use Filament\Forms;
use Filament\Forms\Form;
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Tables\Columns\TextInputColumn;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
class AcceptedInvitationResource extends Resource implements HasShieldPermissions
{
@@ -2,11 +2,10 @@
namespace App\Filament\Resources\AcceptedInvitationResource\Pages;
use App\Containers\User\Mails\InvitationMail;
use App\Containers\User\Models\Invitation;
use App\Filament\Resources\AcceptedInvitationResource;
use App\Mail\InvitationMail;
use App\Models\Invitation;
use App\Models\User;
use BezhanSalleh\FilamentShield\Contracts\HasShieldPermissions;
use App\Containers\User\Models\User;
use Filament\Actions;
use Filament\Forms\Components\TextInput;
use Filament\Notifications\Notification;
@@ -2,9 +2,9 @@
namespace App\Filament\Resources;
use App\Containers\AdditionalEducation\Models\AdditionalEducationCategory;
use App\Containers\AdditionalEducation\Models\DirectionAdditionalEducation;
use App\Filament\Resources\AdditionalEducationCategoryResource\Pages;
use App\Models\AdditionalEducationCategory;
use App\Models\DirectionAdditionalEducation;
use Filament\Forms;
use Filament\Forms\Components\Grid;
use Filament\Forms\Components\Section;
@@ -2,11 +2,11 @@
namespace App\Filament\Resources;
use App\Enums\FormEducation;
use App\Containers\AdditionalEducation\Models\AdditionalEducation;
use App\Containers\AdditionalEducation\Models\AdditionalEducationCategory;
use App\Filament\Components\Forms\ItemForm\Pages\ContentBuilderItem;
use App\Filament\Resources\AdditionalEducationResource\Pages;
use App\Models\AdditionalEducation;
use App\Models\AdditionalEducationCategory;
use App\Ship\Enums\Education\FormEducation;
use Filament\Forms;
use Filament\Forms\Components\Grid;
use Filament\Forms\Components\Section;
@@ -2,11 +2,10 @@
namespace App\Filament\Resources;
use App\Enums\AdmissionCampaignStatus;
use App\Enums\LevelEducational;
use App\Containers\Education\Models\AdmissionCampaign;
use App\Filament\Resources\AdmissionCampaignResource\Pages;
use App\Models\AdmissionCampaign;
use Filament\Forms;
use App\Ship\Enums\Education\AdmissionCampaignStatus;
use App\Ship\Enums\Education\LevelEducational;
use Filament\Forms\Components\Grid;
use Filament\Forms\Components\Repeater;
use Filament\Forms\Components\Section;
@@ -2,14 +2,14 @@
namespace App\Filament\Resources;
use App\Enums\BudgetEducation;
use App\Enums\EducationalProgramStatus;
use App\Enums\FormEducation;
use App\Enums\TypeExam;
use App\Containers\Education\Enums\TypeExam;
use App\Containers\Education\Models\AdmissionCampaign;
use App\Containers\Education\Models\AdmissionPlan;
use App\Containers\Education\Models\EducationalProgram;
use App\Filament\Resources\AdmissionPlanResource\Pages;
use App\Models\AdmissionCampaign;
use App\Models\AdmissionPlan;
use App\Models\EducationalProgram;
use App\Ship\Enums\Education\BudgetEducation;
use App\Ship\Enums\Education\EducationalProgramStatus;
use App\Ship\Enums\Education\FormEducation;
use Filament\Forms\Components\Repeater;
use Filament\Forms\Components\Section;
use Filament\Forms\Components\Select;
+1 -4
View File
@@ -2,9 +2,8 @@
namespace App\Filament\Resources;
use App\Containers\Article\Models\Category;
use App\Filament\Resources\CategoryResource\Pages;
use App\Filament\Resources\CategoryResource\RelationManagers;
use App\Models\Category;
use Filament\Forms;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Toggle;
@@ -13,8 +12,6 @@ use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use Illuminate\Support\Str;
class CategoryResource extends Resource
@@ -2,10 +2,8 @@
namespace App\Filament\Resources;
use App\Containers\Widget\Models\ContactWidget;
use App\Filament\Resources\ContactWidgetResource\Pages;
use App\Filament\Resources\ContactWidgetResource\RelationManagers;
use App\Models\ContactWidget;
use App\Models\Page;
use Filament\Forms;
use Filament\Forms\Components\Repeater;
use Filament\Forms\Components\Tabs;
@@ -16,8 +14,6 @@ use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use Illuminate\Support\Str;
class ContactWidgetResource extends Resource
+1 -24
View File
@@ -2,37 +2,14 @@
namespace App\Filament\Resources;
use App\Enums\CustomFormStatus;
use App\Enums\PostStatus;
use App\Containers\Widget\Models\CustomForm;
use App\Filament\Components\Forms\CustomFormForm;
use App\Filament\Exports\CustomFormExporter;
use App\Filament\Resources\CustomFormResource\Pages;
use App\Filament\Resources\CustomFormResource\RelationManagers;
use App\Filament\Resources\CustomFormResource\RelationManagers\ResponsesRelationManager;
use App\Models\Category;
use App\Models\CustomForm;
use App\Models\Page;
use App\Models\Post;
use Filament\Forms;
use Filament\Forms\Components\Builder;
use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\RichEditor;
use Filament\Forms\Components\Section;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\SpatieTagsInput;
use Filament\Forms\Components\Tabs;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Toggle;
use Filament\Forms\Form;
use Filament\Forms\Get;
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use Illuminate\Support\Carbon;
use Illuminate\Support\Str;
use Mohamedsabil83\FilamentFormsTinyeditor\Components\TinyEditor;
use PhpParser\Node\Stmt\Block;
class CustomFormResource extends Resource
{
@@ -2,18 +2,12 @@
namespace App\Filament\Resources\CustomFormResource\RelationManagers;
use App\Filament\Exports\CustomFormExporter;
use App\Models\CustomFormResponse;
use Filament\Forms;
use Filament\Forms\Form;
use Filament\Infolists\Components\Section;
use Filament\Infolists\Components\TextEntry;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Tables;
use Filament\Tables\Columns\ViewColumn;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use pxlrbt\FilamentExcel\Actions\Tables\ExportAction;
use pxlrbt\FilamentExcel\Actions\Tables\ExportBulkAction;
use pxlrbt\FilamentExcel\Columns\Column;
@@ -2,16 +2,12 @@
namespace App\Filament\Resources;
use App\Containers\Widget\Models\CustomFormResponse;
use App\Filament\Resources\CustomFormResponseResource\Pages;
use App\Filament\Resources\CustomFormResponseResource\RelationManagers;
use App\Models\CustomFormResponse;
use Filament\Forms;
use Filament\Forms\Form;
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
class CustomFormResponseResource extends Resource
{
@@ -2,11 +2,11 @@
namespace App\Filament\Resources;
use App\Containers\InstituteStructure\Models\Department;
use App\Containers\InstituteStructure\Models\Faculty;
use App\Filament\Components\Forms\ItemForm\Pages\ContentBuilderItem;
use App\Filament\Resources\DepartmentResource\Pages;
use App\Filament\Resources\DepartmentResource\RelationManagers;
use App\Models\Department;
use App\Models\Faculty;
use Filament\Forms;
use Filament\Forms\Components\Section;
use Filament\Forms\Components\Select;
@@ -2,7 +2,7 @@
namespace App\Filament\Resources\DepartmentResource\RelationManagers;
use App\Enums\EducationalProgramStatus;
use App\Ship\Enums\Education\EducationalProgramStatus;
use Filament\Forms;
use Filament\Forms\Form;
use Filament\Resources\RelationManagers\RelationManager;
@@ -10,7 +10,6 @@ use Filament\Tables;
use Filament\Tables\Actions\AttachAction;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
class ProgramsRelationManager extends RelationManager
{
@@ -2,8 +2,8 @@
namespace App\Filament\Resources;
use App\Containers\AdditionalEducation\Models\DirectionAdditionalEducation;
use App\Filament\Resources\DirectionAdditionalEducationResource\Pages;
use App\Models\DirectionAdditionalEducation;
use Filament\Forms;
use Filament\Forms\Components\Grid;
use Filament\Forms\Components\Section;
@@ -2,9 +2,9 @@
namespace App\Filament\Resources;
use App\Enums\LevelEducational;
use App\Containers\Education\Models\DirectionStudy;
use App\Filament\Resources\DirectionStudyResource\Pages;
use App\Models\DirectionStudy;
use App\Ship\Enums\Education\LevelEducational;
use Filament\Forms;
use Filament\Forms\Components\Grid;
use Filament\Forms\Components\Section;
+1 -2
View File
@@ -2,13 +2,12 @@
namespace App\Filament\Resources;
use App\Containers\InstituteStructure\Models\Division;
use App\Filament\Components\Forms\ItemForm\Pages\ContentBuilderItem;
use App\Filament\Resources\DivisionResource\Pages;
use App\Filament\Resources\DivisionResource\RelationManagers;
use App\Models\Division;
use Filament\Forms;
use Filament\Forms\Components\Actions\Action;
use Filament\Forms\Components\Builder;
use Illuminate\Database\Eloquent\Builder as EloquentBuilder;
use Filament\Forms\Components\Section;
use Filament\Forms\Components\Tabs;
@@ -2,11 +2,10 @@
namespace App\Filament\Resources;
use App\Enums\FormEducation;
use App\Containers\InstituteStructure\Models\Faculty;
use App\Containers\Schedule\Models\EducationalGroup;
use App\Filament\Resources\EducationalGroupResource\Pages;
use App\Models\EducationalGroup;
use App\Models\Faculty;
use Filament\Forms;
use App\Ship\Enums\Education\FormEducation;
use Filament\Forms\Components\Grid;
use Filament\Forms\Components\Section;
use Filament\Forms\Components\Select;
@@ -14,7 +13,6 @@ use Filament\Forms\Components\TextInput;
use Filament\Forms\Form;
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Tables\Columns\BadgeColumn;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
@@ -2,19 +2,14 @@
namespace App\Filament\Resources;
use App\Enums\EducationalProgramStatus;
use App\Enums\LevelEducational;
use App\Containers\Education\Models\EducationalProgram;
use App\Filament\Components\Forms\ItemForm\Pages\ContentBuilderItem;
use App\Filament\Resources\EducationalProgramResource\Pages;
use App\Filament\Resources\EducationalProgramResource\RelationManagers\AdmissionPlansRelationManager;
use App\Models\EducationalProgram;
use Filament\Forms;
use App\Ship\Enums\Education\EducationalProgramStatus;
use App\Ship\Enums\Education\LevelEducational;
use Filament\Forms\Components\Builder;
use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\Grid;
use Filament\Forms\Components\Hidden;
use Filament\Forms\Components\RichEditor;
use Filament\Forms\Components\Section;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\Tabs;
use Filament\Forms\Components\TextInput;
@@ -2,9 +2,7 @@
namespace App\Filament\Resources\EducationalProgramResource\Pages;
use App\Enums\PostStatus;
use App\Filament\Resources\EducationalProgramResource;
use Carbon\Carbon;
use Filament\Actions;
use Filament\Resources\Pages\EditRecord;
use Illuminate\Support\Str;
@@ -2,10 +2,9 @@
namespace App\Filament\Resources\EducationalProgramResource\Pages;
use App\Enums\EducationalProgramStatus;
use App\Enums\PostStatus;
use App\Containers\Education\Models\EducationalProgram;
use App\Filament\Resources\EducationalProgramResource;
use App\Models\EducationalProgram;
use App\Ship\Enums\Education\EducationalProgramStatus;
use Filament\Actions;
use Filament\Resources\Components\Tab;
use Filament\Resources\Pages\ListRecords;
@@ -2,11 +2,9 @@
namespace App\Filament\Resources\EducationalProgramResource\RelationManagers;
use App\Enums\BudgetEducation;
use App\Enums\FormEducation;
use App\Models\AdmissionCampaign;
use Filament\Forms;
use Filament\Forms\Components\Grid;
use App\Containers\Education\Models\AdmissionCampaign;
use App\Ship\Enums\Education\BudgetEducation;
use App\Ship\Enums\Education\FormEducation;
use Filament\Forms\Components\Repeater;
use Filament\Forms\Components\Section;
use Filament\Forms\Components\Select;
@@ -2,9 +2,8 @@
namespace App\Filament\Resources;
use App\Containers\Event\Models\EventCategory;
use App\Filament\Resources\EventCategoryResource\Pages;
use App\Filament\Resources\EventCategoryResource\RelationManagers;
use App\Models\EventCategory;
use Filament\Forms;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Form;
@@ -12,8 +11,6 @@ use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use Illuminate\Support\Str;
class EventCategoryResource extends Resource
+2 -3
View File
@@ -2,15 +2,14 @@
namespace App\Filament\Resources;
use App\Containers\Event\Models\Event;
use App\Containers\Event\Models\EventCategory;
use App\Filament\Components\Forms\ItemForm\Pages\ContentBuilderItem;
use App\Filament\Resources\EventResource\Pages;
use App\Models\Event;
use App\Models\EventCategory;
use Filament\Forms;
use Filament\Forms\Components\Actions\Action;
use Filament\Forms\Components\DatePicker;
use Filament\Forms\Components\Grid;
use Filament\Forms\Components\Section;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\SpatieTagsInput;
use Filament\Forms\Components\Tabs;
+1 -11
View File
@@ -2,24 +2,14 @@
namespace App\Filament\Resources;
use App\Enums\CustomFormStatus;
use App\Enums\PostStatus;
use App\Containers\InstituteStructure\Models\Faculty;
use App\Filament\Components\Forms\ItemForm\Pages\ContentBuilderItem;
use App\Filament\Resources\FacultyResource\Pages;
use App\Filament\Resources\FacultyResource\RelationManagers\DepartmentsRelationManager;
use App\Filament\Resources\FacultyResource\RelationManagers\WorkersRelationManager;
use App\Models\Category;
use App\Models\CustomForm;
use App\Models\Faculty;
use App\Models\Page;
use App\Models\PageReferenceList;
use App\Models\Post;
use Filament\Forms;
use Filament\Forms\Components\Actions\Action;
use Filament\Forms\Components\Builder;
use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\Section;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Toggle;
use Filament\Forms\Form;
@@ -2,10 +2,9 @@
namespace App\Filament\Resources;
use App\Containers\Science\Models\AcademicJournal;
use App\Containers\Science\Models\JournalIssue;
use App\Filament\Resources\JournalIssueResource\Pages;
use App\Filament\Resources\JournalIssueResource\RelationManagers;
use App\Models\AcademicJournal;
use App\Models\JournalIssue;
use Filament\Forms;
use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\Toggle;
@@ -13,8 +12,6 @@ use Filament\Forms\Form;
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
class JournalIssueResource extends Resource
{
@@ -2,20 +2,15 @@
namespace App\Filament\Resources;
use App\Containers\AppStructure\Models\MainSection;
use App\Filament\Resources\MainSectionResource\Pages;
use App\Filament\Resources\MainSectionResource\RelationManagers;
use App\Models\MainSection;
use App\Models\SubSection;
use App\Services\Filament\Icon\ArrayToCollectionService;
use Filament\Forms;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Form;
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Tables\Table;
use Guava\FilamentIconPicker\Forms\IconPicker;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use Illuminate\Support\Str;
class MainSectionResource extends Resource
@@ -3,9 +3,6 @@
namespace App\Filament\Resources\MainSectionResource\Pages;
use App\Filament\Resources\MainSectionResource;
use App\Models\MainSection;
use App\Models\SubSection;
use Filament\Actions;
use Filament\Resources\Pages\CreateRecord;
class CreateMainSection extends CreateRecord
@@ -2,8 +2,8 @@
namespace App\Filament\Resources\MainSectionResource\Pages;
use App\Containers\AppStructure\Models\SubSection;
use App\Filament\Resources\MainSectionResource;
use App\Models\SubSection;
use Filament\Actions;
use Filament\Resources\Pages\EditRecord;
@@ -2,15 +2,13 @@
namespace App\Filament\Resources\MainSectionResource\RelationManagers;
use App\Models\SubSection;
use App\Containers\AppStructure\Models\SubSection;
use Filament\Forms;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Form;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Tables;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use Illuminate\Support\Str;
class SubSectionsRelationManager extends RelationManager
@@ -2,14 +2,9 @@
namespace App\Filament\Resources;
use App\Containers\Widget\Models\PageReferenceList;
use App\Filament\Resources\PageReferenceListResource\Pages;
use App\Filament\Resources\PageReferenceListResource\RelationManagers;
use App\Models\Event;
use App\Models\Page;
use App\Models\PageReferenceList;
use App\Models\Post;
use Filament\Forms;
use Filament\Forms\Components\ColorPicker;
use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\Repeater;
use Filament\Forms\Components\Tabs;
@@ -20,8 +15,7 @@ use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use Illuminate\Support\Str;
class PageReferenceListResource extends Resource
+2 -26
View File
@@ -2,39 +2,15 @@
namespace App\Filament\Resources;
use App\Enums\CustomFormStatus;
use App\Enums\PostStatus;
use App\Containers\AppStructure\Models\Page;
use App\Filament\Components\Forms\PageForm;
use App\Filament\Resources\PageResource\Pages;
use App\Filament\Resources\PageResource\RelationManagers\SectionRelationManager;
use App\Helpers\ByteConverter;
use App\Models\Category;
use App\Models\CustomForm;
use App\Models\MainSection;
use App\Models\Page;
use App\Models\Post;
use App\Models\SubSection;
use Filament\Forms\Components\Builder;
use Filament\Forms;
use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\Hidden;
use Filament\Forms\Components\RichEditor;
use Filament\Forms\Components\Section;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\SpatieTagsInput;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Toggle;
use Filament\Forms\Form;
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use Illuminate\Support\Carbon;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Str;
use Livewire\Features\SupportFileUploads\TemporaryUploadedFile;
use Mohamedsabil83\FilamentFormsTinyeditor\Components\TinyEditor;
use Symfony\Component\Finder\Finder;
class PageResource extends Resource
{
@@ -2,13 +2,10 @@
namespace App\Filament\Resources\PageResource\Pages;
use App\Containers\AppStructure\Models\SubSection;
use App\Filament\Resources\PageResource;
use App\Models\SubSection;
use App\Services\Filament\Domain\Seo\SeoGeneratorService;
use App\Services\Filament\Traits\SeoGenerate;
use Filament\Actions;
use Filament\Resources\Pages\CreateRecord;
use Illuminate\Support\Str;
class CreatePage extends CreateRecord
{
+1 -1
View File
@@ -2,9 +2,9 @@
namespace App\Filament\Resources;
use App\Containers\Article\Models\Post;
use App\Filament\Components\Forms\PostForm;
use App\Filament\Resources\PostResource\Pages;
use App\Models\Post;
use BezhanSalleh\FilamentShield\Contracts\HasShieldPermissions;
use Filament\Forms\Form;
use Filament\Resources\Resource;
@@ -2,15 +2,13 @@
namespace App\Filament\Resources\PostResource\Pages;
use App\Containers\Article\Enums\PostStatus;
use App\Dto\MainSliderDTO;
use App\Enums\PostStatus;
use App\Filament\Resources\PostResource;
use App\Services\Filament\Domain\Posts\PostDataProcessor;
use App\Services\Filament\Domain\Posts\PostNotificationService;
use App\Services\Filament\Domain\Posts\PostSeoGenerator;
use App\Services\Filament\Domain\Posts\PostSliderService;
use App\Services\Filament\Domain\Posts\VkPostPublisher;
use App\Services\Filament\Domain\Seo\SeoGeneratorService;
use App\Services\Filament\Traits\SeoGenerate;
use Filament\Resources\Pages\CreateRecord;
@@ -41,7 +39,7 @@ class CreatePost extends CreateRecord
protected function processPostData(array $data): array
{
return (new PostDataProcessor())->process($data, 'create');
return (new PostDataProcessor())->processCreate($data);
}
protected function afterCreate(): void
@@ -2,13 +2,12 @@
namespace App\Filament\Resources\PostResource\Pages;
use App\Containers\Article\Enums\PostStatus;
use App\Containers\Article\Models\Post;
use App\Dto\MainSliderDTO;
use App\Enums\PostStatus;
use App\Filament\Resources\PostResource;
use App\Models\Post;
use App\Services\Filament\Domain\Posts\PostDataProcessor;
use App\Services\Filament\Domain\Posts\PostNotificationService;
use App\Services\Filament\Domain\Posts\PostSeoGenerator;
use App\Services\Filament\Domain\Posts\PostSliderService;
use App\Services\Filament\Domain\Posts\VkPostPublisher;
use App\Services\Filament\Domain\Seo\SeoGeneratorService;
@@ -16,6 +15,7 @@ use App\Services\Filament\Traits\SeoGenerate;
use Carbon\Carbon;
use Filament\Actions;
use Filament\Resources\Pages\EditRecord;
use Illuminate\Support\Facades\DB;
class EditPost extends EditRecord
{
@@ -27,8 +27,15 @@ class EditPost extends EditRecord
protected array $slideData;
protected function mutateFormDataBeforeFill(array $data): array
{
if ($data['publish_at']) {
$data['publish_setting']['publish_after'] = true;
$data['publish_setting']['publish_at'] = $data['publish_at'];
}
$data['publication']['vk'] = true;
$data['publication']['telegram'] = true;
$post = Post::query()->with(['seo', 'slide'])->find($data['id']);
$data['slide'] = $post->slide ? $post->slide->toArray() : null;
return $data;
@@ -36,6 +43,7 @@ class EditPost extends EditRecord
protected function mutateFormDataBeforeSave(array $data): array
{
$data['publish_at'] = $this->record->publish_at;
$this->extractAdditionalData($data);
return $this->processPostData($data);
}
@@ -49,7 +57,7 @@ class EditPost extends EditRecord
protected function processPostData(array $data): array
{
return (new PostDataProcessor())->process($data, 'edit');
return (new PostDataProcessor())->processUpdate($data);
}
protected function afterSave(): void
@@ -97,7 +105,12 @@ class EditPost extends EditRecord
protected function publishToVk(): void
{
(new VkPostPublisher())->publish($this->publicationAgreements, $this->record);
$postRelation = DB::table('posts_vk_posts')->select()->where('post_id', $this->record->id)->first();
if($postRelation){
(new VkPostPublisher())->update($this->publicationAgreements, $this->record);
} else {
(new VkPostPublisher())->publish($this->publicationAgreements, $this->record);
}
}
protected function getHeaderActions(): array
@@ -2,9 +2,9 @@
namespace App\Filament\Resources\PostResource\Pages;
use App\Enums\PostStatus;
use App\Containers\Article\Enums\PostStatus;
use App\Containers\Article\Models\Post;
use App\Filament\Resources\PostResource;
use App\Models\Post;
use Filament\Actions;
use Filament\Resources\Components\Tab;
use Filament\Resources\Pages\ListRecords;
+2 -5
View File
@@ -2,21 +2,18 @@
namespace App\Filament\Resources;
use App\Enums\FormEducation;
use App\Containers\Schedule\Models\EducationalGroup;
use App\Containers\Schedule\Models\Schedule;
use App\Filament\Resources\ScheduleResource\Pages;
use App\Models\EducationalGroup;
use App\Models\Schedule;
use Filament\Forms;
use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\Grid;
use Filament\Forms\Components\Section;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Toggle;
use Filament\Forms\Form;
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Tables\Columns\IconColumn;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Table;
use Illuminate\Support\Carbon;
@@ -3,7 +3,6 @@
namespace App\Filament\Resources\ScheduleResource\Pages;
use App\Filament\Resources\ScheduleResource;
use App\Models\EducationalGroup;
use Filament\Actions;
use Filament\Resources\Pages\EditRecord;
@@ -137,7 +137,7 @@ class RoleResource extends Resource implements HasShieldPermissions
public static function getModel(): string
{
return Utils::getRoleModel();
return 'App\\Containers\\User\\Models\\Role';
}
public static function getModelLabel(): string
+4 -6
View File
@@ -2,12 +2,11 @@
namespace App\Filament\Resources;
use App\Containers\AppStructure\Models\Page;
use App\Containers\Article\Models\Post;
use App\Containers\Event\Models\Event;
use App\Containers\Widget\Models\Slide;
use App\Filament\Resources\SlideResource\Pages;
use App\Models\Event;
use App\Models\Page;
use App\Models\Post;
use App\Models\Slide;
use App\Models\Slider;
use Filament\Forms;
use Filament\Forms\Components\ColorPicker;
use Filament\Forms\Components\DateTimePicker;
@@ -18,7 +17,6 @@ use Filament\Forms\Form;
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Tables\Table;
use Illuminate\Support\Carbon;
class SlideResource extends Resource
+1 -1
View File
@@ -2,9 +2,9 @@
namespace App\Filament\Resources;
use App\Containers\Widget\Models\Slider;
use App\Filament\Resources\SliderResource\Pages;
use App\Filament\Resources\SliderResource\RelationManagers;
use App\Models\Slider;
use Filament\Forms;
use Filament\Forms\Components\Section;
use Filament\Forms\Components\TextInput;
@@ -2,9 +2,9 @@
namespace App\Filament\Resources\SliderResource\RelationManagers;
use App\Models\Event;
use App\Models\Page;
use App\Models\Post;
use App\Containers\Event\Models\Event;
use App\Containers\AppStructure\Models\Page;
use App\Containers\Article\Models\Post;
use Filament\Forms;
use Filament\Forms\Components\ColorPicker;
use Filament\Forms\Components\DateTimePicker;
@@ -2,18 +2,15 @@
namespace App\Filament\Resources;
use App\Containers\AppStructure\Models\SubSection;
use App\Filament\Resources\SubSectionResource\Pages;
use App\Filament\Resources\SubSectionResource\RelationManagers;
use App\Models\Page;
use App\Models\SubSection;
use Filament\Forms;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Form;
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use Illuminate\Support\Str;
class SubSectionResource extends Resource
@@ -3,10 +3,6 @@
namespace App\Filament\Resources\SubSectionResource\Pages;
use App\Filament\Resources\SubSectionResource;
use App\Models\Page;
use App\Models\SubSection;
use Filament\Actions;
use Filament\Notifications\Notification;
use Filament\Resources\Pages\CreateRecord;
class CreateSubSection extends CreateRecord
@@ -3,8 +3,7 @@
namespace App\Filament\Resources\SubSectionResource\Pages;
use App\Filament\Resources\SubSectionResource;
use App\Models\Page;
use App\Models\SubSection;
use App\Containers\AppStructure\Models\Page;
use Filament\Actions;
use Filament\Resources\Pages\EditRecord;
@@ -3,16 +3,12 @@
namespace App\Filament\Resources\SubSectionResource\RelationManagers;
use App\Filament\Components\Forms\PageForm;
use App\Models\Page;
use App\Models\SubSection;
use App\Containers\AppStructure\Models\Page;
use Filament\Forms;
use Filament\Forms\Form;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Tables;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
class PagesRelationManager extends RelationManager
{
protected static string $relationship = 'pages';
+1 -5
View File
@@ -2,16 +2,12 @@
namespace App\Filament\Resources;
use App\Containers\Article\Models\Tag;
use App\Filament\Resources\TagResource\Pages;
use App\Filament\Resources\TagResource\RelationManagers;
use App\Models\Tag;
use Filament\Forms;
use Filament\Forms\Form;
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
class TagResource extends Resource
{
+1 -10
View File
@@ -2,14 +2,9 @@
namespace App\Filament\Resources;
use App\Containers\AppStructure\Models\Page;
use App\Filament\Resources\UrlLinkResource\Pages;
use App\Filament\Resources\UrlLinkResource\RelationManagers;
use App\Models\Page;
use App\Models\UrlLink;
use Filament\Forms;
use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\Hidden;
use Filament\Forms\Components\RichEditor;
use Filament\Forms\Components\Section;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\TextInput;
@@ -18,10 +13,6 @@ use Filament\Forms\Form;
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Forms\Components\Builder;
use Illuminate\Support\Str;
class UrlLinkResource extends Resource
{
@@ -2,19 +2,13 @@
namespace App\Filament\Resources;
use App\Containers\User\Models\UserDetail;
use App\Filament\Components\Forms\UserDetailForm;
use App\Filament\Resources\UserDetailResource\Pages;
use App\Filament\Resources\UserDetailResource\RelationManagers;
use App\Models\UserDetail;
use Filament\Forms;
use Filament\Forms\Components\Tabs;
use Filament\Forms\Form;
use Filament\Resources\Components\Tab;
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
class UserDetailResource extends Resource
{
+1 -5
View File
@@ -2,20 +2,16 @@
namespace App\Filament\Resources;
use App\Containers\User\Models\User;
use App\Filament\Resources\UserResource\Pages;
use App\Filament\Resources\UserResource\RelationManagers;
use App\Models\User;
use BezhanSalleh\FilamentShield\Contracts\HasShieldPermissions;
use Filament\Forms;
use Filament\Forms\Components\Section;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Form;
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use Illuminate\Support\Str;
class UserResource extends Resource implements HasShieldPermissions
{
@@ -3,7 +3,7 @@
namespace App\Filament\Resources\UserResource\Pages;
use App\Filament\Resources\UserResource;
use App\Models\User;
use App\Containers\User\Models\User;
use Filament\Actions;
use Filament\Resources\Pages\CreateRecord;
use Illuminate\Support\Str;
@@ -2,8 +2,8 @@
namespace App\Filament\Resources\UserResource\Pages;
use App\Containers\User\Models\User;
use App\Filament\Resources\UserResource;
use App\Models\User;
use Filament\Actions;
use Filament\Resources\Pages\EditRecord;
use Illuminate\Support\Str;
@@ -2,10 +2,10 @@
namespace App\Filament\Resources\UserResource\Pages;
use App\Containers\User\Mails\InvitationMail;
use App\Containers\User\Models\Invitation;
use App\Filament\Resources\UserResource;
use App\Mail\InvitationMail;
use App\Models\Invitation;
use App\Models\User;
use App\Containers\User\Models\User;
use Filament\Actions;
use Filament\Forms\Components\TextInput;
use Filament\Notifications\Notification;
@@ -3,15 +3,11 @@
namespace App\Filament\Resources\UserResource\RelationManagers;
use App\Filament\Components\Forms\UserDetailForm;
use App\Models\User;
use Filament\Forms;
use Filament\Forms\Components\Tabs;
use App\Containers\User\Models\User;
use Filament\Forms\Form;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Tables;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
class UserDetailRelationManager extends RelationManager
{