diff --git a/app/Http/Controllers/Master/InstansiController.php b/app/Http/Controllers/Master/InstansiController.php
index ac419dd..64fadf4 100644
--- a/app/Http/Controllers/Master/InstansiController.php
+++ b/app/Http/Controllers/Master/InstansiController.php
@@ -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' => '',
'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([
diff --git a/database/migrations/2025_06_03_033925_create_table_instansi.php b/database/migrations/2025_06_03_033925_create_table_instansi.php
index abf12c7..8270260 100644
--- a/database/migrations/2025_06_03_033925_create_table_instansi.php
+++ b/database/migrations/2025_06_03_033925_create_table_instansi.php
@@ -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();
});
}
diff --git a/public/logodki.png b/public/logodki.png
new file mode 100644
index 0000000..13b39f5
Binary files /dev/null and b/public/logodki.png differ
diff --git a/resources/views/dataset-detail.blade.php b/resources/views/dataset-detail.blade.php
index c2ba256..60a1874 100644
--- a/resources/views/dataset-detail.blade.php
+++ b/resources/views/dataset-detail.blade.php
@@ -13,7 +13,7 @@
+
+
+
+