mirror of
https://github.com/robonen/education-project.git
synced 2026-03-20 02:44:31 +00:00
Модуль журнала
This commit is contained in:
@@ -4,6 +4,7 @@ namespace App\Http\Controllers\Auth;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\Auth\LoginRequest;
|
||||
use Carbon\Carbon;
|
||||
|
||||
class LoginController extends Controller
|
||||
{
|
||||
@@ -11,10 +12,14 @@ class LoginController extends Controller
|
||||
{
|
||||
$credentials = $request->only('login', 'password');
|
||||
|
||||
if (auth()->attempt($credentials))
|
||||
if (!auth()->attempt($credentials))
|
||||
return response()->json('You cannot sign with those credentials!', 401);
|
||||
|
||||
$token = auth()->user()->makeToken($request->get('remember_me'));
|
||||
$remember = (bool)$request->get('remember_me');
|
||||
$token = auth()->user()->createToken(config('app.name'));
|
||||
|
||||
$token->token->expires_at = $remember ? Carbon::now()->addMonth() : Carbon::now()->addDay();
|
||||
$token->token->save();
|
||||
|
||||
return response()->json([
|
||||
'token_type' => 'Bearer',
|
||||
|
||||
@@ -18,7 +18,7 @@ class RegisterController extends Controller
|
||||
{
|
||||
$role = Role::where('name', $request->get('role'));
|
||||
|
||||
if ($role->isEmpty())
|
||||
if ($role->get()->isEmpty())
|
||||
return response()->json('Role not found', 404);
|
||||
|
||||
$user = User::create(array_merge(
|
||||
|
||||
111
app/Http/Controllers/JournalController.php
Normal file
111
app/Http/Controllers/JournalController.php
Normal file
@@ -0,0 +1,111 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Filters\JournalFilter;
|
||||
use App\Http\Requests\JournalRequest;
|
||||
use App\Models\Journal;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Response;
|
||||
|
||||
class JournalController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @param Request $request
|
||||
* @return JsonResponse
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
$journal = (new JournalFilter(Journal::all(), $request))->apply()->values();
|
||||
return response()->json($journal, 200);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
// public function create()
|
||||
// {
|
||||
// //
|
||||
// }
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param JournalRequest $request
|
||||
* @return JsonResponse
|
||||
*/
|
||||
public function store(JournalRequest $request)
|
||||
{
|
||||
if ($request->has('date'))
|
||||
$date = Carbon::createFromTimestamp($request->get('date')/1000)->floorDays();
|
||||
else
|
||||
$date = Carbon::now()->floorDays();
|
||||
|
||||
|
||||
$exist = Journal::where('updated_at', $date)
|
||||
->where('student_id', $request->get('student_id'))
|
||||
->where('subject_id', $request->get('subject_id'))
|
||||
->get();
|
||||
|
||||
if ($exist->isNotEmpty())
|
||||
return response()->json('Оценка на эту дату уже выставлена', 200);
|
||||
|
||||
$data = array_merge(['updated_at' => $date], $request->all());
|
||||
|
||||
$journal = Journal::create($data);
|
||||
return response()->json(['id' => $journal->id], 200);
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $journal
|
||||
* @return JsonResponse
|
||||
*/
|
||||
public function show(int $journal)
|
||||
{
|
||||
return response()->json(Journal::find($journal), 200);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param Journal $journal
|
||||
* @return Response
|
||||
*/
|
||||
// public function edit(Journal $journal)
|
||||
// {
|
||||
// //
|
||||
// }
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param JournalRequest $request
|
||||
* @param Journal $journal
|
||||
* @return JsonResponse
|
||||
*/
|
||||
public function update(JournalRequest $request, Journal $journal)
|
||||
{
|
||||
$journal->update($request->all());
|
||||
return response()->json(['id' => $journal->id], 200);
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param Journal $journal
|
||||
* @return JsonResponse
|
||||
*/
|
||||
public function destroy(Journal $journal)
|
||||
{
|
||||
$journal->delete();
|
||||
return response()->json(null, 200);
|
||||
}
|
||||
}
|
||||
@@ -2,9 +2,11 @@
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Filters\JournalFilter;
|
||||
use App\Http\Requests\SchoolClassRequest;
|
||||
use App\Models\SchoolClass;
|
||||
use App\Models\Teacher;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Database\QueryException;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
@@ -65,11 +67,26 @@ class SchoolClassController extends Controller
|
||||
$students = $class->students;
|
||||
$studentsOnlyFIO = [];
|
||||
foreach ($students as $student) {
|
||||
array_push($studentsOnlyFIO, $student->only('id', 'name', 'surname', 'patronymic'));
|
||||
array_push($studentsOnlyFIO, $student->only('id', 'name', 'surname', 'patronymic'));
|
||||
}
|
||||
return response()->json($studentsOnlyFIO, 200);
|
||||
}
|
||||
|
||||
public function getStudentsJournal(SchoolClass $class, Request $request)
|
||||
{
|
||||
$students = $class->students;
|
||||
$allStudents = [];
|
||||
|
||||
foreach ($students as $student)
|
||||
{
|
||||
$cpys = clone $student;
|
||||
$cpys->scores = (new JournalFilter($student->scores, $request))->apply()->values();
|
||||
$allStudents[] = $cpys;
|
||||
}
|
||||
|
||||
return response()->json($allStudents, 200);
|
||||
}
|
||||
|
||||
//получение всех предметов для класса
|
||||
public function getSubjects(SchoolClass $class)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user