updates
This commit is contained in:
parent
61f67db7b3
commit
8f1b4b7cdf
|
@ -5,8 +5,9 @@
|
|||
use Illuminate\Http\Request;
|
||||
use App\Models\Alternatif;
|
||||
use App\Models\Penilaian;
|
||||
use PDF;
|
||||
use Barryvdh\DomPDF\Facade\Pdf;
|
||||
use Carbon\Carbon;
|
||||
use Exception;
|
||||
|
||||
class AlternatifController extends Controller
|
||||
{
|
||||
|
@ -17,35 +18,31 @@ public function __construct()
|
|||
|
||||
public function index(){
|
||||
|
||||
$data['alternatif'] = Alternatif::latest()->paginate(10);
|
||||
return view('admin.alternatif.index',$data);
|
||||
|
||||
if(auth()->user()->role === 'admin') {
|
||||
$alternatifs = Alternatif::paginate(10); // Tambahkan pagination untuk efisiensi
|
||||
return view('admin.alternatif.index', compact('alternatifs'));
|
||||
} else {
|
||||
|
||||
return view('user.alternatif.index',);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function store(Request $request){
|
||||
$this->validate($request, [
|
||||
|
||||
'nama_alternatif' => 'required|string',
|
||||
'nik' => 'required|string',
|
||||
'alamat' => 'required|string',
|
||||
'telepon' => 'required|string',
|
||||
|
||||
$validated = $request->validate([
|
||||
'nama_alternatif' => 'required|string|max:255',
|
||||
'usia' => 'required|numeric',
|
||||
'pendidikan' => 'required',
|
||||
'ipk' => 'required|numeric',
|
||||
'jurusan' => 'required',
|
||||
'lama_studi' => 'required|numeric',
|
||||
'pengalaman' => 'required|numeric',
|
||||
'serkom' => 'required',
|
||||
]);
|
||||
|
||||
try {
|
||||
|
||||
$alternatif = new Alternatif();
|
||||
$alternatif->nama_alternatif = $request->nama_alternatif;
|
||||
$alternatif->nik = $request->nik;
|
||||
$alternatif->alamat = $request->alamat;
|
||||
$alternatif->telepon = $request->telepon;
|
||||
$alternatif->save();
|
||||
return back()->with('msg','Berhasil Menambahkan Data');
|
||||
|
||||
} catch (Exception $e) {
|
||||
\Log::emergency("File:" . $e->getFile(). "Line:" . $e->getLine(). "Message:" . $e->getMessage());
|
||||
die("Gagal");
|
||||
}
|
||||
|
||||
Alternatif::create($validated);
|
||||
|
||||
return redirect()->route('alternatif.index')->with('msg', 'Data pelamar berhasil ditambahkan!');
|
||||
|
||||
}
|
||||
|
||||
|
@ -58,33 +55,28 @@ public function edit($id)
|
|||
|
||||
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
{
|
||||
$validated = $request->validate([
|
||||
'nama_alternatif' => 'required|string|max:255',
|
||||
'usia' => 'required|integer|min:18',
|
||||
'pendidikan' => 'required|string',
|
||||
'ipk' => 'required|numeric|min:0|max:4',
|
||||
'jurusan' => 'required|string',
|
||||
'lama_studi' => 'required|numeric|min:0|max:10',
|
||||
'pengalaman' => 'required|integer|min:0|max:50',
|
||||
'serkom' => 'required|boolean',
|
||||
]);
|
||||
|
||||
$this->validate($request, [
|
||||
|
||||
'nama_alternatif' => 'required|string',
|
||||
'nik' => 'required|string',
|
||||
'alamat' => 'required|string',
|
||||
'telepon' => 'required|string',
|
||||
|
||||
]);
|
||||
|
||||
try {
|
||||
|
||||
$alternatif = Alternatif::findOrFail($id);
|
||||
$alternatif->update([
|
||||
'nama_alternatif' => $request->nama_alternatif,
|
||||
'nik' => $request->nik,
|
||||
'alamat' => $request->alamat,
|
||||
'telepon' => $request->telepon
|
||||
]);
|
||||
return back()->with('msg','Berhasil Mengubah Data');
|
||||
|
||||
} catch (Exception $e) {
|
||||
\Log::emergency("File:" . $e->getFile(). "Line:" . $e->getLine(). "Message:" . $e->getMessage());
|
||||
die("Gagal");
|
||||
}
|
||||
try {
|
||||
$alternatif = Alternatif::findOrFail($id);
|
||||
$alternatif->update($validated);
|
||||
return back()->with('msg','Berhasil Mengubah Data');
|
||||
} catch (Exception $e) {
|
||||
\Log::emergency("File:" . $e->getFile(). "Line:" . $e->getLine(). "Message:" . $e->getMessage());
|
||||
die("Gagal");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function destroy($id){
|
||||
|
||||
|
@ -106,7 +98,7 @@ public function downloadPDF() {
|
|||
$tanggal = Carbon::now()->formatLocalized('%A, %d %B %Y');
|
||||
$alternatif = Alternatif::with('penilaian.crips')->get();
|
||||
|
||||
$pdf = PDF::loadView('admin.alternatif.alternatif-pdf',compact('alternatif','tanggal'));
|
||||
$pdf = Pdf::loadView('admin.alternatif.alternatif-pdf',compact('alternatif','tanggal'));
|
||||
$pdf->setPaper('A3', 'potrait');
|
||||
return $pdf->stream('alternatif.pdf');
|
||||
}
|
||||
|
|
|
@ -3,36 +3,33 @@
|
|||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Providers\RouteServiceProvider;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Foundation\Auth\AuthenticatesUsers;
|
||||
|
||||
class LoginController extends Controller
|
||||
{
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Login Controller
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This controller handles authenticating users for the application and
|
||||
| redirecting them to your home screen. The controller uses a trait
|
||||
| to conveniently provide its functionality to your applications.
|
||||
|
|
||||
*/
|
||||
|
||||
use AuthenticatesUsers;
|
||||
|
||||
/**
|
||||
* Where to redirect users after login.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $redirectTo = RouteServiceProvider::HOME;
|
||||
// Hapus atau komentar $redirectTo karena akan pakai function
|
||||
|
||||
// protected $redirectTo = RouteServiceProvider::HOME;
|
||||
|
||||
/**
|
||||
* Create a new controller instance.
|
||||
* Arahkan user setelah login sesuai role
|
||||
*
|
||||
* @return void
|
||||
* @return string
|
||||
*/
|
||||
protected function redirectTo()
|
||||
{
|
||||
if (auth()->user()->role == 'admin') {
|
||||
return '/admin/home';
|
||||
} elseif (auth()->user()->role == 'user') {
|
||||
return '/user/home';
|
||||
} else {
|
||||
return '/home';
|
||||
}
|
||||
}
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware('guest')->except('logout');
|
||||
|
|
|
@ -8,8 +8,10 @@
|
|||
use Illuminate\Foundation\Auth\RegistersUsers;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use PDF;
|
||||
use Barryvdh\DomPDF\Facade\Pdf;
|
||||
use Carbon\Carbon;
|
||||
use Exception;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class RegisterController extends Controller
|
||||
{
|
||||
|
@ -91,7 +93,8 @@ public function store(Request $request){
|
|||
$user->alamat = $request->alamat;
|
||||
$user->telepon = $request->telepon;
|
||||
$user->keterangan = $request->keterangan;
|
||||
$alternatif->save();
|
||||
// $alternatif->save();
|
||||
$user->save();
|
||||
return back()->with('msg','Berhasil Menambahkan Data');
|
||||
|
||||
} catch (Exception $e) {
|
||||
|
|
|
@ -23,10 +23,29 @@ public function __construct()
|
|||
*
|
||||
* @return \Illuminate\Contracts\Support\Renderable
|
||||
*/
|
||||
public function index()
|
||||
public function index()
|
||||
{
|
||||
$alternatif = Alternatif::count();
|
||||
$kriteria = Kriteria::count();
|
||||
return view('admin.home', compact('alternatif','kriteria'));
|
||||
if (auth()->user()->role === 'admin') {
|
||||
return redirect()->route('admin.home');
|
||||
} else {
|
||||
return redirect()->route('user.home');
|
||||
}
|
||||
}
|
||||
}
|
||||
public function adminHome()
|
||||
{
|
||||
|
||||
// Untuk admin, hitung jumlah data
|
||||
$alternatifs = Alternatif::count();
|
||||
$kriteria = Kriteria::count();
|
||||
return view('admin.home', compact('alternatifs', 'kriteria'));
|
||||
}
|
||||
public function userHome()
|
||||
{
|
||||
|
||||
// Untuk user, bisa kirim list data
|
||||
$alternatifs = Alternatif::count();
|
||||
$kriteria = Kriteria::count();
|
||||
return view('user.home',compact('alternatifs', 'kriteria'));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -18,32 +18,37 @@ class PenilaianController extends Controller
|
|||
{
|
||||
public function index(){
|
||||
$alternatif = Alternatif::with('penilaian.crips')->get();
|
||||
|
||||
$kriteria = Kriteria::with('crips')->orderBy('id','ASC')->get();
|
||||
//return response()->json($alternatif);
|
||||
return view('admin.penilaian.index', compact('alternatif','kriteria'));
|
||||
}
|
||||
return view('admin.penilaian.index', compact('alternatif', 'kriteria'));
|
||||
|
||||
|
||||
}
|
||||
|
||||
public function store(Request $request)
|
||||
{
|
||||
// return response()->json($request);
|
||||
try {
|
||||
DB::select("TRUNCATE penilaian");
|
||||
foreach ($request->crips_id as $key => $value) {
|
||||
foreach ($value as $key_1 => $value_1) {
|
||||
try {
|
||||
DB::table('penilaian')->truncate(); // lebih aman
|
||||
|
||||
$kriteria = Kriteria::orderBy('id', 'ASC')->get(); // urutan penting
|
||||
|
||||
foreach ($request->crips_id as $alternatif_id => $crips_list) {
|
||||
foreach ($crips_list as $index => $crips_id) {
|
||||
Penilaian::create([
|
||||
'alternatif_id' => $key,
|
||||
'crips_id' => $value_1
|
||||
'alternatif_id' => $alternatif_id,
|
||||
'kriteria_id' => $kriteria[$index]->id, // ambil kriteria berdasarkan urutan
|
||||
'crips_id' => $crips_id
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return back()->with('msg', 'Berhasil Disimpan!');
|
||||
} catch (Exception $e) {
|
||||
} catch (Exception $e) {
|
||||
Log::emergency("File:" . $e->getFile(). "Line:" . $e->getLine(). "Message:" . $e->getMessage());
|
||||
die("Gagal");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function downloadPDF() {
|
||||
setlocale(LC_ALL, 'IND');
|
||||
|
@ -51,7 +56,7 @@ public function downloadPDF() {
|
|||
// $penilaian = Kriteria::get();
|
||||
// $alternatif = Alternatif::with('penilaian.crips')->get();
|
||||
// $kriteria = Kriteria::with('crips')->get();
|
||||
$alternatif = Alternatif::with('penilaian.crips')->get();
|
||||
$alternatifs = Alternatif::with('penilaian.crips')->get();
|
||||
$kriteria = Kriteria::with('crips')->orderBy('nama_kriteria','ASC')->get();
|
||||
$penilaian = Penilaian::with('crips','alternatif')->get();
|
||||
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\User;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
|
||||
class RegisterUserController extends Controller
|
||||
{
|
||||
public function showRegistrationForm()
|
||||
{
|
||||
return view('auth.register');
|
||||
}
|
||||
|
||||
public function register(Request $request)
|
||||
{
|
||||
$request->validate([
|
||||
'name' => 'required|string|max:191',
|
||||
'email' => 'required|email|unique:users',
|
||||
'password' => 'required|confirmed|min:6',
|
||||
'alamat' => 'required|string|max:255',
|
||||
'telepon' => 'required|string|max:20',
|
||||
'keterangan' => 'nullable|string|max:255',
|
||||
]);
|
||||
|
||||
User::create([
|
||||
'name' => $request->name,
|
||||
'email' => $request->email,
|
||||
'password' => Hash::make($request->password),
|
||||
'alamat' => $request->alamat,
|
||||
'telepon' => $request->telepon,
|
||||
'keterangan' => $request->keterangan,
|
||||
'role' => 'user', // langsung set role user
|
||||
]);
|
||||
|
||||
return redirect()->route('login')->with('success', 'Akun berhasil didaftarkan, silakan login!');
|
||||
}
|
||||
}
|
||||
|
|
@ -64,5 +64,7 @@ class Kernel extends HttpKernel
|
|||
'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
|
||||
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
|
||||
'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
|
||||
'admin' => \App\Http\Middleware\AdminMiddleware::class,
|
||||
'user' => \App\Http\Middleware\UserMiddleware::class,
|
||||
];
|
||||
}
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
|
||||
class AdminMiddleware
|
||||
{
|
||||
public function handle(Request $request, Closure $next)
|
||||
{
|
||||
if (Auth::check() && Auth::user()->role === 'admin') {
|
||||
return $next($request);
|
||||
}
|
||||
|
||||
return redirect('/')->with('error', 'Kamu tidak memiliki akses ke halaman ini.');
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
|
||||
class UserMiddleware
|
||||
{
|
||||
public function handle(Request $request, Closure $next)
|
||||
{
|
||||
if (Auth::check() && Auth::user()->role === 'user') {
|
||||
return $next($request);
|
||||
}
|
||||
|
||||
return redirect('/')->with('error', 'Kamu tidak memiliki akses ke halaman ini.');
|
||||
}
|
||||
}
|
|
@ -8,8 +8,13 @@
|
|||
class Alternatif extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
protected $table = 'alternatif';
|
||||
protected $table = 'alternatifs';
|
||||
protected $guarded = [];
|
||||
protected $fillable = [
|
||||
'nama_alternatif', 'usia', 'pendidikan', 'ipk',
|
||||
'jurusan', 'lama_studi', 'pengalaman', 'serkom'
|
||||
];
|
||||
|
||||
|
||||
public function penilaian()
|
||||
{
|
||||
|
|
|
@ -24,6 +24,7 @@ class User extends Authenticatable
|
|||
'alamat',
|
||||
'telepon',
|
||||
'keterangan',
|
||||
'role',
|
||||
];
|
||||
|
||||
/**
|
||||
|
|
|
@ -22,6 +22,7 @@ public function up()
|
|||
$table->string('alamat');
|
||||
$table->string('telepon');
|
||||
$table->string('keterangan');
|
||||
$table->string('role')->default('user');
|
||||
$table->rememberToken();
|
||||
$table->timestamps();
|
||||
});
|
||||
|
|
|
@ -13,15 +13,19 @@
|
|||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('alternatif', function (Blueprint $table) {
|
||||
Schema::create('alternatifs', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->string('nama_alternatif');
|
||||
$table->string('nik');
|
||||
$table->string('alamat');
|
||||
$table->string('telepon');
|
||||
$table->integer('usia');
|
||||
$table->string('pendidikan');
|
||||
$table->decimal('ipk', 3, 2);
|
||||
$table->string('jurusan');
|
||||
$table->decimal('lama_studi', 3, 1);
|
||||
$table->integer('pengalaman');
|
||||
$table->boolean('serkom');
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
|
@ -30,6 +34,6 @@ public function up()
|
|||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('alternatif');
|
||||
Schema::dropIfExists('alternatifs');
|
||||
}
|
||||
};
|
||||
|
|
|
@ -25,7 +25,7 @@ public function run()
|
|||
'alamat' => 'Jakarta',
|
||||
'telepon' => '1234567',
|
||||
'keterangan' => 'admin',
|
||||
|
||||
'role' => 'admin',
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@extends('layouts.app')
|
||||
@section('title', 'SPK Penerima Bantuan ', $alternatif->nama_alternatif)
|
||||
@section('title', 'SPK Penerimaan Karyawan ', $alternatif->nama_alternatif)
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
|
@ -15,64 +15,71 @@
|
|||
<div class="card-body">
|
||||
@if (Session::has('msg'))
|
||||
<div class="alert alert-info alert-dismissible fade show" role="alert">
|
||||
<strong>Infor</strong> {{ Session::get('msg') }}
|
||||
<strong>Info</strong> {{ Session::get('msg') }}
|
||||
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<form action="{{ route('alternatif.update', $alternatif->id) }}" method="post">
|
||||
@csrf
|
||||
@method('put')
|
||||
<div class="form-group">
|
||||
<label for="nama">Nama Alternatif</label>
|
||||
<input type="text" class="form-control @error ('nama_alternatif') is-invalid @enderror" name="nama_alternatif" value="{{ $alternatif->nama_alternatif }}">
|
||||
<form action="{{ route('alternatif.update', $alternatif->id) }}" method="post">
|
||||
@csrf
|
||||
@method('put')
|
||||
<div class="form-group">
|
||||
<label for="nama_alternatif">Nama Alternatif</label>
|
||||
<input type="text" class="form-control @error ('nama_alternatif') is-invalid @enderror" name="nama_alternatif" value="{{ $alternatif->nama_alternatif }}">
|
||||
@error('nama_alternatif')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
|
||||
@error('nama_alternatif')
|
||||
<div class="invalid-feedback" role="alert">
|
||||
{{ $message }}
|
||||
</div>
|
||||
@enderror
|
||||
<div class="form-group">
|
||||
<label for="usia">Usia</label>
|
||||
<input type="number" class="form-control @error ('usia') is-invalid @enderror" name="usia" value="{{ $alternatif->usia }}">
|
||||
@error('usia')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="pendidikan">Pendidikan</label>
|
||||
<input type="text" class="form-control @error ('pendidikan') is-invalid @enderror" name="pendidikan" value="{{ $alternatif->pendidikan }}">
|
||||
@error('pendidikan')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="ipk">IPK</label>
|
||||
<input type="number" step="0.01" class="form-control @error ('ipk') is-invalid @enderror" name="ipk" value="{{ $alternatif->ipk }}">
|
||||
@error('ipk')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="jurusan">Jurusan</label>
|
||||
<input type="text" class="form-control @error ('jurusan') is-invalid @enderror" name="jurusan" value="{{ $alternatif->jurusan }}">
|
||||
@error('jurusan')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="lama_studi">Lama Studi (tahun)</label>
|
||||
<input type="number" step="0.1" class="form-control @error ('lama_studi') is-invalid @enderror" name="lama_studi" value="{{ $alternatif->lama_studi }}">
|
||||
@error('lama_studi')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="pengalaman">Pengalaman Kerja (tahun)</label>
|
||||
<input type="number" class="form-control @error ('pengalaman') is-invalid @enderror" name="pengalaman" value="{{ $alternatif->pengalaman }}">
|
||||
@error('pengalaman')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="serkom">Sertifikasi Kompetensi</label>
|
||||
<select name="serkom" class="form-control @error('serkom') is-invalid @enderror">
|
||||
<option value="1" {{ $alternatif->serkom ? 'selected' : '' }}>Ya</option>
|
||||
<option value="0" {{ !$alternatif->serkom ? 'selected' : '' }}>Tidak</option>
|
||||
</select>
|
||||
@error('serkom')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
|
||||
<button class="btn btn-primary">Simpan</button>
|
||||
<a href="{{ route('alternatif.index') }}" class="btn btn-success">Kembali</a>
|
||||
</form>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="nama">NIK</label>
|
||||
<input type="number" class="form-control @error ('nik') is-invalid @enderror" name="nik" value="{{ $alternatif->nik }}">
|
||||
|
||||
@error('nik')
|
||||
<div class="invalid-feedback" role="alert">
|
||||
{{ $message }}
|
||||
</div>
|
||||
@enderror
|
||||
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="nama">Alamat</label>
|
||||
<input type="text" class="form-control @error ('alamat') is-invalid @enderror" name="alamat" value="{{ $alternatif->alamat }}">
|
||||
|
||||
@error('alamat')
|
||||
<div class="invalid-feedback" role="alert">
|
||||
{{ $message }}
|
||||
</div>
|
||||
@enderror
|
||||
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="nama">Telepon</label>
|
||||
<input type="number" class="form-control @error ('telepon') is-invalid @enderror" name="telepon" value="{{ $alternatif->telepon }}">
|
||||
|
||||
@error('telepon')
|
||||
<div class="invalid-feedback" role="alert">
|
||||
{{ $message }}
|
||||
</div>
|
||||
@enderror
|
||||
|
||||
</div>
|
||||
<button class="btn btn-primary">Simpan</button>
|
||||
<a href="{{ route('alternatif.index') }}" class="btn btn-success">Kembali</a>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,102 +1,22 @@
|
|||
@extends('layouts.app')
|
||||
@section('title', 'SPK Penerima Bantuan')
|
||||
@section('topbar', 'Data Alternatif')
|
||||
@section('title', 'SPK Penerimaan karyawan ')
|
||||
@section('topbar', 'Daftar Pelamar')
|
||||
@section('css')
|
||||
|
||||
<!-- Custom styles for this page -->
|
||||
<link href="{{ asset('vendor/datatables/dataTables.bootstrap4.min.css') }}" rel="stylesheet">
|
||||
@stop
|
||||
@section('content')
|
||||
|
||||
<div class="row">
|
||||
<!-- Kosongkan bagian kiri agar layout tetap seimbang -->
|
||||
<div class="col-md-4"></div>
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<div class="card shadow mb-4">
|
||||
<!-- Card Header - Accordion -->
|
||||
<a href="#tambahalternatif" class="d-block card-header py-3" data-toggle="collapse"
|
||||
<div class="col-md-12">
|
||||
<div class="card shadow mb-4">
|
||||
<a href="#listkriteria" class="d-block card-header py-3" data-toggle="collapse"
|
||||
role="button" aria-expanded="true" aria-controls="collapseCardExample">
|
||||
<h6 class="m-0 font-weight-bold text-primary">Tambah Data Warga</h6>
|
||||
</a>
|
||||
|
||||
<!-- Card Content - Collapse -->
|
||||
<div class="collapse show" id="tambahalternatif">
|
||||
<div class="card-body">
|
||||
@if (Session::has('msg'))
|
||||
<div class="alert alert-info alert-dismissible fade show" role="alert">
|
||||
<strong>Infor</strong> {{ Session::get('msg') }}
|
||||
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
@endif
|
||||
<h6 class="m-0 font-weight-bold text-primary">List Pelamar</h6>
|
||||
</a>
|
||||
|
||||
<form action="{{ route('alternatif.store') }}" method="post">
|
||||
@csrf
|
||||
<div class="form-group">
|
||||
<label for="nama">Nama Warga</label>
|
||||
<input type="text" class="form-control @error ('nama_alternatif') is-invalid @enderror" name="nama_alternatif" value="{{ old('nama_alternatif') }}">
|
||||
|
||||
@error('nama_alternatif')
|
||||
<div class="invalid-feedback" role="alert">
|
||||
{{ $message }}
|
||||
</div>
|
||||
@enderror
|
||||
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="nama">NIK</label>
|
||||
<input type="number" class="form-control @error ('nik') is-invalid @enderror" name="nik" value="{{ old('nik') }}">
|
||||
|
||||
@error('nik')
|
||||
<div class="invalid-feedback" role="alert">
|
||||
{{ $message }}
|
||||
</div>
|
||||
@enderror
|
||||
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="nama">Alamat</label>
|
||||
<input type="text" class="form-control @error ('alamat') is-invalid @enderror" name="alamat" value="{{ old('alamat') }}">
|
||||
|
||||
@error('alamat')
|
||||
<div class="invalid-feedback" role="alert">
|
||||
{{ $message }}
|
||||
</div>
|
||||
@enderror
|
||||
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="nama">Telepon</label>
|
||||
<input type="number" class="form-control @error ('telepon') is-invalid @enderror" name="telepon" value="{{ old('telepon') }}">
|
||||
|
||||
@error('telepon')
|
||||
<div class="invalid-feedback" role="alert">
|
||||
{{ $message }}
|
||||
</div>
|
||||
@enderror
|
||||
|
||||
</div>
|
||||
|
||||
<button class="btn btn-primary">Simpan</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-8">
|
||||
<div class="card shadow mb-4">
|
||||
<!-- Card Header - Accordion -->
|
||||
<a href="#listkriteria" class="d-block card-header py-3" data-toggle="collapse"
|
||||
role="button" aria-expanded="true" aria-controls="collapseCardExample">
|
||||
<h6 class="m-0 font-weight-bold text-primary">List Warga</h6>
|
||||
</a>
|
||||
|
||||
<!-- Card Content - Collapse -->
|
||||
<div class="collapse show" id="listkriteria">
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
|
@ -105,58 +25,53 @@ class="fas fa-download fa-sm text-white-50"></i>Download Laporan</a>
|
|||
<table class="table table-striped table-hover" id="DataTable" data-paging="false">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>No</th>
|
||||
<th>Nama Warga</th>
|
||||
<th>NIK</th>
|
||||
<th>Alamat</th>
|
||||
<th>Telepon</th>
|
||||
<th>Aksi</th>
|
||||
|
||||
<th>Nama</th>
|
||||
<th>Usia</th>
|
||||
<th>Pendidikan</th>
|
||||
<th>IPK</th>
|
||||
<th>Jurusan</th>
|
||||
<th>Lama Studi</th>
|
||||
<th>Pengalaman</th>
|
||||
<th>Serkom</th>
|
||||
<th>Aksi</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@php $no = 1; @endphp
|
||||
@foreach ($alternatif as $row)
|
||||
@foreach ($alternatifs as $row)
|
||||
<tr>
|
||||
<td>{{ $no++ }}</td>
|
||||
<td>{{ $row->nama_alternatif }}</td>
|
||||
<td>{{ $row->nik }}</td>
|
||||
<td>{{ $row->alamat }}</td>
|
||||
<td>{{ $row->telepon }}</td>
|
||||
<td>{{ $row->usia }}</td>
|
||||
<td>{{ $row->pendidikan }}</td>
|
||||
<td>{{ $row->ipk }}</td>
|
||||
<td>{{ $row->jurusan }}</td>
|
||||
<td>{{ $row->lama_studi }}</td>
|
||||
<td>{{ $row->pengalaman }}</td>
|
||||
<td>{{ $row->serkom ? 'Punya' : 'Tidak punya' }}</td>
|
||||
<td>
|
||||
<a href="{{ route('alternatif.edit',$row->id) }}" class="btn btn-sm btn-circle btn-warning">
|
||||
<i class="fa fa-edit"></i>
|
||||
<i class="fa fa-edit"></i>
|
||||
</a>
|
||||
|
||||
<a href="{{ route('alternatif.destroy',$row->id) }}" class="btn btn-sm btn-circle btn-danger hapus">
|
||||
<i class="fa fa-trash"></i>
|
||||
<i class="fa fa-trash"></i>
|
||||
</a>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="d-flex justify-content-end">
|
||||
{{ $alternatif->links() }}
|
||||
{{ $alternatifs->links() }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
@stop
|
||||
@section('js')
|
||||
|
||||
<!-- Page level plugins -->
|
||||
@section('js')
|
||||
<script src="{{ asset('vendor/datatables/jquery.dataTables.min.js') }}"></script>
|
||||
<script src="{{ asset('vendor/datatables/dataTables.bootstrap4.min.js') }}"></script>
|
||||
<script src="{{ asset('js/sweetalert.js')}}"></script>
|
||||
|
@ -171,8 +86,7 @@ class="fas fa-download fa-sm text-white-50"></i>Download Laporan</a>
|
|||
icon: "warning",
|
||||
buttons: true,
|
||||
dangerMode: true,
|
||||
})
|
||||
.then((willDelete) => {
|
||||
}).then((willDelete) => {
|
||||
if (willDelete) {
|
||||
$.ajax({
|
||||
url: $(this).attr('href'),
|
||||
|
@ -183,8 +97,8 @@ class="fas fa-download fa-sm text-white-50"></i>Download Laporan</a>
|
|||
success:function()
|
||||
{
|
||||
swal("Data berhasil dihapus!", {
|
||||
icon: "success",
|
||||
}).then((willDelete) => {
|
||||
icon: "success",
|
||||
}).then(() => {
|
||||
window.location = "{{ route('alternatif.index') }}"
|
||||
});
|
||||
}
|
||||
|
@ -198,6 +112,4 @@ class="fas fa-download fa-sm text-white-50"></i>Download Laporan</a>
|
|||
})
|
||||
})
|
||||
</script>
|
||||
|
||||
@stop
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
@extends('layouts.app')
|
||||
@section('title', 'SPK Penerima Bantuan')
|
||||
@section('title', 'SPK Penerima Karyawan')
|
||||
@section('topbar', 'Dashboard')
|
||||
@section('css')
|
||||
<!-- Custom styles for this page -->
|
||||
|
@ -26,7 +26,7 @@
|
|||
<div class="col mr-2">
|
||||
<div class="text-xs font-weight-bold text-primary text-uppercase mb-1">
|
||||
Jumlah Data Pelamar</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ $alternatif }}</div>
|
||||
<div class="h5 mb-0 font-weight-bold text-gray-800">{{ $alternatifs }}</div>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<i class="fas fa-users fa-2x text-gray-300"></i>
|
||||
|
@ -42,7 +42,6 @@
|
|||
<a href="{{ route('kriteria.index') }}">
|
||||
<div class="card border-left-success shadow h-100 py-2">
|
||||
<div class="card-body">
|
||||
<div class="row no-gutters align-items-center">
|
||||
<div class="col mr-2">
|
||||
<div class="text-xs font-weight-bold text-success text-uppercase mb-1">
|
||||
Jumlah Kriteria</div>
|
||||
|
@ -53,8 +52,9 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<!--
|
||||
//** Earnings (Monthly) Card Example */
|
||||
|
@ -94,6 +94,4 @@
|
|||
</div>
|
||||
</a>
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@extends('layouts.app')
|
||||
@section('title', 'SPK Penerima Bantuan ', $kriteria->nama_kriteria)
|
||||
@section('title', 'Edit kriteria ' . $kriteria->nama_kriteria)
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
|
@ -7,7 +7,7 @@
|
|||
<!-- Card Header - Accordion -->
|
||||
<a href="#tambahkriteria" class="d-block card-header py-3" data-toggle="collapse"
|
||||
role="button" aria-expanded="true" aria-controls="collapseCardExample">
|
||||
<h6 class="m-0 font-weight-bold text-primary">Edit Kriteria {{ $kriteria->nama_kriteria }}</h6>
|
||||
<h6 class="m-0 font-weight-bold text-primary">Kriteria {{ $kriteria->nama_kriteria }} Baru</h6>
|
||||
</a>
|
||||
|
||||
<!-- Card Content - Collapse -->
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@extends('layouts.app')
|
||||
@section('title', 'SPK Penerima Bantuan')
|
||||
@section('title', 'SPK Penerimaan karyawan')
|
||||
@section('topbar', 'Data Kriteria')
|
||||
@section('css')
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@extends('layouts.app')
|
||||
@section('title', 'SPK Penerima Bantuan '. $kriteria->nama_kriteria)
|
||||
@section('title', 'Tambah Crips '. $kriteria->nama_kriteria)
|
||||
@section('topbar', 'Data Crips')
|
||||
@section('css')
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@extends('layouts.app')
|
||||
@section('title', 'SPK Penerima Bantuan')
|
||||
@section('title', 'SPK Penerima Karyawan')
|
||||
@section('topbar', 'Data Penilaian')
|
||||
@section('content')
|
||||
|
||||
|
@ -39,14 +39,15 @@ class="fas fa-download fa-sm text-white-50"></i>Download Laporan</a>
|
|||
</div>
|
||||
@endif
|
||||
<div class="table-responsive">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<form action="{{ route('penilaian.store')}}" method="post">
|
||||
@csrf
|
||||
<div class="float-right">
|
||||
<button class="btn btn-sm btn-primary">Simpan</button>
|
||||
</div>
|
||||
<br><br>
|
||||
<table class="table">
|
||||
<table class="table table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Nama Alternatif</th>
|
||||
|
@ -95,6 +96,8 @@ class="fas fa-download fa-sm text-white-50"></i>Download Laporan</a>
|
|||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@extends('layouts.app')
|
||||
@section('title', 'SPK Penerima Bantuan')
|
||||
@section('title', 'SPK Penerimaan Karyawan')
|
||||
@section('topbar', 'Data Perhitungan')
|
||||
@section('content')
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@extends('layouts.app')
|
||||
@section('title', 'SPK Penerima Bantuan')
|
||||
@section('title', 'SPK Penerimaan karyawan')
|
||||
@section('topbar', 'Data User')
|
||||
@section('css')
|
||||
|
||||
|
@ -31,8 +31,8 @@ class="fas fa-download fa-sm text-white-50"></i>Download Laporan</a>
|
|||
<div class="collapse show" id="listkriteria">
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<a href="{{ route('register')}}">
|
||||
<button class="btn btn-sm btn-primary">Tambah Pengguna</button>
|
||||
<a href="{{ route('register.user')}}">
|
||||
<!--<button class="btn btn-sm btn-primary">Tambah Pengguna</button>-->
|
||||
</a>
|
||||
<br><br>
|
||||
<table class="table table-bordered">
|
||||
|
|
|
@ -1,22 +1,23 @@
|
|||
@extends('layouts.app')
|
||||
@extends('layouts.guest')
|
||||
|
||||
@section('css')
|
||||
@section('content')
|
||||
<div class="container">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-8">
|
||||
<div class="card">
|
||||
<div class="card shadow">
|
||||
<div class="card-header">{{ __('Register') }}</div>
|
||||
|
||||
<div class="card-body">
|
||||
<form action="{{ route('user.store') }}" method="post"">
|
||||
<form action="{{ route('register.user.submit') }}" method="post">
|
||||
@csrf
|
||||
|
||||
<div class="row mb-3">
|
||||
<label for="name" class="col-md-4 col-form-label text-md-end">{{ __('Name') }}</label>
|
||||
|
||||
<div class="col-md-6">
|
||||
<input id="name" type="text" class="form-control @error('name') is-invalid @enderror" name="name" value="{{ old('name') }}" required autocomplete="name" autofocus>
|
||||
|
||||
<input id="name" type="text"
|
||||
class="form-control @error('name') is-invalid @enderror" name="name"
|
||||
value="{{ old('name') }}" required autocomplete="name" autofocus>
|
||||
@error('name')
|
||||
<span class="invalid-feedback" role="alert">
|
||||
<strong>{{ $message }}</strong>
|
||||
|
@ -26,11 +27,12 @@
|
|||
</div>
|
||||
|
||||
<div class="row mb-3">
|
||||
<label for="email" class="col-md-4 col-form-label text-md-end">{{ __('Email Address') }}</label>
|
||||
|
||||
<label for="email"
|
||||
class="col-md-4 col-form-label text-md-end">{{ __('Email Address') }}</label>
|
||||
<div class="col-md-6">
|
||||
<input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ old('email') }}" required autocomplete="email">
|
||||
|
||||
<input id="email" type="email"
|
||||
class="form-control @error('email') is-invalid @enderror" name="email"
|
||||
value="{{ old('email') }}" required autocomplete="email">
|
||||
@error('email')
|
||||
<span class="invalid-feedback" role="alert">
|
||||
<strong>{{ $message }}</strong>
|
||||
|
@ -40,11 +42,12 @@
|
|||
</div>
|
||||
|
||||
<div class="row mb-3">
|
||||
<label for="password" class="col-md-4 col-form-label text-md-end">{{ __('Password') }}</label>
|
||||
|
||||
<label for="password"
|
||||
class="col-md-4 col-form-label text-md-end">{{ __('Password') }}</label>
|
||||
<div class="col-md-6">
|
||||
<input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="new-password">
|
||||
|
||||
<input id="password" type="password"
|
||||
class="form-control @error('password') is-invalid @enderror" name="password"
|
||||
required autocomplete="new-password">
|
||||
@error('password')
|
||||
<span class="invalid-feedback" role="alert">
|
||||
<strong>{{ $message }}</strong>
|
||||
|
@ -54,50 +57,47 @@
|
|||
</div>
|
||||
|
||||
<div class="row mb-3">
|
||||
<label for="password-confirm" class="col-md-4 col-form-label text-md-end">{{ __('Confirm Password') }}</label>
|
||||
|
||||
<label for="password-confirm"
|
||||
class="col-md-4 col-form-label text-md-end">{{ __('Confirm Password') }}</label>
|
||||
<div class="col-md-6">
|
||||
<input id="password-confirm" type="password" class="form-control" name="password_confirmation" required autocomplete="new-password">
|
||||
<input id="password-confirm" type="password" class="form-control"
|
||||
name="password_confirmation" required autocomplete="new-password">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-3">
|
||||
<label for="alamat" class="col-md-4 col-form-label text-md-end">Alamat</label>
|
||||
|
||||
<div class="col-md-6">
|
||||
<input type="text" class="form-control @error ('alamat') is-invalid @enderror" name="alamat" value="{{ old('alamat') }}">
|
||||
|
||||
<input type="text"
|
||||
class="form-control @error('alamat') is-invalid @enderror" name="alamat"
|
||||
value="{{ old('alamat') }}">
|
||||
@error('alamat')
|
||||
<div class="invalid-feedback" role="alert">
|
||||
{{ $message }}
|
||||
</div>
|
||||
@enderror
|
||||
<div class="invalid-feedback" role="alert">{{ $message }}</div>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-3">
|
||||
<label for="telepon" class="col-md-4 col-form-label text-md-end">Telepon</label>
|
||||
|
||||
<div class="col-md-6">
|
||||
<input type="number" class="form-control @error ('telepon') is-invalid @enderror" name="telepon" value="{{ old('telepon') }}">
|
||||
|
||||
@error('telepon')
|
||||
<div class="invalid-feedback" role="alert">
|
||||
{{ $message }}
|
||||
</div>
|
||||
@enderror
|
||||
<input type="number"
|
||||
class="form-control @error('telepon') is-invalid @enderror" name="telepon"
|
||||
value="{{ old('telepon') }}">
|
||||
@error('telepon')
|
||||
<div class="invalid-feedback" role="alert">{{ $message }}</div>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-3">
|
||||
<label for="keterangan" class="col-md-4 col-form-label text-md-end">Keterangan</label>
|
||||
|
||||
<div class="col-md-6">
|
||||
<input type="text" class="form-control @error ('keterangan') is-invalid @enderror" name="keterangan" value="{{ old('keterangan') }}">
|
||||
|
||||
@error('keterangan')
|
||||
<div class="invalid-feedback" role="alert">
|
||||
{{ $message }}
|
||||
</div>
|
||||
@enderror
|
||||
<input type="text"
|
||||
class="form-control @error('keterangan') is-invalid @enderror" name="keterangan"
|
||||
value="{{ old('keterangan') }}">
|
||||
@error('keterangan')
|
||||
<div class="invalid-feedback" role="alert">{{ $message }}</div>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<footer class="sticky-footer bg-white">
|
||||
<div class="container my-auto">
|
||||
<div class="copyright text-center my-auto">
|
||||
<span>Copyright © Agung Dwi Pratama 2023</span>
|
||||
<span>Manajemen Informatika Ulil Farhah</span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
|
@ -13,4 +13,5 @@
|
|||
rel="stylesheet">
|
||||
|
||||
<!-- Custom styles for this template-->
|
||||
<link href="{{ asset('css/sb-admin-2.min.css')}}" rel="stylesheet">
|
||||
<link href="{{ asset('css/sb-admin-2.min.css')}}" rel="stylesheet">
|
||||
|
|
@ -30,7 +30,7 @@
|
|||
<span>Data Kriteria</span></a>
|
||||
</li>
|
||||
|
||||
<li class="nav-item {{ request()->Is('alternatif*') ? 'active':'' }}">
|
||||
<li class="nav-item {{ request()->Is('alternatif*') ? 'active':'' }}">
|
||||
<a class="nav-link" href="{{ route('alternatif.index') }}">
|
||||
<i class="fas fa-fw fa-users"></i>
|
||||
<span>Data Pelamar</span></a>
|
||||
|
|
|
@ -0,0 +1,83 @@
|
|||
<ul class="navbar-nav bg-gradient-primary sidebar sidebar-dark accordion" id="accordionSidebar">
|
||||
|
||||
<!-- Sidebar - Brand -->
|
||||
<a class="sidebar-brand d-flex align-items-center justify-content-center" href="{{ route('home') }}">
|
||||
<div class="sidebar-brand-text mx-3">SPK Penerimaan Karyawan</div>
|
||||
</a>
|
||||
|
||||
<!-- Divider -->
|
||||
<hr class="sidebar-divider my-0">
|
||||
|
||||
<!-- Nav Item - Dashboard -->
|
||||
<li class="nav-item {{ request()->routeIs('home') ? 'active' : '' }}">
|
||||
<a class="nav-link" href="{{ route('home') }}">
|
||||
<i class="fas fa-fw fa-tachometer-alt"></i>
|
||||
<span>Beranda</span></a>
|
||||
</li>
|
||||
|
||||
<!-- Divider -->
|
||||
<hr class="sidebar-divider d-none d-md-block">
|
||||
|
||||
<!-- Heading -->
|
||||
<div class="sidebar-heading">
|
||||
PENGAJUAN LAMARAN
|
||||
</div>
|
||||
|
||||
<!-- Nav Item - Tables -->
|
||||
<!-- <li class="nav-item {{ request()->Is('kriteria*') ? 'active':'' }}">
|
||||
<a class="nav-link" href="{{ route('kriteria.index') }}">
|
||||
<i class="fas fa-fw fa-code"></i>
|
||||
<span>Data Kriteria</span></a>
|
||||
</li>-->
|
||||
|
||||
<li class="nav-item {{ request()->Is('alternatif*') ? 'active':'' }}">
|
||||
<a class="nav-link" href="{{ route('alternatif.index') }}">
|
||||
<i class="fas fa-fw fa-users"></i>
|
||||
<span>Ajukan Lamaran</span></a>
|
||||
</li>
|
||||
|
||||
<!-- Divider -->
|
||||
<hr class="sidebar-divider d-none d-md-block">
|
||||
|
||||
<!-- Heading -->
|
||||
<div class="sidebar-heading">
|
||||
HASIL LAMARAN
|
||||
</div>
|
||||
|
||||
<!-- <li class="nav-item {{ request()->Is('penilaian*') ? 'active':'' }}">
|
||||
<a class="nav-link" href="{{ route('penilaian.index') }}">
|
||||
<i class="fas fa-fw fa-bell"></i>
|
||||
<span>Hasil Penilaian</span></a>
|
||||
</li> -->
|
||||
|
||||
<!-- <li class="nav-item {{ request()->Is('perhitungan*') ? 'active':'' }}">
|
||||
<a class="nav-link" href="{{ route('perhitungan.index') }}">
|
||||
<i class="fas fa-fw fa-book"></i>
|
||||
<span>Perhitungan</span></a>
|
||||
</li> -->
|
||||
|
||||
<!-- Divider -->
|
||||
<!-- <hr class="sidebar-divider my-0"> -->
|
||||
|
||||
<!-- <li class="nav-item {{ request()->Is('user*') ? 'active':'' }}">
|
||||
<a class="nav-link" href="{{ route('user.index')}}">
|
||||
<i class="fas fa-fw fa-user-circle"></i>
|
||||
<span>Data Pengguna</span></a>
|
||||
</li> -->
|
||||
|
||||
<!-- <li class="nav-item {{ request()->Is('laporan*') ? 'active':'' }}">
|
||||
<a class="nav-link" href="{{ route('laporan')}}">
|
||||
<i class="fas fa-fw fa-file-alt"></i>
|
||||
<span>Laporan</span></a>
|
||||
</li> -->
|
||||
|
||||
<!-- Divider -->
|
||||
<!-- , <hr class="sidebar-divider d-none d-md-block"> -->
|
||||
|
||||
<!-- Sidebar Toggler (Sidebar) -->
|
||||
<!-- <div class="text-center d-none d-md-inline">
|
||||
<button class="rounded-circle border-0" id="sidebarToggle"></button>
|
||||
</div> -->
|
||||
|
||||
|
||||
</ul>
|
|
@ -16,6 +16,7 @@
|
|||
|
||||
<div class="topbar-divider d-none d-sm-block"></div>
|
||||
|
||||
@auth
|
||||
<!-- Nav Item - User Information -->
|
||||
<li class="nav-item dropdown no-arrow">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button"
|
||||
|
@ -40,7 +41,22 @@
|
|||
</a>
|
||||
</div>
|
||||
</li>
|
||||
@endauth
|
||||
|
||||
@guest
|
||||
<!-- Jika belum login -->
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{ route('login') }}">
|
||||
<i class="fas fa-sign-in-alt fa-lg text-gray-600 mr-2"></i>
|
||||
<span class="mr-2 d-none d-lg-inline text-gray-600 small">Login</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{ route('register.user') }}">
|
||||
<i class="fas fa-user-plus fa-lg text-gray-600 mr-2"></i>
|
||||
<span class="mr-2 d-none d-lg-inline text-gray-600 small">Daftar</span>
|
||||
</a>
|
||||
</li>
|
||||
@endguest
|
||||
</ul>
|
||||
|
||||
</nav>
|
|
@ -16,8 +16,8 @@
|
|||
|
||||
<!-- Sidebar -->
|
||||
|
||||
@include('layouts/_partials/sidebar')
|
||||
|
||||
@include('layouts/_partials/sidebar')
|
||||
|
||||
<!-- End of Sidebar -->
|
||||
|
||||
<!-- Content Wrapper -->
|
||||
|
|
|
@ -0,0 +1,87 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
|
||||
@include('layouts/_partials/head')
|
||||
|
||||
@yield('css')
|
||||
|
||||
</head>
|
||||
|
||||
<body id="page-top">
|
||||
|
||||
<!-- Page Wrapper -->
|
||||
<div id="wrapper">
|
||||
|
||||
<!-- Sidebar -->
|
||||
|
||||
|
||||
<!-- End of Sidebar -->
|
||||
|
||||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" class="d-flex flex-column">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Topbar -->
|
||||
|
||||
|
||||
|
||||
<!-- End of Topbar -->
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid">
|
||||
|
||||
<!-- Page Heading -->
|
||||
<div class="d-sm-flex align-items-center justify-content-between mb-4">
|
||||
<h1 class="h3 mb-0 text-gray-800">@yield('judul')</h1>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Content Row -->
|
||||
|
||||
@yield('content')
|
||||
|
||||
<!-- Content Row -->
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
<!-- Footer -->
|
||||
@include('layouts/_partials/footer')
|
||||
<!-- End of Footer -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
||||
</div>
|
||||
<!-- End of Page Wrapper -->
|
||||
|
||||
<!-- Scroll to Top Button-->
|
||||
<a class="scroll-to-top rounded" href="#page-top">
|
||||
<i class="fas fa-angle-up"></i>
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Bootstrap core JavaScript-->
|
||||
<script src="{{ asset ('vendor/jquery/jquery.min.js')}}"></script>
|
||||
<script src="{{ asset ('vendor/bootstrap/js/bootstrap.bundle.min.js')}}"></script>
|
||||
|
||||
<!-- Core plugin JavaScript-->
|
||||
<script src="{{ asset ('vendor/jquery-easing/jquery.easing.min.js')}}"></script>
|
||||
|
||||
<!-- Custom scripts for all pages-->
|
||||
<script src="{{ asset('js/sb-admin-2.min.js') }}"></script>
|
||||
|
||||
@yield('js')
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -0,0 +1,108 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
|
||||
@include('layouts/_partials/head')
|
||||
|
||||
@yield('css')
|
||||
|
||||
</head>
|
||||
|
||||
<body id="page-top">
|
||||
|
||||
<!-- Page Wrapper -->
|
||||
<div id="wrapper" class="d-flex">
|
||||
|
||||
<!-- Sidebar -->
|
||||
|
||||
@include('layouts/_partials/sidebar2')
|
||||
|
||||
<!-- End of Sidebar -->
|
||||
|
||||
<!-- Content Wrapper -->
|
||||
<div id="content-wrapper" class="d-flex flex-column">
|
||||
|
||||
<!-- Main Content -->
|
||||
<div id="content">
|
||||
|
||||
<!-- Topbar -->
|
||||
|
||||
@include('layouts/_partials/topbar')
|
||||
|
||||
<!-- End of Topbar -->
|
||||
|
||||
<!-- Begin Page Content -->
|
||||
<div class="container-fluid">
|
||||
|
||||
<!-- Page Heading -->
|
||||
<div class="d-sm-flex align-items-center justify-content-between mb-4">
|
||||
<h1 class="h3 mb-0 text-gray-800">@yield('judul')</h1>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Content Row -->
|
||||
|
||||
@yield('content')
|
||||
|
||||
<!-- Content Row -->
|
||||
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
|
||||
</div>
|
||||
<!-- End of Main Content -->
|
||||
|
||||
<!-- Footer -->
|
||||
@include('layouts/_partials/footer')
|
||||
<!-- End of Footer -->
|
||||
|
||||
</div>
|
||||
<!-- End of Content Wrapper -->
|
||||
|
||||
</div>
|
||||
<!-- End of Page Wrapper -->
|
||||
|
||||
<!-- Scroll to Top Button-->
|
||||
<a class="scroll-to-top rounded" href="#page-top">
|
||||
<i class="fas fa-angle-up"></i>
|
||||
</a>
|
||||
|
||||
<!-- Logout Modal-->
|
||||
<div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
|
||||
aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="exampleModalLabel">Ingin Logout?</h5>
|
||||
<button class="close" type="button" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">Klik "Logout" jika anda ingin keluar sekarang</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn btn-secondary" type="button" data-dismiss="modal">Cancel</button>
|
||||
<form action="{{ route('logout') }}" method="post">
|
||||
@csrf
|
||||
<button class="btn btn-danger">Logout</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Bootstrap core JavaScript-->
|
||||
<script src="{{ asset ('vendor/jquery/jquery.min.js')}}"></script>
|
||||
<script src="{{ asset ('vendor/bootstrap/js/bootstrap.bundle.min.js')}}"></script>
|
||||
|
||||
<!-- Core plugin JavaScript-->
|
||||
<script src="{{ asset ('vendor/jquery-easing/jquery.easing.min.js')}}"></script>
|
||||
|
||||
<!-- Custom scripts for all pages-->
|
||||
<script src="{{ asset('js/sb-admin-2.min.js') }}"></script>
|
||||
|
||||
@yield('js')
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -0,0 +1,99 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<title>Document</title>
|
||||
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css">
|
||||
<style type="text/css">
|
||||
.garis1{
|
||||
border-top:3px solid black;
|
||||
height: 2px;
|
||||
border-bottom:1px solid black;
|
||||
|
||||
}
|
||||
|
||||
#camat{
|
||||
text-align:center;
|
||||
}
|
||||
#nama-camat{
|
||||
margin-top:100px;
|
||||
text-align:center;
|
||||
}
|
||||
#ttd {
|
||||
position: absolute;
|
||||
bottom: 10;
|
||||
right: 20;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div>
|
||||
<table>
|
||||
<tr>
|
||||
<td style="padding-right: 240px; padding-left: 20px"><img src="https://4.bp.blogspot.com/-TBASjipimVM/WM-xhIQc5yI/AAAAAAAAD5o/NeSO8wMRISQMLeTCfKBFmewY4vQt1y-NQCEw/s1600/Logo%2BJakarta%2BHitam.png" width="90" height="90" ></td>
|
||||
<td>
|
||||
<center>
|
||||
<font size="4">RUKUN TETANGGA 004</font><br>
|
||||
<font size="4">RUKUN WARGA 001</font><br>
|
||||
<font size="2">KELURAHAN KRAMAT JATI KECAMATAN KRAMAT JATI</font><br>
|
||||
<font size="2">KOTA ADMINISTRASI JAKARTA TIMUR</font><br>
|
||||
</center>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<hr class="garis1"/>
|
||||
<div style="margin-top: 25px; margin-bottom: 25px;">
|
||||
<center><strong><u>LIST WARGA</u></strong></center>
|
||||
</div>
|
||||
|
||||
<div class="collapse show" id="listkriteria">
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped table-hover" id="DataTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>No</th>
|
||||
<th>Nama Warga</th>
|
||||
<th>NIK</th>
|
||||
<th>Alamat</th>
|
||||
<th>Telepon</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@php $no = 1; @endphp
|
||||
@foreach ($alternatif as $row)
|
||||
<tr>
|
||||
<td>{{ $no++ }}</td>
|
||||
<td>{{ $row->nama_alternatif }}</td>
|
||||
<td>{{ $row->nik }}</td>
|
||||
<td>{{ $row->alamat }}</td>
|
||||
<td>{{ $row->telepon }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="ttd" class="row">
|
||||
<div class="col-md-4"></div>
|
||||
<div class="col-md-4">
|
||||
<p id="camat">Jakarta, {{ $tanggal }}</p>
|
||||
<p id="camat"><strong>KETUA RT 004 / RW 001</strong></p>
|
||||
<div id="nama-camat"><strong><u>AGUSTINA</u></strong><br />
|
||||
NIP. 3175044408730004</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
|
||||
|
||||
</html>
|
|
@ -0,0 +1,92 @@
|
|||
@extends('layouts.app')
|
||||
@section('title', 'SPK Penerimaan Karyawan ', $alternatif->nama_alternatif)
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<div class="card shadow mb-4">
|
||||
<!-- Card Header - Accordion -->
|
||||
<a href="#tambahkriteria" class="d-block card-header py-3" data-toggle="collapse"
|
||||
role="button" aria-expanded="true" aria-controls="collapseCardExample">
|
||||
<h6 class="m-0 font-weight-bold text-primary">Edit Alternatif {{ $alternatif->nama_alternatif }}</h6>
|
||||
</a>
|
||||
|
||||
<!-- Card Content - Collapse -->
|
||||
<div class="collapse show" id="tambahkriteria">
|
||||
<div class="card-body">
|
||||
@if (Session::has('msg'))
|
||||
<div class="alert alert-info alert-dismissible fade show" role="alert">
|
||||
<strong>Infor</strong> {{ Session::get('msg') }}
|
||||
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<form action="{{ route('alternatif.update', $alternatif->id) }}" method="post">
|
||||
@csrf
|
||||
@method('put')
|
||||
<div class="form-group">
|
||||
<label for="nama_alternatif">Nama Alternatif</label>
|
||||
<input type="text" class="form-control @error ('nama_alternatif') is-invalid @enderror" name="nama_alternatif" value="{{ $alternatif->nama_alternatif }}">
|
||||
@error('nama_alternatif')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="usia">Usia</label>
|
||||
<input type="number" class="form-control @error ('usia') is-invalid @enderror" name="usia" value="{{ $alternatif->usia }}">
|
||||
@error('usia')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="pendidikan">Pendidikan</label>
|
||||
<input type="text" class="form-control @error ('pendidikan') is-invalid @enderror" name="pendidikan" value="{{ $alternatif->pendidikan }}">
|
||||
@error('pendidikan')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="ipk">IPK</label>
|
||||
<input type="number" step="0.01" class="form-control @error ('ipk') is-invalid @enderror" name="ipk" value="{{ $alternatif->ipk }}">
|
||||
@error('ipk')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="jurusan">Jurusan</label>
|
||||
<input type="text" class="form-control @error ('jurusan') is-invalid @enderror" name="jurusan" value="{{ $alternatif->jurusan }}">
|
||||
@error('jurusan')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="lama_studi">Lama Studi (tahun)</label>
|
||||
<input type="number" step="0.1" class="form-control @error ('lama_studi') is-invalid @enderror" name="lama_studi" value="{{ $alternatif->lama_studi }}">
|
||||
@error('lama_studi')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="pengalaman">Pengalaman Kerja (tahun)</label>
|
||||
<input type="number" class="form-control @error ('pengalaman') is-invalid @enderror" name="pengalaman" value="{{ $alternatif->pengalaman }}">
|
||||
@error('pengalaman')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="serkom">Sertifikasi Kompetensi</label>
|
||||
<select name="serkom" class="form-control @error('serkom') is-invalid @enderror">
|
||||
<option value="1" {{ $alternatif->serkom ? 'selected' : '' }}>Ya</option>
|
||||
<option value="0" {{ !$alternatif->serkom ? 'selected' : '' }}>Tidak</option>
|
||||
</select>
|
||||
@error('serkom')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
|
||||
<button class="btn btn-primary">Simpan</button>
|
||||
<a href="{{ route('alternatif.index') }}" class="btn btn-success">Kembali</a>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
<button class="btn btn-primary">Simpan</button>
|
||||
<a href="{{ route('alternatif.index') }}" class="btn btn-success">Kembali</a>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@stop
|
|
@ -0,0 +1,159 @@
|
|||
@extends('layouts.pengguna')
|
||||
@section('title', 'SPK Penerimaan karyawan ')
|
||||
@section('topbar', 'Pengajuan Lamaran')
|
||||
@section('css')
|
||||
<link href="{{ asset('vendor/datatables/dataTables.bootstrap4.min.css') }}" rel="stylesheet">
|
||||
<style>
|
||||
.form-section {
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
.section-title {
|
||||
border-bottom: 2px solid #4e73df;
|
||||
padding-bottom: 10px;
|
||||
margin-bottom: 20px;
|
||||
color: #4e73df;
|
||||
}
|
||||
</style>
|
||||
@stop
|
||||
@section('content')
|
||||
|
||||
<div class="container-fluid">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3">
|
||||
<h6 class="m-0 font-weight-bold text-primary">Form Pengajuan Lamaran</h6>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
@if (Session::has('msg'))
|
||||
<div class="alert alert-info alert-dismissible fade show" role="alert">
|
||||
<strong>Info</strong> {{ Session::get('msg') }}
|
||||
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<form action="{{ route('alternatif.store') }}" method="post" enctype="multipart/form-data">
|
||||
@csrf
|
||||
|
||||
<!-- Data Pribadi -->
|
||||
<div class="form-section">
|
||||
<h5 class="section-title">Data Pribadi</h5>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label for="nama_alternatif">Nama Lengkap <span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control @error('nama_alternatif') is-invalid @enderror"
|
||||
name="nama_alternatif" value="{{ old('nama_alternatif') }}">
|
||||
@error('nama_alternatif')
|
||||
<div class="invalid-feedback">{{ $message }}</div>
|
||||
@enderror
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="usia">Usia <span class="text-danger">*</span></label>
|
||||
<input type="number" class="form-control @error('usia') is-invalid @enderror"
|
||||
name="usia" value="{{ old('usia') }}">
|
||||
@error('usia')
|
||||
<div class="invalid-feedback">{{ $message }}</div>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Pendidikan -->
|
||||
<div class="form-section">
|
||||
<h5 class="section-title">Pendidikan</h5>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label for="pendidikan">Pendidikan Terakhir <span class="text-danger">*</span></label>
|
||||
<select name="pendidikan" class="form-control @error('pendidikan') is-invalid @enderror">
|
||||
<option value="">-- Pilih Pendidikan --</option>
|
||||
<option value="D3" {{ old('pendidikan') == 'D3' ? 'selected' : '' }}>D3</option>
|
||||
<option value="S1" {{ old('pendidikan') == 'S1' ? 'selected' : '' }}>S1</option>
|
||||
</select>
|
||||
@error('pendidikan')
|
||||
<div class="invalid-feedback">{{ $message }}</div>
|
||||
@enderror
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="ipk">IPK <span class="text-danger">*</span></label>
|
||||
<input type="number" step="0.01" name="ipk"
|
||||
class="form-control @error('ipk') is-invalid @enderror"
|
||||
value="{{ old('ipk') }}">
|
||||
@error('ipk')
|
||||
<div class="invalid-feedback">{{ $message }}</div>
|
||||
@enderror
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="jurusan">Jurusan <span class="text-danger">*</span></label>
|
||||
<input type="text" name="jurusan"
|
||||
class="form-control @error('jurusan') is-invalid @enderror"
|
||||
value="{{ old('jurusan') }}">
|
||||
@error('jurusan')
|
||||
<div class="invalid-feedback">{{ $message }}</div>
|
||||
@enderror
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="lama_studi">Lama Studi (tahun) <span class="text-danger">*</span></label>
|
||||
<input type="number" step="0.1" name="lama_studi"
|
||||
class="form-control @error('lama_studi') is-invalid @enderror"
|
||||
value="{{ old('lama_studi') }}">
|
||||
@error('lama_studi')
|
||||
<div class="invalid-feedback">{{ $message }}</div>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Pengalaman & Sertifikasi -->
|
||||
<div class="form-section">
|
||||
<h5 class="section-title">Pengalaman & Sertifikasi</h5>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label for="pengalaman">Pengalaman Kerja (tahun) <span class="text-danger">*</span></label>
|
||||
<input type="number" name="pengalaman"
|
||||
class="form-control @error('pengalaman') is-invalid @enderror"
|
||||
value="{{ old('pengalaman') }}">
|
||||
@error('pengalaman')
|
||||
<div class="invalid-feedback">{{ $message }}</div>
|
||||
@enderror
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="serkom">Sertifikasi Kompetensi <span class="text-danger">*</span></label>
|
||||
<select name="serkom" class="form-control @error('serkom') is-invalid @enderror">
|
||||
<option value="">-- Pilih --</option>
|
||||
<option value="1" {{ old('serkom') == '1' ? 'selected' : '' }}>Punya</option>
|
||||
<option value="0" {{ old('serkom') == '0' ? 'selected' : '' }}>Tidak Punya</option>
|
||||
</select>
|
||||
@error('serkom')
|
||||
<div class="invalid-feedback">{{ $message }}</div>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<button type="submit" class="btn btn-primary btn-block">
|
||||
<i class="fas fa-paper-plane mr-2"></i>Submit Lamaran
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@stop
|
||||
@section('js')
|
||||
<script src="{{ asset('vendor/datatables/jquery.dataTables.min.js') }}"></script>
|
||||
<script src="{{ asset('vendor/datatables/dataTables.bootstrap4.min.js') }}"></script>
|
||||
<script src="{{ asset('js/sweetalert.js')}}"></script>
|
||||
@stop
|
|
@ -0,0 +1,89 @@
|
|||
@extends('layouts.pengguna')
|
||||
@section('title', 'SPK Penerimaan Karyawan')
|
||||
@section('topbar', 'Dashboard')
|
||||
@section('css')
|
||||
<!-- Custom styles for this page -->
|
||||
<link href="{{ asset('vendor/datatables/dataTables.bootstrap4.min.css') }}" rel="stylesheet">
|
||||
<style>
|
||||
.scrollable-content {
|
||||
height: calc(100vh - 150px); /* Mengurangi tinggi header dan footer */
|
||||
overflow-y: auto;
|
||||
padding: 20px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.scrollable-content::-webkit-scrollbar {
|
||||
width: 8px;
|
||||
}
|
||||
|
||||
.scrollable-content::-webkit-scrollbar-track {
|
||||
background: #f1f1f1;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.scrollable-content::-webkit-scrollbar-thumb {
|
||||
background: #4e73df;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.scrollable-content::-webkit-scrollbar-thumb:hover {
|
||||
background: #3756a8;
|
||||
}
|
||||
|
||||
.content-wrapper {
|
||||
position: relative;
|
||||
min-height: 100%;
|
||||
}
|
||||
</style>
|
||||
@stop
|
||||
@section('content')
|
||||
|
||||
<div class="scrollable-content">
|
||||
<div class="content-wrapper">
|
||||
|
||||
<!-- Page Heading -->
|
||||
<div class="d-sm-flex align-items-center justify-content-between mb-4">
|
||||
<h1 class="h3 mb-0 text-gray-800">Selamat Datang di Portal Rekrutmen</h1>
|
||||
</div>
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3">
|
||||
<h6 class="m-0 font-weight-bold text-primary">Tata Cara Pengajuan Lamaran</h6>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="timeline">
|
||||
<div class="mb-4">
|
||||
<h5 class="text-primary">1. Pengajuan Lamaran</h5>
|
||||
<p>Klik menu "Ajukan Lamaran" pada sidebar untuk memulai proses lamaran. Isi semua data yang diperlukan dengan lengkap dan benar.</p>
|
||||
</div>
|
||||
|
||||
<div class="mb-4">
|
||||
<h5 class="text-primary">2. Kelengkapan Data</h5>
|
||||
<p>Pastikan Anda mengisi semua informasi yang diminta termasuk:</p>
|
||||
<ul>
|
||||
<li>Data Pribadi</li>
|
||||
<li>Riwayat Pendidikan</li>
|
||||
<li>Pengalaman Kerja</li>
|
||||
<li>Keterampilan</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="mb-4">
|
||||
<h5 class="text-primary">3. Proses Penilaian</h5>
|
||||
<p>Setelah mengajukan lamaran, tim kami akan melakukan penilaian menggunakan metode SAW (Simple Additive Weighting).</p>
|
||||
</div>
|
||||
|
||||
<div class="mb-4">
|
||||
<h5 class="text-primary">4. Hasil Penilaian</h5>
|
||||
<p>Anda dapat melihat hasil penilaian melalui menu "Hasil Penilaian" pada sidebar setelah proses penilaian selesai.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
|
@ -3,130 +3,89 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
<title>Laravel</title>
|
||||
|
||||
<title>Welcome to SPK Penerimaan Karyawan</title>
|
||||
<!-- Fonts -->
|
||||
<link href="https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700&display=swap" rel="stylesheet">
|
||||
|
||||
<!-- Styles -->
|
||||
<style>
|
||||
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}a{background-color:transparent}[hidden]{display:none}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}*,:after,:before{box-sizing:border-box;border:0 solid #e2e8f0}a{color:inherit;text-decoration:inherit}svg,video{display:block;vertical-align:middle}video{max-width:100%;height:auto}.bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.bg-gray-100{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.border-gray-200{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.border-t{border-top-width:1px}.flex{display:flex}.grid{display:grid}.hidden{display:none}.items-center{align-items:center}.justify-center{justify-content:center}.font-semibold{font-weight:600}.h-5{height:1.25rem}.h-8{height:2rem}.h-16{height:4rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.leading-7{line-height:1.75rem}.mx-auto{margin-left:auto;margin-right:auto}.ml-1{margin-left:.25rem}.mt-2{margin-top:.5rem}.mr-2{margin-right:.5rem}.ml-2{margin-left:.5rem}.mt-4{margin-top:1rem}.ml-4{margin-left:1rem}.mt-8{margin-top:2rem}.ml-12{margin-left:3rem}.-mt-px{margin-top:-1px}.max-w-6xl{max-width:72rem}.min-h-screen{min-height:100vh}.overflow-hidden{overflow:hidden}.p-6{padding:1.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.pt-8{padding-top:2rem}.fixed{position:fixed}.relative{position:relative}.top-0{top:0}.right-0{right:0}.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.text-center{text-align:center}.text-gray-200{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.text-gray-300{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.text-gray-500{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.text-gray-600{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.text-gray-700{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.text-gray-900{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.underline{text-decoration:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.w-5{width:1.25rem}.w-8{width:2rem}.w-auto{width:auto}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}@media (min-width:640px){.sm\:rounded-lg{border-radius:.5rem}.sm\:block{display:block}.sm\:items-center{align-items:center}.sm\:justify-start{justify-content:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:h-20{height:5rem}.sm\:ml-0{margin-left:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pt-0{padding-top:0}.sm\:text-left{text-align:left}.sm\:text-right{text-align:right}}@media (min-width:768px){.md\:border-t-0{border-top-width:0}.md\:border-l{border-left-width:1px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:px-8{padding-left:2rem;padding-right:2rem}}@media (prefers-color-scheme:dark){.dark\:bg-gray-800{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.dark\:bg-gray-900{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.dark\:border-gray-700{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.dark\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.dark\:text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.dark\:text-gray-500{--tw-text-opacity:1;color:#6b7280;color:rgba(107,114,128,var(--tw-text-opacity))}}
|
||||
</style>
|
||||
|
||||
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap" rel="stylesheet">
|
||||
<!-- Bootstrap CSS -->
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Nunito', sans-serif;
|
||||
font-family: 'Poppins', sans-serif;
|
||||
background-color: #f8f9fa;
|
||||
}
|
||||
.hero-section {
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
background: linear-gradient(rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.9));
|
||||
}
|
||||
.logo-img {
|
||||
max-width: 300px;
|
||||
height: auto;
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
.btn-custom {
|
||||
padding: 10px 30px;
|
||||
border-radius: 30px;
|
||||
font-weight: 500;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 1px;
|
||||
margin: 0 10px;
|
||||
}
|
||||
.btn-login {
|
||||
background-color: #007bff;
|
||||
color: white;
|
||||
}
|
||||
.btn-register {
|
||||
background-color: #28a745;
|
||||
color: white;
|
||||
}
|
||||
.btn-login:hover, .btn-register:hover {
|
||||
opacity: 0.9;
|
||||
color: white;
|
||||
}
|
||||
.description {
|
||||
max-width: 600px;
|
||||
margin: 0 auto 2rem auto;
|
||||
color: #6c757d;
|
||||
font-size: 1.1rem;
|
||||
line-height: 1.6;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="antialiased">
|
||||
<div class="relative flex items-top justify-center min-h-screen bg-gray-100 dark:bg-gray-900 sm:items-center py-4 sm:pt-0">
|
||||
@if (Route::has('login'))
|
||||
<div class="hidden fixed top-0 right-0 px-6 py-4 sm:block">
|
||||
@auth
|
||||
<a href="{{ url('/home') }}" class="text-sm text-gray-700 dark:text-gray-500 underline">Home</a>
|
||||
@else
|
||||
<a href="{{ route('login') }}" class="text-sm text-gray-700 dark:text-gray-500 underline">Log in</a>
|
||||
<body>
|
||||
<div class="hero-section">
|
||||
<div class="container text-center">
|
||||
<!-- Ganti src dengan path logo Intecon yang sesuai -->
|
||||
<img src="{{ asset('assets/images/logo.png') }}" alt="Intecon Logo" class="logo-img">
|
||||
|
||||
<h1 class="mb-4">Welcome to SIPKAR</h1>
|
||||
|
||||
<p class="description">
|
||||
Selamat Datang di Sistem Pendukung Keputusan Penerimaan Karyawan PT Intecon Bangun Persada
|
||||
</p>
|
||||
|
||||
@if (Route::has('register'))
|
||||
<a href="{{ route('register') }}" class="ml-4 text-sm text-gray-700 dark:text-gray-500 underline">Register</a>
|
||||
@endif
|
||||
@endauth
|
||||
</div>
|
||||
@endif
|
||||
<div class="d-flex justify-content-center gap-3">
|
||||
@if (Route::has('login'))
|
||||
@auth
|
||||
<a href="{{ url('/dashboard') }}" class="btn btn-custom btn-login">Dashboard</a>
|
||||
@else
|
||||
<a href="{{ route('login') }}" class="btn btn-custom btn-login">Login</a>
|
||||
|
||||
<div class="max-w-6xl mx-auto sm:px-6 lg:px-8">
|
||||
<div class="flex justify-center pt-8 sm:justify-start sm:pt-0">
|
||||
<svg viewBox="0 0 651 192" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-16 w-auto text-gray-700 sm:h-20">
|
||||
<g clip-path="url(#clip0)" fill="#EF3B2D">
|
||||
<path d="M248.032 44.676h-16.466v100.23h47.394v-14.748h-30.928V44.676zM337.091 87.202c-2.101-3.341-5.083-5.965-8.949-7.875-3.865-1.909-7.756-2.864-11.669-2.864-5.062 0-9.69.931-13.89 2.792-4.201 1.861-7.804 4.417-10.811 7.661-3.007 3.246-5.347 6.993-7.016 11.239-1.672 4.249-2.506 8.713-2.506 13.389 0 4.774.834 9.26 2.506 13.459 1.669 4.202 4.009 7.925 7.016 11.169 3.007 3.246 6.609 5.799 10.811 7.66 4.199 1.861 8.828 2.792 13.89 2.792 3.913 0 7.804-.955 11.669-2.863 3.866-1.908 6.849-4.533 8.949-7.875v9.021h15.607V78.182h-15.607v9.02zm-1.431 32.503c-.955 2.578-2.291 4.821-4.009 6.73-1.719 1.91-3.795 3.437-6.229 4.582-2.435 1.146-5.133 1.718-8.091 1.718-2.96 0-5.633-.572-8.019-1.718-2.387-1.146-4.438-2.672-6.156-4.582-1.719-1.909-3.032-4.152-3.938-6.73-.909-2.577-1.36-5.298-1.36-8.161 0-2.864.451-5.585 1.36-8.162.905-2.577 2.219-4.819 3.938-6.729 1.718-1.908 3.77-3.437 6.156-4.582 2.386-1.146 5.059-1.718 8.019-1.718 2.958 0 5.656.572 8.091 1.718 2.434 1.146 4.51 2.674 6.229 4.582 1.718 1.91 3.054 4.152 4.009 6.729.953 2.577 1.432 5.298 1.432 8.162-.001 2.863-.479 5.584-1.432 8.161zM463.954 87.202c-2.101-3.341-5.083-5.965-8.949-7.875-3.865-1.909-7.756-2.864-11.669-2.864-5.062 0-9.69.931-13.89 2.792-4.201 1.861-7.804 4.417-10.811 7.661-3.007 3.246-5.347 6.993-7.016 11.239-1.672 4.249-2.506 8.713-2.506 13.389 0 4.774.834 9.26 2.506 13.459 1.669 4.202 4.009 7.925 7.016 11.169 3.007 3.246 6.609 5.799 10.811 7.66 4.199 1.861 8.828 2.792 13.89 2.792 3.913 0 7.804-.955 11.669-2.863 3.866-1.908 6.849-4.533 8.949-7.875v9.021h15.607V78.182h-15.607v9.02zm-1.432 32.503c-.955 2.578-2.291 4.821-4.009 6.73-1.719 1.91-3.795 3.437-6.229 4.582-2.435 1.146-5.133 1.718-8.091 1.718-2.96 0-5.633-.572-8.019-1.718-2.387-1.146-4.438-2.672-6.156-4.582-1.719-1.909-3.032-4.152-3.938-6.73-.909-2.577-1.36-5.298-1.36-8.161 0-2.864.451-5.585 1.36-8.162.905-2.577 2.219-4.819 3.938-6.729 1.718-1.908 3.77-3.437 6.156-4.582 2.386-1.146 5.059-1.718 8.019-1.718 2.958 0 5.656.572 8.091 1.718 2.434 1.146 4.51 2.674 6.229 4.582 1.718 1.91 3.054 4.152 4.009 6.729.953 2.577 1.432 5.298 1.432 8.162 0 2.863-.479 5.584-1.432 8.161zM650.772 44.676h-15.606v100.23h15.606V44.676zM365.013 144.906h15.607V93.538h26.776V78.182h-42.383v66.724zM542.133 78.182l-19.616 51.096-19.616-51.096h-15.808l25.617 66.724h19.614l25.617-66.724h-15.808zM591.98 76.466c-19.112 0-34.239 15.706-34.239 35.079 0 21.416 14.641 35.079 36.239 35.079 12.088 0 19.806-4.622 29.234-14.688l-10.544-8.158c-.006.008-7.958 10.449-19.832 10.449-13.802 0-19.612-11.127-19.612-16.884h51.777c2.72-22.043-11.772-40.877-33.023-40.877zm-18.713 29.28c.12-1.284 1.917-16.884 18.589-16.884 16.671 0 18.697 15.598 18.813 16.884h-37.402zM184.068 43.892c-.024-.088-.073-.165-.104-.25-.058-.157-.108-.316-.191-.46-.056-.097-.137-.176-.203-.265-.087-.117-.161-.242-.265-.345-.085-.086-.194-.148-.29-.223-.109-.085-.206-.182-.327-.252l-.002-.001-.002-.002-35.648-20.524a2.971 2.971 0 00-2.964 0l-35.647 20.522-.002.002-.002.001c-.121.07-.219.167-.327.252-.096.075-.205.138-.29.223-.103.103-.178.228-.265.345-.066.089-.147.169-.203.265-.083.144-.133.304-.191.46-.031.085-.08.162-.104.25-.067.249-.103.51-.103.776v38.979l-29.706 17.103V24.493a3 3 0 00-.103-.776c-.024-.088-.073-.165-.104-.25-.058-.157-.108-.316-.191-.46-.056-.097-.137-.176-.203-.265-.087-.117-.161-.242-.265-.345-.085-.086-.194-.148-.29-.223-.109-.085-.206-.182-.327-.252l-.002-.001-.002-.002L40.098 1.396a2.971 2.971 0 00-2.964 0L1.487 21.919l-.002.002-.002.001c-.121.07-.219.167-.327.252-.096.075-.205.138-.29.223-.103.103-.178.228-.265.345-.066.089-.147.169-.203.265-.083.144-.133.304-.191.46-.031.085-.08.162-.104.25-.067.249-.103.51-.103.776v122.09c0 1.063.568 2.044 1.489 2.575l71.293 41.045c.156.089.324.143.49.202.078.028.15.074.23.095a2.98 2.98 0 001.524 0c.069-.018.132-.059.2-.083.176-.061.354-.119.519-.214l71.293-41.045a2.971 2.971 0 001.489-2.575v-38.979l34.158-19.666a2.971 2.971 0 001.489-2.575V44.666a3.075 3.075 0 00-.106-.774zM74.255 143.167l-29.648-16.779 31.136-17.926.001-.001 34.164-19.669 29.674 17.084-21.772 12.428-43.555 24.863zm68.329-76.259v33.841l-12.475-7.182-17.231-9.92V49.806l12.475 7.182 17.231 9.92zm2.97-39.335l29.693 17.095-29.693 17.095-29.693-17.095 29.693-17.095zM54.06 114.089l-12.475 7.182V46.733l17.231-9.92 12.475-7.182v74.537l-17.231 9.921zM38.614 7.398l29.693 17.095-29.693 17.095L8.921 24.493 38.614 7.398zM5.938 29.632l12.475 7.182 17.231 9.92v79.676l.001.005-.001.006c0 .114.032.221.045.333.017.146.021.294.059.434l.002.007c.032.117.094.222.14.334.051.124.088.255.156.371a.036.036 0 00.004.009c.061.105.149.191.222.288.081.105.149.22.244.314l.008.01c.084.083.19.142.284.215.106.083.202.178.32.247l.013.005.011.008 34.139 19.321v34.175L5.939 144.867V29.632h-.001zm136.646 115.235l-65.352 37.625V148.31l48.399-27.628 16.953-9.677v33.862zm35.646-61.22l-29.706 17.102V66.908l17.231-9.92 12.475-7.182v33.841z"/>
|
||||
</g>
|
||||
</svg>
|
||||
@if (Route::has('register.user'))
|
||||
<a href="{{ route('register.user') }}" class="btn btn-custom btn-register">Register</a>
|
||||
@endif
|
||||
@endauth
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<div class="mt-8 bg-white dark:bg-gray-800 overflow-hidden shadow sm:rounded-lg">
|
||||
<div class="grid grid-cols-1 md:grid-cols-2">
|
||||
<div class="p-6">
|
||||
<div class="flex items-center">
|
||||
<svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" class="w-8 h-8 text-gray-500"><path d="M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253"></path></svg>
|
||||
<div class="ml-4 text-lg leading-7 font-semibold"><a href="https://laravel.com/docs" class="underline text-gray-900 dark:text-white">Documentation</a></div>
|
||||
</div>
|
||||
|
||||
<div class="ml-12">
|
||||
<div class="mt-2 text-gray-600 dark:text-gray-400 text-sm">
|
||||
Laravel has wonderful, thorough documentation covering every aspect of the framework. Whether you are new to the framework or have previous experience with Laravel, we recommend reading all of the documentation from beginning to end.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="p-6 border-t border-gray-200 dark:border-gray-700 md:border-t-0 md:border-l">
|
||||
<div class="flex items-center">
|
||||
<svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" class="w-8 h-8 text-gray-500"><path d="M3 9a2 2 0 012-2h.93a2 2 0 001.664-.89l.812-1.22A2 2 0 0110.07 4h3.86a2 2 0 011.664.89l.812 1.22A2 2 0 0018.07 7H19a2 2 0 012 2v9a2 2 0 01-2 2H5a2 2 0 01-2-2V9z"></path><path d="M15 13a3 3 0 11-6 0 3 3 0 016 0z"></path></svg>
|
||||
<div class="ml-4 text-lg leading-7 font-semibold"><a href="https://laracasts.com" class="underline text-gray-900 dark:text-white">Laracasts</a></div>
|
||||
</div>
|
||||
|
||||
<div class="ml-12">
|
||||
<div class="mt-2 text-gray-600 dark:text-gray-400 text-sm">
|
||||
Laracasts offers thousands of video tutorials on Laravel, PHP, and JavaScript development. Check them out, see for yourself, and massively level up your development skills in the process.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="p-6 border-t border-gray-200 dark:border-gray-700">
|
||||
<div class="flex items-center">
|
||||
<svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" class="w-8 h-8 text-gray-500"><path d="M7 8h10M7 12h4m1 8l-4-4H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-3l-4 4z"></path></svg>
|
||||
<div class="ml-4 text-lg leading-7 font-semibold"><a href="https://laravel-news.com/" class="underline text-gray-900 dark:text-white">Laravel News</a></div>
|
||||
</div>
|
||||
|
||||
<div class="ml-12">
|
||||
<div class="mt-2 text-gray-600 dark:text-gray-400 text-sm">
|
||||
Laravel News is a community driven portal and newsletter aggregating all of the latest and most important news in the Laravel ecosystem, including new package releases and tutorials.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="p-6 border-t border-gray-200 dark:border-gray-700 md:border-l">
|
||||
<div class="flex items-center">
|
||||
<svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" class="w-8 h-8 text-gray-500"><path d="M3.055 11H5a2 2 0 012 2v1a2 2 0 002 2 2 2 0 012 2v2.945M8 3.935V5.5A2.5 2.5 0 0010.5 8h.5a2 2 0 012 2 2 2 0 104 0 2 2 0 012-2h1.064M15 20.488V18a2 2 0 012-2h3.064M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path></svg>
|
||||
<div class="ml-4 text-lg leading-7 font-semibold text-gray-900 dark:text-white">Vibrant Ecosystem</div>
|
||||
</div>
|
||||
|
||||
<div class="ml-12">
|
||||
<div class="mt-2 text-gray-600 dark:text-gray-400 text-sm">
|
||||
Laravel's robust library of first-party tools and libraries, such as <a href="https://forge.laravel.com" class="underline">Forge</a>, <a href="https://vapor.laravel.com" class="underline">Vapor</a>, <a href="https://nova.laravel.com" class="underline">Nova</a>, and <a href="https://envoyer.io" class="underline">Envoyer</a> help you take your projects to the next level. Pair them with powerful open source libraries like <a href="https://laravel.com/docs/billing" class="underline">Cashier</a>, <a href="https://laravel.com/docs/dusk" class="underline">Dusk</a>, <a href="https://laravel.com/docs/broadcasting" class="underline">Echo</a>, <a href="https://laravel.com/docs/horizon" class="underline">Horizon</a>, <a href="https://laravel.com/docs/sanctum" class="underline">Sanctum</a>, <a href="https://laravel.com/docs/telescope" class="underline">Telescope</a>, and more.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex justify-center mt-4 sm:items-center sm:justify-between">
|
||||
<div class="text-center text-sm text-gray-500 sm:text-left">
|
||||
<div class="flex items-center">
|
||||
<svg fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" stroke="currentColor" class="-mt-px w-5 h-5 text-gray-400">
|
||||
<path d="M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
||||
</svg>
|
||||
|
||||
<a href="https://laravel.bigcartel.com" class="ml-1 underline">
|
||||
Shop
|
||||
</a>
|
||||
|
||||
<svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" class="ml-4 -mt-px w-5 h-5 text-gray-400">
|
||||
<path d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"></path>
|
||||
</svg>
|
||||
|
||||
<a href="https://github.com/sponsors/taylorotwell" class="ml-1 underline">
|
||||
Sponsor
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ml-4 text-center text-sm text-gray-500 sm:text-right sm:ml-0">
|
||||
Laravel v{{ Illuminate\Foundation\Application::VERSION }} (PHP v{{ PHP_VERSION }})
|
||||
</div>
|
||||
<div class="mt-5">
|
||||
<p class="text-muted">© {{ date('Y') }} Intecon. All rights reserved.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Bootstrap JS -->
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
|
@ -1,8 +1,10 @@
|
|||
<?php
|
||||
|
||||
use GuzzleHttp\Middleware;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use App\Http\Controllers\HomeController;
|
||||
use App\Http\Controllers\RegisterUserController;
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
@ -17,9 +19,38 @@
|
|||
|
||||
|
||||
|
||||
Auth::routes();
|
||||
Auth::routes(['register' => false]);
|
||||
|
||||
// Route untuk halaman welcome dan redirect ke home jika sudah login
|
||||
Route::get('/', function () {
|
||||
if (Auth::check()) {
|
||||
return redirect('/home');
|
||||
}
|
||||
return view('welcome');
|
||||
});
|
||||
|
||||
// Route untuk dashboard yang memerlukan autentikasi
|
||||
Route::get('/home', [HomeController::class, 'index'])->name('home');
|
||||
|
||||
Route::get('/register', [RegisterUserController::class, 'showRegistrationForm'])->name('register.user');
|
||||
Route::post('/register/user', [RegisterUserController::class, 'register'])->name('register.user.submit');
|
||||
|
||||
Route::middleware(['auth'])->group(function () {
|
||||
|
||||
// Route untuk Admin
|
||||
Route::get('/admin/home', [App\Http\Controllers\HomeController::class, 'adminHome'])
|
||||
->name('admin.home')
|
||||
->middleware('admin');
|
||||
|
||||
Route::get('/user/home', [App\Http\Controllers\HomeController::class, 'userHome'])
|
||||
->name('user.home')
|
||||
->middleware('user');
|
||||
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
Route::get('/', [HomeController::class, 'index'])->name('home');
|
||||
Route::resource('kriteria', 'App\Http\Controllers\KriteriaController')->except(['create']);
|
||||
Route::resource('alternatif', 'App\Http\Controllers\AlternatifController')->except(['create']);
|
||||
Route::resource('crips', 'App\Http\Controllers\CripsController')->except(['index','create','show']);
|
||||
|
|
Loading…
Reference in New Issue