diff --git a/README.md b/README.md index 92fcb7a..af0ddc9 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,25 @@ ## Program Tagihan SPP Sekolah v1.1 Aplikasi untuk memaintain Tagihan Pembayaran Sekolah Berbasis Web Admin dengan Memanfaatkan Teknologi Laravel v9.x +### How to run it! + +```shell +# STEP 1 +$ git clone https://github.com/aspsptyd/program-tagihan-spp.git +# STEP 2 +$ cd program-tagihan-spp/ +# STEP 3 +$ composer update +# STEP 4 +$ composer install +# STEP 5 +$ cp .env.example .env +# STEP 6 +$ php artisan key:generate +# STEP 7 +$ php artisan serve +``` + ### Whats New! Update-update terbaru yang ditambahkan ke dalam proses development app yaitu sebagai berikut @@ -13,4 +32,4 @@ Installasi Update Feature -Soon \ No newline at end of file +- Integrasi Register & Login #2 \ No newline at end of file diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php index 18a0d08..1980213 100644 --- a/app/Http/Controllers/Auth/LoginController.php +++ b/app/Http/Controllers/Auth/LoginController.php @@ -5,6 +5,8 @@ use App\Http\Controllers\Controller; use App\Providers\RouteServiceProvider; use Illuminate\Foundation\Auth\AuthenticatesUsers; +use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; class LoginController extends Controller { @@ -37,4 +39,17 @@ public function __construct() { $this->middleware('guest')->except('logout'); } + + public function authenticated(Request $request, $user) + { + if ($user->akses == 'operator' || $user->akses == 'admin') { + return redirect()->route('operator.beranda'); + } elseif ($user->akses == 'wali') { + return redirect()->route('wali.beranda'); + } else { + Auth::logout(); + flash('Anda tidak memiliki hak akses')->error(); + return redirect()->route('login'); + } + } } diff --git a/app/Http/Controllers/BerandaOperatorController.php b/app/Http/Controllers/BerandaOperatorController.php new file mode 100644 index 0000000..16373e8 --- /dev/null +++ b/app/Http/Controllers/BerandaOperatorController.php @@ -0,0 +1,13 @@ + \App\Http\Middleware\ValidateSignature::class, 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, 'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class, + 'auth.admin' => \App\Http\Middleware\Admin::class, + 'auth.wali' => \App\Http\Middleware\Wali::class, + 'auth.operator' => \App\Http\Middleware\Operator::class, ]; } diff --git a/app/Http/Middleware/Admin.php b/app/Http/Middleware/Admin.php new file mode 100644 index 0000000..7f66dcf --- /dev/null +++ b/app/Http/Middleware/Admin.php @@ -0,0 +1,24 @@ +user()->akses == 'admin') { + return $next($request); + } + abort(403, 'Akses khusus admin'); + } +} diff --git a/app/Http/Middleware/Operator.php b/app/Http/Middleware/Operator.php new file mode 100644 index 0000000..0334944 --- /dev/null +++ b/app/Http/Middleware/Operator.php @@ -0,0 +1,24 @@ +user()->akses == 'operator' || $request->user()->akses == 'admin' ) { + return $next($request); + } + abort(403, 'Akses khusus Operator'); + } +} diff --git a/app/Http/Middleware/Wali.php b/app/Http/Middleware/Wali.php new file mode 100644 index 0000000..70bd735 --- /dev/null +++ b/app/Http/Middleware/Wali.php @@ -0,0 +1,24 @@ +user()->akses == 'wali') { + return $next($request); + } + abort(403, 'Akses khusus wali murid'); + } +} diff --git a/app/Models/User.php b/app/Models/User.php index 23b4063..4a454bc 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -21,6 +21,9 @@ class User extends Authenticatable 'name', 'email', 'password', + 'akses', + 'nohp', + 'nohp_verified_at', ]; /** diff --git a/composer.lock b/composer.lock index 652a436..ffc97ae 100644 --- a/composer.lock +++ b/composer.lock @@ -1999,16 +1999,16 @@ }, { "name": "monolog/monolog", - "version": "2.9.1", + "version": "2.9.2", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "f259e2b15fb95494c83f52d3caad003bbf5ffaa1" + "reference": "437cb3628f4cf6042cc10ae97fc2b8472e48ca1f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/f259e2b15fb95494c83f52d3caad003bbf5ffaa1", - "reference": "f259e2b15fb95494c83f52d3caad003bbf5ffaa1", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/437cb3628f4cf6042cc10ae97fc2b8472e48ca1f", + "reference": "437cb3628f4cf6042cc10ae97fc2b8472e48ca1f", "shasum": "" }, "require": { @@ -2085,7 +2085,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/2.9.1" + "source": "https://github.com/Seldaek/monolog/tree/2.9.2" }, "funding": [ { @@ -2097,7 +2097,7 @@ "type": "tidelift" } ], - "time": "2023-02-06T13:44:46+00:00" + "time": "2023-10-27T15:25:26+00:00" }, { "name": "nesbot/carbon", diff --git a/package-lock.json b/package-lock.json index 24de6ee..aa14193 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,5 +1,5 @@ { - "name": "tagihan-spp", + "name": "program-tagihan-spp", "lockfileVersion": 3, "requires": true, "packages": { diff --git a/resources/views/operator/beranda_index.blade.php b/resources/views/operator/beranda_index.blade.php new file mode 100644 index 0000000..03ca649 --- /dev/null +++ b/resources/views/operator/beranda_index.blade.php @@ -0,0 +1,23 @@ +@extends('layouts.app') + +@section('content') +