<?php
namespace App\Http\Controllers;
use App\Imports\DataKabupatenImport;
use App\Models\Kabupaten;
use App\Models\UserLog;
use Exception;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Session;
use Maatwebsite\Excel\Facades\Excel;
class KabupatenController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$title = "Kabupaten";
$link = "kabupaten";
$parent = "Master Data";
$s = '';
$page = 1;
if(isset($_GET['s'])){
$s = $_GET['s'];
}
if(isset($_GET['page'])){
$page = $_GET['page'];
}
// $datas = Kabupaten::with('kelurahans')->where('nama_kecamatan','like','%'.$s.'%')->orderBy('created_at','DESC')->paginate(10);
$datas = Kabupaten::paginate(10);
$datas->appends($_GET);
$no = 1*$page*10-10+1;
// return view('kecamatan.index',compact('title','kecamatan','parent','link','datas','no'));
return view('kabupaten.index',compact('title','parent','link','datas','no'));
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
$title = "Tambah Data Kabupaten";
$link = "kabupaten";
$parent = "kabupaten";
// return view('kecamatan.create',compact('title','kecamatan','parent','link'));
return view('kabupaten.create',compact('title','parent','link'));
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
try {
$request->validate([
'nama_kabupaten' => 'required|unique:kabupatens|max:255|string',
]);
// dd(Kabupaten::get());
$data = new Kabupaten;
$data->nama_kabupaten = $request->nama_kabupaten;
$data->save();
$msg = 'Berhasil menambah data kabupaten '.$data->nama_kabupaten;
UserLog::create(['user_id'=>Auth::user()->id,'keterangan'=>$msg]);
return redirect('kabupaten')->with('success_message', $msg);
} catch (Exception $e) {
return redirect('kabupaten')->with('error_message', "Gagal di tambah");
}
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
$title = "Edit Data Kabupaten";
$link = "kabupaten";
$parent = "kabupaten";
$data = Kabupaten::find($id);
// return view('kecamatan.edit',compact('title','kecamatan','parent','link','data'));
return view('kabupaten.edit',compact('title','parent','link','data'));
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
$data = Kabupaten::find($id);
$data->nama_kabupaten = $request->nama_kabupaten;
$data->save();
$msg = 'Berhasil mengubah data kabupaten '.$data->nama_kabupaten;
UserLog::create(['user_id'=>Auth::user()->id,'keterangan'=>$msg]);
return redirect('kabupaten')->with('success_message', $msg);
}
public function importView()
{
// dd("Test");
$title = "Import Data Kabupaten";
$link = "kabupaten";
$parent = "Data Kabupaten";
$warnings = Session::get('alert_import',[]);
return view('kabupaten.import',compact('title','parent','link','warnings'));
}
public function import(Request $request)
{
Session::put('alert_import',[]);
Excel::import(new DataKabupatenImport,request()->file('file'));
$msg = 'Berhasil mengimport data excel dengan nama '.$request->file->getClientOriginalName();
UserLog::create(['user_id'=>Auth::user()->id,'keterangan'=>$msg]);
return redirect('kabupaten/import')->with('success_message', $msg);
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
try {
$data = Kabupaten::find($id);
if(count($data->kecamatans) > 0){
return redirect('kabupaten')->with('error_message', "Data tidak bisa di hapus.masih ada kecamatan yang menggunakan kabupaten ini");
}
$data->delete();
$msg = 'Berhasil menghapus data kabupaten '.$data->nama_kelurahan;
UserLog::create(['user_id'=>Auth::user()->id,'keterangan'=>$msg]);
return redirect('kabupaten')->with('success_message', $msg);
} catch (Exception $e) {
return redirect('kabupaten')->with('error_message', "Gagal dihapus");
}
}
}
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]