1 | <?php |
||
2 | |||
3 | namespace App\Http\Controllers; |
||
4 | |||
5 | use App\Interfaces\CertificatesInterface; |
||
6 | use App\Models\Course; |
||
7 | use App\Models\Enrollment; |
||
8 | use App\Models\Result; |
||
9 | use Illuminate\Http\Request; |
||
10 | use Illuminate\Support\Facades\Gate; |
||
11 | use Illuminate\Support\Facades\Log; |
||
12 | |||
13 | class ResultController extends Controller |
||
14 | { |
||
15 | /** |
||
16 | * Create or update a result for the selected enrollment. |
||
17 | */ |
||
18 | public function store(Request $request) |
||
19 | { |
||
20 | $enrollment = Enrollment::findOrFail($request->input('enrollment')); |
||
21 | |||
22 | if (Gate::forUser(backpack_user())->denies('edit-result', $enrollment)) { |
||
23 | abort(403); |
||
24 | } |
||
25 | |||
26 | $result = Result::firstOrNew([ |
||
27 | 'enrollment_id' => $enrollment->id, |
||
28 | ]); |
||
29 | |||
30 | $result->result_type_id = $request->input('result'); |
||
31 | |||
32 | $result->save(); |
||
33 | |||
34 | Log::info('Enrollment result saved by user '.backpack_user()->id); |
||
0 ignored issues
–
show
Bug
introduced
by
![]() |
|||
35 | |||
36 | return $result; |
||
37 | } |
||
38 | |||
39 | public function exportResult(Enrollment $enrollment, CertificatesInterface $certificatesService) |
||
40 | { |
||
41 | $certificatesService->exportResult($enrollment); |
||
42 | } |
||
43 | |||
44 | public function exportCourseResults(Course $course, CertificatesInterface $certificatesService) |
||
45 | { |
||
46 | $certificatesService->exportCourseResults($course); |
||
47 | } |
||
48 | |||
49 | public function exportCertificate(Enrollment $enrollment, CertificatesInterface $certificatesService) |
||
50 | { |
||
51 | $certificatesService->exportCertificate($enrollment); |
||
52 | } |
||
53 | } |
||
54 |