layar baru antrean klinik dan masuk
This commit is contained in:
No files matched your search
+12
-15
@@ -1464,27 +1464,24 @@ const saveItem = async () => {
|
||||
return;
|
||||
}
|
||||
|
||||
// If hakAksesMenu is empty or not fetched yet, fetch from backend
|
||||
const needsFetch = !editedItem.value.hakAksesMenu ||
|
||||
editedItem.value.hakAksesMenu.length === 0 ||
|
||||
!editedItem.value.hakAksesMenu.some(m => m.canAccess || m.canView || m.canAdd || m.canEdit || m.canDelete);
|
||||
// Check if permissions have been fetched from backend
|
||||
// If not, show warning and ask user to fetch first
|
||||
const hasFetchedPermissions = fetchedBackendData.value.length > 0 ||
|
||||
(editedItem.value.hakAksesMenu &&
|
||||
editedItem.value.hakAksesMenu.length > 0 &&
|
||||
editedItem.value.hakAksesMenu.some(m => m.canAccess || m.canView || m.canAdd || m.canEdit || m.canDelete));
|
||||
|
||||
if (needsFetch) {
|
||||
if (!hasFetchedPermissions) {
|
||||
snackbar.value = {
|
||||
show: true,
|
||||
message: 'Mengambil permissions dari backend...',
|
||||
color: 'info',
|
||||
timeout: 2000,
|
||||
message: 'Silakan klik tombol "Ambil Data dari Backend API" terlebih dahulu untuk mengambil permissions!',
|
||||
color: 'warning',
|
||||
timeout: 5000,
|
||||
};
|
||||
|
||||
// Fetch permissions from backend before saving
|
||||
await fetchPermissionsFromBackend();
|
||||
|
||||
// Wait a bit for the fetch to complete
|
||||
await new Promise(resolve => setTimeout(resolve, 500));
|
||||
return;
|
||||
}
|
||||
|
||||
// Ensure hakAksesMenu exists
|
||||
// Ensure hakAksesMenu exists (fallback to empty template if somehow missing)
|
||||
if (!editedItem.value.hakAksesMenu || editedItem.value.hakAksesMenu.length === 0) {
|
||||
editedItem.value.hakAksesMenu = buildMenuTemplate(navItemsStore.navItems);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user