feat: add approval system for internship journal entries including database fields, admin toggle functionality, and rich-text rendering

This commit is contained in:
Ümit Tunç
2026-07-01 21:58:56 +03:00
parent d9c1c825d9
commit f84f78a138
8 changed files with 199 additions and 9 deletions
+32
View File
@@ -529,5 +529,37 @@ class CareerController extends Controller
'size' => $size,
]);
}
public function toggleJournalApproval(Request $request)
{
if (!auth()->check()) {
return response()->json(['success' => false, 'message' => 'Yetkisiz işlem.'], 403);
}
$request->validate([
'entry_id' => 'required|integer|exists:internship_journal_entries,id',
'type' => 'required|string|in:supervisor,unit',
]);
$entry = \App\Models\InternshipJournalEntry::findOrFail($request->entry_id);
if ($request->type === 'supervisor') {
$entry->supervisor_approved = !$entry->supervisor_approved;
$entry->save();
return response()->json([
'success' => true,
'status' => $entry->supervisor_approved,
'message' => 'Staj sorumlusu onayı güncellendi.'
]);
} else {
$entry->unit_approved = !$entry->unit_approved;
$entry->save();
return response()->json([
'success' => true,
'status' => $entry->unit_approved,
'message' => 'Birim yetkilisi onayı güncellendi.'
]);
}
}
}