mirror of
https://github.com/robonen/education-project.git
synced 2026-03-20 02:44:31 +00:00
изменение создание расписания
This commit is contained in:
@@ -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();
|
||||||
|
|||||||
@@ -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',
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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');
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user