<?php
namespace App\Http\Controllers;
use App\Helpers\Helper;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use App\Models\Supplier;
use Illuminate\Support\Facades\DB;
use DateInterval;
use DatePeriod;
use DateTime;
use Illuminate\Support\Facades\Log;
class SupplierController extends Controller
{
/**
* Display a listing of the resource.
*/
public function index(Request $request)
{
$datas = Supplier::paginate(10);
if (isset($request->nama_supplier)) {
$datas = Supplier::cari($request->nama_supplier)->paginate(10);
return response()->view("supplier.index", compact('datas'));
}
return response()->view("supplier.index", compact('datas'));
}
/**
* Show the form for creating a new resource.
*/
public function create(): Response
{
return response()->view("supplier.create");
}
/**
* Store a newly created resource in storage.
*/
public function store(Request $request): RedirectResponse
{
DB::beginTransaction();
try {
$data = Supplier::create([
"nama_supplier" => $request->nama_supplier,
"telp_supplier" => $request->telp_supplier,
"alamat" => $request->alamat,
]);
Helper::addUserLog('Menambah supplier : '.$data->nama_supplier,$data->toArray());
DB::commit();
return redirect()->route("supplier.index")->with('success', 'data berhasil disimpan');
} catch (\Throwable $th) {
DB::rollBack();
Log::error($th);
return redirect()->with('error', 'Ops! terjadi kesalahan, tidak bisa menambah data');
}
}
/**
* Display the specified resource.
*/
public function show(string $id)
{
//
}
/**
* Show the form for editing the specified resource.
*/
public function edit(string $id): Response
{
$data = Supplier::find($id);
return response()->view("supplier.edit", compact('data'));
}
/**
* Update the specified resource in storage.
*/
public function update(Request $request, string $id): RedirectResponse
{
$data = Supplier::find($id);
DB::beginTransaction();
try {
$data->update([
"nama_supplier" => $request->nama_supplier,
"telp_supplier" => $request->telp_supplier,
"alamat" => $request->alamat,
]);
Helper::addUserLog('Mengubah supplier : '.$data->nama_supplier,$data->toArray());
DB::commit();
return redirect()->route("supplier.index")->with('success', 'data berhasil disimpan');
} catch (\Throwable $th) {
DB::rollBack();
Log::error($th);
return redirect()->back()->with('error', 'Ops! terjadi kesalahan, tidak bisa mengubah data');
}
}
/**
* Remove the specified resource from storage.
*/
public function destroy(string $id): RedirectResponse
{
DB::beginTransaction();
try {
$data = Supplier::find($id);
$data->delete();
Helper::addUserLog('Menghapus supplier : '.$data->nama_supplier,$data->toArray());
DB::commit();
return redirect()->route('supplier.index')->with('success', 'Item berhasil dihapus');
} catch (\Throwable $th) {
DB::rollback();
return redirect()->with('error', 'Ops! terjadi kesalahan, tidak bisa menghapus data');
}
}
}
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]