Feat: Заявки на курсы (Course Requests) - базовая структура

 Миграции: course_requests, course_request_items
 Models: CourseRequest, CourseRequestItem
 CourseRequestController (CRUD + approve/reject)
 CourseRequestPolicy
 Маршруты и регистрация Policy
 index.blade.php

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
mirivlad
2026-04-01 15:48:41 +08:00
co-authored by Qwen-Coder
parent 21a836ef4d
commit 87f20ef702
8 changed files with 523 additions and 5 deletions
+44
View File
@@ -0,0 +1,44 @@
<?php
namespace App\Policies;
use App\Models\CourseRequest;
use App\Models\User;
class CourseRequestPolicy
{
public function viewAny(User $user): bool
{
return $user->hasRole(['Administrator', 'Manager', 'Curator']);
}
public function view(User $user, CourseRequest $courseRequest): bool
{
return $user->hasRole(['Administrator', 'Manager', 'Curator']);
}
public function create(User $user): bool
{
return $user->hasRole(['Administrator', 'Manager', 'Curator']);
}
public function update(User $user, CourseRequest $courseRequest): bool
{
return $user->hasRole(['Administrator', 'Manager', 'Curator']);
}
public function delete(User $user, CourseRequest $courseRequest): bool
{
return $user->hasRole(['Administrator', 'Manager']);
}
public function approve(User $user, CourseRequest $courseRequest): bool
{
return $user->hasRole(['Administrator', 'Manager', 'Curator']);
}
public function reject(User $user, CourseRequest $courseRequest): bool
{
return $user->hasRole(['Administrator', 'Manager', 'Curator']);
}
}