Improving view
This commit is contained in:
41
app/Http/Controllers/AccessLogController.php
Normal file
41
app/Http/Controllers/AccessLogController.php
Normal file
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Siswa;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class AccessLogController extends Controller
|
||||
{
|
||||
/**
|
||||
* Handle the incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function __invoke(Request $request)
|
||||
{
|
||||
/*
|
||||
* Count unique logs for the given source
|
||||
*
|
||||
*/
|
||||
$logs = DB::table('access_logs')
|
||||
->select(DB::raw('count(*) as num'))
|
||||
->where('src', $request->src)
|
||||
->groupBy('siswa_id')
|
||||
->get()
|
||||
->count();
|
||||
|
||||
/*
|
||||
* Count the total number of siswa
|
||||
*
|
||||
*/
|
||||
$resources = Siswa::count();
|
||||
|
||||
return response()->json([
|
||||
'accessed' => $logs,
|
||||
'total' => $resources,
|
||||
]);
|
||||
}
|
||||
}
|
||||
63
app/Http/Controllers/HasilBelajarController.php
Normal file
63
app/Http/Controllers/HasilBelajarController.php
Normal file
@@ -0,0 +1,63 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\HasilBelajar;
|
||||
use App\Siswa;
|
||||
use App\AccessLog;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class HasilBelajarController extends Controller
|
||||
{
|
||||
/**
|
||||
* Handle the incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function __invoke(Request $request)
|
||||
{
|
||||
/*
|
||||
* Validate user inputs
|
||||
*
|
||||
*/
|
||||
Validator::make($request->all(), [
|
||||
'nisn' => 'required|regex:/^[0-9]+$/',
|
||||
'tanggalLahir' => 'required|regex:/^[0-9]+$/',
|
||||
], [
|
||||
'required' => 'Kolom :attribute harus diisi.',
|
||||
'regex' => 'Kolom :attribute tidak sesuai.',
|
||||
])->validate();
|
||||
|
||||
/*
|
||||
* Look for the given inputs in the resource
|
||||
*
|
||||
*/
|
||||
try {
|
||||
$tanggalLahir = Carbon::parse($request->tanggalLahir)->format('Y-m-d');
|
||||
} catch(Exception $e) {
|
||||
return response()->json([
|
||||
'message' => 'The given data was invalid.',
|
||||
'errors' => [
|
||||
'tanggalLahir' => ['Kolom tanggal lahir tidak sesuai.'],
|
||||
]
|
||||
], 422);
|
||||
}
|
||||
$siswa = Siswa::where('nisn', $request->nisn)
|
||||
->where('tanggal_lahir', $tanggalLahir)
|
||||
->with('hasilBelajar')
|
||||
->first();
|
||||
|
||||
/*
|
||||
* Redirect with error if not found
|
||||
*
|
||||
*/
|
||||
if (!$siswa || $siswa == null) {
|
||||
return response()->json(['errors' => ['siswa' => ['Siswa tidak ditemukan.']]], 404);
|
||||
}
|
||||
|
||||
return $siswa;
|
||||
}
|
||||
}
|
||||
69
app/Http/Controllers/SiswaController.php
Normal file
69
app/Http/Controllers/SiswaController.php
Normal file
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Siswa;
|
||||
use App\AccessLog;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class SiswaController extends Controller
|
||||
{
|
||||
/**
|
||||
* Handle the incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function __invoke(Request $request)
|
||||
{
|
||||
/*
|
||||
* Validate user inputs
|
||||
*
|
||||
*/
|
||||
Validator::make($request->all(), [
|
||||
'nisn' => 'required|regex:/^[0-9]+$/',
|
||||
'tanggalLahir' => 'required|regex:/^[0-9]+$/',
|
||||
], [
|
||||
'required' => 'Kolom :attribute harus diisi.',
|
||||
'regex' => 'Kolom :attribute tidak sesuai.',
|
||||
])->validate();
|
||||
|
||||
/*
|
||||
* Look for the given inputs in the resource
|
||||
*
|
||||
*/
|
||||
try {
|
||||
$tanggalLahir = Carbon::parse($request->tanggalLahir)->format('Y-m-d');
|
||||
} catch(Exception $e) {
|
||||
return response()->json([
|
||||
'message' => 'The given data was invalid.',
|
||||
'errors' => [
|
||||
'tanggalLahir' => ['Kolom tanggal lahir tidak sesuai.'],
|
||||
]
|
||||
], 422);
|
||||
}
|
||||
|
||||
$siswa = Siswa::where('nisn', $request->nisn)
|
||||
->where('tanggal_lahir', $tanggalLahir)
|
||||
->with($request->with)
|
||||
->first();
|
||||
|
||||
/*
|
||||
* Redirect with error if not found
|
||||
*
|
||||
*/
|
||||
if (!$siswa || $siswa == null) {
|
||||
return response()->json(['errors' => ['siswa' => ['Siswa tidak ditemukan.']]], 404);
|
||||
}
|
||||
|
||||
/*
|
||||
* Write a new access log
|
||||
*
|
||||
*/
|
||||
AccessLog::create(['siswa_id' => $siswa->id, 'src' => $request->src]);
|
||||
|
||||
return $siswa;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user