diff --git a/app/Http/Controllers/AnswerToTaskController.php b/app/Http/Controllers/AnswerToTaskController.php index a456ebf..cd5f6e4 100644 --- a/app/Http/Controllers/AnswerToTaskController.php +++ b/app/Http/Controllers/AnswerToTaskController.php @@ -16,9 +16,10 @@ class AnswerToTaskController extends Controller $input = $request->all(); - $answer = AnswerToTask::create($input+ - ['task_id' => $task->id, - 'student_id' => auth()->user()->id]); + $answer = AnswerToTask::create($input+ [ + 'task_id' => $task->id, + 'student_id' => $request->student_id + ]); //auth()->user()->id] return response()->json($answer, 201); } diff --git a/app/Http/Controllers/SchoolClassController.php b/app/Http/Controllers/SchoolClassController.php index 5940e90..a5bf4e4 100644 --- a/app/Http/Controllers/SchoolClassController.php +++ b/app/Http/Controllers/SchoolClassController.php @@ -67,7 +67,7 @@ class SchoolClassController extends Controller $students = $class->students; $studentsOnlyFIO = []; foreach ($students as $student) { - array_push($studentsOnlyFIO, $student->only('id', 'name', 'surname', 'patronymic')); + array_push($studentsOnlyFIO, $student->only('id', 'name', 'surname', 'patronymic', 'photo')); } return response()->json($studentsOnlyFIO, 200); } diff --git a/app/Http/Controllers/TaskController.php b/app/Http/Controllers/TaskController.php index 5e3e984..ee86375 100644 --- a/app/Http/Controllers/TaskController.php +++ b/app/Http/Controllers/TaskController.php @@ -44,9 +44,9 @@ class TaskController extends Controller } public function store(TaskRequest $request) { - $teacherId = auth()->user()->id; - $banktaskName = BankTask::find($request->banktask_id)->name; - $banktaskSubject = BankTask::find($request->banktask_id)->subject_id; + $teacherId = $request->teacher_id; //auth()->user()->id; +// $banktaskName = BankTask::find($request->banktask_id)->name; +// $banktaskSubject = BankTask::find($request->banktask_id)->subject_id; $newTask = Task::create($request->all() + ['teacher_id' => $teacherId ]); diff --git a/app/Http/Controllers/TaskFileController.php b/app/Http/Controllers/TaskFileController.php index 1d20cd2..75c512d 100644 --- a/app/Http/Controllers/TaskFileController.php +++ b/app/Http/Controllers/TaskFileController.php @@ -17,9 +17,7 @@ class TaskFileController extends Controller public function store(Task $task, Request $request) { - $taskId = $task->id; // НАДО ПОДУМАТЬ. СЕЙЧАС РАБОТАЕТ НЕКОРРЕКТНО. НУЖНО СДЕЛАТЬ ТАК ЧТО СИСТЕМА АВТОМАТИЧЕСКИ ОПРЕДЕЛЯЛА К КАКОМУ УЧЕНИКУ ЗАЛИВАТЬ ФАЙЛ УЧИТЕЛЮ - $studentId = auth()->user()->id; - $teacherId = auth()->user()->id; + $taskId = $task->id; $max_size = (int)ini_get('upload_max_filesize') * 1000; $all_ext = implode(',', $this->allExtensions()); $this->validate($request, [ @@ -30,15 +28,18 @@ class TaskFileController extends Controller $file = $request->file('file'); $ext = $file->getClientOriginalExtension(); $type = $this->getType($ext); + $userId = Student::find($request->student_id)->user_id; + if ($request->has('by_teacher') && ($request->by_teacher = 1)) { // auth()->user()->role_id == 2 - if ($request->has('by_teacher') && (auth()->user()->role_id == 2)) { - $pathToFile = 'public/task/' . $taskId . '/student/' . $studentId . '/review/' . $type . '/'; - $path = '/storage/task' . '/' . $taskId . '/student/'. $studentId . '/review/' . $type . '/' . $request->name; + $pathToFile = 'public/task/' . $taskId . '/student/' . $userId . '/review/' . $type . '/'; + $uri = '/storage/task' . '/' . $taskId . '/student/'. $userId . '/review/' . $type . '/' . $request->name; $review = 1; + } elseif (true) { - $pathToFile = 'public/task/' . $taskId . '/student/' . $studentId . '/' . $type . '/'; - $path = '/storage/task' . '/' . $taskId . '/student/'. $studentId . '/' . $type . '/' . $request->name; + $pathToFile = 'public/task/' . $taskId . '/student/' . $userId . '/' . $type . '/'; + $uri = '/storage/task' . '/' . $taskId . '/student/'. $userId . '/' . $type . '/' . $request->name; $review = 0; + } @@ -49,14 +50,14 @@ class TaskFileController extends Controller 'type' => $type, 'extension' => $ext, 'task_id' => $taskId, - 'url' => $path, - 'user_id' => $studentId, + 'url' => $uri, + 'user_id' => $userId, 'review' => $review, $file, $request->name . $ext ] ); - return response()->json($request->by_teacher, 201); + return response()->json(true, 201); } return response()->json(false, 422); } @@ -98,8 +99,13 @@ class TaskFileController extends Controller public function delete(TaskFile $file) { $studentId = Student::where('user_id', '=', $file->user_id)->get()->id; - if (Storage::disk('local')->exists('/public/task/' . $file->task_id . '/student/' . $studentId . $file->type . '/' . $file->name)) { - if (Storage::disk('local')->delete('/public/task/' . $file->task_id . '/student/' . $studentId . $file->type . '/' . $file->name)) { + if ($file->review == true) { + $pathToFile = '/public/task/' . $file->task_id . '/student/' . $studentId . '/review/' . $file->type . '/' . $file->name; + } else { + $pathToFile = '/public/task/' . $file->task_id . '/student/' . $studentId . $file->type . '/' . $file->name; + } + if (Storage::disk('local')->exists($pathToFile)) { + if (Storage::disk('local')->delete($pathToFile)) { return response()->json($file->delete()); } } diff --git a/app/Http/Controllers/Users/UserController.php b/app/Http/Controllers/Users/UserController.php index 6b51051..279d8f6 100644 --- a/app/Http/Controllers/Users/UserController.php +++ b/app/Http/Controllers/Users/UserController.php @@ -31,6 +31,7 @@ class UserController extends Controller } $user->toArray(); $user['role'] = auth()->user()->role->name; + $user['email'] = auth()->user()->email; return response()->json($user, 200); } diff --git a/routes/api.php b/routes/api.php index 0c7ee4f..8f33485 100644 --- a/routes/api.php +++ b/routes/api.php @@ -17,7 +17,6 @@ Route::apiResource('headteachers', 'Users\HeadTeacherController'); Route::apiResource('teachers', 'Users\TeacherController');//->middleware(['auth:api','role:headteacher|teacher']); Route::get('teacher/{teacher}/classes', 'Users\TeacherController@getClasses'); //получить классы у которых ведет учитель -Route::get('teacher/{teacher}/classes', 'Users\TeacherController@getClasses'); Route::get('teacher/{teacher}/classes/{class}/unchecked-task', 'Users\TeacherController@getUncheckedTask'); Route::apiResource('students', 'Users\StudentController'); @@ -25,7 +24,7 @@ Route::get('/student/{student}/answers', 'Users\StudentController@getAnswers'); Route::apiResource('parents', 'Users\ParenttController'); -Route::apiResource('subjects', 'BankTask\SubjectController'); +Route::apiResource('subjects', 'BankTask\SubjectController');//->middleware(['auth:api', 'role:teacher|headteacher|student']); Route::apiResource('classes', 'SchoolClassController'); Route::post('classes/{class}/teacher', 'SchoolClassController@addTeacher'); @@ -36,12 +35,12 @@ Route::get('classes/{class}/subjects', 'SchoolClassController@getSubjects'); // Route::apiResource('journal', 'JournalController'); -Route::apiResource('themes', 'BankTask\ThemeController'); +Route::apiResource('themes', 'BankTask\ThemeController');//->middleware('auth:api'); Route::apiResource('timetables', 'TimetableController'); -Route::get('banktasks', 'BankTask\BankTaskController@index'); //получение списка всех заданий -Route::group(['prefix' => 'banktask'], function () { +Route::get('banktasks', 'BankTask\BankTaskController@index'); //->middleware(['auth:api', 'role:teacher|headteacher']); //получение списка всех заданий +Route::group(['prefix' => 'banktask' ], function () { // 'middleware' => 'auth:api', 'role:teacher|headteacher' Route::post('', 'BankTask\BankTaskController@store'); //создание задания Route::get('{banktask}', 'BankTask\BankTaskController@show'); //получение задания Route::put('{banktask}', 'BankTask\BankTaskController@update'); //обновление задания @@ -65,7 +64,7 @@ Route::group(['prefix' => 'news'], function () { Route::delete('/photo/{file}', 'News\NewsFileController@delete'); }); -Route::group(['prefix' => 'task'], function () { +Route::group(['prefix' => 'task' ], function () { // 'middleware' => ['auth:api'] Route::post('', 'TaskController@store'); // Добавить таск Route::get('', 'TaskController@index'); // Показать задания для класса (в запросе нужно указывать Id класса) Route::get('/{task}', 'TaskController@show'); //Показать задание