Commit b1be04c4 authored by Muhammad Raihan Khalifa's avatar Muhammad Raihan Khalifa
Browse files

first commit

parent 6dae0487
No related merge requests found
Pipeline #2693 failed with stages
in 3 minutes and 14 seconds
Showing with 663 additions and 28 deletions
+663 -28
......@@ -9,14 +9,14 @@ use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Redirect;
class Admin17Controller extends Controller
class Admin51Controller extends Controller
{
public function index17()
public function index51()
{
$user = User::where('role', 'User')->get();
return view('admin.dashboard', compact('user'));
}
public function update_foto17(Request $request)
public function update_foto51(Request $request)
{
$user = User::where('id', Auth::user()->id)->first();
$file = $request->file('profil');
......
<?php
namespace App\Http\Controllers;
use App\Models\Agama51;
use App\Models\User;
use Illuminate\Http\Request;
class AdminController51 extends Controller
{
public function dashboardPage51()
{
$user = User::where('role', 'user')->get();
$agama = Agama51::all();
return view('dashboard', ['data' => $user, 'agama' => $agama]);
}
public function agamaPage51()
{
$agama = Agama51::all();
return view('agama', ['all_agama' => $agama]);
}
public function editAgamaPage51(Request $request)
{
$id = $request->id;
$agama = Agama51::find($id);
if (!$agama) {
return back()->with('error', 'Agama tidak ditemukan');
}
$all_agama = Agama51::all();
return view('agama', ['all_agama' => $all_agama, 'agama' => $agama]);
}
public function detailPage51(Request $request)
{
$id = $request->id;
$user = User::find($id);
if (!$user) {
return redirect('/dashboard51')->with('error', 'User tidak ditemukan');
}
$agama = Agama51::all();
$detail = $user->detail;
$data = array_merge($user->toArray(), $detail->toArray());
return view('profile', ['user' => $data, 'agama' => $agama, 'is_preview' => true]);
}
public function updateUserStatus51(Request $request)
{
$id = $request->id;
$user = User::find($id);
if (!$user) {
return redirect('/dashboard51')->with('error', 'User tidak ditemukan');
}
$updateStatus = $user->update([
'is_active' => $user->is_active == 1 ? 0 : 1
]);
if ($updateStatus) {
return redirect('/dashboard51')->with('success', 'Status berhasil diubah');
} else {
return redirect('/dashboard51')->with('error', 'Status gagal diubah');
}
}
public function updateUserAgama51(Request $request)
{
$id = $request->id;
$user = User::find($id);
if (!$user) {
return redirect('/dashboard51')->with('error', 'User tidak ditemukan');
}
$request->validate([
'agama' => 'required|exists:agama51,id'
]);
$user->detail->id_agama = $request->agama;
$updateAgama = $user->detail->save();
if ($updateAgama) {
return redirect('/dashboard51')->with('success', 'Agama berhasil diubah');
} else {
return redirect('/dashboard51')->with('error', 'Agama gagal diubah');
}
}
public function deleteAgama51(Request $request)
{
$id = $request->id;
$agama = Agama51::find($id);
if (!$agama) {
return redirect('/agama51')->with('error', 'Agama tidak ditemukan');
}
$deleteAgama = $agama->delete();
if ($deleteAgama) {
return redirect('/agama51')->with('success', 'Agama berhasil dihapus');
} else {
return redirect('/agama51')->with('error', 'Agama gagal dihapus');
}
}
public function updateAgama51(Request $request)
{
$id = $request->id;
$agama = Agama51::find($id);
if (!$agama) {
return redirect('/agama51')->with('error', 'Agama tidak ditemukan');
}
$request->validate([
'nama_agama' => 'required'
]);
$updateAgama = $agama->update([
'nama_agama' => $request->nama_agama
]);
if ($updateAgama) {
return redirect('/agama51')->with('success', 'Agama berhasil diubah');
} else {
return redirect('/agama51')->with('error', 'Agama gagal diubah');
}
}
public function createAgama51(Request $request)
{
$request->validate([
'nama_agama' => 'required'
]);
$createAgama = Agama51::create([
'nama_agama' => $request->nama_agama
]);
if ($createAgama) {
return redirect('/agama51')->with('success', 'Agama berhasil ditambahkan');
} else {
return redirect('/agama51')->with('error', 'Agama gagal ditambahkan');
}
}
}
......@@ -6,29 +6,29 @@ use App\Models\Agama;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Redirect;
class Agama17Controller extends Controller
class Agama51Controller extends Controller
{
public function index17()
public function index51()
{
$agama = Agama::get();
return view('admin.agama', compact('agama'));
}
public function create17(Request $request)
public function create51(Request $request)
{
Agama::create(['nama_agama' => $request->agama]);
return Redirect::back()->with(['agamaadd' => 'Data agama berhasil ditambahkan!']);
}
public function edit17($id)
public function edit51($id)
{
$agama = Agama::where('id', $id)->get();
return view('admin.edit_agama', compact('agama'));
}
public function update17(Request $request)
public function update51(Request $request)
{
Agama::where('id', $request->id)->update(['nama_agama' => $request->agama]);
return redirect('/admin17/data-agama17')->with(['agama' => 'Data agama berhasil diupdate!']);
return redirect('/admin51/data-agama51')->with(['agama' => 'Data agama berhasil diupdate!']);
}
public function delete17($id)
public function delete51($id)
{
Agama::where('id', $id)->delete();
return Redirect::back()->with(['agamadel' => 'Data agama berhasil dihapus!']);
......
......@@ -6,7 +6,7 @@ use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
class Login17Controller extends Controller
class Login51Controller extends Controller
{
/*
|--------------------------------------------------------------------------
......
......@@ -9,7 +9,7 @@ use Illuminate\Foundation\Auth\RegistersUsers;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
class Register17Controller extends Controller
class Register51Controller extends Controller
{
/*
|--------------------------------------------------------------------------
......
......@@ -7,9 +7,9 @@ use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Crypt;
class DetailData17Controller extends Controller
class DetailData51Controller extends Controller
{
public function index17($id)
public function index51($id)
{
$id_user = Crypt::decrypt($id);
$user = User::where('id', $id_user)->get();
......
......@@ -13,27 +13,27 @@ use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Redirect;
class User17Controller extends Controller
class User51Controller extends Controller
{
public function index17()
public function index51()
{
$data = DetailData::where('id_user', Auth::user()->id)->get();
return view('user.dashboard', compact('data'));
}
public function approve17($id)
public function approve51($id)
{
$user_id = Crypt::decrypt($id);
DetailData::create(['id_user' => $user_id]);
User::where('id', $user_id)->update(['is_aktif' => '1']);
return redirect('/admin17')->with(['approved' => 'User berhasil diapprove!']);
return redirect('/admin51')->with(['approved' => 'User berhasil diapprove!']);
}
public function edit17()
public function edit51()
{
$agama = Agama::get();
$data = DetailData::where('id_user', Auth::user()->id)->get();
return view('user.edit', compact('data', 'agama'));
}
public function update17(Request $request)
public function update51(Request $request)
{
$user = DetailData::where('id_user', Auth::user()->id)->first();
$dateOfBirth = $request->tanggal;
......@@ -55,19 +55,19 @@ class User17Controller extends Controller
'foto_ktp' => $filename,
'umur' => $age
]);
return redirect('/dashboard17')->with(['updated' => 'Detail data berhasil diupdate!']);
return redirect('/dashboard51')->with(['updated' => 'Detail data berhasil diupdate!']);
}
public function gantipass17()
public function gantipass51()
{
return view('user.password');
}
public function updatepass17(Request $request)
public function updatepass51(Request $request)
{
$this->validate($request, [
'password' => 'min:8|required_with:password_confirmation|same:password_confirmation',
'password_confirmation' => 'min:8'
]);
User::where('id', Auth::user()->id)->update(['password' => Hash::make($request->password)]);
return redirect('/dashboard17')->with(['password' => 'Password berhasil diganti!']);
return redirect('/dashboard51')->with(['password' => 'Password berhasil diganti!']);
}
}
\ No newline at end of file
<?php
namespace App\Http\Controllers;
use App\Models\Detail_data51;
use App\Models\User;
use App\Models\Agama51;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
class UsersController51 extends Controller
{
public function profilePage51()
{
$user = Auth::user();
$agama = Agama51::all();
$usersData = User::find($user->id);
$detail = $usersData->detail;
$all_data = array_merge($usersData->toArray(), $detail->toArray());
return view('profile', ['user' => $all_data, 'agama' => $agama, 'is_preview' => false]);
}
public function logoutHandler51()
{
$logout = Auth::logout();
if ($logout) {
return redirect('/login51');
} else {
return back()->with('error', 'Logout gagal');
}
}
public function registerHandler51(Request $request)
{
$request->validate([
'name' => 'required',
'email' => 'required|email|unique:users51',
'password' => 'required|min:8',
'repassword' => 'required|same:password',
'role' => 'required|in:user,admin',
]);
$userData = $request->all();
$userData["password"] = bcrypt($request->password);
$userData["is_active"] = $request["role"] == "user" ? 0 : 1;
$user = new User();
$user->fill($userData);
$save = $user->save();
$detailUser = new Detail_data51();
$detailUser->id_user = $user->id;
$detailUser->save();
if ($save && $detailUser) {
return redirect('/login51')->with('success', 'Register berhasil');
} else {
return back()->with('error', 'Register gagal');
}
}
public function loginHandler51(Request $request)
{
$request->validate([
'email' => 'required|email',
'password' => 'required|min:8'
]);
$isLogged = Auth::attempt($request->only('email', 'password'));
if ($isLogged) {
$user = Auth::user();
if ($user->role == "user" && $user->is_active == 1) {
return redirect('/profile51');
}
if ($user->role == "admin") {
return redirect('/dashboard51');
}
if ($user->role == "user" && $user->is_active == 0) {
Auth::logout();
return back()->with('error', 'Akun anda belum di approve oleh admin');
}
}
return back()->with('error', 'Username atau password salah');
}
public function uploadPhotoKTP51()
{
$user = Auth::user();
$detail = User::find($user->id)->detail;
if ($detail->foto_ktp != "foto_ktp.png") {
if (file_exists(public_path('photo/' . $detail->foto_ktp))) {
unlink(public_path('photo/' . $detail->foto_ktp));
}
}
$file = request()->file('photoKTP');
$fileName = time() . '.' . $file->getClientOriginalExtension();
$file->move(public_path('photo/'), $fileName);
$detail->foto_ktp = $fileName;
$savePhoto = $detail->save();
if ($savePhoto) {
return back()->with('success', 'Upload foto ktp berhasil');
} else {
return back()->with('error', 'Upload foto ktp gagal');
}
}
public function uploadPhotoProfil51()
{
$user = Auth::user();
$detail = User::find($user->id);
if ($detail->foto != "foto.png") {
if (file_exists(public_path('photo/' . $detail->foto))) {
unlink(public_path('photo/' . $detail->foto));
}
}
$file = request()->file('photoProfil');
$fileName = time() . '.' . $file->getClientOriginalExtension();
$file->move(public_path('photo/'), $fileName);
$detail->foto = $fileName;
$savePhoto = $detail->save();
if ($savePhoto) {
return back()->with('success', 'Upload foto profil berhasil');
} else {
return back()->with('error', 'Upload foto profil gagal');
}
}
public function updateProfil51(Request $request)
{
$user = Auth::user();
$request->validate([
'name' => 'required',
'email' => 'required|email|unique:users51,email,' . $user->id,
'alamat' => 'required',
'tempat_lahir' => 'required',
'tanggal_lahir' => 'required',
'id_agama' => 'required',
]);
$userData = User::find($user->id);
$detail = User::find($user->id)->detail;
$isAgamaValid = Agama51::find($request->id_agama);
if (!$isAgamaValid) {
return back()->with('error', 'Agama tidak valid');
}
$userData->name = $request->name;
$userData->email = $request->email;
$saveUser = $userData->save();
$detail->alamat = $request->alamat;
$detail->tempat_lahir = $request->tempat_lahir;
$detail->tanggal_lahir = $request->tanggal_lahir;
$detail->id_agama = $request->id_agama;
$detail->umur = date_diff(date_create($request->tanggal_lahir), date_create('now'))->y;
$saveDetail = $detail->save();
if ($saveUser && $saveDetail) {
return back()->with('success', 'Update profile berhasil');
} else {
return back()->with('error', 'Update profile gagal');
}
}
public function editPasswordPage51()
{
return view('editPassword');
}
public function updatePassword51(Request $request)
{
$user = Auth::user();
$request->validate([
'old_password' => 'required|min:8',
'password' => 'required|min:8',
'repassword' => 'required|same:password',
]);
$userData = User::find($user->id);
if (!Hash::check($request->old_password, $userData->password)) {
return back()->with('error', 'Password lama tidak sesuai');
}
$userData->password = bcrypt($request->password);
$saveUser = $userData->save();
if ($saveUser) {
return back()->with('success', 'Update password berhasil');
} else {
return back()->with('error', 'Update password gagal');
}
}
}
......@@ -20,7 +20,7 @@ class AdminAuth
if (Auth::user()->role == 'Admin') {
return $next($request);
} else {
return redirect('/dashboard17');
return redirect('/dashboard51');
}
}
}
\ No newline at end of file
......@@ -20,7 +20,7 @@ class UserAuth
if (Auth::user()->role == 'User') {
return $next($request);
} else {
return redirect('/login17');
return redirect('/login51');
}
}
}
\ No newline at end of file
<?php
namespace App\Http\Middleware;
use Illuminate\Routing\Middleware\ValidateSignature as Middleware;
class ValidateSignature extends Middleware
{
/**
* The names of the query string parameters that should be ignored.
*
* @var array<int, string>
*/
protected $except = [
// 'fbclid',
// 'utm_campaign',
// 'utm_content',
// 'utm_medium',
// 'utm_source',
// 'utm_term',
];
}
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
class isAdmin
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next
* @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
*/
public function handle(Request $request, Closure $next)
{
if ($request->user() != null) {
if ($request->user()->role == 'admin') {
return $next($request);
}
if ($request->user()->role == 'user') {
return redirect('/profile51');
}
}
return redirect('/login51');
}
}
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class isLogged
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next
* @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
*/
public function handle(Request $request, Closure $next)
{
if (Auth::check()) {
return $next($request);
} else {
return redirect('/login51');
}
}
}
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
class isNotLogged
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next
* @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
*/
public function handle(Request $request, Closure $next)
{
if ($request->user() != null) {
if ($request->user()->role == 'user') {
return redirect('/profile51');
}
if ($request->user()->role == 'admin') {
return redirect('/dashboard51');
}
}
return $next($request);
}
}
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
class isUser
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next
* @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
*/
public function handle(Request $request, Closure $next)
{
if ($request->user() != null) {
if ($request->user()->role == 'user') {
return $next($request);
}
if ($request->user()->role == 'admin') {
return redirect('/dashboard51');
}
}
return redirect('/login51');
}
}
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Agama51 extends Model
{
use HasFactory;
public $table = 'agama51';
protected $primaryKey = 'id';
protected $fillable = [
'nama_agama'
];
public function detail()
{
return $this->hasMany(Detail_data51::class, 'id_agama', 'id');
}
}
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Detail_data51 extends Model
{
use HasFactory;
public $table = 'detail_data51';
protected $primaryKey = 'id';
protected $fillable = [
'id_user',
'alamat',
'tempat_lahir',
'tanggal_lahir',
'id_agama',
'foto_ktp',
'umur'
];
public function user()
{
return $this->belongsTo(User51::class, 'id_user', 'id');
}
public function agama()
{
return $this->belongsTo(Agama51::class, 'id_agama', 'id');
}
}
......@@ -17,8 +17,8 @@ class RouteServiceProvider extends ServiceProvider
*
* @var string
*/
public const HOME = '/dashboard17';
public const ADMIN = '/admin17';
public const HOME = '/dashboard51';
public const ADMIN = '/admin51';
/**
* The controller namespace for the application.
......
<?php
namespace Database\Factories;
use Illuminate\Database\Eloquent\Factories\Factory;
/**
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\Model>
*/
class AgamaFactory extends Factory
{
/**
* Define the model's default state.
*
* @return array<string, mixed>
*/
public function definition()
{
return [
//
];
}
}
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('agama51', function (Blueprint $table) {
$table->id();
$table->string('nama_agama');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('agama');
}
};
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment