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\Filters\TimetableFilter;
use App\Http\Requests\TimetableRequest; use App\Http\Requests\TimetableRequest;
use App\Models\SchoolClass;
use App\Models\Timetable; use App\Models\Timetable;
use Carbon\Carbon; use Carbon\Carbon;
use Illuminate\Database\QueryException; use Illuminate\Database\QueryException;
@@ -13,7 +12,7 @@ use Illuminate\Http\Request;
class TimetableController extends Controller class TimetableController extends Controller
{ {
//Получение расписания //Получение расписания на неделю
public function index(Request $request) public function index(Request $request)
{ {
$request->validate([ $request->validate([
@@ -53,31 +52,20 @@ class TimetableController extends Controller
return response()->json($timetable, 200); return response()->json($timetable, 200);
} }
//создание расписания //создание урока
public function store(TimetableRequest $request) public function store(TimetableRequest $request)
{ {
foreach($request->input('timetables') as $timetable) { try {
try { Timetable::create($request->all());
Timetable::create($timetable); }catch (QueryException $e) {
}catch (QueryException $e) { return response()->json(['message' => 'Not found class, teacher or subject'], 400);
return response()->json(['message' => 'Not found class, teacher or subject'], 400);
}
} }
return response()->json(['message' => 'Timetable was created'], 201); 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 { try {
$timetable->update($request->all()); $timetable->update($request->all());
}catch (QueryException $e) { }catch (QueryException $e) {
@@ -86,7 +74,7 @@ class TimetableController extends Controller
return response()->json(['message' => 'Timetable was updated'], 200); return response()->json(['message' => 'Timetable was updated'], 200);
} }
//удаление расписания //удаление урока
public function destroy(Timetable $timetable) public function destroy(Timetable $timetable)
{ {
$timetable->delete(); $timetable->delete();

View File

@@ -13,13 +13,12 @@ class TimetableRequest extends ApiFormRequest
public function rules() public function rules()
{ {
return [ return [
'timetables' => 'required|array', 'class_id' => 'required|integer|gt:0',
'timetables.*.class_id' => 'required|integer|gt:0', 'teacher_id' => 'required|integer|gt:0',
'timetables.*.teacher_id' => 'required|integer|gt:0', 'subject_id' => 'required|integer|gt:0',
'timetables.*.subject_id' => 'required|integer|gt:0', 'date' => 'required|date_format:Y/m/d|',
'timetables.*.date' => 'required|date_format:Y/m/d|', 'time_start' => 'required|date_format:H:i',
'timetables.*.time_start' => 'required|date_format:H:i', 'time_end' => 'required|date_format:H:i',
'timetables.*.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('headteachers', 'Users\HeadTeacherController');
Route::apiResource('teachers', 'Users\TeacherController'); 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'); Route::apiResource('students', 'Users\StudentController');
@@ -22,8 +22,8 @@ Route::apiResource('subjects', 'SubjectController');
Route::apiResource('classes', 'SchoolClassController'); Route::apiResource('classes', 'SchoolClassController');
Route::post('classes/{class}/teacher', 'SchoolClassController@addTeacher'); Route::post('classes/{class}/teacher', 'SchoolClassController@addTeacher');
Route::get('classes/{class}/students', 'SchoolClassController@getStudents'); Route::get('classes/{class}/students', 'SchoolClassController@getStudents'); //все ученики класса
Route::get('classes/{class}/subjects', 'SchoolClassController@getSubjects'); Route::get('classes/{class}/subjects', 'SchoolClassController@getSubjects'); //все предметы класса
Route::apiResource('themes', 'ThemeController'); Route::apiResource('themes', 'ThemeController');