academico-sis /
academico
| 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
Loading history...
|
|||
| 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 |