update
parent
1dcd33a7f3
commit
863253c45b
|
|
@ -7,6 +7,8 @@ use Illuminate\Support\Facades\Validator;
|
|||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
use Illuminate\Support\Facades\File;
|
||||
use Carbon\Carbon;
|
||||
use App\Models\Master\Instansi;
|
||||
use App\Models\Master\Template;
|
||||
use App\Models\Master\Group;
|
||||
|
|
@ -69,6 +71,7 @@ class InstansiController extends Controller
|
|||
'id' => encode_id($row->id),
|
||||
'name' => @$row->name,
|
||||
'parent' => @$row->parent,
|
||||
'logo' => '<img width="45" class="mx-auto" src="'.asset('uploads/'.@$row->logo).'">',
|
||||
'resource' => @$resource,
|
||||
'action' => @$action,
|
||||
];
|
||||
|
|
@ -103,28 +106,84 @@ class InstansiController extends Controller
|
|||
'parent' => 'required',
|
||||
])->validate();
|
||||
|
||||
$user = Instansi::find($keyId);
|
||||
$user->name = $request->name;
|
||||
$user->parent = $request->parent;
|
||||
$user->alamat = $request->alamat;
|
||||
$user->telp = $request->telp;
|
||||
$user->website = $request->website;
|
||||
$user->resource_data = json_encode($request->resource_data);
|
||||
$user->save();
|
||||
if (@$request->hasFile('logo')) {
|
||||
$file = $request->file('logo');
|
||||
$destinationPath = public_path('uploads/logo');
|
||||
$current = Carbon::now()->format('Y/m/d');
|
||||
$path = $destinationPath . '/' . $current;
|
||||
$fileName = $file->getClientOriginalName();
|
||||
$fileMime = $file->getClientMimeType();
|
||||
$fileExtension = $file->getClientOriginalExtension();
|
||||
$fileSize = $file->getSize();
|
||||
if(($fileExtension != 'png') && ($fileExtension != 'jpg') && ($fileExtension != 'jpeg')){
|
||||
return redirect()->back()->with([
|
||||
'message' => 'Maaf File Harus Berupa png,jpg,jpeg!',
|
||||
'type' => "error"
|
||||
]);
|
||||
}
|
||||
$newFilename = session('id').'_'.uniqid('file_') . '.' . $fileExtension;
|
||||
|
||||
if (!File::exists($path)) {
|
||||
File::isDirectory($path) or File::makeDirectory($path, 0777, true, true);
|
||||
}
|
||||
|
||||
$filePath = 'logo/' . $current . '/' . $newFilename;
|
||||
$uploaded = $file->move($path, $newFilename);
|
||||
|
||||
}
|
||||
|
||||
$inst = Instansi::find($keyId);
|
||||
$inst->name = $request->name;
|
||||
$inst->parent = $request->parent;
|
||||
$inst->alamat = $request->alamat;
|
||||
$inst->telp = $request->telp;
|
||||
$inst->website = $request->website;
|
||||
$inst->resource_data = json_encode($request->resource_data);
|
||||
if (@$request->hasFile('logo')) {
|
||||
$inst->logo = @$filePath;
|
||||
}
|
||||
$inst->save();
|
||||
}else{
|
||||
Validator::make($request->all(), [
|
||||
'name' => 'required',
|
||||
'parent' => 'required',
|
||||
])->validate();
|
||||
|
||||
$user = new Instansi;
|
||||
$user->name = $request->name;
|
||||
$user->parent = $request->parent;
|
||||
$user->alamat = $request->alamat;
|
||||
$user->telp = $request->telp;
|
||||
$user->website = $request->website;
|
||||
$user->resource_data = json_encode($request->resource_data);
|
||||
$user->save();
|
||||
if (@$request->hasFile('logo')) {
|
||||
$file = $request->file('logo');
|
||||
$destinationPath = public_path('uploads/logo');
|
||||
$current = Carbon::now()->format('Y/m/d');
|
||||
$path = $destinationPath . '/' . $current;
|
||||
$fileName = $file->getClientOriginalName();
|
||||
$fileMime = $file->getClientMimeType();
|
||||
$fileExtension = $file->getClientOriginalExtension();
|
||||
$fileSize = $file->getSize();
|
||||
if(($fileExtension != 'png') && ($fileExtension != 'jpg') && ($fileExtension != 'jpeg')){
|
||||
return redirect()->back()->with([
|
||||
'message' => 'Maaf File Harus Berupa png,jpg,jpeg!',
|
||||
'type' => "error"
|
||||
]);
|
||||
}
|
||||
$newFilename = session('id').'_'.uniqid('file_') . '.' . $fileExtension;
|
||||
|
||||
if (!File::exists($path)) {
|
||||
File::isDirectory($path) or File::makeDirectory($path, 0777, true, true);
|
||||
}
|
||||
|
||||
$filePath = 'logo/' . $current . '/' . $newFilename;
|
||||
$uploaded = $file->move($path, $newFilename);
|
||||
|
||||
}
|
||||
|
||||
$inst = new Instansi;
|
||||
$inst->name = $request->name;
|
||||
$inst->parent = $request->parent;
|
||||
$inst->alamat = $request->alamat;
|
||||
$inst->telp = $request->telp;
|
||||
$inst->website = $request->website;
|
||||
$inst->resource_data = json_encode($request->resource_data);
|
||||
$inst->logo = @$filePath;
|
||||
$inst->save();
|
||||
}
|
||||
|
||||
return redirect()->back()->with([
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ return new class extends Migration
|
|||
$table->text('alamat')->nullable();
|
||||
$table->text('website')->nullable();
|
||||
$table->text('telp')->nullable();
|
||||
$table->string('logo')->nullable();
|
||||
$table->timestampsTz();
|
||||
});
|
||||
}
|
||||
|
|
|
|||
Binary file not shown.
|
After Width: | Height: | Size: 462 KiB |
|
|
@ -13,7 +13,7 @@
|
|||
<div class="flex flex-col gap-6">
|
||||
<div class="bg-white rounded-[20px] shadow-lg p-5 py-10 gap-6 flex">
|
||||
<div class="flex flex-col gap-3 items-center text-center w-1/4">
|
||||
<img src="{{ asset('assets/logo/dinas.png') }}" alt="" width="50" class="">
|
||||
<img src="{{ asset('uploads/'.@$dataset->instansi->logo) }}" alt="" width="50" class="">
|
||||
<h1 class="font-bold">{{ $dataset->instansi->name }}</h1>
|
||||
<a href="{{asset('uploads/'.$dataset->file)}}" class="rounded-full text-[12px] bg-success text-white px-2 py-1">Download <i class="ri-download-line"></i></a>
|
||||
</div>
|
||||
|
|
@ -78,7 +78,7 @@
|
|||
@foreach($lainnya as $dataSet)
|
||||
<div class="bg-white rounded-[20px] shadow-lg p-5 py-10">
|
||||
<div class="flex flex-col gap-3 mx-auto items-center text-center">
|
||||
<img src="{{ asset('assets/logo/dinas.png') }}" alt="" width="50" class="">
|
||||
<img src="{{ asset('uploads/'.@$dataSet->instansi->logo) }}" alt="" width="50" class="">
|
||||
<h1 class="font-bold">{{ @$dataSet->instansi->name }}</h1>
|
||||
<h5 class="">{{ $dataSet->name }}</h5>
|
||||
<a href="{{ url('dataset/detail/'.encode_id($dataSet->DatasetId)) }}" class="rounded-full text-[10px] bg-[#E9811A] text-white px-6 py-3">Lihat Detail</a>
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@
|
|||
@forelse($dataset as $dataSet)
|
||||
<div class="bg-white rounded-[20px] shadow-lg p-5 py-10 gap-6 flex">
|
||||
<div class="flex flex-col gap-3 items-center text-center">
|
||||
<img src="{{ asset('assets/logo/dinas.png') }}" alt="" width="50" class="">
|
||||
<img src="{{ asset('uploads/'.@$dataSet->instansi->logo) }}" alt="" width="50" class="">
|
||||
<h1 class="font-bold">{{ $dataSet->instansi->name }}</h1>
|
||||
</div>
|
||||
<div class="flex items-center justify-between w-full">
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@
|
|||
@forelse($dataset as $dataSet)
|
||||
<div class="bg-white rounded-[20px] shadow-lg p-5 py-10 gap-6 flex">
|
||||
<div class="flex flex-col gap-3 items-center text-center">
|
||||
<img src="{{ asset('assets/logo/dinas.png') }}" alt="" width="50" class="">
|
||||
<img src="{{ asset('uploads/'.@$dataSet->instansi->logo) }}" alt="" width="50" class="">
|
||||
<h1 class="font-bold">{{ $dataSet->instansi->name }}</h1>
|
||||
</div>
|
||||
<div class="flex items-center justify-between w-full">
|
||||
|
|
|
|||
|
|
@ -191,9 +191,9 @@
|
|||
</div>
|
||||
<div class="grid grid-cols-1 md:grid-cols-3 lg:grid-cols-4 gap-6">
|
||||
@foreach($dataset as $dataSet)
|
||||
<div class="bg-white rounded-[20px] shadow-lg p-5 py-10">
|
||||
<div class="bg-white rounded-[20px] shadow-lg p-5">
|
||||
<div class="flex flex-col gap-3 mx-auto items-center text-center">
|
||||
<img src="{{ asset('assets/logo/dinas.png') }}" alt="" width="50" class="">
|
||||
<img src="{{ asset('uploads/'.@$dataSet->instansi->logo) }}" alt="" width="50" class="">
|
||||
<h1 class="font-bold">{{ @$dataSet->instansi->name }}</h1>
|
||||
<h5 class="">{{ $dataSet->name }}</h5>
|
||||
<a href="{{ url('dataset/detail/'.encode_id($dataSet->DatasetId)) }}" class="rounded-full text-[10px] bg-[#E9811A] text-white px-6 py-3">Lihat Detail</a>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
<h4 class="card-title">{{$title}}</h4>
|
||||
</div>
|
||||
</div>
|
||||
<form action="{{route($route.'.store')}}" method="POST" class="">
|
||||
<form action="{{route($route.'.store')}}" method="POST" class="" enctype="multipart/form-data">
|
||||
{{csrf_field()}}
|
||||
<input type="hidden" name="secure_id" value="{{@$keyId}}">
|
||||
<div class="p-6">
|
||||
|
|
@ -45,12 +45,25 @@
|
|||
<span class="invalid-feedback" style="display: block!important;"><strong>{{$message}}</strong></span>
|
||||
@enderror
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@php
|
||||
// Ambil data yang sudah dipilih (bisa dari old input atau dari model saat edit)
|
||||
$selectedResources = @$item->resource_data ? json_decode(@$item->resource_data) : [];
|
||||
// dd($selectedResources);
|
||||
@endphp
|
||||
<div class="mb-3">
|
||||
<label class="mb-3">Logo</label>
|
||||
<input accept=".png,.jpg,.jpeg" type="file" value="{{@$item->logo ? @$item->logo : old('logo')}}" name="logo" class="form-input @error('logo') is-invalid @enderror" placeholder="Masukan logo">
|
||||
@if(@$item->logo)
|
||||
<div class="border w-1/4 mt-3">
|
||||
<img src="{{ asset('uploads/'.@$item->logo) }}" alt="" width="150" class="mx-auto">
|
||||
</div>
|
||||
@endif
|
||||
@error('logo')
|
||||
<span class="invalid-feedback" style="display: block!important;"><strong>{{$message}}</strong></span>
|
||||
@enderror
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label class="mb-3 required">Resource Data</label>
|
||||
<select name="resource_data[]" required class="form-input resource_data select2 @error('resource_data') is-invalid @enderror" id="" multiple>
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@
|
|||
<tr class="gridjs-tr bg-primary-light">
|
||||
<th class="gridjs-td gridjs-th text-sm text-gray-500" data-width="10" data-field="action">#</th>
|
||||
<th class="gridjs-td gridjs-th text-sm text-gray-500" data-width="10" data-field="no">No</th>
|
||||
<th class="gridjs-td gridjs-th text-sm text-gray-500 text-center" data-field="logo">Logo</th>
|
||||
<th class="gridjs-td gridjs-th text-sm text-gray-500" data-field="name">Name</th>
|
||||
<th class="gridjs-td gridjs-th text-sm text-gray-500" data-field="parent">Jenis Instansi</th>
|
||||
<th class="gridjs-td gridjs-th text-sm text-gray-500" data-field="resource">Resource Data</th>
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
@foreach($template as $dataTemplate)
|
||||
<div class="bg-white text-center rounded-[20px] shadow-lg p-5 py-10 gap-3 flex">
|
||||
<div class="flex flex-col gap-3 mx-auto items-center">
|
||||
<img src="{{ asset('assets/logo/dinas.png') }}" alt="" width="50" class="">
|
||||
<img src="{{ asset('logodki.png') }}" alt="" width="50" class="">
|
||||
<h1 class="font-bold">{{ $dataTemplate->name }}</h1>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Reference in New Issue