diff --git a/app/Http/Controllers/DashboardController.php b/app/Http/Controllers/DashboardController.php
index 22364de..041aa34 100644
--- a/app/Http/Controllers/DashboardController.php
+++ b/app/Http/Controllers/DashboardController.php
@@ -22,12 +22,15 @@ class DashboardController extends Controller
$authMapping = auth()->user()?->dataUser?->mappingUnitKerjaPegawai[0];
$authUnitKerja = $authMapping->objectunitkerjapegawaifk;
$authSubUnitKerja = $authMapping->objectsubunitkerjapegawaifk;
+
+ $allAkses = AksesFile::where(['statusenabled' => true, 'pegawai_id' => auth()->user()?->dataUser->id])->first();
$payload = [
'title' => 'Dashboard',
'katDok' => $katDok,
'klasifikasiDok' => $klasifikasiDok,
'authUnitKerja' => $authUnitKerja,
'authSubUnitKerja' => $authSubUnitKerja,
+ 'allAkses' => $allAkses ?? null
];
return view('dashboard.index', $payload);
}
@@ -78,6 +81,7 @@ class DashboardController extends Controller
DB::connection('dbDirectory')->beginTransaction();
try {
$datas = request()->input('data');
+ $result = [];
foreach($datas as $index => $value){
$file = request()->file("data.$index.file");
$payload = [
@@ -93,12 +97,13 @@ class DashboardController extends Controller
Storage::disk('file_directory')->put($imageName, file_get_contents($file));
$payload['file'] =$imageName;
}
- FileDirectory::create($payload);
+ $saved = FileDirectory::create($payload);
}
DB::connection('dbDirectory')->commit();
return response()->json([
'status' => true,
'message' => 'Data berhasil disimpan',
+ 'data' => count($result) == 1 ? $result[0] : $result
], 200);
} catch (\Throwable $th) {
DB::connection('dbDirectory')->rollBack();
diff --git a/public/file/ChatGPT Image Sep 3, 2025, 10_03_15 AM.png b/public/file/ChatGPT Image Sep 3, 2025, 10_03_15 AM.png
new file mode 100644
index 0000000..b493792
Binary files /dev/null and b/public/file/ChatGPT Image Sep 3, 2025, 10_03_15 AM.png differ
diff --git a/public/file/Draft-Point-Reward-IfbboKsH2-2I9w.pdf b/public/file/Draft-Point-Reward-IfbboKsH2-2I9w.pdf
new file mode 100644
index 0000000..22eb153
Binary files /dev/null and b/public/file/Draft-Point-Reward-IfbboKsH2-2I9w.pdf differ
diff --git a/public/file/WhatsApp Image 2025-08-19 at 15.44.52_fa672dde.jpg b/public/file/WhatsApp Image 2025-08-19 at 15.44.52_fa672dde.jpg
new file mode 100644
index 0000000..ad71654
Binary files /dev/null and b/public/file/WhatsApp Image 2025-08-19 at 15.44.52_fa672dde.jpg differ
diff --git a/public/js/dashboard/action.js b/public/js/dashboard/action.js
index 4058b80..405e74c 100644
--- a/public/js/dashboard/action.js
+++ b/public/js/dashboard/action.js
@@ -23,14 +23,17 @@ formCreate.on('submit', function(e){
background: "linear-gradient(to right, #00b09b, #96c93d)", // hijau gradasi
color: "#fff",
}
-
}).showToast();
$("#col_add_file").html('');
colCount = 1; // reset counter
formCreate.find('input[type="text"], input[type="file"]').val('');
formCreate.find('select').val(null).trigger('change');
- index()
+ if(!$("#klasifikasi_dok").val() || !$("#kategori_dok").val() || !$("#unit_kerja").val() || !$("#sub_unit_kerja").val()){
+ index()
+ }else{
+ searchData()
+ }
modalCreate.removeEventListener('hidden.bs.modal', handler);
};
modalCreate.addEventListener('hidden.bs.modal', handler);
diff --git a/public/js/dashboard/functions.js b/public/js/dashboard/functions.js
index d441c73..74c34f2 100644
--- a/public/js/dashboard/functions.js
+++ b/public/js/dashboard/functions.js
@@ -46,8 +46,11 @@ $(document).ready(function() {
$('.klasifikasi_dok').select2();
$('.kategori_dok').select2();
-
- selectOptionUnitKerja(0)
+ if(allAkses){
+ selectOptionUnitKerjaV1(0)
+ }else{
+ selectOptionUnitKerjaV2(0)
+ }
});
function addForm(){
@@ -97,7 +100,11 @@ function addForm(){
`
col.append(html)
- selectOptionUnitKerja(colCount)
+ if(allAkses){
+ selectOptionUnitKerjaV1(colCount)
+ }else{
+ selectOptionUnitKerjaV2(colCount)
+ }
colCount++;
}
@@ -108,7 +115,7 @@ function removeCol(count){
}
-function selectOptionUnitKerja(colCount) {
+function selectOptionUnitKerjaV1(colCount) {
let selectUnit = $(`#select_id_unit_kerja_${colCount}`);
let selectSubUnit = $(`#select_id_sub_unit_kerja_${colCount}`);
@@ -161,3 +168,57 @@ function selectOptionUnitKerja(colCount) {
});
}
+
+
+function selectOptionUnitKerjaV2(colCount) {
+ let selectUnit = $(`#select_id_unit_kerja_${colCount}`);
+ let selectSubUnit = $(`#select_id_sub_unit_kerja_${colCount}`);
+
+ // Kosongkan dulu
+ selectUnit.empty().append('');
+ selectSubUnit.empty().append('');
+
+ // Load semua unit kerja tanpa ajax
+ $.ajax({
+ url: '/select-unit-kerja', // endpoint tetap sama
+ method: 'GET',
+ success: function(response) {
+ if (response?.data) {
+ response.data.forEach(unit => {
+ const option = new Option(unit.name, unit.id, false, false);
+ $(option).data('sub_units', unit.sub_unit_kerja); // simpan sub unit di data attribute
+ selectUnit.append(option);
+ });
+ }
+ }
+ });
+
+ // Inisialisasi select2 tanpa ajax
+ selectUnit.select2({
+ placeholder: '-- Pilih Unit Kerja --',
+ allowClear: true,
+ width: '100%',
+ dropdownParent: selectUnit.parent()
+ });
+
+ selectSubUnit.select2({
+ placeholder: '-- Pilih Sub Unit Kerja --',
+ allowClear: true,
+ width: '100%',
+ dropdownParent: selectSubUnit.parent()
+ });
+
+ // Event ketika unit kerja dipilih
+ selectUnit.on('change', function () {
+ const selectedOption = $(this).find(':selected');
+ const subUnits = selectedOption.data('sub_units') || [];
+
+ selectSubUnit.empty().append('');
+
+ if (subUnits.length > 0) {
+ subUnits.forEach(sub => {
+ selectSubUnit.append(``);
+ });
+ }
+ });
+}
diff --git a/public/js/dashboard/index.js b/public/js/dashboard/index.js
index 0432aa1..b8d4a86 100644
--- a/public/js/dashboard/index.js
+++ b/public/js/dashboard/index.js
@@ -49,7 +49,6 @@ function renderTree(units, katDok) {
`).join('')}
`;
-
}
function index(kategori_dok = null, unitKerja = null, subUnitKerja = null, klasifikasi_id = null) {
diff --git a/resources/views/dashboard/index.blade.php b/resources/views/dashboard/index.blade.php
index c2e83a2..a1241a3 100644
--- a/resources/views/dashboard/index.blade.php
+++ b/resources/views/dashboard/index.blade.php
@@ -143,6 +143,8 @@