Files
sidata/app/Http/Controllers/Admin/MstSatuanController.php
T

100 lines
2.9 KiB
PHP

<?php
namespace App\Http\Controllers\Admin;
use App\Models\UnitSatuan as MstSatuan;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
class MstSatuanController extends Controller
{
public function __construct(){
$this->siteTitle = "Master Satuan";
parent::__construct();
}
public function index()
{
$data = null;
// $data = User::where('role_name', "<>", "superadmin")->latest()->paginate(10);
return view('admin.mst_satuan.index',compact('data'))
->with('i', (request()->input('page', 1) - 1) * 10);
}
public function create()
{
$this->setSubtitle("Tambah Data");
return view('admin.mst_satuan.create');
}
public function store(Request $request)
{
$request->validate([
'name' => 'required',
]);
$req = $request->all();
MstSatuan::where("nama_satuan", $req["name"])->delete();
$data["nama_satuan"] = $req["name"];
MstSatuan::create($data);
return redirect("/admin/MstSatuan")->with('success','Data Satuan berhasil dibuat.');
}
public function show(MstSatuan $MstSatuan)
{
$SubSatuanBelanja = MstSubSatuanBelanja::where("id_Satuan_belanja",$MstSatuan->id)->get();
$this->setSubtitle("Detail Satuan");
return view('admin.mst_satuan.show',compact('MstSatuan','SubSatuanBelanja'));
}
public function edit(MstSatuan $MstSatuan)
{
$this->setSubtitle("Ubah Data");
return view('admin.mst_satuan.edit',compact('MstSatuan'));
}
public function update(Request $request, MstSatuan $MstSatuan)
{
$request->validate([
'name' => 'required',
]);
$req = $request->all();
$data["nama_satuan"] = $req["name"];
$MstSatuan->update($req);
return redirect()->route('MstSatuan.index')
->with('success','Data Satuan berhasil diubah!');
}
public function destroy(MstSatuan $MstSatuan)
{
$MstSatuan->delete();
return redirect()->route('MstSatuan.index')
->with('success','Data Satuan berhasil dihapus!');
}
public function datatable(Request $request)
{
$post = $request->all();
$offset = $post["start"];
$limit = $post["length"];
$src = isset($post["search"]["value"]) ? strtolower($post["search"]["value"]):"";
$sqlstr = MstSatuan::select();
$dataTotal = $sqlstr->count();
$data = $sqlstr->orderBy("nama_satuan","ASC");
if (!empty($src)){
$data->whereRaw(" ( lower(nama_satuan) like '%$src%' ) ");
}
$dataFilter = $data->count();
return response()->json([
"recordsTotal" => $dataTotal,
"recordsFiltered" => $dataFilter,
"data"=> $data->skip($offset)->take($limit)->get()
]);
}
}