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

Merge branch 'journal' into timetable

# Conflicts:
#	app/Http/Controllers/Auth/LoginController.php
#	app/Http/Controllers/Auth/RegisterController.php
#	app/Http/Controllers/TimetableController.php
#	app/Models/SchoolClass.php
#	app/Models/User.php
#	composer.lock
This commit is contained in:
2020-12-16 23:14:06 +07:00
49 changed files with 2078 additions and 330 deletions

View File

@@ -31,6 +31,18 @@ class StudentController extends Controller
return response()->json($student, 200);
}
/**
* Создание ученика
*
* @param StudentRequest $request
* @return JsonResponse
*/
/*public function store(StudentRequest $request)
{
$student = Student::creat($request->all());
return response()->json($student, 200);
}*/
/**
* Обновление ученика
*
@@ -54,11 +66,7 @@ class StudentController extends Controller
return response()->json(collect($student)->except('school_class'), 200);
}
public function destroy(Student $student)
{
$user = $student->user;
$user->delete();
return response()->json(null, 204);
public function getAnswers(Student $student) {
return AnswerToTask::where('student_id', '=', $student->id)->get();
}
}

View File

@@ -3,10 +3,14 @@
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;
use Illuminate\Support\Facades\Response;
use App\Models\Subject;
class TeacherController extends Controller
{
@@ -67,10 +71,37 @@ class TeacherController extends Controller
public function getClasses(Teacher $teacher)
{
$timetables = $teacher->timetables;
$classes = [];
$classes = collect([]);
foreach ($timetables as $timetable) {
array_push($classes, $timetable->schoolClass->only('id','number','letter'));
$subjects = collect([]);
$class = $timetable->schoolClass->only('id','number','letter');
$forClassTimetables = $timetables->where('class_id', $class['id']);
foreach ($forClassTimetables as $forClassTimetable) {
$subjects->push(Subject::find($forClassTimetable['subject_id']));
}
$subjects = $subjects->unique()->values();
$classes->push([
'id' => $class['id'],
'number' => $class['number'],
'letter' => $class['letter'],
'subjects' => $subjects,
]);
}
return response()->json(collect($classes)->unique(), 200);
return response()->json($classes->unique()->values(), 200);
}
public function getUncheckedTask(Teacher $teacher, SchoolClass $class) {
$temp = [];
$tasks = $teacher->tasks->where('class_id', '=', $class->id);
foreach ($tasks as $task) {
$answers = Task::find($task->id)->answers->where('checked', '=', false);
array_push($temp, $answers);
}
return response()->json($temp, 200);
}
}