diff --git a/app/Http/Requests/StudentPostRequest.php b/app/Http/Requests/StudentPostRequest.php index 132c34d..c726119 100644 --- a/app/Http/Requests/StudentPostRequest.php +++ b/app/Http/Requests/StudentPostRequest.php @@ -2,7 +2,9 @@ namespace App\Http\Requests; +use App\Models\User; use Illuminate\Foundation\Http\FormRequest; +use Illuminate\Validation\Rule; class StudentPostRequest extends FormRequest { @@ -27,7 +29,7 @@ class StudentPostRequest extends FormRequest 'middle_name' => 'required|max:255', 'birthday' => 'required|date', 'grade_id' => 'required|exists:grades,id', - 'email' => 'required|max:255|lowercase|unique:users,email', + 'email' => ['required', 'string', 'lowercase', 'email', 'max:255', Rule::unique(User::class)->ignore($this->route('student')?->user->id)], 'password' => 'required|max:255', ]; } diff --git a/app/Http/Requests/TeacherPostRequest.php b/app/Http/Requests/TeacherPostRequest.php index e3aea8a..062dde2 100644 --- a/app/Http/Requests/TeacherPostRequest.php +++ b/app/Http/Requests/TeacherPostRequest.php @@ -2,7 +2,9 @@ namespace App\Http\Requests; +use App\Models\User; use Illuminate\Foundation\Http\FormRequest; +use Illuminate\Validation\Rule; class TeacherPostRequest extends FormRequest { @@ -26,7 +28,7 @@ class TeacherPostRequest extends FormRequest 'last_name' => 'required|max:255', 'middle_name' => 'required|max:255', 'birthday' => 'required|date', - 'email' => 'required|max:255|lowercase|unique:users,email', + 'email' => ['required', 'string', 'lowercase', 'email', 'max:255', Rule::unique(User::class)->ignore($this->route('teacher')?->user->id)], 'password' => 'required|max:255', ]; } diff --git a/app/Policies/GradePolicy.php b/app/Policies/GradePolicy.php index 8c63ca2..6343761 100644 --- a/app/Policies/GradePolicy.php +++ b/app/Policies/GradePolicy.php @@ -5,6 +5,7 @@ namespace App\Policies; use App\Models\Admin; use App\Models\Grade; use App\Models\Student; +use App\Models\Teacher; use App\Models\User; class GradePolicy @@ -48,4 +49,14 @@ class GradePolicy { return $user->userable_type == Admin::class; } + + public function journal(User $user) + { + return $user->userable_type == Teacher::class; + } + + public function list(User $user) + { + return $user->userable_type == Teacher::class; + } } diff --git a/resources/views/grades/index.blade.php b/resources/views/grades/index.blade.php index 26d7fde..43440e4 100644 --- a/resources/views/grades/index.blade.php +++ b/resources/views/grades/index.blade.php @@ -41,11 +41,13 @@ Занятия -