feat: implement feedback management system with controller, service, and frontend components
Some checks failed
tests / ci (pull_request) Has been cancelled
Some checks failed
tests / ci (pull_request) Has been cancelled
This commit is contained in:
parent
ce90904b84
commit
e7664de711
@ -1,12 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Enums\FeedbackType;
|
||||
use App\Http\Requests\FeedbackRequest;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\Admin\FeedbackRequest;
|
||||
use App\Http\Requests\PaginatedRequest;
|
||||
use App\Models\Feedback;
|
||||
use App\Services\FeedbackService;
|
||||
use App\Services\Admin\FeedbackService;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Inertia\Inertia;
|
||||
@ -18,7 +19,7 @@ public function __construct(private readonly FeedbackService $service) {}
|
||||
|
||||
public function index(PaginatedRequest $request): Response
|
||||
{
|
||||
return Inertia::render('feedback/index', [
|
||||
return Inertia::render('admin/feedback/index', [
|
||||
'feedbacks' => $this->service->paginated($request->user(), ...$request->validatedWithDefaults()),
|
||||
'types' => FeedbackType::options(),
|
||||
]);
|
||||
@ -30,7 +31,7 @@ public function store(FeedbackRequest $request): RedirectResponse
|
||||
|
||||
Inertia::flash('toast', ['type' => 'success', 'message' => 'Masukan berhasil dikirim.']);
|
||||
|
||||
return to_route('feedback.index');
|
||||
return to_route('admin.feedback.index');
|
||||
}
|
||||
|
||||
public function update(FeedbackRequest $request, Feedback $feedback): RedirectResponse
|
||||
@ -41,7 +42,7 @@ public function update(FeedbackRequest $request, Feedback $feedback): RedirectRe
|
||||
|
||||
Inertia::flash('toast', ['type' => 'success', 'message' => 'Masukan berhasil diperbarui.']);
|
||||
|
||||
return to_route('feedback.index');
|
||||
return to_route('admin.feedback.index');
|
||||
}
|
||||
|
||||
public function destroy(Request $request, Feedback $feedback): RedirectResponse
|
||||
@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests;
|
||||
namespace App\Http\Requests\Admin;
|
||||
|
||||
use App\Enums\FeedbackType;
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services;
|
||||
namespace App\Services\Admin;
|
||||
|
||||
use App\Models\Feedback;
|
||||
use App\Models\User;
|
||||
@ -41,6 +41,7 @@ import {
|
||||
SidebarMenuButton,
|
||||
SidebarMenuItem,
|
||||
} from '@/components/ui/sidebar';
|
||||
import { index as feedbackRoute } from '@/routes/admin/feedback';
|
||||
import { index as academicAdvisingLogsRoute } from '@/routes/admin/manage/academic-advising-logs';
|
||||
import { index as announcementsRoute } from '@/routes/admin/manage/announcements';
|
||||
import { index as assignmentsRoute } from '@/routes/admin/manage/assignments';
|
||||
@ -60,7 +61,6 @@ import { edit as securityRoute } from '@/routes/admin/settings/security';
|
||||
import { index as administratorsRoute } from '@/routes/admin/users/administrators';
|
||||
import { index as lecturersRoute } from '@/routes/admin/users/lecturers';
|
||||
import { index as studentsRoute } from '@/routes/admin/users/students';
|
||||
import { index as feedbackRoute } from '@/routes/feedback';
|
||||
|
||||
const data: {
|
||||
navMain: (NavGroup | NavItem)[];
|
||||
|
||||
@ -24,7 +24,7 @@ import {
|
||||
destroy,
|
||||
store,
|
||||
update,
|
||||
} from '@/routes/feedback';
|
||||
} from '@/routes/admin/feedback';
|
||||
import type { Feedback } from '@/types/feedback';
|
||||
import { createFeedbackColumns } from './columns';
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
<?php
|
||||
|
||||
use App\Http\Controllers\Admin\FeedbackController;
|
||||
use App\Http\Controllers\Admin\Manage\AcademicAdvisingLogController;
|
||||
use App\Http\Controllers\Admin\Manage\AnnouncementController;
|
||||
use App\Http\Controllers\Admin\Manage\AssignmentController;
|
||||
@ -100,6 +101,10 @@
|
||||
Route::inertia('appearance', 'admin/settings/appearance')->name('appearance.edit');
|
||||
});
|
||||
|
||||
Route::resource('admin/feedback', FeedbackController::class)
|
||||
->except(['create', 'edit', 'show'])
|
||||
->names('admin.feedback');
|
||||
|
||||
Route::prefix('admin/users')->name('admin.users.')->group(function () {
|
||||
Route::resource('lecturers', LecturerController::class)->except(['show'])->parameters(['lecturers' => 'user']);
|
||||
Route::patch('lecturers/{user}/reset-password', [LecturerController::class, 'resetPassword'])->name('lecturers.reset_password');
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
<?php
|
||||
|
||||
use App\Http\Controllers\FeedbackController;
|
||||
use App\Http\Controllers\NotificationController;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
@ -15,8 +14,6 @@
|
||||
Route::patch('{notification}/read', [NotificationController::class, 'markRead'])->name('read');
|
||||
Route::delete('{notification}', [NotificationController::class, 'destroy'])->name('destroy');
|
||||
});
|
||||
|
||||
Route::resource('feedback', FeedbackController::class)->except(['create', 'edit', 'show']);
|
||||
});
|
||||
|
||||
Route::get('.well-known/passkey-endpoints', function () {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user