diff --git a/app/Http/Controllers/ClientPostController.php b/app/Http/Controllers/ClientPostController.php
index 63d2ce3..e248ab9 100644
--- a/app/Http/Controllers/ClientPostController.php
+++ b/app/Http/Controllers/ClientPostController.php
@@ -122,6 +122,7 @@ class ClientPostController extends Controller
$breadcrumbs = null;
}
+
return Inertia::render('Client/Posts/Index', compact('filters', 'posts', 'categories', 'tags', 'breadcrumbs'));
}
diff --git a/app/Http/Controllers/ClientProgramController.php b/app/Http/Controllers/ClientProgramController.php
index b249ad0..625001d 100644
--- a/app/Http/Controllers/ClientProgramController.php
+++ b/app/Http/Controllers/ClientProgramController.php
@@ -120,7 +120,6 @@ class ClientProgramController extends Controller
return [$formEducational->value => $formEducational->getLabel()];
});
- dd($program);
$seo = $program->seo;
return Inertia::render('Client/Programs/Show', compact('program', 'formsEdu', 'seo'));
}
diff --git a/app/Http/Controllers/SearchController.php b/app/Http/Controllers/SearchController.php
index 108a24f..ecd5e22 100644
--- a/app/Http/Controllers/SearchController.php
+++ b/app/Http/Controllers/SearchController.php
@@ -6,10 +6,12 @@ use App\Http\Resources\AdditionalEducationSearchResource;
use App\Http\Resources\EducationalProgramSearchResource;
use App\Http\Resources\EducationGroupSearchResource;
use App\Http\Resources\EventSearchResource;
+use App\Http\Resources\FacultySearchResource;
use App\Http\Resources\PageResource;
use App\Http\Resources\PageSearchResource;
use App\Http\Resources\PostResource;
use App\Http\Resources\PostSearchResource;
+use App\Http\Resources\UserSearchResource;
use App\Models\AdditionalEducation;
use App\Models\EducationalGroup;
use App\Models\EducationalProgram;
@@ -28,6 +30,16 @@ use ProtoneMedia\LaravelCrossEloquentSearch\Search;
class SearchController extends Controller
{
+ private array $resourceMap = [
+ Post::class => PostSearchResource::class,
+ Page::class => PageSearchResource::class,
+ EducationalGroup::class => EducationGroupSearchResource::class,
+ EducationalProgram::class => EducationalProgramSearchResource::class,
+ Event::class => EventSearchResource::class,
+ AdditionalEducation::class => AdditionalEducationSearchResource::class,
+ User::class => UserSearchResource::class,
+ Faculty::class => FacultySearchResource::class,
+ ];
public function index(Request $request)
{
$req = Str::lower($request->query('search'));
@@ -42,37 +54,21 @@ class SearchController extends Controller
->add(Post::where('status', '=', 'published'), ['title', 'search_data'])
->add(Page::with('section')->where('searchable', '=', true), ['title', 'search_data'])
->add(Event::where('event_date_start', '>', Date::now()), 'title')
-// ->add(AdditionalEducation::where('is_active', '=', true), 'title')
-// ->add(EducationalGroup::with('schedules'), 'title')
-// ->add(EducationalProgram::where('status', '=', true)->whereHas('admission_plans'), 'name')
-// ->add(Faculty::where('is_active', '=', true), 'title')
-// ->add(User::whereHas('userDetail'), ['name', 'userDetail.education', 'userDetail.awards', 'userDetail.publications'])
+ ->add(AdditionalEducation::where('is_active', '=', true), 'title')
+ ->add(EducationalGroup::with('schedules'), 'title')
+ ->add(EducationalProgram::where('status', '=', true)->whereHas('admission_plans'), 'name')
+ ->add(Faculty::where('is_active', '=', true), 'title')
+ ->add(User::whereHas('userDetail'), 'name')
->beginWithWildcard()
->orderByRelevance()
->includeModelType()
->ignoreCase(true)
->search($req);
- // Преобразуем результаты в коллекцию и мапируем их
- $resources = collect($results)->map(function ($result) {
- if ($result instanceof Post) {
- return new PostSearchResource($result);
- }
- if ($result instanceof Page) {
- return new PageSearchResource($result);
- }
- if ($result instanceof EducationalGroup) {
- return new EducationGroupSearchResource($result);
- }
- if ($result instanceof EducationalProgram) {
- return new EducationalProgramSearchResource($result);
- }
- if ($result instanceof Event) {
- return new EventSearchResource($result);
- }
- if ($result instanceof AdditionalEducation) {
- return new AdditionalEducationSearchResource($result);
- }
+ $resourceMap = $this->resourceMap;
+ $resources = collect($results)->map(function ($result) use ($resourceMap) {
+ $resourceClass = $resourceMap[get_class($result)] ?? null;
+ return $resourceClass ? new $resourceClass($result) : null;
});
$result_type = $this->getCategoriesSearchResult($resources);
diff --git a/app/Http/Resources/UserSearchResource.php b/app/Http/Resources/UserSearchResource.php
new file mode 100644
index 0000000..3cd9da9
--- /dev/null
+++ b/app/Http/Resources/UserSearchResource.php
@@ -0,0 +1,19 @@
+
+ */
+ public function toArray(Request $request): array
+ {
+ return parent::toArray($request);
+ }
+}
diff --git a/resources/js/Components/BuilderUi/Events/Badges/CategoryBadge.vue b/resources/js/Components/BuilderUi/Events/Badges/CategoryBadge.vue
index c9ff4ea..cbf4e67 100644
--- a/resources/js/Components/BuilderUi/Events/Badges/CategoryBadge.vue
+++ b/resources/js/Components/BuilderUi/Events/Badges/CategoryBadge.vue
@@ -24,7 +24,6 @@ export default {
methods: {
clearFilter() {
let url = new URL(window.location.href);
-
// Создаем массив для хранения всех ключей, которые нужно удалить
const keysToDelete = [];
@@ -34,7 +33,6 @@ export default {
keysToDelete.push(key);
}
}
-
// Удаляем все ключи из массива
keysToDelete.forEach(key => url.searchParams.delete(key));
diff --git a/resources/js/Components/BuilderUi/Events/EventBadgeBuilder.vue b/resources/js/Components/BuilderUi/Events/EventBadgeBuilder.vue
index 3432987..f5c6f1a 100644
--- a/resources/js/Components/BuilderUi/Events/EventBadgeBuilder.vue
+++ b/resources/js/Components/BuilderUi/Events/EventBadgeBuilder.vue
@@ -1,4 +1,5 @@
+