Update Dashboard

This commit is contained in:
Ananda Zakia S 2024-02-07 14:07:34 +07:00
parent 22c69acd5f
commit 3995d33203
13 changed files with 788 additions and 237 deletions

View File

@ -0,0 +1,70 @@
<?php
namespace App\Http\Controllers;
use App\Models\Criteria;
use App\Models\SubCriteria;
use Illuminate\Http\Request;
use App\Models\Extracuricullar;
class DashboardController extends Controller
{
/**
* Display a listing of the resource.
*/
public function index()
{
$jumlahEkstra = Extracuricullar::count();
$jumlahKriteria = Criteria::count();
$jumlahSubKriteria = SubCriteria::count();
return view('dashboard.index', compact('jumlahEkstra','jumlahKriteria','jumlahSubKriteria'));
}
/**
* Show the form for creating a new resource.
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*/
public function show(string $id)
{
//
}
/**
* Show the form for editing the specified resource.
*/
public function edit(string $id)
{
//
}
/**
* Update the specified resource in storage.
*/
public function update(Request $request, string $id)
{
//
}
/**
* Remove the specified resource from storage.
*/
public function destroy(string $id)
{
//
}
}

View File

@ -0,0 +1,107 @@
<?php
namespace App\Http\Controllers;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
class DataUserController extends Controller
{
/**
* Display a listing of the resource.
*/
public function index()
{
$users = User::all();
return view('user.user', compact('users'));
}
/**
* Show the form for creating a new resource.
*/
public function create()
{
}
/**
* Store a newly created resource in storage.
*/
public function store(Request $request)
{
$validator = Validator::make($request->only('name', 'username', 'email'), [
'name' => 'required',
'username' => 'required',
'email' => 'required',
]);
if ($validator->fails()) {
return redirect()->back()->withErrors($validator)->withInput();
}
$defaultPassword = 'man3bwi';
User::create([
'name' => $request->name,
'username' => $request->username,
'email' => $request->email,
'password' => bcrypt($defaultPassword),
'role' => 'siswa'
]);
return redirect()->route('user.index')->with('success', 'Data User Berhasil Ditambah!');
}
/**
* Display the specified resource.
*/
public function show(string $id)
{
//
}
/**
* Show the form for editing the specified resource.
*/
public function edit(string $id)
{
$user = User::findOrFail($id);
return view('user.edit', compact('user'));
}
/**
* Update the specified resource in storage.
*/
public function update(Request $request, string $id)
{
// $user = User::findorfail($id);
// $user->update($request->all());
// return redirect('user')->with('success', 'Data User Berhasil Diperbarui!');
$validatedData = $request->validate([
'nama' => 'required',
'username' => 'required',
'email' => 'required',
]);
$user = User::findOrFail($id);
$user->update($validatedData);
return redirect()->route('user.index')->with('success', 'Data User Berhasil Diperbarui!');
}
/**
* Remove the specified resource from storage.
*/
public function destroy(string $id)
{
$user = User::findorfail($id);
$user->delete();
return back()->with('info', 'Data User Berhasil Dihapus!');
}
}

View File

@ -472,9 +472,14 @@ .service_section .btn-box a:hover {
transform: translateY(-3px);
}
#ekstrakurikulerCarousel {
margin-bottom: 20px; /* Adjust the value as needed */
}
.carousel-indicators {
font-size: 1rem; /* Ukuran font indikator */
text-align: center; /* Memusatkan indikator */
margin-top: 50px; /* Adjust the value as needed */
}
.carousel-indicators span {

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -15,12 +15,79 @@
<div class="row align-items-center">
<div class="col-md-8">
<h1 class="font-20 weight-500 mb-10 text-capitalize">
Welcome Back!
Selamat Datang,
<div class="weight-600 font-20 text-blue">{{ auth()->user()->name }}</div>
</h1>
</div>
</div>
</div>
<div class="row pb-10">
<div class="col-md-4 mb-20">
<div class="card-box height-100-p widget-style3">
<div class="d-flex flex-wrap">
<div class="widget-data">
<div class="weight-700 font-24 text-dark">{{ $jumlahEkstra }}</div>
<div class="font-14 text-secondary weight-500">
Data Ekstrakurikuler
</div>
</div>
<div class="widget-icon">
<div class="icon" data-color="#00eccf">
<i class="icon-copy dw dw-file-7"></i>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-4 mb-20">
<div class="card-box height-100-p widget-style3">
<div class="d-flex flex-wrap">
<div class="widget-data">
<div class="weight-700 font-24 text-dark">{{ $jumlahKriteria }}</div>
<div class="font-14 text-secondary weight-500">
Data Kriteria
</div>
</div>
<div class="widget-icon">
<div class="icon" data-color="#ff5b5b">
<span class="icon-copy dw dw-file-7"></span>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-4 mb-20">
<div class="card-box height-100-p widget-style3">
<div class="d-flex flex-wrap">
<div class="widget-data">
<div class="weight-700 font-24 text-dark">{{ $jumlahSubKriteria }}</div>
<div class="font-14 text-secondary weight-500">
Data Sub Kriteria
</div>
</div>
<div class="widget-icon">
<div class="icon">
<i class="icon-copy dw dw-file-7" aria-hidden="true"></i>
</div>
</div>
</div>
</div>
</div>
</div>
{{-- <div class="row">
<div class="col-xl-8 mb-30">
<div class="card-box height-100-p pd-20">
<h2 class="h4 mb-20">Activity</h2>
<div id="chart5"></div>
</div>
</div>
<div class="col-xl-4 mb-30">
<div class="card-box height-100-p pd-20">
<h2 class="h4 mb-20">Lead Target</h2>
<div id="chart6"></div>
</div>
</div>
</div> --}}
</div>
<div class="footer-wrap pd-20 mb-20 card-box">
<strong>Sistem Pendukung Keputusan Pemilihan Ekstrakurikuler Metode SMARTER</strong>

View File

@ -11,6 +11,10 @@
<meta name="keywords" content="" />
<meta name="description" content="" />
<meta name="author" content="" />
<!-- Site favicon -->
<link rel="apple-touch-icon" sizes="180x180" href="{{ asset('img/logo-no-background') }}" />
<link rel="icon" type="image/png" href="{{ asset('img/logo-no-background.png') }}" />
<link rel="icon" type="image/png" href="{{ asset('img/logo-no-background.png') }}" />
<title>SIPEX | {{ $title }}</title>
@ -26,8 +30,10 @@
<!-- Custom styles for this template -->
<link href="{{ asset('css/style.css') }}" rel="stylesheet" />
<!-- responsive style -->
<link href="{{ asset('css/responsive.css') }}" rel="stylesheet" />
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css" rel="stylesheet">
</head>
@ -52,7 +58,7 @@
</li>
<li class="nav-item">
<a class="nav-link {{ $title === 'Ekstrakurikuler' ? 'active' : '' }}"
href="/ekstrakurikuler">Ekstrakurikuler</a>
href="/data-ekstrakurikuler">Ekstrakurikuler</a>
</li>
</ul>
</ul>
@ -82,24 +88,28 @@
<div id="ekstrakurikulerCarousel" class="carousel slide" data-ride="carousel">
<div class="carousel-inner">
@php
$totalCards = 12;
$images = ['img/login.jpeg', 'img/login.jpeg', 'img/login.jpeg', 'img/login.jpeg', 'img/login.jpeg', 'img/login.jpeg', 'img/login.jpeg', 'img/login.jpeg', 'img/login.jpeg', 'img/login.jpeg', 'img/login.jpeg', 'img/login.jpeg', 'img/login.jpeg', 'img/login.jpeg', 'img/login.jpeg', 'img/login.jpeg', 'img/login.jpeg', 'img/login.jpeg', 'img/login.jpeg', 'img/login.jpeg', 'img/login.jpeg', 'img/login.jpeg', 'img/login.jpeg', 'img/login.jpeg', 'img/login.jpeg', 'img/login.jpeg', 'img/login.jpeg', 'img/login.jpeg', 'img/login.jpeg', 'img/login.jpeg', 'img/login.jpeg', 'img/login.jpeg', 'img/login.jpeg', 'img/login.jpeg', 'img/login.jpeg', 'img/login.jpeg'];
$ekstrakurikulers = \App\Models\Extracuricullar::all();
$totalCards = 4;
@endphp
@for ($i = 0; $i < count($images); $i += $totalCards)
@for ($i = 0; $i < count($ekstrakurikulers); $i += $totalCards)
<div class="carousel-item {{ $i === 0 ? 'active' : '' }}">
<div class="row">
@for ($j = $i; $j < $i + $totalCards && $j < count($images); $j++)
@for ($j = $i; $j < $i + $totalCards && $j < count($ekstrakurikulers); $j++)
<div class="col-md-6 col-lg-3">
<div class="box" style="width: 17rem;">
<img src="{{ asset($images[$j]) }}" class="card-img-top" alt="...">
@php
$kategori = strtolower($ekstrakurikulers[$j]->kategori);
$iconClass = ($kategori === 'olahraga') ? 'fas fa-walking' : (($kategori === 'seni') ? 'fas fa-music' : 'fas fa-brush');
@endphp
<i class="{{ $iconClass }} fa-5x"></i>
<div class="card-body">
<div class="detail-box">
<h5>
Futsal
{{ $ekstrakurikulers[$j]->nama }}
</h5>
<p>
Ekstrakurikuler di bidang olahraga
Bidang {{ $ekstrakurikulers[$j]->kategori }}
</p>
</div>
</div>
@ -110,8 +120,8 @@
</div>
@endfor
</div>
<div class="carousel-indicators mt-2">
@for ($i = 0; $i < ceil(count($images) / $totalCards); $i++)
<div class="carousel-indicators mt-20">
@for ($i = 0; $i < ceil(count($ekstrakurikulers) / $totalCards); $i++)
<span data-target="#ekstrakurikulerCarousel" data-slide-to="{{ $i }}"
class="{{ $i === 0 ? 'active' : '' }}" onclick="goToSlide({{ $i }})"></span>
@endfor
@ -125,6 +135,7 @@ function goToSlide(index) {
</div>
</section>
<div class="footer_container">
<!-- info section -->
@ -140,24 +151,22 @@ function goToSlide(index) {
</div>
<div class="col-md-4">
<div class="info_link_box">
<h4>
Links
</h4>
<h4>Links</h4>
<div class="info_links">
<a class="" href="#home">
Home
<a class="" href="/home">
<i class="fa fa-home" aria-hidden="true"></i>
<span style="margin-left: 5px;">Home</span>
</a>
<a class="" href="#ekstrakurikuler">
Ekstrakurikuler
<a class="" href="/data-ekstrakurikuler">
<i class="fas fa-file" aria-hidden="true"></i>
<span style="margin-left: 5px;">Ekstrakurikuler</span>
</a>
</div>
</div>
</div>
<div class="col-md-4">
<div class="info_contact">
<h4>
Address
</h4>
<h4>Address</h4>
<div class="contact_link_box">
<a href="https://maps.app.goo.gl/ibCGWyfsxw8pbR6i9">
<i class="fa fa-map-marker" aria-hidden="true"></i>
@ -178,7 +187,7 @@ function goToSlide(index) {
</span>
</a>
<a href="https://www.instagram.com/osimman3banyuwangi" target="_blank">
<i class="fa fa-instagram" aria-hidden="true"></i>
<i class="fab fa-instagram" aria-hidden="true"></i>
<span>
Instagram
</span>

View File

@ -11,6 +11,11 @@
<meta name="keywords" content="" />
<meta name="description" content="" />
<meta name="author" content="" />
<!-- Site favicon -->
<link rel="apple-touch-icon" sizes="180x180" href="{{ asset('img/logo-no-background') }}" />
<link rel="icon" type="image/png" href="{{ asset('img/logo-no-background.png') }}" />
<link rel="icon" type="image/png" href="{{ asset('img/logo-no-background.png') }}" />
<title>SIPEX | {{ $title }}</title>
@ -26,8 +31,11 @@
<!-- Custom styles for this template -->
<link href="{{ asset('css/style.css') }}" rel="stylesheet" />
<!-- responsive style -->
<link href="{{ asset('css/responsive.css') }}" rel="stylesheet" />
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css" rel="stylesheet">
</head>
@ -41,17 +49,20 @@
<a class="navbar-brand" href="/home">
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<button class="navbar-toggler" type="button" data-toggle="collapse"
data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent"
aria-expanded="false" aria-label="Toggle navigation">
<span class=""> </span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link {{ ($title === "Home") ? 'active' : ''}}" href="/home">Home</a>
<a class="nav-link {{ $title === 'Home' ? 'active' : '' }}" href="/home">Home</a>
</li>
<li class="nav-item">
<a class="nav-link {{ ($title === "Ekstrakurikuler") ? 'active' : ''}}" href="/ekstrakurikuler">Ekstrakurikuler</a>
<a class="nav-link {{ $title === 'Ekstrakurikuler' ? 'active' : '' }}"
href="/data-ekstrakurikuler">Ekstrakurikuler</a>
</li>
</ul>
@ -112,26 +123,28 @@
<div id="ekstrakurikulerCarousel" class="carousel slide" data-ride="carousel">
<div class="carousel-inner">
@php
$totalCards = 12;
$images = ['img/login.jpeg', 'img/login.jpeg', 'img/login.jpeg', 'img/login.jpeg',
'img/login.jpeg', 'img/login.jpeg','img/login.jpeg', 'img/login.jpeg', 'img/login.jpeg', 'img/login.jpeg',
'img/login.jpeg', 'img/login.jpeg', /* add more image paths here */];
$ekstrakurikulers = \App\Models\Extracuricullar::all();
$totalCards = 4;
@endphp
@for ($i = 0; $i < count($images); $i += $totalCards)
@for ($i = 0; $i < count($ekstrakurikulers); $i += $totalCards)
<div class="carousel-item {{ $i === 0 ? 'active' : '' }}">
<div class="row">
@for ($j = $i; $j < $i + $totalCards && $j < count($images); $j++)
@for ($j = $i; $j < $i + $totalCards && $j < count($ekstrakurikulers); $j++)
<div class="col-md-6 col-lg-3">
<div class="box" style="width: 17rem;">
<img src="{{ asset($images[$j]) }}" class="card-img-top" alt="...">
@php
$kategori = strtolower($ekstrakurikulers[$j]->kategori);
$iconClass = ($kategori === 'olahraga') ? 'fas fa-walking' : (($kategori === 'seni') ? 'fas fa-music' : 'fas fa-brush');
@endphp
<i class="{{ $iconClass }} fa-5x"></i>
<div class="card-body">
<div class="detail-box">
<h5>
Futsal
{{ $ekstrakurikulers[$j]->nama }}
</h5>
<p>
Ekstrakurikuler di bidang olahraga
Bidang {{ $ekstrakurikulers[$j]->kategori }}
</p>
</div>
</div>
@ -142,9 +155,20 @@
</div>
@endfor
</div>
<div class="carousel-indicators mt-20">
@for ($i = 0; $i < ceil(count($ekstrakurikulers) / $totalCards); $i++)
<span data-target="#ekstrakurikulerCarousel" data-slide-to="{{ $i }}"
class="{{ $i === 0 ? 'active' : '' }}" onclick="goToSlide({{ $i }})"></span>
@endfor
</div>
<script>
function goToSlide(index) {
$('#ekstrakurikulerCarousel').carousel(index);
}
</script>
</div>
</div>
</section>
</section>
<div class="footer_container">
<!-- info section -->
@ -161,45 +185,43 @@
</div>
<div class="col-md-4">
<div class="info_link_box">
<h4>
Links
</h4>
<h4>Links</h4>
<div class="info_links">
<a class="" href="#home">
Home
<a class="" href="/home">
<i class="fa fa-home" aria-hidden="true"></i>
<span style="margin-left: 5px;">Home</span>
</a>
<a class="" href="ekstrakurikuler">
Ekstrakurikuler
<a class="" href="/data-ekstrakurikuler">
<i class="fas fa-file" aria-hidden="true"></i>
<span style="margin-left: 5px;">Ekstrakurikuler</span>
</a>
</div>
</div>
</div>
<div class="col-md-4">
<div class="info_contact">
<h4>
Address
</h4>
<h4>Address</h4>
<div class="contact_link_box">
<a href="https://maps.app.goo.gl/ibCGWyfsxw8pbR6i9">
{{-- <i class="fa fa-map-marker" aria-hidden="true"></i> --}}
<i class="fa fa-map-marker" aria-hidden="true"></i>
<span>
Location
</span>
</a>
<a href="mailto:man3banyuwangi@gmail.com">
{{-- <i class="fa fa-envelope" aria-hidden="true"></i> --}}
<i class="fa fa-envelope" aria-hidden="true"></i>
<span>
Email
</span>
</a>
<a href="tel:+62333397173">
{{-- <i class="fa fa-phone" aria-hidden="true"></i> --}}
<i class="fa fa-phone" aria-hidden="true"></i>
<span>
Telepon
</span>
</a>
<a href="https://www.instagram.com/osimman3banyuwangi" target="_blank">
{{-- <i class="fa fa-instagram" aria-hidden="true"></i> --}}
<i class="fab fa-instagram" aria-hidden="true"></i>
<span>
Instagram
</span>
@ -219,7 +241,7 @@
<div class="container">
<p>
&copy; <span id="displayYear"></span> All Rights Reserved By
<a href="/home">SIPEX</a>
<a href="home">SIPEX</a>
</p>
</div>
</footer>
@ -229,13 +251,15 @@
<!-- jQery -->
<script src="js/jquery-3.4.1.min.js"></script>
<!-- popper js -->
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"
integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous">
</script>
<!-- bootstrap js -->
<script src="js/bootstrap.js"></script>
<script src="js/custom.js"></script>
<!-- Google Map -->
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCh39n5U-4IoWpsVGUHWdqB6puEkhRLdmI&callback=myMap"></script>
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCh39n5U-4IoWpsVGUHWdqB6puEkhRLdmI&callback=myMap">
</script>
<!-- End Google Map -->
<!-- Swiper JS -->
<script src="https://unpkg.com/swiper/swiper-bundle.min.js"></script>

View File

@ -8,8 +8,8 @@
<!-- Site favicon -->
<link rel="apple-touch-icon" sizes="180x180" href="{{ asset('vendors/images/apple-touch-icon.png') }}" />
<link rel="icon" type="image/png" sizes="32x32" href="{{ asset('vendors/images/favicon-32x32.png') }}" />
<link rel="icon" type="image/png" sizes="16x16" href="{{ asset('vendors/images/favicon-16x16.png') }}" />
<link rel="icon" type="image/png" href="{{ asset('img/logo-no-background.png') }}" />
<link rel="icon" type="image/png" href="{{ asset('img/logo-no-background.png') }}" />
<!-- Mobile Specific Metas -->
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />

View File

@ -7,8 +7,8 @@
<div class="header-search">
<form>
<div class="form-group mb-0">
<i class="dw dw-search2 search-icon"></i>
<input type="text" class="form-control search-input" placeholder="Search Here" />
{{-- <i class="dw dw-search2 search-icon"></i> --}}
{{-- <input type="text" class="form-control search-input" placeholder="Search Here" /> --}}
<div class="dropdown">
<div class="dropdown-menu dropdown-menu-right">
<div class="form-group row">

View File

@ -3,8 +3,8 @@
<div class="left-side-bar">
<div class="brand-logo">
<a>
<img src="{{ asset('vendors/images/deskapp-logo.svg') }}" alt="" class="dark-logo" />
<img src="{{ asset('vendors/images/deskapp-logo-white.svg') }}" alt="" class="light-logo" />
<img src="{{ asset('img/logo-no-background.svg') }}" alt="" class="dark-logo" />
<img src="{{ asset('img/logo-no-background.svg') }}" alt="" class="light-logo" />
</a>
<div class="close-sidebar" data-toggle="left-sidebar-close">
<i class="ion-close-round"></i>
@ -29,7 +29,7 @@
<li><a href="{{ route('ekstrakurikuler.index') }}">Data Ekstrakurikuler</a></li>
<li><a href="{{ route('kriteria.index') }}">Data Kriteria</a></li>
<li><a href="{{ route('subkriteria.index') }}">Data Sub Kriteria</a></li>
<li><a href="">Data User</a></li>
<li><a href="{{ route('user.index') }}">Data User</a></li>
</ul>
</li>
<li class="dropdown">

View File

@ -0,0 +1,263 @@
@extends('layout.main')
@section('body')
@php
$menu = 'Data Master';
$pageTitle = 'Data User';
@endphp
@include('layout.navbar')
@include('layout.sidebar')
{{-- Main Content --}}
<div class="main-container">
<div class="pd-ltr-20 xs-pd-20-10">
<div class="min-height-200px">
<div class="page-header">
<div class="row">
<div class="col-md-6 col-sm-12">
<div class="title">
<h4>{{ $menu }}</h4>
</div>
<nav aria-label="breadcrumb" role="navigation">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="{{ route('dashboard.index') }}">Dashboard</a></li>
@if (isset($pageTitle))
<li class="breadcrumb-item active" aria-current="page">{{ $pageTitle }}</li>
@else
<li class="breadcrumb-item active" aria-current="page"></li>
@endif
</ol>
</nav>
</div>
</div>
</div>
<div class="card-box mb-30">
<div class="pd-20">
<h4 class="text-blue h4 mb-0">Data User</h4>
</div>
<div class="card-header d-flex align-items-center">
<!-- Button trigger modal -->
<button type="button" class="btn btn-primary mx-2" data-toggle="modal" data-target="#add-user">
<i class="icon dw dw-add"></i> Tambah User</button>
<form class="form-inline ml-auto" action="{{ route('user.index') }}" method="GET">
<div class="input-group">
<input type="text" class="form-control" name="search" placeholder="Search">
<div class="input-group-append">
<button class="btn btn-primary" type="submit">
<i class="icon dw dw-search"></i>
</button>
</div>
</div>
</form>
</div>
<div class="pb-10">
<div class="table-responsive">
<table class="data-table table stripe hover nowrap">
<thead>
<tr>
<th>#</th>
<th>Nama</th>
<th>Username</th>
<th>Email</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
@forelse ($users as $user)
<tr>
<td>{{ $loop->iteration }}</td>
<td>{{ $user->name }}</td>
<td>{{ $user->username }}</td>
<td>{{ $user->email }}</td>
<td>
{{-- <a href="{{ route('user.edit', $user->id) }}"
class="badge btn-primary" data-toggle="modal"
data-target="#edit-user-{{ $user->id }}" title="Edit">
<i class="icon dw dw-edit2"></i>
</a> --}}
<a href="{{ route('user.destroy', $user->id) }}"
class="badge btn-danger" data-toggle="modal"
data-target="#delete-user-{{ $user->id }}" title="Delete">
<i class="icon dw dw-delete-3"></i>
</a>
</td>
</tr>
@empty
<tr>
<td colspan="5" class="text-center">Tidak ada data.</td>
</tr>
@endforelse
</tbody>
</table>
</div>
</div>
</div>
</div>
<div class="footer-wrap pd-20 mb-20 card-box">
<strong>Sistem Pendukung Keputusan Pemilihan Ekstrakurikuler Metode SMARTER</strong>
</div>
</div>
</div>
{{-- Modal Add --}}
<div class="modal fade" id="add-user" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel"
style="display: none;" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
@if (session('error'))
<div class="alert alert-danger">{{ session('error') }}</div>
@endif
<div class="modal-header">
<h4 class="modal-title" id="myLargeModalLabel">
Tambah Kriteria
</h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button>
</div>
<div class="modal-body">
<form action="{{ route('user.store') }}" class="needs-validation" novalidate="" method="POST">
@csrf
<div class="card-body">
<div class="form-group row">
<label class="col-sm-2 col-form-label">Nama</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="name" name="name" required="">
<div class="invalid-feedback">
Tolong isi Nama User!
</div>
</div>
</div>
@if ($errors->has('name'))
<div class="alert alert-danger">{{ $errors->first('name') }}</div>
@endif
<div class="form-group row">
<label class="col-sm-2 col-form-label">Username</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="username" name="username"
required="">
<div class="invalid-feedback">
Tolong Isi Username!
</div>
</div>
</div>
@if ($errors->has('username'))
<div class="alert alert-danger">{{ $errors->first('username') }}</div>
@endif
<div class="form-group row">
<label class="col-sm-2 col-form-label">Email</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="email" name="email"
required="">
<div class="valid-feedback">
Lengkap!
</div>
</div>
</div>
@if ($errors->has('email'))
<div class="alert alert-danger">{{ $errors->first('email') }}</div>
@endif
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Batal</button>
<button type="submit" class="btn btn-primary">Simpan</button>
</div>
</form>
</div>
</div>
</div>
</div>
{{-- Modal Edit --}}
@foreach ($users as $user)
<div class="modal fade" id="edit-user-{{ $user->id }}" tabindex="-1" role="dialog"
aria-labelledby="myLargeModalLabel" style="display: none;" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="myLargeModalLabel">
Edit User
</h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button>
</div>
<div class="modal-body">
<form action="{{ route('user.update', $user->id) }}" class="needs-validation"
novalidate="" method="POST">
@csrf
@method('PUT')
<div class="card-body">
<div class="form-group row">
<label class="col-sm-2 col-form-label">Nama</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="name" name="name"
required="" value="{{ $user->name }}">
<div class="invalid-feedback">
Tolong isi Nama User!
</div>
</div>
</div>
@if ($errors->has('name'))
<div class="alert alert-danger">{{ $errors->first('name') }}</div>
@endif
<div class="form-group row">
<label class="col-sm-2 col-form-label">Username</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="username" name="username"
required="" value="{{ $user->username }}">
<div class="invalid-feedback">
Tolong isi Username!
</div>
</div>
</div>
@if ($errors->has('username'))
<div class="alert alert-danger">{{ $errors->first('username') }}</div>
@endif
<div class="form-group row">
<label class="col-sm-2 col-form-label">Email</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="email" name="email"
required="" value="{{ $user->email }}">
<div class="valid-feedback">
Lengkap!
</div>
</div>
</div>
@if ($errors->has('email'))
<div class="alert alert-danger">{{ $errors->first('email') }}</div>
@endif
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Batal</button>
<button type="submit" class="btn btn-primary">Simpan</button>
</div>
</form>
</div>
</div>
</div>
</div>
<!-- Modal Delete -->
<div class="modal fade" id="delete-user-{{ $user->id }}" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel"
style="display: none;" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="myLargeModalLabel">
Konfirmasi Hapus Data Kriteria
</h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button>
</div>
<div class="modal-body">
<p>Apakah Anda yakin ingin menghapus data user {{ $user->name }} ini?</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Batal</button>
<form action="{{ route('user.destroy', $user->id) }}" method="POST">
@csrf
@method('DELETE')
<button type="submit" class="btn btn-danger">Hapus</button>
</form>
</div>
</div>
</div>
</div>
@endforeach
@endsection

View File

@ -7,6 +7,8 @@
use App\Http\Controllers\UserController;
use App\Http\Controllers\SiswaController;
use App\Http\Controllers\CriteriaController;
use App\Http\Controllers\DataUserController;
use App\Http\Controllers\DashboardController;
use App\Http\Controllers\SubCriteriaController;
use App\Http\Controllers\WakilKepalaController;
use App\Http\Controllers\ExtracurricularController;
@ -34,7 +36,7 @@
]);
})->name('home');
Route::get('/ekstrakurikuler', function () {
Route::get('/data-ekstrakurikuler', function () {
return view('ekstrakurikuler', [
"title" => "Ekstrakurikuler"
]);
@ -81,9 +83,10 @@
// });
Route::middleware(['auth','web','PreventBackHistory'])->group(function () {
Route::get('/dashboard', function () {
return view('dashboard.index');
})->name('dashboard.index');
// Route::get('/dashboard', function () {
// return view('dashboard.index');
// })->name('dashboard.index');
Route::resource('/dashboard', DashboardController::class);
Route::get('/user-profile', function () {
if (!Auth::check()) {
@ -104,6 +107,8 @@
Route::resource('subkriteria', SubCriteriaController::class);
Route::resource('user', DataUserController::class);
Route::get('/logout', [AuthController::class, 'logout'])->name('logout');
Route::post('/logout', [AuthController::class, 'logout'])->name('logout');