create: add literacy teacher assessement controller for assessment results
This commit is contained in:
parent
cc6a0f1bab
commit
eab7ae24ba
|
|
@ -0,0 +1,64 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Literacy;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use App\Models\Literacy\LiteracyAssessment;
|
||||||
|
use App\Models\Literacy\LiteracyQuestion;
|
||||||
|
use App\Models\User;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class LiteracyTeacherAssessmentController extends Controller
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Menampilkan semua hasil asesmen siswa.
|
||||||
|
*/
|
||||||
|
public function index()
|
||||||
|
{
|
||||||
|
// Ambil asesmen hanya dari user dengan role student
|
||||||
|
$assessments = LiteracyAssessment::whereHas('user', function ($query) {
|
||||||
|
$query->where('role', 'student');
|
||||||
|
})->whereIn('status', ['in_progress', 'completed']) // Tambahkan filter status
|
||||||
|
->latest()
|
||||||
|
->get();
|
||||||
|
|
||||||
|
return view('literacy.teacher.assessment_results.index', compact('assessments'));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Menampilkan detail hasil asesmen siswa.
|
||||||
|
*/
|
||||||
|
public function show($id)
|
||||||
|
{
|
||||||
|
// Ambil asesmen berdasarkan ID, hanya jika usernya adalah student
|
||||||
|
$assessment = LiteracyAssessment::whereHas('user', function ($query) {
|
||||||
|
$query->where('role', 'student');
|
||||||
|
})->findOrFail($id);
|
||||||
|
|
||||||
|
// Ambil pertanyaan terkait asesmen
|
||||||
|
$questions = $assessment->questions()->with('answers.option')->get();
|
||||||
|
|
||||||
|
return view('literacy.teacher.assessment_results.show', compact('assessment', 'questions'));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function viewResult($id)
|
||||||
|
{
|
||||||
|
// Ambil asesmen berdasarkan ID, pastikan asesmen milik user dengan role 'student' dan statusnya 'completed'
|
||||||
|
$assessment = LiteracyAssessment::where('id', $id)
|
||||||
|
->whereHas('user', function ($query) {
|
||||||
|
$query->where('role', 'student');
|
||||||
|
})
|
||||||
|
->where('status', 'completed')
|
||||||
|
->firstOrFail();
|
||||||
|
|
||||||
|
// Ambil semua pertanyaan, beserta jawaban dan opsi untuk asesmen ini
|
||||||
|
$questions = LiteracyQuestion::with([
|
||||||
|
'answers' => function ($query) use ($id) {
|
||||||
|
$query->where('assessment_id', $id);
|
||||||
|
},
|
||||||
|
'options'
|
||||||
|
])->get();
|
||||||
|
|
||||||
|
return view('literacy.teacher.assessment_results.show', compact('assessment', 'questions'));
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user