3. Surat Pembimbing Skripsi
XXXIV
LAMPIRAN III
SOURCE CODE
1. Login dan Logout /**
-Auth Controller
<?php * Store a newly created resource in storage.
namespace App\Http\Controllers; *
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth; * @param \Illuminate\Http\Request $request
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Hash; * @return \Illuminate\Http\Response
use Illuminate\Support\Facades\Session;
use Illuminate\Support\Facades\File; */
use Illuminate\Support\Facades\DB;
use Illuminate\Foundation\Auth\AuthenticatesUsers; public function store(Request $request)
use Haruncpi\LaravelIdGenerator\IdGenerator;
use Illuminate\Support\Facades\Mail; {
use App\Mail\MailNotify;
$validator = Validator::make($request->all(), [
use App\Providers\RouteServiceProvider;
use App\User; 'name' => 'required|min:5|max:25|regex:/^[a-zA-Z
use App\pemohon;
use App\Activity_log; ]+$/u',
use Image; 'email' => 'required|min:5|max:30|email|unique:users',
class AuthController extends Controller 'username' => 'required|unique:users',
{
'password' => 'required|min:6|max:20',
/**
* Display a listing of the resource. 'repassword' => 'required|same:password',
*
* @return \Illuminate\Http\Response 'role' => 'required',
*/
]);
public function __construct()
{ if ($validator->fails()) {
$this->middleware('auth'); return redirect()->back()->withErrors($validator)-
}
>withInput();
}
$data = [
'id_user' => IdGenerator::generate(['table' =>
'users','field'=>'id_user', 'length' => 7, 'prefix'
=>'PLH','reset_on_prefix_change'=>'true']),
'name' => $request->name,
'username' => $request->username,
'email' => $request->email,
'phone_number' => $request->phone_number,
'password' => bcrypt($request->password),
'role' => $request->role
];
$data = User::create($data);
public function main_dashboard(){ if($data){
return view('main');
} return redirect('users')->with('alert-success','Berhasil
menambah data.');
public function index() }else{
{ return redirect('users/create')->with('alert','Gagal menambah
$users = User::get(); data.');
$pemohons = pemohon::select('*') }
->leftJoin('users as
us','us.id_user','=','pemohons.id_user') }
->get()->first();
/**
return view('users.users',['users' => $users,'pemohons' => * Display the specified resource.
$pemohons]); *
} * @param int $id
* @return \Illuminate\Http\Response
public function logout(Request $request){ */
Session::flush(); public function show($id)
return redirect('/')->with('alert-success','Kamu sudah logout'); {
}
$pemohons = pemohon::select('*')
->leftJoin('users as
/** us','us.id_user','=','pemohons.id_user')
* Show the form for creating a new resource. ->get()->first();
*
* @return \Illuminate\Http\Response return view('users.show_user', ['pemohons' => $pemohons]);
*/ }
public function create()
{ /**
* Show the form for editing the specified resource.
return view('users.users_add'); *
} * @param int $id
* @return \Illuminate\Http\Response
XXXV
*/ }
public function edit($id)
{ /**
* Remove the specified resource from storage.
// *
$users = User::where('id_user',$id)->get(); * @param int $id
* @return \Illuminate\Http\Response
return view('users.users_edit',['users' => $users]); */
public function destroy(Request $request,$id)
} {
// delete
/**
$users = User::where('id_user',$id)->get()->first();
* Update the specified resource in storage.
if($users){
* $users->delete();
Session::flash('message', 'Successfully deleted the users!');
* @param \Illuminate\Http\Request $request return redirect('users')->with('alert-success','Successfully
* @param int $id deleted the users!');
}else{
* @return \Illuminate\Http\Response return redirect('users')->with('alert-success','Data has been
*/ deleted!');
}
public function update(Request $request, $id)
}
{
}
$users = User::where('id_user',$id)->get()->first(); -Login Controller
<?php
//
namespace App\Http\Controllers\Auth;
$data = [
'name' => $request->name,
'role' => $request->role
];
$validation_value = [
'name' => 'required|min:5|max:25',
'role' => 'required',
];
if(!empty($request->password)){ use App\Http\Controllers\Controller;
$validation_value += [ use App\Providers\RouteServiceProvider;
'password' => 'required|min:6|max:20',
'repassword' => 'required|same:password' use Illuminate\Foundation\Auth\AuthenticatesUsers;
]; use Illuminate\Support\Facades\Session;
$data += [ use Illuminate\Support\Facades\Auth;
'password' => bcrypt($request->password) use Illuminate\Support\Facades\Validator;
]; use Illuminate\Support\Facades\Hash;
} use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\DB;
if(!empty($request->email) && !empty($requestu-se Illuminate\Http\Request;
>phone_number)){ use Haruncpi\LaravelIdGenerator\IdGenerator;
if($request->email != $users->email){
$validation_value += [ use App\User;
'email' =>use App\Activity_log;
'required|email|min:5|max:30|unique:users',
];
} class LoginController extends Controller
{
if($request->username != $users->username){ /*
$validation_value += [ |--------------------------------------------------------------------------
'username' => 'required|unique:users|numeric' | Login Controller
]; |--------------------------------------------------------------------------
}|
} | This controller handles authenticating users for the application and
| redirecting them to your home screen. The controller uses a trait
$validator = Validator::make($request- | to conveniently provide its functionality to your applications.
>all(),$validation_value); |
*/
if ($validator->fails()) {
return redirect()->back()->withErrors($validator)- use AuthenticatesUsers;
>withInput();
} /**
* Where to redirect users after login.
$data = User::where('id_user',$id)->update($data); *
* @var string
if($data){ */
return redirect('users')->with('alert-success','Berhasil // protected $redirectTo = RouteServiceProvider::HOME;
mengubah data.'); protected $redirectTo = '/';
}else{
return redirect('users')->with('alert-success','Gagal merubah /**
data.'); * Create a new controller instance.
}*
* @return void
XXXVI
*/ */
public function __construct()
{
$this->middleware('guest')->except('logout');
} public function index()
{
public function do_login(Request $request){ $persyaratans = Persyaratan::get();
$email = $request->email;
$password = $request->password; return view('persyaratan.persyaratan',['persyaratans' =>
$persyaratans]);
$data = User::where('email',$email)-
>orWhere('username',$email)->first(); }
if($data){ //apakah email tersebut ada atau tidak
if(Hash::check($password,$data->password)){ /**
* Show the form for creating a new resource.
if(auth()->attempt(array('email' => $data- *
>email,'password' => $request->password))) * @return \Illuminate\Http\Response
{ */
Session::put('id_user',$data->id_user); public function create()
Session::put('role',$data->role); {
Session::put('name',$data->name);
Session::put('email',$data->email); return view('persyaratan.add_persyaratan');
Session::put('username',$data->username); }
Session::put('login',TRUE);
/**
* Store a newly created resource in storage.
return redirect()->route('dashboard'); *
* @param \Illuminate\Http\Request $request
}else{ * @return \Illuminate\Http\Response
*/
return redirect()->route('login')->with('alret','Email atau public function store(Request $request)
password, Tidak Sesuai !'); {
} //
$validator = Validator::make($request->all(), [
}else{ 'list_syarat' => 'required|min:15',
return redirect('/login')->with('alert','username atau
password, Tidak Sesuai !');
}
} ]);
else{
return redirect('/login')->with('alert','username atau password, if ($validator->fails()) {
Tidak Sesuai !'); return redirect()->back()->withErrors($validator)-
} >withInput();
}
} $persyaratan = [
} 'id_persyaratan' => IdGenerator::generate(['table' =>
2, Persyaratan 'persyaratans','field'=>'id_persyaratan', 'length' => 4, 'prefix'
-Persyaratan Controller =>'P','reset_on_prefix_change'=>'true']),
<?php 'id_user' => session('id_user'),
'list_syarat' => $request->list_syarat,
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth; ];
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Hash; $persyaratan = Persyaratan::create($persyaratan);
use Illuminate\Support\Facades\Session;
use Illuminate\Support\Facades\File; return redirect('persyaratan')->with('alert-success','Berhasil
use Illuminate\Support\Facades\DB; menambah data.');
use Illuminate\Validation\Rule; }
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Haruncpi\LaravelIdGenerator\IdGenerator;
/**
use App\Providers\RouteServiceProvider; * Display the specified resource.
use App\Persyaratan; *
use App\Activity_log; * @param int $id
* @return \Illuminate\Http\Response
use Image; */
public function show($id)
class PersyaratanController extends Controller {
{ //
/** }
* Display a listing of the resource.
* /**
* @return \Illuminate\Http\Response * Show the form for editing the specified resource.
XXXVII
* }else{
* @param int $id return redirect('persyaratan')->with('alert-success','Data has
* @return \Illuminate\Http\Response been deleted!');
*/ }
public function edit($id)
{}
//
$persyaratans = Persyaratan::where('id_persyaratan',$id)->get()};
return view('persyaratan.edit_persyaratan',['persyaratans' =>-view Persyaratan
$persyaratans]); @extends('backend.dashboard')
@section('title','Sistem Informasi Monitoring Perbal PPK')
} @section('content')
/**
* Update the specified resource in storage. <!-- Page Heading -->
*
* @param \Illuminate\Http\Request $request <div class="col-lg-12 mb-4">
* @param int $id <!-- Illustrations -->
* @return \Illuminate\Http\Response <div class="card shadow mb-4">
*/ <div class="card-header py-3">
public function update(Request $request, $id) <h5 class="m-0 font-weight-bold text-
{ primary">Persyaratan Perbal Perjanjian Pemenuhan Kewajiban
// IPPR</h5>
$persyaratan = Persyaratan::where('id_persyaratan',$id); </div>
// <div class="card-body">
$data = [ <a href="{{ url('persyaratan/create') }}" class="btn btn-
'list_syarat' => $request->list_syarat, warning btn-square" style="margin-right: 20px;background-color:
orange;">
]; <i class="tombol-action" >+Tambah data</i>
</a>
$validation_value = [ </div>
<div class="card-body" style="-webkit-column-count: 2; -
'list_syarat' => 'required|min:15', moz-column-count: 2; column-count: 2;">
<div class="text-center">
]; <img class="img-fluid px-3 px-sm-4 mt-3 mb-4"
$validator = Validator::make($requests-tyle="width: 50rem;" src="{{ asset('admin/img/ts.jpg') }}" alt="">
>all(),$validation_value); </div>
<h5>Berikut persyaratan yang harus kamu persiapkan dan
if ($validator->fails()) { lengkapi untuk proses permohonan PPK yaitu :</h5>
return redirect()->back()->withErrors($validator)- <?php $no = 1; ?>
>withInput(); @foreach($persyaratans as $row)
} <tr>
<td>{!! nl2br(e($row->list_syarat)) !!}</td>
$data = Persyaratan::where('id_persyaratan',$id)- <div class="row">
>update($data); <a href="{{ URL::to('persyaratan/' . $row-
>id_persyaratan . '/edit') }}" class="btn btn-info btn-circle ml-1 mr-
if($data){ 1">
return redirect('persyaratan/')->with('alert-success','Berhasil <i class="tombol-action" >Edit</i>
mengubah data.'); </a>
}else{ <form action="{{ URL::to('persyaratan/'. $row-
return redirect('persyaratan/'.$id.'/edit')->with('alert','Gaga>lid_persyaratan) }}" method="post">
mengubah data.'); @method('DELETE')
} @csrf
<button class="btn btn-danger btn-circle"
} onclick="return confirm('Anda Yakin ingin Menghapus data
ini?')"><i class=" fas fa-trash"></i></button>
/** </form>
* Remove the specified resource from storage. </div>
* </tr>
* @param int $id @endforeach
* @return \Illuminate\Http\Response </tbody>
*/ </div>
public function destroy(Request $request,$id) </div>
{ </div>
// delete
$persyaratan = Persyaratan::where('id_persyaratan',$id)->get()@- endsection
>first(); 3. Registrasi
-Registrasi Controller
if($persyaratan){ <?php
$persyaratan->delete();
Session::flash('message', 'Successfully deleted tnhaemespace App\Http\Controllers;
persyaratan!');
return redirect('persyaratan')->with('aleurts-e Illuminate\Http\Request;
success','Successfully deleted the persyaratan!'); use Illuminate\Support\Facades\Validator;
XXXVIII
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Session; 'almt_pemohon' => $request->almt_pemohon,
use Illuminate\Support\Facades\DB; 'nm_pt'
use Haruncpi\LaravelIdGenerator\IdGenerator; => $request->nm_pt,
use Illuminate\Support\Facades\Mail; 'no_tlp_pt'
use App\Mail\MailNotify; => $request->no_tlp_pt,
use App\Notifications\NotifikasiWA;
'ket_permohonan' => $request->ket_permohonan,
use App\User;
use App\pemohon; ];
use App\Mail\EmailRegistrasi;
$pemohon =
class RegisterController extends Controller pemohon::create($pemohon);
{
// //penerima notifikasi
public function daftar(Request $request){ $user = User::where('id_user',$user->id_user)->first();
//
$request->no_tlp = "+62".$request->no_tlp; $user->notify(new NotifikasiWA($pemohon,'Registrasi
pemohon'));
$validator = Validator::make($request->all(), [
'nm_pemohon' => 'required|min:5|max:25|regex:/^[a- $preview = new EmailRegistrasi($pemohon->created_at);
zA-Z ]+$/u',
'email' => 'required|min:5|max:30|email|unique:users', Mail::to($user->email)->send($preview);
'NIK' => 'required|unique:pemohons|regex:/^[0-9_-
]{15,16}$/',
'tgl_lahir' => 'required', // /* Notify Email */
'no_tlp' => 'required|unique:users,phone_number|numeric', // Mail::to($user->email)->send(new MailNotify($user-
'almt_pemohon' => 'required|min:10', >username));
'nm_pt' => 'required|min:5|regex:/^[a-zA-Z. ]+$/u',
'no_tlp_pt' => 'required|unique:pemohons|numeric', return redirect('login')->with('alert-success','Berhasil
'ket_permohonan' => 'required|min:5|regex:/^[a-zA-Z ]+$/mu'e, nambah data.');
'username' => 'required|unique:users', }else{
'password' => 'required|min:6|max:20', return redirect('registrasi')->with('alert','Gagal menambah
'repassword' => 'required|same:password', data.');
]); }
}
if ($validator->fails()) { }
return redirect()->back()->withErrors($validato-rV)-iew Registrasi
>withInput(); <!DOCTYPE html>
} <html lang="en">
$user = [ @include('backend.header')
'id_user' => IdGenerator::generate(['table' =>
'users','field'=>'id_user', 'length' => 7, 'prefix<'style type="text/css">
=>'PLH','reset_on_prefix_change'=>'true']), .active{
'name' font-size: 15px;
=> $request->nm_pemohon, font-weight: bold;
'username' => $request->username, font-color: #FFF ;
'email' => $request->email, }
'phone_number' => $request->no_tlp, //$request<-/style>
>phone_number;
'password' => bcrypt($request->password),
'role' => 'Pemohon' <body id="page-top" style="background-color: white;">
]; <div style="background-color: #FF8C00;">
<marquee style="color: white; font-size:150% ">SELAMAT
DATANG DI SISTEM MONITORING PERBAL PERJANJIAN
$user = User::create($user); PEMENUHAN KEWAJIBAN IPPR</marquee>
</div>
if($user){
<nav class="navbar navbar-expand navbar-light bg-darkblue
$pemohon = [ topbar mb-4 static-top shadow" style="background-color: #000080;">
'id_pemohon' => <!-- Sidebar Toggle (Topbar) -->
IdGenerator::generate(['table' => 'pemohons','field'=>'id_pemohon', <button id="sidebarToggleTop" class="btn btn-link d-md-none
'length' => 6, 'prefix' =>'PPK','reset_on_prefix_change'=>'true']), rounded-circle mr-3">
'id_user' <i class="fa fa-bars"></i>
=> $user->id_user, </button>
'nm_pemohon' => <!-- Topbar Navbar -->
$request->nm_pemohon, <ul class="navbar-nav ml-auto">
=> $request->NIK,
$request->tgl_lahir, 'NIK'
=> $request->no_tlp,
<!-- Nav Item - User Information -->
'tgl_lahir' => <li class="nav-item kosong">
<a class="nav-link" href="{{ url('/') }}">
'no_tlp' <span>Persyaratan</span></a>
</li>
XXXIX
<li class="nav-item login"> @endif
<a class="nav-link" href="{{ url( '/login') }}"> <input id="name_label" type="text"
<span>Login</span></a> name="almt_pemohon" value="{{ old('almt_pemohon') }}"
</li> class="form-control" placeholder="Enter Alamat">
</div>
<li class="nav-item registrasi">
<a class="nav-link" href="{{ url('/registrasi') }}"> <div class="form-group">
<span>Registrasi</span></a> <label for="name_label">Nomor Tlp / HP</label>
</li> @if($errors->has('no_tlp'))
</ul> <div class="text-left" style="padding: 2px;
color:red;">{{ $errors->first('no_tlp') }}</div>
</nav> @endif
<div class="row col-md-12">
<div class="container"> <div class="col-md-1 form-control">
+62
<!-- Outer Row --> </div>
<div class="row justify-content-center"> <div class="col-md-11">
<input id="name_label" type="text" name="no_tlp"
<div class="col-xl-10 col-lg-12 col-md-9"> value="{{ old('no_tlp') }}" class="form-control" placeholder="Enter
phone number">
<div class="card o-hidden border-0 shadow-lg my-5" </div>
style="background-color: white;"> </div>
<div class="card-body"> </div>
<!-- Nested Row within Card Body -->
<div class="row justify-content-center" >
<div class="text-center"> <div class="form-group">
<h1 class="h4 text-black-900 mb-4">Form Registrasi <label for="name_label">Nama Perusahaan</label>
</h1> @if($errors->has('nm_pt'))
<h4>Perjanjian Pemenuhan Kewajiban IPPR</h4> <div class="text-left" style="padding: 2px;
color:red;">{{ $errors->first('nm_pt') }}</div>
</div> @endif
</div> <input id="name_label" type="text" name="nm_pt"
@if(\Session::has('alert-success')) value="{{ old('nm_pt') }}" class="form-control" placeholder="Enter
<div class="alert alert-success" style="padding: 2px;"> name">
<div>{{Session::get('alert-success')}}</div> </div>
</div>
@endif <div class="form-group">
<form class="user" enctype="multipart/form-data" <label for="name_label">Nomor Tlp / HP
action="{{ url('daftar') }}" method="post"> (Perusahaan)</label>
@csrf @if($errors->has('no_tlp_pt'))
<div class="form-group"> <div class="text-left" style="padding: 2px;
<label for="name_label">Nama Pemohon</label> color:red;">{{ $errors->first('no_tlp_pt') }}</div>
@if($errors->has('nm_pemohon')) @endif
<div class="text-left" style="padding: 2px; <input id="name_label" type="text" name="no_tlp_pt"
color:red;">{{ $errors->first('nm_pemohon') }}</div> value="{{ old('no_tlp_pt') }}" class="form-control"
@endif placeholder="Enter phone number">
<input id="name_label" type="text" name="nm_pemohon" </div>
value="{{ old('nm_pemohon') }}" class="form-control"
placeholder="Enter name"> <div class="form-group">
</div> <label for="name_label">Keterangan Permohonan</label>
@if($errors->has('ket_permohonan'))
<div class="form-group"> <div class="text-left" style="padding: 2px;
<label for="exampleInputEmail1">NIK</label> color:red;">{{ $errors->first('ket_permohonan') }}</div>
@if($errors->has('NIK')) @endif
<div class="text-left" style="padding: 2px; <input id="name_label" type="text"
color:red;">{{ $errors->first('NIK') }}</div> name="ket_permohonan" value="{{ old('ket_permohonan') }}"
@endif class="form-control" placeholder="Enter Keterangan Permohonan">
<input type="text-left" name="NIK" value="{{ old('NIK') </div>
}}" class="form-control" placeholder="Enter NIK">
</div> <div class="form-group">
<label for="name">Username</label>
<div class="form-group"> @if($errors->has('username'))
<label for="name_label">Tanggal Lahir</label> <div class="text-left" style="padding: 2px;
@if($errors->has('tgl_lahir')) color:red;">{{ $errors->first('username') }}</div>
<div class="text-left" style="padding: 2px; @endif
color:red;">{{ $errors->first('tgl_lahir') }}</div> <input type="text" name="username" value="{{
@endif old('username') }}" class="form-control" aria-
<input type="date" name="tgl_lahir" value="d{e{scribedby="emailHelp" placeholder="Enter username">
old('tgl_lahir') }}" class="form-control"> </div>
</div>
<div class="form-group">
<div class="form-group"> <label for="exampleInputEmail1">Email address</label>
<label for="name_label">Alamat </label> @if($errors->has('email'))
@if($errors->has('almt_pemohon')) <div class="text-left" style="padding: 2px;
<div class="text-left" style="padding: 2pcxo;lor:red;">{{ $errors->first('email') }}</div>
color:red;">{{ $errors->first('almt_pemohon') }}</div> @endif
XL
<input type="text" name="email" value="{{ old('email')use Carbon\Carbon;
}}" class="form-control" aria-describedby="emailHelp"
placeholder="Enter email"> use App\Berkas;
</div> use App\User;
use App\Lampiran;
use App\Pemohon;
<div class="form-group row"> use App\Weights;
use App\Activity_log;
<div class="col-lg-6 "> use App\Notifikasi;
<label for="exampleInputPassword1">Password</label> use App\Mail\EmailBerkas;
@if($errors->has('password'))
<div class="text-left" style="padding: 2px;
color:red;">{{ $errors->first('password') }}</div>
@endif
<input type="password" name="password" class="form-
control" placeholder="Password"> class BerkasController extends Controller
</div> {
<div class="col-6"> /**
<label for="exampleInputPassword1">Re- * Display a listing of the resource.
Password</label> *
@if($errors->has('repassword')) * @return \Illuminate\Http\Response
<div class="text-left" style="padding: 2px; */
color:red;">{{ $errors->first('repassword') }}</div> public function index()
@endif {
<input type="password" name="repassword" //
class="form-control" placeholder="Re-Password"> $berkas = Berkas::with('_pemohon')-
</div> >orderBy('created_at','desc')->get();
</div>
// print_r($perbals->toArray());
<input type="submit" class="btn btn-primary"
value="Submit"> return view('berkas.berkas',['berkas' => $berkas]);
</form> }
<hr>
<div class="copyright text-center my-auto"> /**
<span>Copyright © Sistem Informasi Monitoring * Show the form for creating a new resource.
PPK 2021</span> *
</div> * @return \Illuminate\Http\Response
</div> */
</div> public function get_pemohon()
</div> {
</div>
</div> $berkas = Berkas::select('*')
</div> ->leftJoin('pemohons as
</div> p','p.id_pemohon','=','berkas.id_pemohon')
</div> ->where('id_user',session('id_user'))
->get();
@include('backend.footer') // print_r($perbals->toArray());
@include('js') return view('berkas.berkas',['berkas' => $berkas]);
</body> }
</html> /**
4. Permohonan PPK * Show the form for creating a new resource.
*
-Berkas Controller * @return \Illuminate\Http\Response
<?php */
public function create()
namespace App\Http\Controllers; {
use Illuminate\Http\Request; return view('berkas.add_berkas');
use Illuminate\Support\Facades\Auth; }
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Hash; /**
use Illuminate\Support\Facades\Session; * Store a newly created resource in storage.
use Illuminate\Support\Facades\File; *
use Illuminate\Support\Facades\DB; * @param \Illuminate\Http\Request $request
use Illuminate\Validation\Rule; * @return \Illuminate\Http\Response
use Haruncpi\LaravelIdGenerator\IdGenerator; */
use Illuminate\Support\Facades\Mail; public function store(Request $request)
use App\Mail\MailNotify; {
use App\Notifications\NotifikasiWA;
use Illuminate\Foundation\Auth\AuthenticatesUsers; $validator = Validator::make($request->all(), [
use App\Providers\RouteServiceProvider;
'noippr' => 'required|unique:berkas|min:15|max:30|regex:/^[0-
9-]+$/u',
XLI
'no_srt' =>'required|unique:berkas|min:10|max:30|regex:/^[0- $akte_ham->move($destinationPath, $nameham);
9-]+$/u', $ktp->move($destinationPath, $namektp);
'tgl_srt' => 'required',
'tgl_ippr' => 'required', $lampiran = [
'ippr' => 'required|unique:lampirans|mimes:pdf', 'id_file' => IdGenerator::generate(['table' =>
'srt_izin' => 'required|unique:lampirans|mimes:pdf', 'lampirans','field'=>'id_file', 'length' => 5, 'prefix'
'ppk' => 'required|unique:lampirans|mimes:pdf', =>'F','reset_on_prefix_change'=>'true']),
'rtlb' => 'required|unique:lampirans|mimes:pdf', 'id_berkas' => $berkas ->id_berkas,
'krk' => 'required|unique:lampirans|mimes:pdf', 'ippr' => $nameippr,
'akte' => 'required|unique:lampirans|mimes:pdf', 'srt_izin' => $namesrt,
'akte_ham' => 'required|unique:lampirans|mimes:pdf', 'ppk' => $nameppk,
'ktp' => 'required|unique:lampirans|mimes:pdf', 'rtlb' => $namertlb,
'krk' => $namekrk,
]); 'akte' => $nameakte,
'akte_ham' => $nameham,
if ($validator->fails()) { 'ktp' => $namektp,
return redirect()->back()->withErrors($validator)- ];
>withInput();
}else{
$lampiran = lampiran::create($lampiran);
$pemohons = pemohon::where('id_user',session('id_user'))- // $lampiran = 1;
>first();
if($lampiran){
$berkas = [
'id_berkas' => IdGenerator::generate(['table' =>
'berkas','field'=>'id_berkas', 'length' => 5, 'prefix' $pemohon = Berkas::with('_pemohon')-
=>'BR','reset_on_prefix_change'=>'true']), >where('id_berkas',$berkas->id_berkas)->first();
'noippr' => $request ->noippr,
'id_pemohon' => $pemohons ->id_pemohon, $user = User::get();
'no_srt' => $request ->no_srt, foreach ($user as $usr) {
'tgl_srt' => $request ->tgl_srt, # code...
'tgl_ippr' => $request ->tgl_ippr, if($usr->role == "Biro PLH"){
'status_berkas' => 0, $notif_berkas = [
'id_notif' => IdGenerator::generate(['table' =>
]; 'notifS','field'=>'id_notif', 'length' => 5, 'prefix'
$berkas = Berkas::create($berkas); =>'N','reset_on_prefix_change'=>'true']),
'message' => "Permohonan PPK baru atas
if($berkas){ nama ".$pemohon->_pemohon[0]->nm_pt." telah dibuat, Mohon
$destinationPath = public_path('admin/berkas/'); untuk diperiksa dan segera dibuatkan Jadwal Rapat.",
'send_to' => $usr->id_user,
if (!is_dir($destinationPath)) { 'status' => 0,
mkdir($destinationPath, 0775, true); ];
} $success = Notifikasi::create($notif_berkas);
}
$ippr = $request ->ippr; }
$srt = $request->srt_izin; }
$ppk = $request->ppk;
$rtlb = $request->rtlb; //penerima notifikasi
$krk = $request->krk; // $id_user =
$akte = $request->akte; pemohon::where('id_pemohon',$id_pemohon)->first()->id_user;
$akte_ham = $request->akte_ham;
$ktp = $request->ktp; $user = User::where('id_user',session('id_user'))->first();
$nameippr = "IPPR-".$berkas->noippr.'.'.$ippr- $user->notify(new NotifikasiWA($berkas,'Input berkas'));
>getClientOriginalExtension();
$namesrt = "SRT-".$berkas->noippr.'.'.$srt- $preview = new EmailBerkas($berkas);
>getClientOriginalExtension();
$nameppk = "PPK-".$berkas->noippr.'.'.$ppk- Mail::to($user->email)->send($preview);
>getClientOriginalExtension();
$namertlb = "RTLB-".$berkas->noippr.'.'.$rtlb- return redirect('get_pemohon')->with('alert-
>getClientOriginalExtension(); success','Berhasil menambah data.');
$namekrk = "KRK-".$berkas->noippr.'.'.$krk- }else{
>getClientOriginalExtension(); return redirect('berkas/create')->with('alert','Gagal
$nameakte = "AKTE-".$berkas->noippr.'.'.$akte-menambah data.');
>getClientOriginalExtension(); }
$nameham = "HAM-".$berkas->noippr.'.'.$akte_ham- }
>getClientOriginalExtension(); }
$namektp = "KTP-".$berkas->noippr.'.'.$ktp-
>getClientOriginalExtension(); /**
* Display the specified resource.
$ippr->move($destinationPath, $nameippr); *
$srt->move($destinationPath, $namesrt); * @param int $id
$ppk->move($destinationPath, $nameppk); * @return \Illuminate\Http\Response
$rtlb->move($destinationPath, $namertlb); */
$krk->move($destinationPath, $namekrk); public function show($id)
$akte->move($destinationPath, $nameakte); {
XLII
$berkas = Berkas::with('_pemohon')->get(); 'tgl_ippr' => 'required',
$lampirans = Lampiran::with('_berkas') 'tgl_srt' => 'required',
];
->where('id_berkas',$id)
->get();
$validator = Validator::make($request-
return view('berkas.show_berkas',['berkas' => >all(),$validation_value);
$berkas,'lampirans' => $lampirans]);
// $lampiran = Lampiran::select('*')
// ->leftJoin('berkas as if ($validator->fails()) {
b','b.noippr','=','lampirans.noippr') return redirect()->back()->withErrors($validator)-
// ->find($id); >withInput();
}
// $lampiran = Lampiran::find('lampirans',$id);
$pemohons = pemohon::where('id_user',session('id_user'))-
>first();
}
$data = [
/** 'noippr' => $request ->noippr,
* Show the form for editing the specified resource. 'id_pemohon' => $pemohons ->id_pemohon,
* 'no_srt' => $request ->no_srt,
* @param int $id 'tgl_srt' => $request ->tgl_srt,
* @return \Illuminate\Http\Response 'tgl_ippr' => $request ->tgl_ippr,
*/
public function edit($id) ];
{
$berkas = pemohon::select('*',) $data = Berkas::where('id_berkas',$id)->update($data);
->leftJoin('berkas as
b','pemohons.id_pemohon','=','b.id_pemohon') as
->leftJoin('lampirans if($data){
l','b.id_berkas','=','l.id_berkas') $data = Lampiran::where('id_berkas',$id)->first();
->where('b.id_berkas',$id)
->get();
return view('berkas.edit_berkas',['berkas' => $berkas]); $noippr = Berkas::where('id_berkas',$id)->first();
} $destinationPath = public_path('admin/berkas/');
/** $lampiran = [];
* Update the specified resource in storage.
* if (!is_dir($destinationPath)) {
* @param \Illuminate\Http\Request $request mkdir($destinationPath, 0775, true);
* @param int $id
* @return \Illuminate\Http\Response }
*/
public function update(Request $request, $id) if(!empty($request ->ippr)){
{ $ippr = $request ->ippr;
$nameippr = "IPPR-".$noippr->noippr.'.'.$ippr-
//
>getClientOriginalExtension();
$berkas = Berkas::where('id_berkas',$id); if (file_exists($data->ippr)) {
// unlink($data->ippr);
$data = [ }
'noippr' => $request->noippr, $lampiran += [
'no_srt' => $request->no_srt, 'ippr' => $nameippr,
'tgl_ippr' => $request->tgl_ippr,
'tgl_srt' => $request->tgl_srt, ];
'ippr' => $request->ippr,
'srt_izin' => $request->srt_izin, $ippr->move($destinationPath, $nameippr);
'ppk' => $request->ppk, }
'rtlb' => $request->rtlb, if(!empty($request ->srt_izin)){
'krk' => $request->krk,
'krk' => $request->krk, $srt = $request->srt_izin;
'akte' => $request->akte, $namesrt = "SRT-".$noippr->noippr.'.'.$srt-
'akte_ham' => $request->akte_ham, >getClientOriginalExtension();
'ktp' => $request->ktp, if (file_exists($data->srt_izin)) {
unlink($data->srt_izin);
}
]; $lampiran += [
'srt_izin' => $namesrt,
$validation_value = [ =>
'noippr' ];
'required|u nique:berka s|min:15 |ma x:30 |regex:/^[0 -9 -]+$/u', $srt->move($destinationPath, $namesrt);
'no_srt' }
if(!empty($request ->ppk)){
=>'required|unique:berkas|min:10|max:30|regex:/^[0-9-]+$/u',
XLIII
$ppk = $request->ppk; unlink($data->ktp);
$nameppk = "PPK-".$noippr->noippr.'.'.$ppk- }
>getClientOriginalExtension();
$lampiran += [
if (file_exists($data->ppk)) { 'ktp' => $namektp,
unlink($data->ppk); ];
}
$ktp->move($destinationPath, $namektp);
$lampiran += [ }
'ppk' => $nameppk,
];
$lampiran = lampiran::where('id_berkas',$id)-
$ppk->move($destinationPath, $nameppk); >update($lampiran);
if($lampiran){
}
if(!empty($request ->rtlb)){
$rtlb = $request->rtlb; $pemohon = Berkas::with('_pemohon')-
$namertlb = "RTLB-".$noippr->noippr.'.'.$rtlb->where('id_berkas',$id)->first();
>getClientOriginalExtension();
if (file_exists($data->rtlb)) { $user = User::get();
unlink($data->rtlb); foreach ($user as $usr) {
} # code...
if($usr->role == "Biro PLH"){
$lampiran += [ $notif_berkas = [
'rtlb' => $namertlb, 'id_notif' => IdGenerator::generate(['table' =>
]; 'notifS','field'=>'id_notif', 'length' => 5, 'prefix'
$rtlb->move($destinationPath, $namertlb); =>'N','reset_on_prefix_change'=>'true']),
'message' => "Ada perubahan data pada
} Permohonan PPK atas nama ".$pemohon->_pemohon[0]->nm_pt."
if(!empty($request ->krk)){ telah dibuat, Mohon untuk diperiksa dan segera dibuatkan Jadwal
$krk = $request->krk; Rapat.",
$namekrk = "KRK-".$noippr->noippr.'.'.$krk- 'send_to' => $usr->id_user,
>getClientOriginalExtension(); 'status' => 0,
if (file_exists($data->krk)) { ];
unlink($data->krk); $success = Notifikasi::create($notif_berkas);
}}
}
$lampiran += [ }
'krk' => $namekrk,
]; return redirect('get_pemohon/')->with('alert-
success','Berhasil mengubah data.');
$krk->move($destinationPath, $namekrk); }else{
return redirect('berkas/'.$id.'/edit')->with('alert','Gagal
mengubah data.');
}}
if(!empty($request ->akte)){
$akte = $request->akte;
$nameakte = "AKTE-".$noippr->noippr.'.'.$akte- }
>getClientOriginalExtension();
if (file_exists($data->akte)) { /**
unlink($data->akte); * Remove the specified resource from storage.
}*
$lampiran += [ * @param int $id
'akte' => $nameakte, * @return \Illuminate\Http\Response
]; */
$akte->move($destinationPath, $nameakte); public function destroy(Request $request, $id)
} { // delete
if(!empty($request ->akte_ham)){ $berkas = Berkas::where('id_berkas',$id)->first();
$akte_ham = $request->akte_ham;
$nameham = "HAM-".$noippr->noippr.'.'.$akte_ham- if($berkas){
>getClientOriginalExtension(); $berkas->delete();
if (file_exists($data->akte_ham)) { Session::flash('message', 'Successfully deleted the
unlink($data->akte_ham); persyaratan!');
} return redirect('berkas')->with('alert-success','Successfully
deleted the persyaratan!');
$lampiran += [ }else{
'akte_ham' => $nameham, return redirect('berkas')->with('alert-success','Data has been
]; deleted!');
$akte_ham->move($destinationPath, $nameham); }
} }
if(!empty($request ->ktp)){ public function b_timeline()
{
$ktp = $request->ktp;
$namektp = "KTP-".$noippr->noippr.'.'.$ktp- //
>getClientOriginalExtension(); $berkas = Berkas::with('_pemohon')->get();
if (file_exists($data->ktp)) {
XLIV
// print_r($perbals->toArray()); <i class="tombol-action" >Edit</i>
</a></button>
return view('berkas.berkas_timeline',['berkas' => $berkas]); <br>
} <p></p>
<form action="{{ URL::to('berkas/'. $row-
>id_berkas) }}" method="post" style="float: center;">
} @method('DELETE')
-View Berkas Permohonan PPK @csrf
@extends('backend.dashboard') <button class="border border-primary"
@section('title','Permohonan PPK') onclick="return confirm('Anda Yakin ingin Menghapus data
@section('content') ini?')"><i class="tombol-action" >Delete</i></button>
<!-- DataTales Example --> </form>
<div class="card shadow mb-4"> @endif
<div class="card-header py-3"> </td>
<h6 class="m-0 font-weight-bold text- </tr>
primary">@yield('title')</h6> <?php $no++; ?>
</div> @endforeach
<div class="card-body"> </tbody>
@if(session('role') == "Pemohon") </table>
<a href="{{ url('berkas/create') }}" class="btn btn-success </div>
btn-square" style="margin-bottom: 20px;background-color: </div>
orange;"> </div>
<i class="tombol-action" >+Tambah Permohonan</i> @endsection
</a> 5. Jadwal PPK
@endif -Jadwal Controller
<div class="table-responsive"> <?php
<table class="table table-bordered" id="dataTable"
width="100%" cellspacing="0"> namespace App\Http\Controllers;
<thead>
use Illuminate\Http\Request;
<tr> use Illuminate\Support\Facades\Auth;
<th>Nomor IPPR</th> use Illuminate\Support\Facades\Validator;
<th>Nama Pemohon</th> use Illuminate\Support\Facades\Hash;
<th>Tanggal IPPR</th> use Illuminate\Support\Facades\Session;
<th>Nomor Surat</th> use Illuminate\Support\Facades\File;
<th>Tanggal Surat</th> use Illuminate\Support\Facades\DB;
<th>Status</th> use Illuminate\Support\Facades\Mail;
<th>Action</th> use Illuminate\Validation\Rule;
</tr> use Illuminate\Foundation\Auth\AuthenticatesUsers;
</thead> use Haruncpi\LaravelIdGenerator\IdGenerator;
<tbody> use App\Notifications\NotifikasiWA;
<?php $no = 1; ?>
@foreach($berkas as $row) use Carbon\Carbon;
<tr>
<td>{{ $row->noippr }}</td> use App\Jadwal;
<td>{{ $row->_pemohon[0]->nm_pemohon }} a/nuse App\pemohon;
{{ $row->_pemohon[0]->nm_pt }}</td> use App\Berkas;
<td>{{ $row->tgl_ippr }}</td> use App\Weights;
<td>{{ $row->no_srt }}</td> use App\Activity_log;
<td>{{ $row->tgl_ippr }}</td> use App\User;
<td>{{ ($row->status_berkas == 0 ? "On Progress" :use App\Notifikasi;
"Done") }}</td> use App\Mail\EmailJadwal;
<td>
<button class="border border-primary" style="float:class JadwalController extends Controller
center;"><a href="berkas/{{ $row->id_berkas }}"> {
<i>Detail</i> /**
</a></button> * Display a listing of the resource.
<p></p> *
@if(session('role') == "Pemohon") * @return \Illuminate\Http\Response
<button class="border border-primary" style="float: */
center;"><a href="{{ URL::to('berkas/' . $row->id_berkas . '/edit') public function index()
}}"> {
<i class="tombol-action" >Edit</i> //
</a></button> //
<br> $jadwals = Jadwal::with('_berkas')
<p></p> ->where('jns_jadwal','=','1')
@endif ->orderBy('created_at','desc')->get();
@if(session('role') == "Biro PLH") return view('jadwal.jadwal_rapat',['jadwals'=>$jadwals]);
<button class="border border-primary" style="float: }
center;"><a href="{{ URL::to('berkas/' . $row->id_berkas . '/edit')
}}">
XLV
/** */
* Display a listing of the resource. public function store(Request $request)
* {
* @return \Illuminate\Http\Response
*/ //
public function ttd()
{ $validator = Validator::make($request->all(), [
'id_berkas' => 'required',
// 'jns_jadwal' => 'required',
// 'tgl_jadwal' => 'required',
'jam_jadwal' => 'required',
$jadwals = Jadwal::with('_berkas') 'ket_jadwal' => 'required|min:10',
->where('jns_jadwal','=','0')
->get(); ]);
if ($validator->fails()) {
return view('jadwal.jadwal_ttd',['jadwals'=>$jadwals]); return redirect()->back()->withErrors($validator)-
} >withInput();
/**
* Show the form for creating a new resource. }else{
*
* @return \Illuminate\Http\Response // $berkas = Berkas::select('*')
*/ // ->leftJoin('pemohons as
public function jdwl_pemohon() p','p.id_pemohon','=','berkas.id_pemohon')
{ // ->get();
// $berkas = Berkas::where('id_berkas',$request->id_berkas)-
>first();
$jadwals = Jadwal::select('*')
->leftJoin('pemohons as if($berkas){
p','p.id_pemohon','=','jadwals.id_pemohon') $jadwal = [
->where('id_user',session('id_user'))
->get(); 'id_jadwal' => IdGenerator::generate(['table' =>
// print_r($perbals->toArray()); 'jadwals','field'=>'id_jadwal', 'length' => 5, 'prefix'
return view('jadwal.jadwal_rapat',['jadwals'=>$jadwals]); =>'J','reset_on_prefix_change'=>'true']),
}
'id_pemohon' => $berkas ->id_pemohon,
/**
* Show the form for creating a new resource. 'id_berkas' => $berkas ->id_berkas,
*
* @return \Illuminate\Http\Response 'jns_jadwal' => $request ->jns_jadwal,
*/
public function ttd_pemohon() 'tgl_jadwal' => $request ->tgl_jadwal,
{
'jam_jadwal' => $request ->jam_jadwal,
//
'ket_jadwal' => $request ->ket_jadwal,
'status_jdwl' => 0,
];
$jadwal = Jadwal::create($jadwal);
$jadwals = Jadwal::select('*') // $jadwal = 1;
->leftJoin('pemohons as
p','p.id_pemohon','=','jadwals.id_pemohon') if($jadwal){
->where('id_user',session('id_user'))
->where('jns_jadwal','=','0') $pemohon = Jadwal::with('_pemohon')-
->get(); >where('id_jadwal',$jadwal->id_jadwal)->first();
// print_r($perbals->toArray());
$user = User::get();
return view('jadwal.jadwal_ttd',['jadwals'=>$jadwals]); foreach ($user as $usr) {
} # code...
/** if($usr->role == "Biro PLH" || $usr->role == "Biro
* Show the form for creating a new resource. Hukum" || $usr->role == "Biro Umum" || $usr->role == "Asbang
* LH"){
* @return \Illuminate\Http\Response $notif_jadwal = [
*/ 'id_notif' => IdGenerator::generate(['table' =>
public function create() 'notifS','field'=>'id_notif', 'length' => 5, 'prefix'
{ =>'N','reset_on_prefix_change'=>'true']),
//ambil data pemohon dengan menggunakan left join 'message' => "Selamat Pagi/Selamat
$pemohons = pemohon::select('*') Siang/Selamat Malam Jadwal baru atas nama ".$pemohon-
->leftJoin('berkas as>_pemohon[0]->nm_pt." telah dibuat, Mohon untuk dilihat dan
b','pemohons.id_pemohon','=','b.id_pemohon') jangan sampai terlambat. #Salam Biro Pembangunan dan
->get(); Lingkungan Hidup",
'send_to' => $usr->id_user,
return view('jadwal.add_jadwal',['pemohons'=>$pemohons]); 'status' => 0,
} ];
$success = Notifikasi::create($notif_jadwal);
/** }
* Store a newly created resource in storage. }
*}
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response //penerima notifikasi
XLVI
// $id_user = 'jns_jadwal' => $request->jns_jadwal,
pemohon::where('id_pemohon',$id_pemohon)->first()->id_user; 'tgl_jadwal' => $request->tgl_jadwal,
'jam_jadwal' => $request->jam_jadwal,
// dd($pemohon->_pemohon[0]->id_user); 'ket_jadwal' => $request->ket_jadwal,
$id_user = pemohon::where('id_pemohon',$pemohon-
>_pemohon[0]->id_pemohon)->first()->id_user;
$user = User::where('id_user',$id_user)->first(); ];
$user->notify(new NotifikasiWA($berkas,'Jadwal ppk')); $validation_value = [
$preview = new EmailJadwal($berkas); 'jns_jadwal' => 'required',
Mail::to($user->email)->send($preview); 'tgl_jadwal' => 'required',
'jam_jadwal' => 'required',
'ket_jadwal' => 'required|min:10',
];
return redirect('jadwal')->with('alert-success','Berhasil
menambah data.');
}else{
return redirect('jadwal/create')->with('alert','Gagal $validator = Validator::make($request-
menambah data.'); >all(),$validation_value);
}
}
} if ($validator->fails()) {
return redirect()->back()->withErrors($validator)-
/** >withInput();
* Display the specified resource. }
*
* @param int $id $berkas = Berkas::where('id_berkas',$request->id_berkas)-
* @return \Illuminate\Http\Response >first();
*/
public function show($id) $data = [
{
// 'jns_jadwal' => $request->jns_jadwal,
} 'tgl_jadwal' => $request->tgl_jadwal,
'jam_jadwal' => $request->jam_jadwal,
/** 'ket_jadwal' => $request->ket_jadwal,
* Show the form for editing the specified resource.
*
* @param int $id ];
* @return \Illuminate\Http\Response
*/ $data = Jadwal::where('id_jadwal',$id)->update($data);
public function edit($id)
{ if($data){
$jadwal = Berkas::select('*',)
->leftJoin('jadwals as // $jadwal = 1;
j','berkas.id_berkas','=','j.id_berkas')
->where('id_jadwal',$id) if($jadwal){
->get();
$pemohon = Jadwal::with('_pemohon')-
$berkas = pemohon::select('*',) >where('id_jadwal',$id)->first();
->leftJoin('berkas as
b','pemohons.id_pemohon','=','b.id_pemohon') $user = User::get();
->where('id_berkas',$id) foreach ($user as $usr) {
->get(); # code...
if($usr->role == "Biro PLH" || $usr->role == "Biro
Hukum" || $usr->role == "Biro Umum" || $usr->role == "Asbang
return view('jadwal.edit_jadwal',['jadwals'=>$jadwal,'berkas'LH"){
=> $berkas]); $notif_jadwal = [
'id_notif' => IdGenerator::generate(['table' =>
} 'notifS','field'=>'id_notif', 'length' => 5, 'prefix'
=>'N','reset_on_prefix_change'=>'true']),
/** 'message' => "Selamat Pagi/Selamat
* Update the specified resource in storage. Siang/Selamat Malam Ada Perubahan Jadwal atas nama
* ".$pemohon->_pemohon[0]->nm_pt." telah dibuat, Mohon untuk
* @param \Illuminate\Http\Request $request dilihat dan jangan sampai terlambat. #Salam Biro Pembangunan dan
* @param int $id Lingkungan Hidup",
* @return \Illuminate\Http\Response 'send_to' => $usr->id_user,
*/ 'status' => 0,
public function update(Request $request, $id) ];
{ $success = Notifikasi::create($notif_jadwal);
// }
$jadwal = Jadwal::where('id_jadwal',$id); }
// }
$data = [
XLVII
return redirect('jadwal/')->with('alert-success','Berhasil <h6 class="m-0 font-weight-bold text-
mengubah data.'); primary">@yield('title')</h6>
}else{ </div>
return redirect('jadwal/'.$id.'/edit')->with('alert','Gagal @if(session('role') == "Biro PLH")
mengubah data.'); <div class="card-body">
} <a href="{{ url('jadwal/create') }}" class="btn btn-success
btn-square" style="margin-bottom: 20px;background-color:
} orange;">
<i class="tombol-action" >+Tambah data</i>
/** </a>
* Remove the specified resource from storage. @endif
* <div class="table-responsive">
* @param int $id <table class="table table-bordered" id="dataTable"
* @return \Illuminate\Http\Response width="100%" cellspacing="0">
*/ <thead>
public function destroy(Request $request,$id)
{ <tr>
// delete <th>No</th>
$jadwal = Jadwal::where('id_jadwal',$id)->get()->first(); <th>Nomor IPPR</th>
<th>Nama Pemohon</th>
if($jadwal){ <th>Jenis Jadwal</th>
$jadwal->delete(); <th>tanggal</th>
<th>jam</th>
// $log = [ <th>Keterangan</th>
// 'id_log' => IdGenerator::generate(['table' => <!-- <th>status</th> -->
'activity_logs','field'=>'id_log', 'length' => 7, 'prefix'
=>'AL','reset_on_prefix_change'=>'true']), @if(session('role') == "Biro PLH")
// 'id_user' => session('id_user'), <th>Action</th>
// 'activity_name' => 'Delete the jadwal.', @endif
// 'ip_address' => $request->ip()
// ]; </tr>
</thead>
// Activity_log::create($log); <tbody>
<?php $no = 1; ?>
// redirect
Session::flash('message', 'Successfully deleted the Jadwal!'); @foreach($jadwals as $row)
return redirect('jadwal')->with('alert-success','Successfully <tr>
deleted the Jadwal!');
}else{ <td>{{ $no }}</td>
return redirect('jadwal')->with('alert-success','Data has been <td>{{ $row->_berkas->noippr }}</td>
deleted!'); <td>{{ $row->_pemohon[0]->nm_pemohon }} a/n {{
} $row->_pemohon[0]->nm_pt }}</td>
<td>{{ ($row->jns_jadwal == 0 ? "TTD PPK" :
} "Rapat") }}</td>
<td>{{ $row->tgl_jadwal }}</td>
public function jadwal_timeline() <td>{{ $row->jam_jadwal }}</td>
{ <td>{{ $row->ket_jadwal }}</td>
// <!-- <td>{{ ($row->status_jdwl == 0 ? "On Progress"
// : "Off Progress") }}</td> -->
$jadwal = Jadwal::select('*') @if(session('role') == "Biro PLH")
->leftJoin('berkas as <td>
b','b.id_berkas','=','jadwals.id_berkas') <button class="border border-primary" style="float:
->where('jns_jadwal','=','1') center;"><a href="{{ URL::to('jadwal/' . $row->id_jadwal . '/edit')
->get(); }}">
$berkas = Berkas::select('*') <i>edit</i>
->leftJoin('pemohons as </a></button>
p','p.id_pemohon','=','berkas.id_pemohon') <br>
->get(); <p></p>
$pemohon = pemohon::select('*') <form action="{{ URL::to('jadwal/'. $row-
->leftJoin('berkas as>id_jadwal) }}" method="post" style="float: center;">
b','pemohons.id_pemohon','=','b.id_pemohon') @method('DELETE')
->get(); @csrf
<button class="border border-primary"
return onclick="return confirm('Anda Yakin ingin Menghapus data
view('jadwal.jadwal_timeline',['jadwals'=>$jadwal,'berkas'=>$berk ini?')"><i>delete</i></button>
as,'pemohon'=>$pemohon]); </form>
@endif
} </td>
} </tr>
-View Jadwal Rapat <?php $no++; ?>
@extends('backend.dashboard') @endforeach
@section('title','Jadwal PPK') </tbody>
@section('content') </table>
<!-- DataTales Example --> </div>
<div class="card shadow mb-4"> </div>
<div class="card-header py-3"> </div>
XLVIII
</div> <button class="border border-primary"
</div> onclick="return confirm('Anda Yakin ingin Menghapus data
ini?')"><i>delete</i></button>
@endsection </form>
-View Jadwal TTD @endif
@extends('backend.dashboard') </td>
@section('title','Jadwal PPK') </tr>
@section('content') <?php $no++; ?>
<!-- DataTales Example --> @endforeach
<div class="card shadow mb-4"> </tbody>
<div class="card-header py-3"> </table>
<h6 class="m-0 font-weight-bold text- </div>
primary">@yield('title')</h6> </div>
</div> </div>
@if(session('role') == "Biro PLH") </div>
<div class="card-body"> </div>
<a href="{{ url('jadwal/create') }}" class="btn btn-success
btn-square" style="margin-bottom: 20px;background-color:@endsection
orange;"> 6. Perbal
<i class="tombol-action" >+Tambah data</i> -Perbal Controller
</a> <?php
@endif
<div class="table-responsive"> namespace App\Http\Controllers;
<table class="table table-bordered" id="dataTable"
width="100%" cellspacing="0"> use Illuminate\Http\Request;
<thead> use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Hash;
<tr> use Illuminate\Support\Facades\Session;
<th>No</th> use Illuminate\Support\Facades\File;
<th>Nomor IPPR</th> use Illuminate\Support\Facades\Mail;
<th>Nama Pemohon</th> use Illuminate\Validation\Rule;
<th>Jenis Jadwal</th> use Illuminate\Support\Facades\DB;
<th>tanggal</th> use Illuminate\Foundation\Auth\AuthenticatesUsers;
<th>jam</th> use Haruncpi\LaravelIdGenerator\IdGenerator;
<th>Keterangan</th> use App\Notifications\NotifikasiWA;
<!-- <th>status</th> -->
use Carbon\Carbon;
@if(session('role') == "Biro PLH")
<th>Action</th> use App\Berkas;
@endif use App\Perbal;
use App\Pemohon;
</tr> use App\Weights;
</thead> use App\Activity_log;
<tbody> use App\User;
<?php $no = 1; ?> use App\Notifikasi;
use App\Mail\EmailPerbal;
@foreach($jadwals as $row)
<tr> class PerbalController extends Controller
{
<td>{{ $no }}</td> /**
<td>{{ $row->_berkas->noippr }}</td> * Display a listing of the resource.
<td>{{ $row->_berkas->_pemohon[0]- *
>nm_pemohon }} a/n {{ $row->_berkas->_pemohon[0]->nm_pt * @return \Illuminate\Http\Response
}}</td> */
<td>{{ ($row->jns_jadwal == 0 ? "TTD PPK" : "TTD public function index()
PPK") }}</td> {
<td>{{ $row->tgl_jadwal }}</td> //
<td>{{ $row->jam_jadwal }}</td> $perbals = Perbal::with('_berkas')
<td>{{ $row->ket_jadwal }}</td> // ->where('verify_umum','=','0')
<!-- <td>{{ ($row->status_jdwl == 0 ? "On Progress" ->get();
: "Off Progress") }}</td> -->
@if(session('role') == "Biro PLH") // print_r($perbals->toArray());
<td>
<button class="border border-primary" style="float: return view('perbal.view_perbal',['perbals'=>$perbals]);
center;"><a href="{{ URL::to('jadwal/' . $row->id_jadwal . '/edit') }
}}">
<i>edit</i> /**
</a></button> * Show the form for creating a new resource.
<br> *
<p></p> * @return \Illuminate\Http\Response
<form action="{{ URL::to('jadwal/'. $row- */
>id_jadwal) }}" method="post" style="float: center;"> public function create()
@method('DELETE') {
@csrf
$pemohon = pemohon::select('*')
XLIX
->leftJoin('berkas as 'note_hukum' => 0,
b','pemohons.id_pemohon','=','b.id_pemohon') 'deadline_hkm' => $tgl_perbal->addDays(7),
->get(); 'verify_asbanglh' => 0,
'note_asbanglh' => 0,
return view('perbal.add_perbal',['pemohon'=>$pemohon]); 'deadline_asbanglh' => null,
} 'verify_umum' => 0,
'note_umum' => 0,
/** 'deadline_umum' => null,
* Store a newly created resource in storage.
* ];
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response $perbal= Perbal::create($perbal);
*/ // $perbal = 1;
public function store(Request $request)
{ if($perbal){
//
$validator = Validator::make($request->all(), [ $pemohon = Perbal::with('_pemohon')-
'no_perbal' => 'required|min:10|max:23|regex:/^[0->where('id_perbal',$perbal->id_perbal)->first();
9-]+$/u',
'tgl_perbal' => 'required', $user = User::get();
'objek' => 'required|min:8|regex:/^[a-zA-Z foreach ($user as $usr) {
]+$/u', # code...
'almt_objek' => 'required|min:10', if($usr->role == "Biro Hukum"){
'file_perbal' => 'required|mimes:pdf', $notif_hukum = [
// 'deadline_hkm' => 'required', 'id_notif' => IdGenerator::generate(['table' =>
// 'deadline_asbanglh' => 'required', 'notifS','field'=>'id_notif', 'length' => 5, 'prefix'
// 'deadline_umum' => 'required', =>'N','reset_on_prefix_change'=>'true']),
'message' => "Perbal baru atas nama
]); ".$pemohon->_pemohon[0]->nm_pt." telah dibuat, Mohon untuk
diverifikasi.",
if ($validator->fails()) { 'send_to' => $usr->id_user,
return redirect()->back()->withErrors($validator)- 'status' => 0,
>withInput(); ];
} $success = Notifikasi::create($notif_hukum);
}
// $users = User::where('id_user',session('id_user'))->first(); }
}
$berkas = Berkas::where('id_berkas',$request->id_berkas)- //penerima notifikasi
>first(); // $id_user =
pemohon::where('id_pemohon',$id_pemohon)->first()->id_user;
// dd($pemohon->_pemohon[0]->id_user);
if($berkas){ $id_user = pemohon::where('id_pemohon',$pemohon-
$destinationPath = public_path('admin/perbal/'); >_pemohon[0]->id_pemohon)->first()->id_user;
if (!is_dir($destinationPath)) { $user = User::where('id_user',$id_user)->first();
mkdir($destinationPath, 0775, true); $user->notify(new NotifikasiWA($berkas,'perbal ppk'));
}
$fperbal = $request ->file_perbal; $preview = new EmailPerbal($berkas);
Mail::to($user->email)->send($preview);
$namefperbal = "Perbal-".$berkas->noippr.'.'.$fperbal-
>getClientOriginalExtension();
return redirect('perbal')->with('alert-success','Berhasil
menambah data.');
$fperbal->move($destinationPath, $namefperbal); }else{
return redirect('perbal/create')->with('alert','Gagal
//acuan untuk deadline menambah data.');
$tgl_perbal = Carbon::createFromFormat('Y-m-d',$request- }
>tgl_perbal);
}
$perbal = [
'id_user' => session('id_user'), /**
'id_perbal' => IdGenerator::generate(['table' => * Display the specified resource.
'perbals','field'=>'id_perbal', 'length' => 5, 'prefix' *
=>'PR','reset_on_prefix_change'=>'true']), * @param \App\perbal $perbal
'id_pemohon' => $berkas ->id_pemohon, * @return \Illuminate\Http\Response
'id_berkas' => $berkas->id_berkas, */
'no_perbal' => $request->no_perbal, public function show($id)
'tgl_perbal' => $request->tgl_perbal, {
'objek' => $request->objek,
'almt_objek' => $request->almt_objek, $perbals = Perbal::with('_berkas')
'file_perbal' => $namefperbal, ->where('id_perbal',$id)
'status_perbal' => 0, ->get();
'verify_hukum' => 0,
L
// print_r($perbals->toArray());
return view('perbal.show_perbal',['perbals'=>$perbals]); $validator = Validator::make($request-
}
>all(),$validation_value);
/**
* Show the form for editing the specified resource. if ($validator->fails()) {
* return redirect()->back()->withErrors($validator)-
* @param int $id >withInput();
* @return \Illuminate\Http\Response }
*/
public function edit($id)
{
$perbal = Berkas::select('*',) $data = [
->leftJoin('perbals as 'no_perbal' => $request->no_perbal,
pr','berkas.id_berkas','=','pr.id_berkas') 'tgl_perbal' => $request->tgl_perbal,
->where('id_perbal',$id) 'objek' => $request->objek,
->get(); 'almt_objek' => $request->almt_objek,
'note_hukum' => $request->note_hukum,
$berkas = pemohon::select('*',) 'deadline_hkm' => $tgl_perbal->addDays(7),
->leftJoin('berkas as 'note_asbanglh' => $request->note_asbanglh,
b','pemohons.id_pemohon','=','b.id_pemohon') 'deadline_asbanglh' =>null,
->where('noippr',$id) 'note_umum' => $request->note_umum,
->get(); 'deadline_umum' => null,
'status_perbal' => $request->status_perbal,
return view('perbal.edit_perbal',['perbals' => $perbal,'berkas' 'verify_hukum' => 0,
=> $berkas]); 'verify_asbanglh' => 0,
'verify_umum' => 0,
} ];
/**
* Update the specified resource in storage. $destinationPath = public_path('admin/perbal/');
*
* @param \Illuminate\Http\Request $request $current_data = Perbal::where('id_perbal',$id)->first();
* @param int $id
* @return \Illuminate\Http\Response $berkas = Berkas::where('id_berkas',$current_data-
*/ >id_berkas)->first();
public function update(Request $request, $id)
{ if (!is_dir($destinationPath)) {
//acuan untuk deadline mkdir($destinationPath, 0775, true);
$tgl_perbal = Carbon::createFromFormat('Y-m-d',$request- }
>tgl_perbal);
if(!empty($request ->file_perbal)){
$perbal = Perbal::where('id_perbal',$id); $fperbal = $request ->file_perbal;
// $namefperbal = "Perbal-".$berkas->noippr.'.'.$fperbal-
$data = [ >getClientOriginalExtension();
'no_perbal' => $request->no_perbal, if (file_exists($destinationPath.$current_data->file_perbal))
'tgl_perbal' => $request->tgl_perbal, {
'objek' => $request->objek, unlink($destinationPath.$current_data->file_perbal);
'almt_objek' => $request->almt_objek, }
'file_perbal' => $request->file_perbal, $fperbal->move($destinationPath, $namefperbal);
'note_hukum' => $request->note_hukum,
'deadline_hkm' => $tgl_perbal->addDays(7), $data += [
'note_asbanglh' => $request->note_asbanglh, 'file_perbal' => $namefperbal
'deadline_asbanglh' => null, ];
'note_umum' => $request->note_umum, }
'deadline_umum' => null,
'status_perbal' => $request->status_perbal,
$data = Perbal::where('id_perbal',$id)->update($data);
];
if($data){
$validation_value = [
'no_perbal' => 'required|min:10|max:23|regex:/^[0- return redirect('perbal/')->with('alert-success','Berhasil
9-]+$/u', mengubah data.');
'tgl_perbal' => 'required', }else{
'objek' => 'required|min:8|regex:/^[a-zA-Z return redirect('perbal/'.$id.'/edit')->with('alert','Gagal
]+$/u', mengubah data.');
'almt_objek' => 'required|min:10', }
'note_hukum' => 'required',
// 'deadline_hkm' => 'required',
'note_asbanglh' => 'required', }
// 'deadline_asbanglh' => 'required',
'note_umum' => 'required', /**
// 'deadline_umum' => 'required', * Remove the specified resource from storage.
'status_perbal' => 'required', *
]; * @param int $id
* @return \Illuminate\Http\Response
LI
*/ public function perbal_timeline()
public function destroy(Request $request, $id) {
{ // delete
//
$perbal = Perbal::where('id_perbal',$id)->get()->first(); $perbals = Perbal::with('_berkas')
if($perbal){ ->where('verify_umum','=','0')
$perbal->delete(); ->get();
Session::flash('message', 'Successfully deleted the Perbal!'); // print_r($perbals->toArray());
return redirect('perbal')->with('alert-success','Successfully
deleted the perbal!'); return view('perbal.perbal_timeline',['perbals'=>$perbals]);
}else{ }
return redirect('perbal')->with('alert-success','Data has been
deleted!'); }
} -View Perbal
@extends('backend.dashboard')
} @section('title','Perbal')
@section('content')
public function verify(Request $request,$id) <!-- DataTales Example -->
{ <div class="card shadow mb-4">
$data = [ <div class="card-header py-3">
'verify_hukum' => 1, <h6 class="m-0 font-weight-bold text-
'verify_asbanglh' => 1, primary">@yield('title')</h6>
'verify_umum' => 1 </div>
]; <div class="card-body">
<a href="{{ url('perbal/create') }}" class="btn btn-success
$data = Perbal::where('id_perbal',$id)->update($data); btn-square" style="margin-bottom: 20px;background-color:
orange;">
if($data){ <i class="tombol-action" >+Tambah data</i>
return redirect('perbal')->with('alert-success','Berhasil </a>
mengubah data.'); <div class="table-responsive">
}else{ <table class="table table-bordered" id="dataTable"
return redirect('perbal')->with('alert','Gagal mengubahwidth="100%" cellspacing="0">
data.'); <thead>
}
} <tr>
<th>Nomor perbal</th>
public function cancel_verify(Request $request,$id) <th>Nama Pemohon</th>
{ <th>Tanggal</th>
<th>Objek Permohonan</th>
$data = [ <th>Status</th>
'verify_hukum' => 0, <th>Action</th>
'verify_asbanglh' => 0, </tr>
'verify_umum' => 0 </thead>
]; <tbody>
<?php $no = 1; ?>
$data = Perbal::where('id_perbal',$id)->update($data);
<tr>
if($data){ @foreach($perbals as $perbal)
return redirect('perbal')->with('alert-success','Berhasil <td>{{ $perbal->no_perbal }}</a></td>
mengubah data.'); <td>{{ $perbal->_berkas->_pemohon[0]-
}else{ >nm_pemohon }} a/n {{ $perbal->_berkas->_pemohon[0]->nm_pt
return redirect('perbal')->with('alert','Gagal mengubah}}</td>
data.'); <td>{{ $perbal->tgl_perbal }}</td>
} <td>{{ $perbal->objek }}</td>
} @if(session('role') == "Biro PLH")
<td>{{ ($perbal->status_perbal == 0 ? "On Progress"
public function reject_po(Request $request,$id) : ($perbal->status_perbal== 1 ? "Done" : "Off Progress")) }}</td>
{ @endif
@if(session('role') == "Biro Hukum")
$data = [ <td>{{ ($perbal->verify_hukum== 0 ? "on progress"
'verify_hukum' => 2, : ($perbal->verify_hukum== 1 ? "Accept" : "Decline")) }}</td>
'verify_asbanglh' => 2, @endif
'verify_umum' => 2 @if(session('role') == "Asbang LH")
]; <td>{{ ($perbal->verify_hukum== 0 ? "on progress"
: ($perbal->verify_hukum== 1 ? "Accept" : "Decline")) }}</td>
$data = Perbal::where('id_perbal',$id)->update($data); @endif
@if(session('role') == "Biro Umum")
if($data){ <td>{{ ($perbal->verify_hukum== 0 ? "on progress"
return redirect('perbal')->with('alert-success','Berhasil: ($perbal->verify_hukum== 1 ? "Accept" : "Decline")) }}</td>
mengubah data.'); @endif
}else{ <td>
return redirect('perbal')->with('alert','Gagal mengubah <button class="border border-primary" style="float:
data.'); center;"><a href="{{ URL::to('perbal/' . $perbal->id_perbal.
} '/show') }}">Detail</button>
} <br>
LII
<p></p> @endif
@endif
@if(session('role') == "Biro PLH") </div>
<button class="border border-primary" </form>
style="float: center;"><a href="{{ URL::to('perbal/' . $perbal- </td>
>id_perbal . '/edit') }}"> </tr>
<i>Edit</i> <?php $no++; ?>
</a></button> @endforeach
<br> </tbody>
<p></p> </table>
<form action="{{ URL::to('perbal/'. $perbal- </div>
>id_perbal) }}" method="post" style="float: center;"> </div>
@method('DELETE') </div>
@csrf @endsection
<button class="border border-primary"-Verifikasi Hukum
onclick="return confirm('Anda Yakin ingin Menghapus data<?php
ini?')"><i>Delete</i></button>
@endif namespace App\Http\Controllers;
<div class="perbal"> use Illuminate\Http\Request;
@if(session('role') == "Biro Hukum") use Illuminate\Support\Facades\Auth;
@if($perbal->verify_hukum==0) use Illuminate\Support\Facades\Validator;
<button class="border border-primary"use Illuminate\Support\Facades\Hash;
style="margin-bottom: 20px;" id="{{ $perbal->id_perbal }}"use Illuminate\Support\Facades\Session;
name="verify" use Illuminate\Support\Facades\File;
onclick="update_data(this.id,this.name)">Accept</button> use Illuminate\Support\Facades\Mail;
<button class="border border-primary"use Illuminate\Validation\Rule;
style="margin-bottom: 20px;" id="{{ $perbal->id_perbal }}"use Illuminate\Support\Facades\DB;
name="reject_po" onclick="update_data(this.id,this.name)"> use Illuminate\Foundation\Auth\AuthenticatesUsers;
<i aria-hidden="true">Decline</i> use Haruncpi\LaravelIdGenerator\IdGenerator;
</button> use App\Notifications\NotifikasiWA;
@elseif($perbal->verify_hukum==2) use Carbon\Carbon;
<button class="border border-primary"
style="margin-bottom: 20px;" id="{{ $perbal->id_perbal }}"use App\Berkas;
name="verify_cancel" use App\Perbal;
onclick="update_data(this.id,this.name)">Cancel</button> use App\Pemohon;
@endif use App\Weights;
@endif use App\Activity_log;
@if(session('role') == "Asbang LH") use App\User;
@if($perbal->verify_asbanglh==0) use App\Notifikasi;
<button class="border border-primary"use App\Mail\EmailHukum;
style="margin-bottom: 20px;" id="{{ $perbal->id_perbal }}"use App\Mail\EmailRejecthkm;
name="verify"
onclick="update_data(this.id,this.name)">Accept</button>
<button class="border border-primary"class HukumController extends Controller
style="margin-bottom: 20px;" id="{{ $perbal->id_perbal }}"{
name="reject_po" onclick="update_data(this.id,this.name)"> /**
<i aria-hidden="true">Decline</i> * Display a listing of the resource.
</button> *
* @return \Illuminate\Http\Response
@elseif($perbal->verify_asbanglh==2) */
<button class="border border-primary" public function index()
style="margin-bottom: 20px;" id="{{ $perbal->id_perbal }}" {
name="verify_cancel" //
onclick="update_data(this.id,this.name)">Cancel</button> $perbals = Perbal::with('_berkas')
@endif ->where('verify_hukum','=','0')
@endif ->orderBy('updated_at','desc')->get();
// print_r($perbals->toArray());
@if(session('role') == "Biro Umum")
@if($perbal->verify_umum==0) return view('hukum.verify_hukum',['perbals'=>$perbals]);
<button class="border border-primary" }
style="margin-bottom: 20px;" id="{{ $perbal->id_perbal }}"
name="verify" /**
onclick="update_data(this.id,this.name)">Accept</button> * Show the form for creating a new resource.
<button class="border border-primary" *
style="margin-bottom: 20px;" id="{{ $perbal->id_perbal }}" * @return \Illuminate\Http\Response
name="reject_po" onclick="update_data(this.id,this.name)"> */
<i aria-hidden="true">Decline</i> public function create()
</button> {
//
@elseif($perbal->verify_umum==2) }
<button class="border border-primary"
style="margin-bottom: 20px;" id="{{ $perbal->id_perbal }}" /**
name="verify_cancel" * Store a newly created resource in storage.
onclick="update_data(this.id,this.name)">>Cancel</button> *
LIII
* @param \Illuminate\Http\Request $request foreach ($user as $usr) {
* @return \Illuminate\Http\Response
*/ # code...
public function store(Request $request)
{ if($usr->role == "Asbang LH"){
// $pesan_asbanglh = [
}
'id_notif' => IdGenerator::generate(['table' =>
/**
* Display the specified resource. 'notifS','field'=>'id_notif', 'length' => 5, 'prefix'
*
* @param int $id =>'N','reset_on_prefix_change'=>'true']),
* @return \Illuminate\Http\Response
*/ 'message' => "Perbal atas nama ".$pemohon-
public function show($id)
{ >_pemohon[0]->nm_pt." telah di VERIFIKASI oleh Biro Hukum,
// Mohon untuk diperiksa lebih lanjut dan diverifikasi jika data sudah
}
sesuai.",
'send_to' => $usr->id_user,
'status' => 0,
];
$success = Notifikasi::create($pesan_asbanglh);
}
}
}
/** $id_user = pemohon::where('id_pemohon',$pemohon-
* Show the form for editing the specified resource. >_pemohon[0]->id_pemohon)->first()->id_user;
*
* @param int $id $user = User::where('id_user',$id_user)->first();
* @return \Illuminate\Http\Response
*/ $user->notify(new NotifikasiWA($pemohon,'Verifikasi
public function edit($id) hukum'));
{
$preview = new EmailHukum($pemohon);
//
}
/** Mail::to($user->email)->send($preview);
* Update the specified resource in storage.
* return redirect('hukum')->with('alert-success','Berhasil
* @param \Illuminate\Http\Request $request mengubah data.');
* @param int $id
* @return \Illuminate\Http\Response }else{
*/ return redirect('hukum')->with('alert','Gagal mengubah
public function update(Request $request, $id)
{ data.');
}
//
} }
/** public function cancel_verify_hkm(Request $request,$id)
* Remove the specified resource from storage. {
*
* @param int $id $data = [
* @return \Illuminate\Http\Response 'verify_hukum' => 0,
*/
public function destroy($id) ];
{
$data = Perbal::where('id_perbal',$id)->update($data);
//
} if($data){
public function verify_hkm(Request $request,$id) return redirect('hukum')->with('alert-success','Berhasil
{
mengubah data.');
$now = now();
}else{
$data = [
'verify_hukum' => 1, return redirect('hukum')->with('alert','Gagal mengubah
'deadline_asbanglh' => $now->addDays(7),
data.');
];
// $data = 1; }
$data = Perbal::where('id_perbal',$id)->update($data);
}
if($data){
public function reject_hkm(Request $request,$id)
{
$data = [
'note_hukum' => $request->note_hukum,
'verify_hukum' => 2,
'status_perbal' =>2,
];
if($data){
$pemohon = Perbal::with('_pemohon')- $data = Perbal::where('id_perbal',$id)->update($data);
if($data){
>where('id_perbal',$id)->first();
$pemohon = Perbal::with('_pemohon')-
$user = User::get(); >where('id_perbal',$id)->first();
LIV
$user = User::get(); use App\Activity_log;
use App\User;
foreach ($user as $usr) { use App\Notifikasi;
# code... use App\Mail\EmailAsbang;
if($usr->role == "Biro PLH"){ use App\Mail\EmailRejectasbang;
$pesan_plh = [
'id_notif' => IdGenerator::generate(['table' =>class AsbanglhController extends Controller
'notifS','field'=>'id_notif', 'length' => 5, 'prefix'{
=>'N','reset_on_prefix_change'=>'true']), /**
'message' => "Perbal atas nama ".$pemohon- * Display a listing of the resource.
>_pemohon[0]->nm_pt." telah di tolak oleh Biro Hukum, Mohon *
untuk diperiksa lebih lanjut dan diverifikasi jika data sudah sesuai.", * @return \Illuminate\Http\Response
'send_to' => $usr->id_user, */
'status' => 0, public function index()
]; {
$success = Notifikasi::create($pesan_plh); //
} $perbals = Perbal::with('_berkas')->where('status_perbal',0)-
} >where('verify_hukum',1)->where('verify_asbanglh',0)-
} >orderBy('updated_at','desc')->get();
$id_user = pemohon::where('id_pemohon',$pemohon- // print_r($perbals->toArray());
>_pemohon[0]->id_pemohon)->first()->id_user;
return view('asbanglh.verify_asbanglh',['perbals'=>$perbals]);
$user = User::where('id_user',$id_user)->first(); }
$user->notify(new NotifikasiWA($pemohon,'Verifikasi /**
Rejecthkm')); * Show the form for creating a new resource.
*
$preview = new EmailRejecthkm($pemohon); * @return \Illuminate\Http\Response
*/
Mail::to($user->email)->send($preview); public function create()
{
return redirect('hukum')->with('alert-success','Berhasil
mengubah data.'); //
}
}else{
return redirect('hukum')->with('alert','Gagal mengubah /**
* Store a newly created resource in storage.
data.'); *
} * @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
} */
public function hukum_timeline() public function store(Request $request)
{ {
// //
$perbals = Perbal::with('_berkas')->where('verify_hukum',0)- }
>get();
/**
// print_r($perbals->toArray()); * Display the specified resource.
*
return view('hukum.hukum_timeline',['perbals'=>$perbals]); * @param int $id
} * @return \Illuminate\Http\Response
} */
-Verifikasi Asbang LH public function show($id)
<?php {
namespace App\Http\Controllers; //
}
use Illuminate\Http\Request; /**
use Illuminate\Support\Facades\Auth; * Show the form for editing the specified resource.
use Illuminate\Support\Facades\Validator; *
use Illuminate\Support\Facades\Hash; * @param int $id
use Illuminate\Support\Facades\Session; * @return \Illuminate\Http\Response
use Illuminate\Support\Facades\File; */
use Illuminate\Validation\Rule; public function edit($id)
use Illuminate\Support\Facades\Mail; {
use Illuminate\Support\Facades\DB;
use Illuminate\Foundation\Auth\AuthenticatesUsers; //
use Haruncpi\LaravelIdGenerator\IdGenerator; }
use App\Notifications\NotifikasiWA;
/**
use Carbon\Carbon; * Update the specified resource in storage.
*
use App\Berkas; * @param \Illuminate\Http\Request $request
use App\Perbal; * @param int $id
use App\Pemohon; * @return \Illuminate\Http\Response
use App\Weights; */
public function update(Request $request, $id)
LV
{ $data = [
// 'verify_asbanglh' => 0,
} ];
/** $data = Perbal::where('id_perbal',$id)->update($data);
* Remove the specified resource from storage.
* if($data){
* @param int $id return redirect('asbanglh')->with('alert-success','Berhasil
* @return \Illuminate\Http\Response
*/ mengubah data.');
public function destroy($id) }else{
{ return redirect('asbanglh')->with('alert','Gagal mengubah
// data.');
} }
public function verify_lh(Request $request,$id)
{ }
$now = now(); public function reject_lh(Request $request,$id)
$data = [ {
'verify_asbanglh' => 1, $data = [
'deadline_umum' => $now->addDays(7)
]; 'note_asbanglh' => $request->note_asbanglh,
$data = Perbal::where('id_perbal',$id)->update($data); 'verify_asbanglh' => 2,
'status_perbal' => 2,
if($data){ ];
$pemohon = Perbal::with('_pemohon')- $data = Perbal::where('id_perbal',$id)->update($data);
>where('id_perbal',$id)->first();
if($data){
$user = User::get();
$pemohon = Perbal::with('_pemohon')-
foreach ($user as $usr) { >where('id_perbal',$id)->first();
# code...
if($usr->role == "Biro Umum"){ $user = User::get();
$pesan_umum = [
'id_notif' => IdGenerator::generate(['table' => foreach ($user as $usr) {
'notifS','field'=>'id_notif', 'length' => 5, 'prefix' # code...
=>'N','reset_on_prefix_change'=>'true']), if($usr->role == "Biro PLH"){
'message' => "Perbal atas nama ".$pemohon- $pesan_plh = [
>_pemohon[0]->nm_pt." telah di VERIFIKASI oleh Asbang LH, 'id_notif' => IdGenerator::generate(['table' =>
Mohon untuk diperiksa lebih lanjut dan diverifikasi jika data sudah'notifS','field'=>'id_notif', 'length' => 5, 'prefix'
sesuai.", =>'N','reset_on_prefix_change'=>'true']),
'send_to' => $usr->id_user, 'message' => "Perbal atas nama ".$pemohon-
'status' => 0, >_pemohon[0]->nm_pt." telah di tolak oleh Asbang LH, Mohon
]; untuk diperiksa lebih lanjut dan diverifikasi jika data sudah sesuai.",
$success = Notifikasi::create($pesan_umum); 'send_to' => $usr->id_user,
} 'status' => 0,
} ];
} $success = Notifikasi::create($pesan_plh);
}
}
$id_user = pemohon::where('id_pemohon',$pemohon- }
>_pemohon[0]->id_pemohon)->first()->id_user;
$user = User::where('id_user',$id_user)->first(); $id_user = pemohon::where('id_pemohon',$pemohon-
>_pemohon[0]->id_pemohon)->first()->id_user;
$user->notify(new NotifikasiWA($pemohon,'Verifikasi
asbanglh')); $user = User::where('id_user',$id_user)->first();
$preview = new EmailAsbang($pemohon); $user->notify(new NotifikasiWA($pemohon,'Verifikasi
Mail::to($user->email)->send($preview); Rejectasbang'));
$preview = new EmailRejectasbang($pemohon);
return redirect('asbanglh')->with('alert-success','Berhasil Mail::to($user->email)->send($preview);
mengubah data.');
}else{
return redirect('asbanglh')->with('alert','Gagal mengubah
data.'); return redirect('asbanglh')->with('alert-success','Berhasil
} mengubah data.');
} }else{
return redirect('asbanglh')->with('alert','Gagal mengubah
public function cancel_verify_lh(Request $request,$id) data.');
{}
}
LVI
public function asbanglh_timeline() {
{ //
// }
$perbals = Perbal::with('_berkas')->where('status_perbal',0)-
>where('verify_hukum',1)->get(); /**
* Display the specified resource.
// print_r($perbals->toArray()); *
* @param int $id
return view('asbanglh.asbang_timeline',['perbals'=>$perbals]); * @return \Illuminate\Http\Response
} */
} public function show($id)
-Verifikasi Umum {
<?php //
}
namespace App\Http\Controllers;
/**
use Illuminate\Http\Request; * Show the form for editing the specified resource.
use Illuminate\Support\Facades\Auth; *
use Illuminate\Support\Facades\Validator; * @param int $id
use Illuminate\Support\Facades\Hash; * @return \Illuminate\Http\Response
use Illuminate\Support\Facades\Session; */
use Illuminate\Support\Facades\File; public function edit($id)
use Illuminate\Validation\Rule; {
use Illuminate\Support\Facades\Mail; //
use Illuminate\Support\Facades\DB; }
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Haruncpi\LaravelIdGenerator\IdGenerator; /**
use App\Notifications\NotifikasiWA; * Update the specified resource in storage.
*
use Carbon\Carbon; * @param \Illuminate\Http\Request $request
* @param int $id
use App\Berkas; * @return \Illuminate\Http\Response
use App\Perbal; */
use App\Pemohon; public function update(Request $request, $id)
use App\Weights; {
use App\Activity_log; //
use App\User; }
use App\Notifikasi;
use App\Mail\EmailUmum; /**
use App\Mail\EmailRejectumum; * Remove the specified resource from storage.
*
class UmumController extends Controller * @param int $id
{ * @return \Illuminate\Http\Response
/** */
* Display a listing of the resource. public function destroy($id)
*{
* @return \Illuminate\Http\Response //
*/ }
public function index() public function verify_bu(Request $request,$id)
{{
// $data = [
$perbals = Perbal::with('_berkas')->where('status_perbal',0)- 'verify_umum' => 1,
>where('verify_asbanglh',1)->orderBy('updated_at','desc')->get(); 'status_perbal' =>1,
];
// print_r($perbals->toArray());
$data = Perbal::where('id_perbal',$id)->update($data);
return view('umum.verify_umum',['perbals'=>$perbals]);
} if($data){
$pemohon = Perbal::with('_pemohon')-
/** >where('id_perbal',$id)->first();
* Show the form for creating a new resource.
* $user = User::get();
* @return \Illuminate\Http\Response
*/ foreach ($user as $usr) {
public function create() # code...
{ if($usr->role == "Biro PLH"){
// $pesan_plh = [
} 'id_notif' => IdGenerator::generate(['table' =>
'notifS','field'=>'id_notif', 'length' => 5, 'prefix'
/** =>'N','reset_on_prefix_change'=>'true']),
* Store a newly created resource in storage. 'message' => "Perbal atas nama ".$pemohon-
* >_pemohon[0]->nm_pt." telah di VERIFIKASI oleh Biro Umum,
* @param \Illuminate\Http\Request $request Mohon untuk dibuatkan Draft PPK.",
* @return \Illuminate\Http\Response 'send_to' => $usr->id_user,
*/ 'status' => 0,
public function store(Request $request) ];
LVII
$success = Notifikasi::create($pesan_plh); 'id_notif' => IdGenerator::generate(['table' =>
} 'notifS','field'=>'id_notif', 'length' => 5, 'prefix'
} =>'N','reset_on_prefix_change'=>'true']),
} 'message' => "Perbal atas nama ".$pemohon-
>_pemohon[0]->nm_pt." telah di Tolak oleh Biro Umum, Mohon
untuk diperiksa lebih lanjut dan diverifikasi jika data sudah sesuai.",
$id_user = pemohon::where('id_pemohon',$pemohon- 'send_to' => $usr->id_user,
>_pemohon[0]->id_pemohon)->first()->id_user; 'status' => 0,
];
$user = User::where('id_user',$id_user)->first(); $success = Notifikasi::create($pesan_plh);
}
$user->notify(new NotifikasiWA($pemohon,'Verifikasi }
umum')); }
$preview = new EmailUmum($pemohon); $id_user = pemohon::where('id_pemohon',$pemohon-
Mail::to($user->email)->send($preview); >_pemohon[0]->id_pemohon)->first()->id_user;
$user = User::where('id_user',$id_user)->first();
return redirect('umum')->with('alert-success','Berhasil $user->notify(new NotifikasiWA($pemohon,'Verifikasi
mengubah data.'); Rejectumum'));
}else{
return redirect('umum')->with('alert','Gagal mengubah $preview = new EmailRejectumum($pemohon);
data.');
} Mail::to($user->email)->send($preview);
}
public function cancel_verify_bu(Request $request,$id) return redirect('umum')->with('alert-success','Berhasil
{
mengubah data.');
$data = [
'verify_umum' => 0, }else{
'status_perbal' => 0,
return redirect('umum')->with('alert','Gagal mengubah
];
data.');
$data = Perbal::where('id_perbal',$id)->update($data);
}
if($data){
}
public function umum_timeline()
{
//
$perbals = Perbal::with('_berkas')->where('status_perbal',0)-
>where('verify_asbanglh',1)->get();
return redirect('umum')->with('alert-success','Berhasil // print_r($perbals->toArray());
mengubah data.');
}else{ return view('umum.umum_timeline',['perbals'=>$perbals]);
return redirect('umum')->with('alert','Gagal mengubah }
data.'); }
}
} 7. Draft PPK
-Draft PPK Controller
public function reject_bu(Request $request,$id) <?php
{
namespace App\Http\Controllers;
$data = [
'note_umum' => $request->note_umum, use Illuminate\Http\Request;
'verify_umum' => 2, use Illuminate\Support\Facades\Auth;
'status_perbal' => 2, use Illuminate\Support\Facades\Validator;
]; use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Session;
$data = Perbal::where('id_perbal',$id)->update($data); use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\DB;
if($data){ use Illuminate\Support\Facades\Mail;
use Illuminate\Validation\Rule;
if($data){ use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Haruncpi\LaravelIdGenerator\IdGenerator;
$pemohon = Perbal::with('_pemohon')-use App\Notifications\NotifikasiWA;
>where('id_perbal',$id)->first();
use Carbon\Carbon;
$user = User::get();
use App\Draft_ppk;
foreach ($user as $usr) { use App\Berkas;
# code... use App\Perbal;
if($usr->role == "Biro PLH"){ use App\Pemohon;
$pesan_plh = [ use App\Weights;
use App\Activity_log;
use App\User;
LVIII
use App\Notifikasi; $berkas = Berkas::where('id_berkas',$request->id_berkas)-
use App\Mail\EmailDraft; >first();
class DraftppkController extends Controller if($berkas){
{ $destinationPath = public_path('admin/draft_ppk/');
/**
* Display a listing of the resource. if (!is_dir($destinationPath)) {
* mkdir($destinationPath, 0775, true);
* @return \Illuminate\Http\Response }
*/
public function index() $dppk = $request ->filedraft;
{
//
$id_user = auth()->user(); $namedppk = "Draft-PPK-".$berkas->noippr.'.'.$dppk-
$pemohon = Pemohon::where('id_user',$id_user->id_user)->getClientOriginalExtension();
>first();
if($id_user->role == 'Pemohon'){ $dppk->move($destinationPath, $namedppk);
$draft_ppks = Draft_ppk::with('_berkas')-
>where('id_pemohon',$pemohon->id_pemohon)-
>orderBy('created_at','desc')->get(); $draft_ppk = [
}else{ 'id_user' => session('id_user'),
$draft_ppks = Draft_ppk::with('_berkas')- 'id_draft' => IdGenerator::generate(['table' =>
>orderBy('created_at','desc')->get(); 'draft_ppks','field'=>'id_draft', 'length' => 5, 'prefix'
} =>'D','reset_on_prefix_change'=>'true']),
'id_pemohon' => $berkas ->id_pemohon,
'id_berkas' => $berkas->id_berkas,
// print_r($perbals->toArray()); 'tgl_draft' => $request->tgl_draft,
'filedraft' => $namedppk,
return view('draft.draft',['draft_ppks' => $draft_ppks]); 'status_draft' => 0,
} ];
/** $draft_ppk= Draft_ppk::create($draft_ppk);
* Show the form for creating a new resource.
* // $draft_ppk = 1;
* @return \Illuminate\Http\Response
*/ if($draft_ppk){
public function create()
{ $pemohon = Draft_ppk::with('_pemohon')-
// >where('id_draft',$draft_ppk->id_draft)->first();
$pemohon = pemohon::select('*')
->leftJoin('berkas as $user = User::get();
b','pemohons.id_pemohon','=','b.id_pemohon') foreach ($user as $usr) {
->get(); # code...
if($usr->role == "Pemohon"){
$notif_draft = [
return view('draft.add_draft',['pemohon'=>$pemohon]); 'id_notif' => IdGenerator::generate(['table' =>
} 'notifS','field'=>'id_notif', 'length' => 5, 'prefix'
=>'N','reset_on_prefix_change'=>'true']),
/** 'message' => "Selamat Pagi/Selamat Siang
* Store a newly created resource in storage. Draft PPK atas nama ".$pemohon->_pemohon[0]->nm_pt." telah
* dibuat, Mohon untuk diperiksa dan dicetak #Salam Biro
* @param \Illuminate\Http\Request $request Pembangunan dan Lingkungan Hidup.",
* @return \Illuminate\Http\Response 'send_to' => $usr->id_user,
*/ 'status' => 0,
public function store(Request $request) ];
{ $success = Notifikasi::create($notif_draft);
// }
$validator = Validator::make($request->all(), [ }
}
'tgl_draft' => 'required',
'filedraft' => 'required|mimes:pdf', //penerima notifikasi
// $id_user =
]); pemohon::where('id_pemohon',$id_pemohon)->first()->id_user;
// dd($pemohon->_pemohon[0]->id_user);
if ($validator->fails()) { $id_user = pemohon::where('id_pemohon',$pemohon-
return redirect()->back()->withErrors($validator)->_pemohon[0]->id_pemohon)->first()->id_user;
>withInput();
} $user = User::where('id_user',$id_user)->first();
// $users = User::where('id_user',session('id_user'))->first(); $user->notify(new NotifikasiWA($berkas,'draft ppk'));
$preview = new EmailDraft($berkas);
LIX
Mail::to($user->email)->send($preview); return view('draft.draft_timeline',['draft_ppks' =>
$draft_ppks]);
return redirect('draft')->with('alert-success','Berhasil
menambah data.'); }
}else{
return redirect('draft/create')->with('alert','Gagal
menambah data.'); }
} -View Draft PPK
} @extends('backend.dashboard')
@section('title','Draft PPK')
/** @section('content')
* Display the specified resource. <!-- DataTales Example -->
* <div class="card shadow mb-4">
* @param int $id <div class="card-header py-3">
* @return \Illuminate\Http\Response <h6 class="m-0 font-weight-bold text-
*/ primary">@yield('title')</h6>
public function show($id) </div>
{ <div class="card-body">
// @if(session('role') == "Biro PLH")
} <a href="{{ url('draft/create') }}" class="btn btn-success
btn-square" style="margin-bottom: 20px;background-color:
/** orange;">
* Show the form for editing the specified resource. <i class="tombol-action" >+Tambah data</i>
* </a>
* @param int $id @endif
* @return \Illuminate\Http\Response <div class="table-responsive">
*/ <table class="table table-bordered" id="dataTable"
public function edit($id) width="100%" cellspacing="0">
{ <thead>
//
} <tr>
<th>Nomor Draft PPK</th>
/** <th>Nomor IPPR</th>
* Update the specified resource in storage. <th>Nama Pemohon</th>
* <th>Tanggal Draft PPK</th>
* @param \Illuminate\Http\Request $request <th>File Draft PPK</th>
* @param int $id <th>Action</th>
* @return \Illuminate\Http\Response </tr>
*/ </thead>
public function update(Request $request, $id) <tbody>
{ <?php $no = 1; ?>
// @foreach($draft_ppks as $row)
} <tr>
/** <td>{{ $row->id_draft }}</td>
* Remove the specified resource from storage. <td>{{ $row->_berkas->noippr }}</td>
* <td>{{ $row->_berkas->_pemohon[0]-
* @param int $id >nm_pemohon }} a/n {{ $row->_berkas->_pemohon[0]->nm_pt
* @return \Illuminate\Http\Response }}</td>
*/ <td>{{ $row->tgl_draft }}</td>
public function destroy(Request $request,$id) <td>{{ $row->filedraft }}</td>
{
// delete <td>
$draft_ppk = Draft_ppk::where('id_draft',$id)->get()->first(); <a href="{{ ('admin/draft_ppk/'. $row->filedraft) }}
" class="badge badge-info"><i>Download </i></a>
if($draft_ppk){ @if(session('role') == "Biro PLH")
$draft_ppk->delete(); <form action="{{ URL::to('draft/'. $row->id_draft)
}}" method="post" style="float: center;">
Session::flash('message', 'Successfully deleted the @method('DELETE')
persyaratan!'); @csrf
return redirect('draft')->with('alert-success','Successfully <button class="badge badge-info" onclick="return
deleted the draft ppk!'); confirm('Are you sure want to delete this data?')"><i class="tombol-
}else{ action" >Delete</i></button>
return redirect('draft')->with('alert-success','Data has been </form>
deleted!'); @endif
} </td>
</tr>
} <?php $no++; ?>
@endforeach
public function draft_timeline() </tbody>
{
// </table>
$draft_ppks = Draft_ppk::with('_berkas')->get(); </div>
</div>
// print_r($perbals->toArray()); </div>
@endsection
LX
8. Minuta notaris ]);
-Notaris Controller
<?php if ($validator->fails()) {
namespace App\Http\Controllers; return redirect()->back()->withErrors($validator)-
use Illuminate\Http\Request; >withInput();
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Validator; }
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Session; // $users = User::where('id_user',session('id_user'))->first();
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\DB; $berkas = Berkas::where('id_berkas',$request->id_berkas)-
use Illuminate\Support\Facades\Mail; >first();
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Haruncpi\LaravelIdGenerator\IdGenerator; if($berkas){
use Illuminate\Validation\Rule; $destinationPath = public_path('admin/Minuta-Notaris/');
use App\Notifications\NotifikasiWA;
if (!is_dir($destinationPath)) {
use Carbon\Carbon; mkdir($destinationPath, 0775, true);
}
use App\Notaris; $mn = $request ->minuta;
use App\Berkas;
use App\Pemohon;
use App\Weights; $namemn = "Minuta-Notaris-".$berkas->noippr.'.'.$mn-
use App\Activity_log; >getClientOriginalExtension();
use App\User;
use App\Notifikasi;
use App\Mail\EmailNotaris; $mn->move($destinationPath, $namemn);
use App\Mail\EmailAcceptnotaris;
use App\Mail\EmailRejectnotaris;
$Notaris = [
class NotarisController extends Controller
{ 'id_notaris' => IdGenerator::generate(['table' =>
/** 'notaris','field'=>'id_notaris', 'length' => 5, 'prefix'
* Display a listing of the resource. =>'MN','reset_on_prefix_change'=>'true']),
* 'id_pemohon' => $berkas ->id_pemohon,
* @return \Illuminate\Http\Response 'id_berkas' => $berkas->id_berkas,
*/ 'minuta' => $namemn,
public function index() 'status_notaris' => 0,
{
// ];
$Notaris = Notaris::orderBy('created_at','desc')->get();
$Notaris= Notaris::create($Notaris);
return view('notaris.notaris',['notaris' => $Notaris]); // $notaris = 1;
}
if($Notaris){
/**
* Show the form for creating a new resource. $pemohon = Notaris::with('_pemohon')-
* >where('id_notaris',$Notaris->id_notaris)->first();
* @return \Illuminate\Http\Response
*/ $user = User::get();
public function create() foreach ($user as $usr) {
{ # code...
// if($usr->role == "Biro PLH"){
$pemohon = pemohon::select('*') $notif_notaris = [
->leftJoin('berkas as 'id_notif' => IdGenerator::generate(['table' =>
b','pemohons.id_pemohon','=','b.id_pemohon') 'notifS','field'=>'id_notif', 'length' => 5, 'prefix'
->get(); =>'N','reset_on_prefix_change'=>'true']),
return view('notaris.add_notaris',['pemohon'=>$pemohon]); 'message' => "Minuta Notaris atas nama
} ".$pemohon->_pemohon[0]->nm_pt." telah dibuat, Mohon untuk
diperiksa dan dicetak #Salam Biro Pembangunan dan Lingkungan
/** Hidup.",
* Store a newly created resource in storage. 'send_to' => $usr->id_user,
* 'status' => 0,
* @param \Illuminate\Http\Request $request ];
* @return \Illuminate\Http\Response $success = Notifikasi::create($notif_notaris);
*/ }
public function store(Request $request) }
{}
// //penerima notifikasi
$validator = Validator::make($request->all(), [ // $id_user =
pemohon::where('id_pemohon',$id_pemohon)->first()->id_user;
'minuta' => 'required|mimes:pdf', // dd($pemohon->_pemohon[0]->id_user);
LXI
$id_user = pemohon::where('id_pemohon',$pemohon- }
>_pemohon[0]->id_pemohon)->first()->id_user; }
public function notaris_timeline()
$user = User::where('id_user',$id_user)->first(); {
$user->notify(new NotifikasiWA($berkas,'mnotaris')); //
$Notaris = Notaris::get();
$preview = new EmailNotaris($berkas); return view('notaris.notaris_timeline',['notaris' => $Notaris]);
Mail::to($user->email)->send($preview); }
return redirect('notaris')->with('alert-success','Berhasil public function verify_notaris(Request $request,$id)
{
menambah data.');
// $now = now();
}else{
$data = [
return redirect('notaris/create')->with('alert','Gagal 'status_notaris' => 1,
menambah data.'); ];
// $data = 1;
} $data = Notaris::where('id_notaris',$id)->update($data);
}
/** if($data){
* Display the specified resource.
* $pemohon = Notaris::with('_pemohon')-
* @param int $id
* @return \Illuminate\Http\Response >where('id_notaris',$id)->first();
*/
public function show($id) $user = User::get();
{
foreach ($user as $usr) {
//
} # code...
/** if($usr->role == "Pemohon"){
* Show the form for editing the specified resource.
* $pesan_pemohonnota = [
* @param int $id
* @return \Illuminate\Http\Response 'id_notif' => IdGenerator::generate(['table' =>
*/
public function edit($id) 'notifS','field'=>'id_notif', 'length' => 5, 'prefix'
{
=>'N','reset_on_prefix_change'=>'true']),
//
} 'message' => "Minuta Notaris atas nama
/** ".$pemohon->_pemohon[0]->nm_pt." telah di VERIFIKASI oleh
* Update the specified resource in storage.
* Biro PLH, Mohon menunggu untuk tahap berikutnya.",
* @param \Illuminate\Http\Request $request
* @param int $id 'send_to' => $usr->id_user,
* @return \Illuminate\Http\Response
*/ 'status' => 0,
public function update(Request $request, $id)
{ ];
// $success = Notifikasi::create($pesan_pemohonnota);
}
}
/**
* Remove the specified resource from storage. }
*
* @param int $id }
* @return \Illuminate\Http\Response
*/ $id_user = pemohon::where('id_pemohon',$pemohon-
public function destroy(Request $request, $id) >_pemohon[0]->id_pemohon)->first()->id_user;
{
// delete $user = User::where('id_user',$id_user)->first();
$notaris = Notaris::where('id_notaris',$id)->get()->first(); $user->notify(new NotifikasiWA($pemohon,'Verifikasi
Minuta Notaris'));
$preview = new EmailAcceptnotaris($pemohon);
Mail::to($user->email)->send($preview);
return redirect('notaris')->with('alert-success','Berhasil
mengubah data.');
}else{
return redirect('notaris')->with('alert','Gagal mengubah
data.');
}
}
if($notaris){ public function reject_notaris(Request $request,$id)
$notaris->delete(); {
Session::flash('message', 'Successfully deleted the Perbal!'); $data = [
return redirect('notaris')->with('alert-success','Successfully 'status_notaris' =>2,
deleted the notaris!');
}else{ ];
return redirect('notaris')->with('alert-success','Data has been
deleted!');
LXII
<th>Nama Pemohon</th>
$data = Notaris::where('id_notaris',$id)->update($data); <th>Minuta Notaris</th>
<th>Action</th>
if($data){ </tr>
$pemohon = Notaris::with('_pemohon')- </thead>
>where('id_notaris',$id)->first(); <tbody>
<?php $no = 1; ?>
$user = User::get(); @foreach($notaris as $row)
<tr>
foreach ($user as $usr) { <td>{{ $no }}</td>
# code... <td><a href="berkas/{{ $row->_berkas->id_berkas
if($usr->role == "Pemohon"){ }}">{{ $row->_berkas->_pemohon[0]->nm_pemohon }} a/n {{
$pesan_pemohonnotareject = [ $row->_berkas->_pemohon[0]->nm_pt }}</a></td>
'id_notif' => IdGenerator::generate(['table' => <td>{{ $row->minuta }}</td>
'notifS','field'=>'id_notif', 'length' => 5, 'prefix'
=>'N','reset_on_prefix_change'=>'true']), <td>
'message' => "Minuta Notaris atas nama <a href="{{ ('admin/Minuta-Notaris/'. $row-
".$pemohon->_pemohon[0]->nm_pt." telah di tolak oleh Biro PLH,>minuta) }} " class="border border-primary"><i>Download
Mohon untuk diperiksa lebih lanjut dan mohon di upload kembali</i></a>
minuta notaris jika data sudah sesuai.", <br><p></p>
'send_to' => $usr->id_user, <form action="{{ URL::to('notaris/'. $row-
'status' => 0, >id_notaris) }}" method="post" style="float: center;">
]; @method('DELETE')
$success = @csrf
Notifikasi::create($pesan_pemohonnotareject); <button class="border border-primary"
} onclick="return confirm('Anda Yakin ingin Menghapus data
} ini?')"><i>Delete</i></button>
} <br><p></p>
@if(session('role')=='Biro PLH')
@if($row->status_notaris==0)
$id_user = pemohon::where('id_pemohon',$pemohon- <a class="btn border border-primary"
>_pemohon[0]->id_pemohon)->first()->id_user; style="margin-bottom: 20px;" id="{{ $row->id_notaris }}"
name="verify_notaris"
$user = User::where('id_user',$id_user)->first(); onclick="update_data(this.id,this.name)">Accept</a>
<br>
$user->notify(new NotifikasiWA($pemohon,'Verifikasi <a href="#" class="btn border border-primary"
Rejectnotaris')); style="margin-bottom: 20px;" id="{{ $row->id_notaris }}"
name="reject_notaris" onclick="update_data(this.id,this.name)">
$preview = new EmailRejectnotaris($pemohon); <i aria-hidden="true">Decline</i>
</a>
Mail::to($user->email)->send($preview);
</div>
@endif
return redirect('notaris')->with('alert-success','Berhasil @endif
mengubah data.'); </form>
}else{ </td>
return redirect('notaris')->with('alert','Gagal mengubah </tr>
data.'); <?php $no++; ?>
} @endforeach
} </tbody>
}
-View Notaris </table>
@extends('backend.dashboard') </div>
@section('title','Minuta Notaris') </div>
@section('content') </div>
<!-- DataTales Example --> @endsection
<div class="card shadow mb-4"> 9. Laporan
<div class="card-header py-3"> -Laporan Controller
<h6 class="m-0 font-weight-bold text-<?php
primary">@yield('title')</h6>
</div> namespace App\Http\Controllers;
<div class="card-body">
@if(session('role') == "Pemohon") use Illuminate\Http\Request;
<a href="{{ url('notaris/create') }}" class="btn btn-successuse Illuminate\Support\Facades\DB;
btn-square" style="margin-bottom: 20px;background-color:use App\Berkas;
orange;"> use App\pemohon;
<i class="tombol-action" >+Tambah data</i> use App\Perbal;
</a> use App\Laporan;
@endif use PDF;
<div class="table-responsive"> use Dompdf\Dompdf;
<table class="table table-bordered" id="dataTable"use Dompdf\Options;
width="100%" cellspacing="0">
<thead>
class LaporanController extends Controller
<tr> {
<th>No</th>
LXIII
public function index() <div class="col">
{ <div class="text-left">
// <p style="font-size:80%;">DATE: {{ NOW()-
$berkas = Berkas::with('_pemohon')->get(); >format('Y-m-d') }} </p> <br>
$perbals = Perbal::with('_berkas') </div>
->get(); </div>
</div>
</div>
return view('laporan.laporan',['berkas' => $berkas,'perbals' =>
$perbals]); <hr>
} <p style="font-size:80%;">Laporan Berkas
Permohonan PPK :</p>
// <div class="card-body">
public function cetak_pdf(){ <div class="table-responsive">
// dd(public_path('admin/img/logo.png')); <table class="table table-bordered"
$options = new Options(); id="dataTable" width="100%" cellspacing="0">
$options->set('isRemoteEnabled', TRUE); <thead>
$dompdf = new Dompdf($options);
$contxt = stream_context_create([ <tr style="font-size:70%;">
'ssl' => [ <th>No</th>
'verify_peer' => FALSE, <th>Nomor IPPR</th>
'verify_peer_name' => FALSE, <th>Nama Pemohon</th>
'allow_self_signed'=> TRUE <th>Tanggal IPPR</th>
] <th>Nomor Surat</th>
]); <th>Keterangan Permohonan</th>
$dompdf->setHttpContext($contxt); <th>Status</th>
</tr>
$laporan = Laporan::get(); </thead>
$berkas = Berkas::with('_pemohon')->get(); <tbody>
$perbals = Perbal::with('_berkas') <?php $no = 1; ?>
->get(); @foreach($berkas as $row)
// dd($size,$detail_data); <tr style="font-size:70%;">
$pdf = <td>{{ $no }}</td>
PDF::loadview('laporan.view_laporan',['berkas'=>$berkas,'perbals' <td>{{ $row->noippr }}</td>
=>$perbals]); <td>{{ $row->_pemohon[0]-
return $pdf->stream(); >nm_pemohon }} a/n {{ $row->_pemohon[0]->nm_pt }}</td>
// $date = date('d-m-Y'); <td>{{ $row->tgl_ippr }}</td>
// return $pdf->download('view_laporan-'.$berkas->noippr.'- <td>{{ $row->no_srt }}</td>
'.$date.'.pdf'); <td>{{ $row->_pemohon[0]-
} >ket_permohonan }}</td>
} <td>{{ ($row->status_berkas == 0 ?
-View Laporan "On Progress" : ($row->status_berkas== 1 ? "Done" : "Off
<!DOCTYPE html> Progress")) }}</td>
<html> </tr>
<head> </tr>
<title>Laporan Berkas Permohonan PPK</title> <?php $no++; ?>
</style> @endforeach
</tbody>
</head> </table>
<body> </div>
<div class="container"> <div class="row">
<div class="col-md-12">
<div class="row"> <div class="panel panel-default">
<div class="col-xs-12"> <div class="panel-heading">
<div class="text-left"> <hr>
<div class="row"> <p style="font-
<div class="col-8"> size:80%;">Laporan Perbal PPK :</p>
<h4>Biro Pembangunan dan Lingkungan <div class="table-responsive">
Hidup</h4> <table class="table table-
<!-- <h2>We Support Your Style</h2> --> bordered" id="dataTable" width="100%" cellspacing="0">
<p style="font-size:80%;">Jl. Medan Merdeka <thead>
Selatan No.8-9 Blok F Lt.2,<br>
Jakarta, Indonesia <br> <tr style="font-
Telepon : +62 21 382 3252 / 382 3361 Email :size:70%;">
[email protected] </p> <th>No</th>
</div> <th>Nomor
perbal</th>
<th>Nama
<div class="col-20"> Pemohon</th>
<div class="ml-8 float-right text-right"> <th>Tanggal
<img src="{{ public_path('admin/img/logo.png')perbal</th>
}}" alt="logo" width="50px" height="50px"> <th>Verifikasi Biro
</div> Hukum</th>
</div> <th>Verifikasi Asbang
</div> LH</th>
<div class="row">
LXIV
<th>Verifikasi Biro
Umum</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<?php $no = 1; ?>
@foreach($perbals as
$perbal)
<tr style="font-
size:70%;">
<td>{{ $no }}</td>
<td>{{ $perbal-
>no_perbal }}</a></td>
<td>{{ $perbal-
>_berkas->_pemohon[0]->nm_pemohon }}</td>
<td>{{ $perbal-
>tgl_perbal }}</td>
<td>{{ ($perbal-
>verify_hukum== 0 ? "on progress" : ($perbal->verify_hukum== 1
? "Accept" : "Decline")) }}</td>
<td>{{ ($perbal-
>verify_asbanglh== 0 ? "on progress" : ($perbal-
>verify_asbanglh== 1 ? "Accept" : "Decline")) }}</td>
<td>{{ ($perbal-
>verify_umum== 0 ? "on progress" : ($perbal->verify_umum== 1
? "Accept" : "Decline")) }}</td>
<td>{{ ($perbal-
>status_perbal == 0 ? "On Progress" : ($perbal->status_perbal== 1
? "Done" : "Off Progress")) }}</td>
</tr>
<?php $no++; ?>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col">
<div class="blog-post">
<div class="text-left" style="font-
size:80%;">
Hormat kami, <br><br>
<p><b style="font-
size:80%;">Biro Pembangunan Lingkungan Hidup.</br></p>
</div>
</div><!-- /.blog-post -->
</div>
</div>
<div class="page-break"></div>
LXV