diff --git a/app/Http/Controllers/AnswerToTaskController.php b/app/Http/Controllers/AnswerToTaskController.php index 059536a..5b32528 100644 --- a/app/Http/Controllers/AnswerToTaskController.php +++ b/app/Http/Controllers/AnswerToTaskController.php @@ -33,7 +33,8 @@ class AnswerToTaskController extends Controller $answer->deadline = $task->deadline; $studentFile = TaskFile::where([ ['user_id', '=', '2'], // Auth::id() - ['task_id', '=', $task->id] + ['task_id', '=', $task->id], + ['review', '=', 0] ]) ->get(['id','name', 'type', 'url']); $teacherFile = TaskFile::where([ diff --git a/app/Http/Controllers/TaskFileController.php b/app/Http/Controllers/TaskFileController.php index 297fddc..565533f 100644 --- a/app/Http/Controllers/TaskFileController.php +++ b/app/Http/Controllers/TaskFileController.php @@ -31,15 +31,17 @@ class TaskFileController extends Controller $type = $this->getType($ext); if ($request->has('by_teacher') && $request->by_teacher == 1) { // auth()->user()->role_id == 2 - $path = '/storage/task' . '/' . $taskId . '/student/'. $studentId . '/' . '/review/' . $type . '/' . $request->name; + $pathToFile = 'public/task/' . $taskId . '/student/' . $studentId . '/review/' . $type . '/'; + $path = '/storage/task' . '/' . $taskId . '/student/'. $studentId . '/review/' . $type . '/' . $request->name; $review = 1; } elseif (true) { + $pathToFile = 'public/task/' . $taskId . '/student/' . $studentId . '/' . $type . '/'; $path = '/storage/task' . '/' . $taskId . '/student/'. $studentId . '/' . $type . '/' . $request->name; $review = 0; } - if (Storage::putFileAs('public/task/' . $taskId . '/student/' . $studentId . '/' . $type . '/', $file, $request->name)) { + if (Storage::putFileAs($pathToFile, $file, $request->name)) { TaskFile::create( [ 'name' => $request->name, @@ -53,7 +55,7 @@ class TaskFileController extends Controller $request->name . $ext ] ); - return response()->json(true, 201); + return response()->json($request->by_teacher, 201); } return response()->json(false, 422); } diff --git a/app/Http/Controllers/Users/TeacherController.php b/app/Http/Controllers/Users/TeacherController.php index 1b0f8d0..389f57d 100644 --- a/app/Http/Controllers/Users/TeacherController.php +++ b/app/Http/Controllers/Users/TeacherController.php @@ -3,6 +3,10 @@ namespace App\Http\Controllers\Users; use App\Http\Controllers\Controller; +use App\Models\AnswerToTask; +use App\Models\SchoolClass; +use App\Models\Student; +use App\Models\Task; use App\Models\Teacher; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; @@ -54,4 +58,22 @@ class TeacherController extends Controller } return response()->json(collect($classes)->unique(), 200); } + +// public function getUncheckedTask(Teacher $teacher, SchoolClass $class) { +// $studentsId = Student::where('class_id', '=', $class->id)->get(['id']); +// $tasksId = Task::where('teacher_id', '=', $teacher->id)->get(['id']); +// $answers = []; +// $test = new Task(); +// foreach ($studentsId as $studentId) { +// foreach ($tasksId as $taskId) { +// +// AnswerToTask::where([ +// ['task_id', '=', $taskId->id], +// ['student_id', '=', $studentId->id], +// ['checked', '=', 0] +// ])->get(); +// } +// } +// return $answers; +// } } diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index 9b26dda..1ba307f 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -17,7 +17,6 @@ class Kernel extends HttpKernel // \App\Http\Middleware\TrustHosts::class, \Fruitcake\Cors\HandleCors::class, \App\Http\Middleware\TrustProxies::class, - \Fruitcake\Cors\HandleCors::class, \App\Http\Middleware\PreventRequestsDuringMaintenance::class, \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class, \App\Http\Middleware\TrimStrings::class, diff --git a/app/Models/Task.php b/app/Models/Task.php index 67b5f7c..225de74 100644 --- a/app/Models/Task.php +++ b/app/Models/Task.php @@ -22,4 +22,12 @@ class Task extends Model $this->belongsTo(SchoolClass::class); } + public function tasks() { + $this->hasMany(Task::class); + } + + public function answers() { + $this->hasMany(AnswerToTask::class); + } + } diff --git a/app/Models/TaskFile.php b/app/Models/TaskFile.php index e4a32c3..a713247 100644 --- a/app/Models/TaskFile.php +++ b/app/Models/TaskFile.php @@ -9,6 +9,6 @@ class TaskFile extends Model { use HasFactory; protected $table = 'task_files'; - protected $fillable = ['name', 'type', 'extension', 'url', 'task_id', 'user_id']; + protected $fillable = ['name', 'type', 'extension', 'url', 'task_id', 'user_id', 'review']; protected $hidden = ['review']; } diff --git a/routes/api.php b/routes/api.php index a20b195..39b1bc4 100644 --- a/routes/api.php +++ b/routes/api.php @@ -13,6 +13,7 @@ Route::apiResource('headteachers', 'Users\HeadTeacherController'); Route::apiResource('teachers', 'Users\TeacherController'); Route::get('teacher/{teacher}/classes', 'Users\TeacherController@getClasses'); +Route::get('teacher/{teacher}/classes/{class}/uncheked-task', 'Users\TeacherController@getUncheckedTask'); Route::apiResource('students', 'Users\StudentController'); Route::get('/student/{student}/answers', 'Users\StudentController@getAnswers');