Skip to main content

Black Friday 2025! Only until December 1st: coupon FRIDAY25 for 40% off Yearly/Lifetime membership!

Read more here

academico-sis/academico

338 stars
2 code files
View academico-sis/academico on GitHub

app/Providers/AuthServiceProvider.php

Open in GitHub
use App\Models\Course;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
use Illuminate\Support\Facades\Gate;
 
class AuthServiceProvider extends ServiceProvider
{
//
public function boot()
{
$this->registerPolicies();
 
Gate::define('edit-course-grades', function ($user, $course) {
return $user->isTeacher() && $user->teacher_id == $course->teacher_id || $user->can('evaluation.edit');
});
//
}
}

app/Http/Controllers/GradeController.php

Open in GitHub
use App\Models\Course;
use Illuminate\Support\Facades\Gate;
 
class GradeController extends Controller
{
public function edit(Course $course)
{
$this->checkAccessForCourse($course);
 
return view('grades.edit', [
'enrollments' => $course->enrollments,
'course_grade_types' => $course->grade_types->sortBy('id'),
'grades' => $course->grades,
'course' => $course,
]);
}
//
protected function checkAccessForCourse(Course $course): void
{
if (Gate::forUser(backpack_user())->denies('edit-course-grades', $course)) {
abort(403);
}
}
}
}

We'd Love Your Feedback

Tell us what you like or what we can improve

Feel free to share anything you like or dislike about this page or the platform in general.