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

Модуль Задания

This commit is contained in:
ashen-1-dev
2020-12-10 21:14:51 +07:00
parent ba578e9fdf
commit dda49ceb17
23 changed files with 219 additions and 94 deletions

View File

@@ -3,8 +3,10 @@
namespace App\Http\Controllers;
use App\Models\AnswerToTask;
use App\Models\BankTask;
use App\Models\SchoolClass;
use App\Models\Student;
use App\Models\User;
use Illuminate\Http\Request;
use App\Models\Task;
use App\Http\Requests\TaskRequest;
@@ -17,37 +19,60 @@ class TaskController extends Controller
{
public function index(Request $request) {
$tasks = Task::where('class_id', '=', $request->class_id)->get()->sortBy('deadline');
$temp = [];
foreach ($tasks as $task) {
return Task::where('class_id', '=', $request->class_id);
$task->banktask->subject;
array_push($temp, collect($task)->except(
'banktask.id',
'banktask.description',
'banktask.short_description',
'banktask.theme_id',
'banktask.created_at',
'banktask.updated_at',
'banktask.author',
'banktask.subject.created_at',
'banktask.subject.updated_at',
'banktask.subject_id'
));
}
return response()->json($temp , 200);
}
public function store(TaskRequest $request) {
$class = SchoolClass::find(1);
$teacherId = 1; // Auth()->id();
$newTask = $class->tasks()->create($request->all() + ['teacher_id' => $teacherId]);
$banktaskName = BankTask::find($request->banktask_id)->name;
$banktaskSubject = BankTask::find($request->banktask_id)->subject_id;
$newTask = Task::create($request->all() + ['teacher_id' => $teacherId
]);
return response()->json($newTask, 201);
}
public function addbanktask(Task $task, Request $request) {
$temp = new TaskHistory();
$temp->task_id = $task->id;
$temp->banktask_id = $request->input('banktask_id'); // Баг - можно впихнуть 2 одинаковых задания из банка задач в один таск
$temp->save();
return response()->json($temp, 201);
}
// public function addbanktask(Task $task, Request $request) {
// $temp = new TaskHistory();
// $temp->task_id = $task->id;
// $temp->banktask_id = $request->input('banktask_id'); // Баг - можно впихнуть 2 одинаковых задания из банка задач в один таск
//
// $temp->save();
//
// return response()->json($temp, 201);
// }
public function show(Task $task) {
$file = TaskFile::where([
['task_id', '=', $task->id],
['add_by_teacher', '=', '1']
])->get(['id', 'name', 'type', 'url', 'user_id']);
$userId = Teacher::find($task->teacher_id)->user_id;
$file = TaskFile::where('task_id', '=', $task->id)->get(['id', 'name', 'type', 'url', 'user_id']);
return response()->json([
'task' => $task,
'files' => $file
$task,
'files' => $file,
], 200);
}
@@ -58,13 +83,11 @@ class TaskController extends Controller
return response()->json(true, 200);
}
public function update(Task $task, TaskRequest $request) {
public function update(Task $task, Request $request) {
$request->validate([
'name' => 'required|min:5:max:100',
'banktask_id' => 'required|exists:bank_tasks,id',
]);
$task->update($request->all());
// $task->name = $request->input('name');
// $task->description = $request->input('description');
$task->save();
@@ -80,8 +103,12 @@ class TaskController extends Controller
$answer->comment_by_teacher = $request->input('comment_by_teacher');
$answer->mark = $request->input('mark');
$answer->checked = 1;
$answer->save();
return response()->json($answer, 200);
}