1
0
mirror of https://github.com/robonen/education-project.git synced 2026-03-20 02:44:31 +00:00

Модуль Задания(fix some bugs)

This commit is contained in:
ashen-1-dev
2020-12-11 00:23:29 +07:00
parent dda49ceb17
commit 854ffc83c8
7 changed files with 39 additions and 6 deletions

View File

@@ -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([

View File

@@ -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);
}

View File

@@ -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;
// }
}

View File

@@ -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,

View File

@@ -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);
}
}

View File

@@ -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'];
}

View File

@@ -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');