update register
parent
c0397f4971
commit
7660e6a01d
|
|
@ -26,6 +26,7 @@ class CustomRegisterController extends Controller
|
|||
{
|
||||
|
||||
// dd($request->all());
|
||||
DB::beginTransaction();
|
||||
try {
|
||||
Validator::make($request->all(), [
|
||||
'email' => 'required|unique:users|email',
|
||||
|
|
@ -60,10 +61,37 @@ class CustomRegisterController extends Controller
|
|||
|
||||
$sekolah = Sekolah::where('npsn',$request->npsn)->first();
|
||||
if(!@$sekolah){
|
||||
return redirect('register')->with([
|
||||
'message' => 'Maaf data sekolah tidak ditemukan, periksa kembali NPSN anda',
|
||||
'type' => "error"
|
||||
]);
|
||||
|
||||
$user = new User;
|
||||
$user->email = $request->email;
|
||||
$user->username = $request->npsn;
|
||||
$user->password = Hash::make($request->password);
|
||||
$user->name = $request->name;
|
||||
$user->ms_group_id = 2;
|
||||
$user->save();
|
||||
|
||||
Auth::attempt(['username' => $request->npsn, 'password' => $request->password]);
|
||||
|
||||
$session = [
|
||||
'username' => $request->username,
|
||||
'name' => $user->name,
|
||||
'email' => $user->email,
|
||||
'sekolah_id' => @$user->profile->sekolah->MsSekolahId,
|
||||
'npsn' => @$request->npsn,
|
||||
'tingkat_sekolah' => @$user->profile->tingkat->name,
|
||||
'status_sekolah' => @$user->profile->status_sekolah,
|
||||
'alamat_sekolah' => @$request->alamat_sekolah,
|
||||
'kontak_person' => @$request->kontak_person,
|
||||
'telp' => @$request->telp,
|
||||
'currYear' => date('Y'),
|
||||
'group_id' => @$user->ms_group_id,
|
||||
'kabupaten_id' => @$user->ms_kabupaten_id,
|
||||
'group_alias' => @$user->group->alias,
|
||||
'group_name' => @$user->group->name,
|
||||
];
|
||||
session($session);
|
||||
DB::commit();
|
||||
return redirect('profile-sekolah/lengkapi/'.encode_id($request->npsn));
|
||||
}
|
||||
|
||||
$user = new User;
|
||||
|
|
@ -93,13 +121,45 @@ class CustomRegisterController extends Controller
|
|||
$group->ms_group_id = 2; //sekolah
|
||||
$group->save();
|
||||
|
||||
return redirect('/login')->with([
|
||||
'message' => 'Berhasil membuat akun baru, silahkan login',
|
||||
'type' => 'success',
|
||||
]);
|
||||
|
||||
Auth::attempt(['username' => $request->npsn, 'password' => $request->password]);
|
||||
|
||||
$session = [
|
||||
'username' => $user->username,
|
||||
'name' => $user->name,
|
||||
'email' => $user->email,
|
||||
'sekolah_id' => @$user->profile->sekolah->MsSekolahId,
|
||||
'npsn' => @$user->profile->npsn,
|
||||
'tingkat_sekolah' => @$user->profile->tingkat->name,
|
||||
'status_sekolah' => @$user->profile->status_sekolah,
|
||||
'alamat_sekolah' => @$user->profile->alamat_sekolah,
|
||||
'kontak_person' => @$user->profile->kontak_person,
|
||||
'telp' => @$user->profile->telp,
|
||||
'currYear' => date('Y'),
|
||||
'group_id' => @$user->ms_group_id,
|
||||
'kabupaten_id' => @$user->ms_kabupaten_id,
|
||||
'group_alias' => @$user->group->alias,
|
||||
'group_name' => @$user->group->name,
|
||||
];
|
||||
session($session);
|
||||
|
||||
DB::commit();
|
||||
|
||||
return redirect('dashboard')->with([
|
||||
'message' => trans('Selamat datang kembali'),
|
||||
'type' => "success"
|
||||
]);
|
||||
|
||||
|
||||
|
||||
// return redirect('/login')->with([
|
||||
// 'message' => 'Berhasil membuat akun baru, silahkan login',
|
||||
// 'type' => 'success',
|
||||
// ]);
|
||||
|
||||
|
||||
} catch (Exception $e) {
|
||||
DB::rollBack();
|
||||
return redirect('register')->with([
|
||||
'message' => $e->getMessage(),
|
||||
'type' => "error"
|
||||
|
|
|
|||
|
|
@ -22,7 +22,81 @@ class ProfileController extends Controller
|
|||
protected $template = 'modules.profile';
|
||||
protected $route = 'modules.profile';
|
||||
|
||||
function lengkapi($npsn) {
|
||||
permission('is_read', $this->route, 'module',true);
|
||||
|
||||
$keyId = decode_id($npsn);
|
||||
|
||||
$data['breadcrumbs'] = [
|
||||
['name' => 'Dashboard','url' => url('dashboard')],
|
||||
['name' => 'Profile','active' => true],
|
||||
];
|
||||
$data['title'] = 'Profile';
|
||||
$data['route'] = $this->route;
|
||||
$data['provinsi'] = Provinsi::where('kode_wilayah','010000')->get();
|
||||
$data['user'] = User::where('username',$keyId)->first();
|
||||
|
||||
|
||||
|
||||
return view($this->template.'.lengkapi',$data);
|
||||
}
|
||||
|
||||
function updateLengkapi(Request $request) {
|
||||
|
||||
try {
|
||||
DB::beginTransaction();
|
||||
Validator::make($request->all(), [
|
||||
'name' => 'required',
|
||||
'status_sekolah' => 'required',
|
||||
'alamat_sekolah' => 'required',
|
||||
'npsn' => 'required',
|
||||
'tingkat_sekolah' => 'required',
|
||||
"provinsi" => "required",
|
||||
"kabupaten" => "required",
|
||||
"kecamatan" => "required",
|
||||
])->validate();
|
||||
|
||||
$sekolah = new Sekolah;
|
||||
$sekolah->ms_provinsi_id = decode_id($request->provinsi);
|
||||
$sekolah->ms_kabupaten_id = decode_id($request->kabupaten);
|
||||
$sekolah->ms_kecamatan_id = decode_id($request->kecamatan);
|
||||
$sekolah->ms_tingkat_sekolah_id = $request->tingkat_sekolah;
|
||||
$sekolah->status = $request->status_sekolah;
|
||||
$sekolah->nama_sekolah = $request->name;
|
||||
$sekolah->npsn = $request->npsn;
|
||||
$sekolah->alamat_sekolah = $request->alamat_sekolah;
|
||||
$sekolah->save();
|
||||
|
||||
//profile
|
||||
|
||||
$profile = new Profile;
|
||||
$profile->npsn = $request->npsn;
|
||||
$profile->ms_tingkat_sekolah_id = $request->tingkat_sekolah;
|
||||
$profile->status_sekolah = $request->status_sekolah;
|
||||
$profile->alamat_sekolah = $request->alamat_sekolah;
|
||||
$profile->ms_provinsi_id = decode_id($request->provinsi);
|
||||
$profile->ms_kabupaten_id = decode_id($request->kabupaten);
|
||||
$profile->ms_kecamatan_id = decode_id($request->kecamatan);
|
||||
$profile->ms_sekolah_id = $sekolah->MsSekolahId;
|
||||
$profile->kontak_person = session('kontak_person');
|
||||
$profile->telp = session('telp');
|
||||
$profile->user_id = auth()->user()->id;
|
||||
$profile->save();
|
||||
|
||||
DB::commit();
|
||||
return redirect('dashboard');
|
||||
|
||||
} catch (Exception $e) {
|
||||
DB::rollBack();
|
||||
return redirect()->back()->with([
|
||||
'message' => $e->getMessage(),
|
||||
'type' => "error"
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
function profile(){
|
||||
|
||||
permission('is_read', $this->route, 'module',true);
|
||||
|
||||
$data['breadcrumbs'] = [
|
||||
|
|
|
|||
|
|
@ -0,0 +1,26 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
use Illuminate\Http\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Auth;
|
||||
use App\Models\User;
|
||||
|
||||
class Profile
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
|
||||
*/
|
||||
public function handle(Request $request, Closure $next): Response
|
||||
{
|
||||
$user = User::with(['profile'])->where('id',auth()->user()->id)->first();
|
||||
if(!@$user->profile){
|
||||
return redirect('profile-sekolah/lengkapi/'.encode_id($user->username));
|
||||
}
|
||||
return $next($request);
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 188 KiB |
|
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>
|
||||
Login - Sekolah Adiwiyata
|
||||
Login - SIDIA Jakarta
|
||||
</title>
|
||||
<meta name="description" content="Login">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>
|
||||
Register - Sekolah Adiwiyata
|
||||
Register - SIDIA Jakarta
|
||||
</title>
|
||||
<meta name="description" content="Login">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
|
|
@ -310,7 +310,9 @@
|
|||
$.each(data, function(index, data){
|
||||
$('#result').append('<li data-npsn="'+data.npsn+'">' + data.nama_sekolah + '</li>');
|
||||
});
|
||||
|
||||
} else {
|
||||
$('.nama_sekolah').removeAttr('readonly');
|
||||
$('#result').hide();
|
||||
}
|
||||
}
|
||||
|
|
@ -325,6 +327,7 @@
|
|||
var npsn = $(this).attr('data-npsn');
|
||||
|
||||
$('.npsn').val(npsn);
|
||||
$('.nama_sekolah').attr('readonly',true);
|
||||
$('.nama_sekolah').val($(this).text());
|
||||
$('#result').hide();
|
||||
});
|
||||
|
|
|
|||
|
|
@ -0,0 +1,29 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Lengkapi Profile - SIDIA Jakarta</title>
|
||||
<meta name="description" content="Login">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, user-scalable=no, minimal-ui">
|
||||
<!-- Call App Mode on ios devices -->
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<!-- Remove Tap Highlight on Windows Phone IE -->
|
||||
<meta name="msapplication-tap-highlight" content="no">
|
||||
<!-- base css -->
|
||||
<link rel="stylesheet" media="screen, print" href="{{asset('assets/css/vendors.bundle.css')}}">
|
||||
<link rel="stylesheet" media="screen, print" href="{{asset('assets/css/app.bundle.css')}}">
|
||||
<!-- Place favicon.ico in the root directory -->
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="{{asset('assets/logo-dinas.ico')}}">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="{{asset('assets/logo-dinas.ico')}}">
|
||||
<link rel="mask-icon" href="{{asset('assets/logo-dinas.ico')}}" color="#5bbad5">
|
||||
<!-- Optional: page related CSS-->
|
||||
<link rel="stylesheet" media="screen, print" href="{{asset('assets/css/fa-brands.css')}}">
|
||||
<link rel="stylesheet" href="{{asset('assets/css/formplugins/select2/select2.bundle.css')}}">
|
||||
@yield('css')
|
||||
</head>
|
||||
<body class="bg-login">
|
||||
@yield('content')
|
||||
@yield('js')
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>
|
||||
{{$title}} - Sekolah Adiwiyata
|
||||
{{$title}} - SIDIA Jakarta
|
||||
</title>
|
||||
<meta name="description" content="Marketing Dashboard">
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||
|
|
|
|||
|
|
@ -0,0 +1,425 @@
|
|||
@extends('layouts.blank')
|
||||
@section('css')
|
||||
<style>
|
||||
.bg-login{
|
||||
background-image: url("{{asset('assets/bg-login.png')}}");
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
}
|
||||
</style>
|
||||
@endsection
|
||||
@section('content')
|
||||
<div class="d-flex align-items-center justify-content-center min-vh-100">
|
||||
<div class="container py-4 py-lg-5 px-4 px-sm-0">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-12">
|
||||
<div class="card pr-4 rounded-plus bg-faded" style="border:none;">
|
||||
@include('include.alert')
|
||||
<div class="row">
|
||||
<div class="col-md-12 p-4 d-flex flex-column justify-content-center align-items-center gap-3">
|
||||
<div class="d-flex flex-column gap-3 align-items-center justify-content-center mb-5">
|
||||
<div>
|
||||
<img src="{{asset('assets/logo-dinas.ico')}}" width="50">
|
||||
<img src="{{asset('assets/dinaspendidikan.png')}}" width="75">
|
||||
</div>
|
||||
<div>
|
||||
<h5 class="fw-700">Form Kelengkapan Data Profile Sekolah</h5>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="col-12 row mx-auto mt-3">
|
||||
<div class="col-md-6">
|
||||
<div class="alert alert-danger">
|
||||
<h5><b><x-lucide-info width="20"/> Info:</b></h5>
|
||||
<ul>
|
||||
<li>Pastikan <b>NPSN</b> yang diisi benar</li>
|
||||
<li>Pastikan kembali untuk Wilayah,Provinsi,Kecamatan,Kabupaten sesuai dengan data sekolah</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="alert alert-info">
|
||||
<h5><b><x-lucide-user width="20"/> Data User Pendaftar:</b></h5>
|
||||
<ul>
|
||||
<li>Nama Lengkap : <b> {{session('kontak_person')}}</b></li>
|
||||
<li>Telp : <b> {{session('telp')}}</b></li>
|
||||
<li>Email : <b> {{$user->email}}</b></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<form method="POST" action="{{route($route.'.updateLengkapi')}}">
|
||||
{{csrf_field()}}
|
||||
<div class="row">
|
||||
<div id="loading-spinner" style="display: none; text-align: center;">
|
||||
<img src="{{ asset('assets/spinner.gif') }}" alt="Loading..." width="20">
|
||||
</div>
|
||||
<div class="col-12 row mx-auto mt-3">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group row">
|
||||
<label class="col-xl-12 form-label" for="fname">Nama Sekolah</label>
|
||||
<div class="col-12 pr-1">
|
||||
<input type="text" value="{{$user->name ? $user->name : old('name')}}" name="name" class="form-control nama_sekolah @error('name') is-invalid @enderror" placeholder="Masukan Nama Sekolah">
|
||||
@error('name')
|
||||
<span class="invalid-feedback" style="display: block!important;"><strong>{{$message}}</strong></span>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="form-group row">
|
||||
<label class="col-xl-12 form-label" for="fname">NPSN</label>
|
||||
<div class="col-12 pr-1">
|
||||
<input maxlength="8" autocomplete="off" type="text" value="{{ $user->username ? $user->username : old('npsn')}}" name="npsn" class="form-control @error('npsn') is-invalid @enderror numberInput npsn" placeholder="Masukan NPSN">
|
||||
<ul id="result"></ul>
|
||||
@error('npsn')
|
||||
<span class="invalid-feedback" style="display: block!important;"><strong>{{$message}}</strong></span>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 row mx-auto mt-3">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group row">
|
||||
<label class="col-xl-12 form-label">Tingkat Sekolah</label>
|
||||
<div class="col-12 pr-1">
|
||||
<select name="tingkat_sekolah" class="form-control tingkat_sekolah select2 @error('tingkat_sekolah') is-invalid @enderror">
|
||||
<option value="">-Pilih Tingkat Sekolah-</option>
|
||||
<option value="1">SD</option>
|
||||
<option value="2">SMP</option>
|
||||
<option value="3">SMA</option>
|
||||
<option value="4">SMK</option>
|
||||
<option value="5">MI</option>
|
||||
<option value="6">MTs</option>
|
||||
<option value="7">MA</option>
|
||||
<option value="8">SD LB</option>
|
||||
<option value="9">SMP LB</option>
|
||||
<option value="10">SMA LM</option>
|
||||
<option value="11">SLB Khusus</option>
|
||||
</select>
|
||||
@error('tingkat_sekolah')
|
||||
<span class="invalid-feedback" style="display: block!important;"><strong>{{$message}}</strong></span>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="form-group row">
|
||||
<label class="col-xl-12 form-label" for="fname">Status Sekolah</label>
|
||||
<div class="col-12 pr-1">
|
||||
<select name="status_sekolah" class="form-control select2 @error('status_sekolah') is-invalid @enderror">
|
||||
<option value="" data-select2-id="3">-Pilih Status Sekolah-</option>
|
||||
<option value="Negeri">Negeri</option>
|
||||
<option value="Swasta">Swasta</option>
|
||||
</select>
|
||||
@error('status_sekolah')
|
||||
<span class="invalid-feedback" style="display: block!important;"><strong>{{$message}}</strong></span>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 row mx-auto mt-3">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group row">
|
||||
<label class="col-xl-12 form-label" for="fname">Provinsi</label>
|
||||
<div class="col-12 pr-1">
|
||||
<select name="provinsi" class="form-control select2 @error('provinsi') provinsi is-invalid @enderror" id="provinsi">
|
||||
<option value="0">- PILIH PROVINSI -</option>
|
||||
@foreach($provinsi as $datProv)
|
||||
<option value="{{encode_id($datProv->MsProvinsiId)}}">{{$datProv->name}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@error('provinsi')
|
||||
<span class="invalid-feedback" style="display: block!important;"><strong>{{$message}}</strong></span>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="form-group row">
|
||||
<label class="col-xl-12 form-label" for="fname">Kabupaten</label>
|
||||
<div class="col-12 pr-1">
|
||||
<select name="kabupaten" class="form-control select2 @error('kabupaten') kabupaten is-invalid @enderror" id="kabupaten" required>
|
||||
<option value="0">- PILIH KABUPATEN/KOTA -</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 row mx-auto mt-3">
|
||||
<div class="col-md-12">
|
||||
|
||||
<div class="form-group row">
|
||||
<label class="col-xl-12 form-label" for="fname">Kecamatan</label>
|
||||
<div class="col-12 pr-1">
|
||||
<select name="kecamatan" class="form-control select2 @error('kecamatan') kecamatan is-invalid @enderror" id="kecamatan" required>
|
||||
<option value="0">- PILIH KECAMATAN -</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<label class="col-xl-12 form-label" for="fname">Alamat Sekolah</label>
|
||||
<div class="col-12 pr-1">
|
||||
<textarea cols="10" rows="5" name="alamat_sekolah" class="form-control @error('alamat_sekolah') is-invalid @enderror" placeholder="Masukan Alamat Sekolah, Nama Jalan / Dusun / RT-RW" required>{{session('alamat_sekolah')}}</textarea>
|
||||
@error('alamat_sekolah')
|
||||
<span class="invalid-feedback" style="display: block!important;"><strong>{{$message}}</strong></span>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-12 mt-3">
|
||||
<div class="row no-gutters">
|
||||
<div class="col-md-12 ml-auto text-right">
|
||||
<button id="js-login-btn" type="submit" class="btn btn-block btn-primary btn-lg mt-3">Simpan Data Sekolah</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
<p class="text-muted mt-auto text-center mb-0 pt-3">
|
||||
{{date('Y')}} © Dinas Lingkungan Hidup DKI Jakarta
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@section('js')
|
||||
<script src="{{asset('assets/js/vendors.bundle.js')}}"></script>
|
||||
<script src="{{asset('assets/js/app.bundle.js')}}"></script>
|
||||
<script src="{{asset('assets/js/formplugins/select2/select2.bundle.js')}}"></script>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('.select2').select2();
|
||||
$('.numberInput').on('input', function() {
|
||||
this.value = this.value.replace(/[^0-9]/g, ''); // Hanya angka 0-9
|
||||
});
|
||||
$('#togglePassword').on('click', function() {
|
||||
let passwordField = $('#password');
|
||||
let icon = $(this).find('i');
|
||||
|
||||
// Cek apakah input saat ini bertipe password
|
||||
if (passwordField.attr('type') === 'password') {
|
||||
passwordField.attr('type', 'text'); // Ubah ke teks
|
||||
icon.removeClass('fa-eye').addClass('fa-eye-slash'); // Ganti ikon
|
||||
} else {
|
||||
passwordField.attr('type', 'password'); // Ubah ke password
|
||||
icon.removeClass('fa-eye-slash').addClass('fa-eye'); // Kembalikan ikon
|
||||
}
|
||||
});
|
||||
|
||||
$('.npsn').on('keyup', function(){
|
||||
var query = $(this).val();
|
||||
var tingkat_sekolah = $('.tingkat_sekolah').find(':selected').val();
|
||||
if(query.length > 0) {
|
||||
$.ajax({
|
||||
url: "{{ url('sekolahNpsn') }}",
|
||||
type: "POST",
|
||||
xhrFields: {
|
||||
withCredentials: true
|
||||
},
|
||||
data: {
|
||||
query: query,
|
||||
_token: '{{csrf_token()}}',
|
||||
tingkat_sekolah:tingkat_sekolah
|
||||
},
|
||||
success: function(data) {
|
||||
$('#result').html('');
|
||||
if(data.length > 0) {
|
||||
$('#result').show();
|
||||
$.each(data, function(index, data){
|
||||
$('#result').append('<li data-npsn="'+data.npsn+'">' + data.nama_sekolah + '</li>');
|
||||
});
|
||||
|
||||
} else {
|
||||
$('.nama_sekolah').removeAttr('readonly');
|
||||
$('#result').hide();
|
||||
}
|
||||
}
|
||||
});
|
||||
} else {
|
||||
$('#result').hide();
|
||||
}
|
||||
});
|
||||
|
||||
// Saat klik pada hasil pencarian, isi input dan sembunyikan daftar
|
||||
$(document).on('click', '#result li', function(){
|
||||
var npsn = $(this).attr('data-npsn');
|
||||
|
||||
$('.npsn').val(npsn);
|
||||
$('.nama_sekolah').attr('readonly',true);
|
||||
$('.nama_sekolah').val($(this).text());
|
||||
$('#result').hide();
|
||||
});
|
||||
|
||||
// Klik di luar input atau hasil pencarian untuk menyembunyikan daftar
|
||||
$(document).on('click', function(e) {
|
||||
if (!$(e.target).closest('.npsn, #result').length) {
|
||||
$('#result').hide();
|
||||
}
|
||||
});
|
||||
});
|
||||
$("#js-login-btn").click(function(event)
|
||||
{
|
||||
|
||||
// Fetch form to apply custom Bootstrap validation
|
||||
var form = $("#js-login")
|
||||
|
||||
if (form[0].checkValidity() === false)
|
||||
{
|
||||
event.preventDefault()
|
||||
event.stopPropagation()
|
||||
}
|
||||
|
||||
form.addClass('was-validated');
|
||||
// Perform ajax submit here...
|
||||
});
|
||||
|
||||
function clear(elementId) {
|
||||
$('#' + elementId).empty();
|
||||
$('#' + elementId).select2();
|
||||
}
|
||||
|
||||
$('#sekolah').on('select2:select', function(e) {
|
||||
let npsn = $(this).find(':selected').attr('data-npsn');
|
||||
$('.npsn').val(npsn);
|
||||
});
|
||||
|
||||
|
||||
$('select').on("select2:selecting", function(e) {
|
||||
var selectorOrigin = this.id;
|
||||
var id = e.params.args.data.id;
|
||||
|
||||
|
||||
if(selectorOrigin=='provinsi'){
|
||||
$('#loading-spinner').show();
|
||||
clear('kabupaten');
|
||||
selector = 'kabupaten';
|
||||
url_to = 'kabupaten';
|
||||
getSelect(id, selector, url_to);
|
||||
}
|
||||
|
||||
if(selectorOrigin=='kabupaten'){
|
||||
$('#loading-spinner').show();
|
||||
clear('kecamatan');
|
||||
selector = 'kecamatan';
|
||||
url_to = 'kecamatan';
|
||||
getSelect(id, selector, url_to);
|
||||
}
|
||||
if(selectorOrigin=='kecamatan'){
|
||||
$('#loading-spinner').show();
|
||||
clear('sekolah');
|
||||
selector = 'sekolah';
|
||||
url_to = 'sekolah';
|
||||
getSelect(id, selector, url_to);
|
||||
}
|
||||
});
|
||||
|
||||
function getSelect(id, selectTo, urlTo, selected = "") {
|
||||
id = id;
|
||||
var base_url = "{{url('/')}}";
|
||||
//alert(id);
|
||||
destino = "#" + selectTo;
|
||||
valor = $('#' + id).find(":selected").val();
|
||||
|
||||
$.ajax({
|
||||
method: "POST",
|
||||
url: base_url + "/get/" + urlTo,
|
||||
data: {
|
||||
_token: '{{csrf_token()}}',
|
||||
id: id
|
||||
}
|
||||
})
|
||||
.done(function(msg) {
|
||||
obj = msg.data;
|
||||
|
||||
if (obj.length > 0) {
|
||||
//Clear the current options
|
||||
$(destino).empty();
|
||||
|
||||
if(selectTo=='kabupaten'){
|
||||
$(destino).append('<option value="">-PILIH KABUPATEN/KOTA-</option>').select2("val", "0");
|
||||
|
||||
|
||||
|
||||
$.each(obj, function(index) {
|
||||
value = obj[index].id;
|
||||
text = obj[index].name;
|
||||
$(destino).append('<option value=' + value + '>' + text + '</option>');
|
||||
});
|
||||
console.log(selected)
|
||||
if (selected) {
|
||||
$(destino).val(selected).trigger('change');
|
||||
selected = "";
|
||||
}
|
||||
}
|
||||
|
||||
if(selectTo=='kecamatan'){
|
||||
$(destino).append('<option value="">-PILIH KECAMATAN-</option>').select2("val", "0");
|
||||
|
||||
$.each(obj, function(index) {
|
||||
value = obj[index].id;
|
||||
text = obj[index].name;
|
||||
$(destino).append('<option value=' + value + '>' + text + '</option>');
|
||||
});
|
||||
console.log(selected)
|
||||
if (selected) {
|
||||
$(destino).val(selected).trigger('change');
|
||||
selected = "";
|
||||
}
|
||||
}
|
||||
|
||||
if(selectTo=='sekolah'){
|
||||
$(destino).append('<option value="">-PILIH SEKOLAH-</option>').select2("val", "0");
|
||||
|
||||
$.each(obj, function(index) {
|
||||
value = obj[index].id;
|
||||
text = obj[index].name;
|
||||
npsn = obj[index].npsn;
|
||||
$(destino).append('<option data-npsn="'+npsn+'" value=' + value + '>' + text + '</option>');
|
||||
});
|
||||
console.log(selected)
|
||||
if (selected) {
|
||||
$(destino).val(selected).trigger('change');
|
||||
selected = "";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
} else {
|
||||
|
||||
if(selectTo=='provinsi'){
|
||||
$(destino).empty().append('<option value="0">-PILIH PROVINSI-</option>').select2("val", "0");
|
||||
}
|
||||
if(selectTo=='kabupaten'){
|
||||
$(destino).empty().append('<option value="0">-PILIH KABUPATEN/KOTA-</option>').select2("val", "0");
|
||||
}
|
||||
if(selectTo=='kecamatan'){
|
||||
$(destino).empty().append('<option value="0">-PILIH KECAMATAN-</option>').select2("val", "0");
|
||||
}
|
||||
if(selectTo=='sekolah'){
|
||||
$(destino).empty().append('<option value="0">-PILIH SEKOLAH-</option>').select2("val", "0");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
$('#loading-spinner').hide();
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
</script>
|
||||
@endsection
|
||||
|
|
@ -2,8 +2,10 @@
|
|||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use App\Http\Middleware\Session;
|
||||
use App\Http\Middleware\Profile;
|
||||
use App\Http\Controllers\Auth\CustomLoginController;
|
||||
use App\Http\Controllers\Auth\CustomRegisterController;
|
||||
use App\Http\Controllers\ProfileController;
|
||||
use App\Http\Controllers\HomeController;
|
||||
use App\Http\Controllers\AjaxController;
|
||||
use App\Http\Controllers\FrontController;
|
||||
|
|
@ -32,13 +34,16 @@ Route::post('uploadTempImage', [AjaxController::class, 'uploadTempImage'])->name
|
|||
Route::get('hash/{hash}', function ($hash) {
|
||||
return Hash::make($hash);
|
||||
});
|
||||
Route::middleware(Session::class)->name('modules.')->group(function () {
|
||||
|
||||
Route::middleware([Session::class,Profile::class])->name('modules.')->group(function () {
|
||||
include_route_files(__DIR__ . '/modules');
|
||||
|
||||
Route::get('logout',[CustomLoginController::class,'logout'])->name('logout');
|
||||
});
|
||||
|
||||
Route::middleware([Session::class])->name('modules.')->group(function () {
|
||||
Route::get('profile-sekolah/lengkapi/{npsn}',[ProfileController::class,'lengkapi'])->name('profile.lengkapi');
|
||||
Route::post('profile-sekolah/lengkapi',[ProfileController::class,'updateLengkapi'])->name('profile.updateLengkapi');
|
||||
});
|
||||
|
||||
Route::get('/',[FrontController::class,'index'])->name('index');
|
||||
Route::get('/sekolah',[FrontController::class,'sekolah'])->name('sekolah');
|
||||
Route::get('/kegiatan',[FrontController::class,'kegiatan'])->name('kegiatan');
|
||||
|
|
|
|||
Loading…
Reference in New Issue