DONE: error on banner where it is not updated, use uploaded file for etika.pdf

This commit is contained in:
ISMAIL MASSERAN
2026-04-30 13:14:23 +08:00
parent b93b51c005
commit 4569decd92
10 changed files with 99 additions and 11 deletions
@@ -15,12 +15,14 @@ class GetController extends Controller
return response()->json([
'status' => 'success',
'data' => [
'updated_at' => optional($setting->updated_at)->toIso8601String(),
'home_mat_label' => $setting->home_mat_label ?? $defaults['home_mat_label'],
'home_banner_image_path' => $setting->home_banner_image_path ?? $defaults['home_banner_image_path'],
'zoom_meeting_label' => $setting->zoom_meeting_label ?? $defaults['zoom_meeting_label'],
'zoom_subtitle' => $setting->zoom_subtitle ?? $defaults['zoom_subtitle'],
'zoom_image_url' => $setting->zoom_image_url ?? $defaults['zoom_image_url'],
'zoom_meeting_url' => $setting->zoom_meeting_url ?? $defaults['zoom_meeting_url'],
'attendance_etika_url' => $setting->attendance_etika_url ?? $defaults['attendance_etika_url'],
],
]);
}
@@ -20,6 +20,7 @@ class UpdateController extends Controller
'zoom_image_url' => 'nullable|string|max:2048',
'zoom_meeting_url' => 'nullable|string|max:2048',
'home_banner_image' => 'nullable|file|mimes:jpg,jpeg,png,webp|max:5120',
'attendance_etika_file' => 'nullable|file|mimes:pdf,jpg,jpeg,png,webp|max:10240',
]);
if ($request->hasFile('home_banner_image')) {
@@ -31,6 +32,15 @@ class UpdateController extends Controller
$validated['home_banner_image_path'] = '/storage/' . $relativePath;
}
if ($request->hasFile('attendance_etika_file')) {
$file = $request->file('attendance_etika_file');
$ext = strtolower($file->getClientOriginalExtension() ?: 'pdf');
$name = 'etika.' . $ext;
$relativePath = 'portal/' . $name;
Storage::disk('public')->putFileAs('portal', $file, $name);
$validated['attendance_etika_url'] = '/storage/' . $relativePath;
}
$setting->fill([
'home_mat_label' => $validated['home_mat_label'] ?? $setting->home_mat_label,
'home_banner_image_path' => $validated['home_banner_image_path'] ?? $setting->home_banner_image_path,
@@ -38,6 +48,7 @@ class UpdateController extends Controller
'zoom_subtitle' => $validated['zoom_subtitle'] ?? $setting->zoom_subtitle,
'zoom_image_url' => $validated['zoom_image_url'] ?? $setting->zoom_image_url,
'zoom_meeting_url' => $validated['zoom_meeting_url'] ?? $setting->zoom_meeting_url,
'attendance_etika_url' => $validated['attendance_etika_url'] ?? $setting->attendance_etika_url,
]);
$setting->save();
@@ -15,12 +15,14 @@ class GetController extends Controller
return response()->json([
'status' => 'success',
'data' => [
'updated_at' => optional($setting->updated_at)->toIso8601String(),
'home_mat_label' => $setting->home_mat_label ?? $defaults['home_mat_label'],
'home_banner_image_path' => $setting->home_banner_image_path ?? $defaults['home_banner_image_path'],
'zoom_meeting_label' => $setting->zoom_meeting_label ?? $defaults['zoom_meeting_label'],
'zoom_subtitle' => $setting->zoom_subtitle ?? $defaults['zoom_subtitle'],
'zoom_image_url' => $setting->zoom_image_url ?? $defaults['zoom_image_url'],
'zoom_meeting_url' => $setting->zoom_meeting_url ?? $defaults['zoom_meeting_url'],
'attendance_etika_url' => $setting->attendance_etika_url ?? $defaults['attendance_etika_url'],
],
]);
}