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:
nikden13
2020-12-09 23:30:11 +07:00
parent 1765cf44d0
commit 127da069bd
3 changed files with 18 additions and 31 deletions

View File

@@ -4,7 +4,6 @@ namespace App\Http\Controllers;
use App\Filters\TimetableFilter;
use App\Http\Requests\TimetableRequest;
use App\Models\SchoolClass;
use App\Models\Timetable;
use Carbon\Carbon;
use Illuminate\Database\QueryException;
@@ -13,7 +12,7 @@ use Illuminate\Http\Request;
class TimetableController extends Controller
{
//Получение расписания
//Получение расписания на неделю
public function index(Request $request)
{
$request->validate([
@@ -53,31 +52,20 @@ class TimetableController extends Controller
return response()->json($timetable, 200);
}
//создание расписания
//создание урока
public function store(TimetableRequest $request)
{
foreach($request->input('timetables') as $timetable) {
try {
Timetable::create($timetable);
Timetable::create($request->all());
}catch (QueryException $e) {
return response()->json(['message' => 'Not found class, teacher or subject'], 400);
}
}
return response()->json(['message' => 'Timetable was created'], 201);
}
//обновление расписания
public function update(Timetable $timetable, Request $request)
//обновление урока
public function update(TimetableRequest $timetable, Request $request)
{
$request->validate([
'class_id' => 'required|integer|gt:0',
'teacher_id' => 'required|integer|gt:0',
'subject_id' => 'required|integer|gt:0',
'date' => 'required|date_format:Y/m/d|',
'time_start' => 'required|date_format:H:i',
'time_end' => 'required|date_format:H:i|after:time_start',
]);
try {
$timetable->update($request->all());
}catch (QueryException $e) {
@@ -86,7 +74,7 @@ class TimetableController extends Controller
return response()->json(['message' => 'Timetable was updated'], 200);
}
//удаление расписания
//удаление урока
public function destroy(Timetable $timetable)
{
$timetable->delete();

View File

@@ -13,13 +13,12 @@ class TimetableRequest extends ApiFormRequest
public function rules()
{
return [
'timetables' => 'required|array',
'timetables.*.class_id' => 'required|integer|gt:0',
'timetables.*.teacher_id' => 'required|integer|gt:0',
'timetables.*.subject_id' => 'required|integer|gt:0',
'timetables.*.date' => 'required|date_format:Y/m/d|',
'timetables.*.time_start' => 'required|date_format:H:i',
'timetables.*.time_end' => 'required|date_format:H:i',
'class_id' => 'required|integer|gt:0',
'teacher_id' => 'required|integer|gt:0',
'subject_id' => 'required|integer|gt:0',
'date' => 'required|date_format:Y/m/d|',
'time_start' => 'required|date_format:H:i',
'time_end' => 'required|date_format:H:i',
];
}
}

View File

@@ -12,7 +12,7 @@ Route::group(['prefix' => 'auth'], function () {
Route::apiResource('headteachers', 'Users\HeadTeacherController');
Route::apiResource('teachers', 'Users\TeacherController');
Route::get('teacher/{teacher}/classes', 'Users\TeacherController@getClasses');
Route::get('teacher/{teacher}/classes', 'Users\TeacherController@getClasses'); //получить классы у которых ведет учитель
Route::apiResource('students', 'Users\StudentController');
@@ -22,8 +22,8 @@ Route::apiResource('subjects', 'SubjectController');
Route::apiResource('classes', 'SchoolClassController');
Route::post('classes/{class}/teacher', 'SchoolClassController@addTeacher');
Route::get('classes/{class}/students', 'SchoolClassController@getStudents');
Route::get('classes/{class}/subjects', 'SchoolClassController@getSubjects');
Route::get('classes/{class}/students', 'SchoolClassController@getStudents'); //все ученики класса
Route::get('classes/{class}/subjects', 'SchoolClassController@getSubjects'); //все предметы класса
Route::apiResource('themes', 'ThemeController');