Index: /branches/amp_4_0/src/webui/webui/htdocs/new/src/cm/models/device_mgmt/device_group/__init__.py
===================================================================
--- /branches/amp_4_0/src/webui/webui/htdocs/new/src/cm/models/device_mgmt/device_group/__init__.py	(revision 2954)
+++ /branches/amp_4_0/src/webui/webui/htdocs/new/src/cm/models/device_mgmt/device_group/__init__.py	(working copy)
@@ -208,7 +208,9 @@
 
     class Manager(CLIManager):
 
-        def _perform_FilterRoleDeviceGroups(self, options):
+        def _perform_FilterRoleDeviceGroups(self, options=None, **kwargs):
+            if options is None:
+                options = {}
             role_id = int(options.get('role_id', '0'))
             db = DB.get_connected_db()
             fetchall_sql = '''
@@ -327,7 +329,9 @@
                 })
             return {"result": role_device_list}
 
-        def _perform_UpdateRoleDeviceGroups(self, options):
+        def _perform_UpdateRoleDeviceGroups(self, options=None, **kwargs):
+            if options is None:
+                options = {}
             data = options
             db = DB.get_connected_db()
 
Index: /branches/amp_4_0/src/webui/webui/htdocs/new/src/gui/src/app/components/storage/storage.ts
===================================================================
--- /branches/amp_4_0/src/webui/webui/htdocs/new/src/gui/src/app/components/storage/storage.ts	(revision 2954)
+++ /branches/amp_4_0/src/webui/webui/htdocs/new/src/gui/src/app/components/storage/storage.ts	(working copy)
@@ -4,6 +4,9 @@
 import { StoragePrimary } from '../sub-components/storage-primary/storage-primary';
 import { StorageSecondary } from '../sub-components/storage-secondary/storage-secondary';
 import { StorageLogLocation } from '../sub-components/storage-log-location/storage-log-location';
+import { SystemFacade } from '../../services/facades/system.facade';
+import { take } from 'rxjs/operators';
+import { CommonModule } from '@angular/common';
 
 export interface StorageTab {
   label: string;
@@ -15,7 +18,7 @@
 @Component({
   selector: 'app-storage',
   standalone: true,
-  imports: [SharedModule],
+  imports: [SharedModule, CommonModule],
   templateUrl: './storage.html',
   styleUrl: './storage.scss'
 })
@@ -29,14 +32,36 @@
   selectedTabIndex = 0;
 
   private ui = inject(CoreUiFacade);
+  private systemFacade = inject(SystemFacade);
 
   ngOnInit(): void {
+    this.checkSecondaryStorage();
+  }
+
+  checkSecondaryStorage() {
+    this.systemFacade.getStorage('secondary').pipe(take(1)).subscribe({
+      next: (result: any) => {
+        if (!result?.is_disk_available) {
+          this.tabs = this.tabs.filter(tab => tab.paramName !== 'secondary');
+        }
+        this.subscribeToQueryParams();
+      },
+      error: () => {
+        this.tabs = this.tabs.filter(tab => tab.paramName !== 'secondary');
+        this.subscribeToQueryParams();
+      }
+    });
+  }
+
+  subscribeToQueryParams() {
     this.ui.queryParams.subscribe(params => {
       const tabParam = params['tab'];
       if (tabParam) {
         const index = this.tabs.findIndex(i => i.paramName === tabParam);
         if (index !== -1) {
           this.selectedTabIndex = index;
+        } else {
+          this.selectedTabIndex = 0;
         }
       }
     });
Index: /branches/amp_4_0/src/webui/webui/htdocs/new/src/gui/src/app/components/sub-components/role-details/role-details.html
===================================================================
--- /branches/amp_4_0/src/webui/webui/htdocs/new/src/gui/src/app/components/sub-components/role-details/role-details.html	(revision 2954)
+++ /branches/amp_4_0/src/webui/webui/htdocs/new/src/gui/src/app/components/sub-components/role-details/role-details.html	(working copy)
@@ -6,45 +6,49 @@
         Role Management - {{ roleDetails?.role_name }}
       </a>
     </mat-card-title>
+    <div class="header-actions">
+      <button mat-raised-button class="primary-btn" (click)="addDeviceGroup()" matTooltip="Add Role">
+        <fa-icon [icon]="['fas', 'plus']"></fa-icon>
+        Add/Remove Device Group
+      </button>
+    </div>
   </mat-card-header>
+
+  <mat-card-content>
+    <div class="table-container">
+      <table mat-table [dataSource]="deviceGroupDataSource" class="an-table">
+        <ng-container matColumnDef="serial">
+          <th mat-header-cell *matHeaderCellDef>Id.</th>
+          <td mat-cell *matCellDef="let element; let i = index;">{{ i | globalSerial }}</td>
+        </ng-container>
+        <ng-container matColumnDef="groups">
+          <th mat-header-cell *matHeaderCellDef>Device Group</th>
+          <td mat-cell *matCellDef="let element">{{ element.group_name }}</td>
+        </ng-container>
+        <ng-container matColumnDef="devices">
+          <th mat-header-cell *matHeaderCellDef>Managed Devices</th>
+          <td mat-cell *matCellDef="let element">{{ element.devices }}</td>
+        </ng-container>
+        <ng-container matColumnDef="action">
+          <th mat-header-cell *matHeaderCellDef class="action-header w-10">Action</th>
+          <td mat-cell *matCellDef="let element">
+            <div class="row-action a-link">
+              <fa-icon [icon]="['far', 'trash-can']" size="lg" class="delete-icon" matTooltip="Delete"
+                       (click)="removeDeviceGroup(element)"></fa-icon>
+            </div>
+          </td>
+        </ng-container>
+        <tr mat-header-row *matHeaderRowDef="deviceGroupColumns"></tr>
+        <tr mat-row *matRowDef="let row; columns: deviceGroupColumns;"></tr>
+        <tr class="mat-row table-no-data" *matNoDataRow>
+          <td class="mat-cell" colspan="4">No results found.</td>
+        </tr>
+      </table>
+      <mat-paginator
+        [pageSizeOptions]="[10, 15, 20, 25]"
+        [length]="totalRecords"
+        showFirstLastButtons
+      ></mat-paginator>
+    </div>
+  </mat-card-content>
 </mat-card>
-<div class="button-container">
-  <button mat-raised-button (click)="addDeviceGroup()" matTooltip="Add Role">
-    Add/Remove Device Group
-  </button>
-</div>
-<div class="table-container">
-  <table mat-table [dataSource]="deviceGroupDataSource" class="mat-elevation-z1">
-    <ng-container matColumnDef="serial">
-      <th mat-header-cell *matHeaderCellDef>Id.</th>
-      <td mat-cell *matCellDef="let element; let i = index;">{{ i | globalSerial }}</td>
-    </ng-container>
-    <ng-container matColumnDef="groups">
-      <th mat-header-cell *matHeaderCellDef>Device Group</th>
-      <td mat-cell *matCellDef="let element">{{ element.group_name }}</td>
-    </ng-container>
-    <ng-container matColumnDef="devices">
-      <th mat-header-cell *matHeaderCellDef>Managed Devices</th>
-      <td mat-cell *matCellDef="let element">{{ element.devices }}</td>
-    </ng-container>
-    <ng-container matColumnDef="action">
-      <th mat-header-cell *matHeaderCellDef class="action-header w-10">Action</th>
-      <td mat-cell *matCellDef="let element">
-        <div class="row-action a-link">
-          <fa-icon [icon]="['far', 'trash-can']" size="lg" class="delete-icon" matTooltip="Delete log"
-                   (click)="removeDeviceGroup(element)"></fa-icon>
-        </div>
-      </td>
-    </ng-container>
-    <tr mat-header-row *matHeaderRowDef="deviceGroupColumns"></tr>
-    <tr mat-row *matRowDef="let row; columns: deviceGroupColumns;"></tr>
-    <tr class="mat-row table-no-data" *matNoDataRow>
-      <td class="mat-cell" colspan="8">No results found.</td>
-    </tr>
-  </table>
-  <mat-paginator
-    [pageSizeOptions]="[10, 15, 20, 25]"
-    [length]="totalRecords"
-    showFirstLastButtons
-  ></mat-paginator>
-</div>
Index: /branches/amp_4_0/src/webui/webui/htdocs/new/src/gui/src/app/components/sub-components/role-details/role-details.scss
===================================================================
--- /branches/amp_4_0/src/webui/webui/htdocs/new/src/gui/src/app/components/sub-components/role-details/role-details.scss	(revision 2954)
+++ /branches/amp_4_0/src/webui/webui/htdocs/new/src/gui/src/app/components/sub-components/role-details/role-details.scss	(working copy)
@@ -0,0 +1,36 @@
+.back-to-main-page {
+  display: flex;
+  align-items: center;
+  gap: 12px;
+  color: var(--primary-color);
+  text-decoration: none;
+  cursor: pointer;
+  font-weight: 500;
+  transition: all 0.2s ease;
+
+  fa-icon {
+    font-size: 1.2rem;
+    opacity: 0.8;
+  }
+
+  &:hover {
+    color: var(--primary-dark);
+    transform: translateX(-4px);
+
+    fa-icon {
+      opacity: 1;
+    }
+  }
+}
+
+.table-container {
+  margin-top: 0;
+}
+
+::ng-deep {
+  .page-card-1 {
+    .mat-mdc-card-content {
+      padding: 0 32px 24px !important;
+    }
+  }
+}
Index: /branches/amp_4_0/src/webui/webui/htdocs/new/src/gui/src/app/components/sub-components/role-details/role-details.ts
===================================================================
--- /branches/amp_4_0/src/webui/webui/htdocs/new/src/gui/src/app/components/sub-components/role-details/role-details.ts	(revision 2954)
+++ /branches/amp_4_0/src/webui/webui/htdocs/new/src/gui/src/app/components/sub-components/role-details/role-details.ts	(working copy)
@@ -39,12 +39,36 @@
   ngOnInit(): void {
     this.roleName = this.route.snapshot.paramMap.get('roleName');
     this.roleDetails = history.state.roleDetails;
-    setTimeout(() => {
-      this.getDeviceGroupsByRoleId();
-      this.getAllDeviceGroups();
-    })
+    if (!this.roleDetails && this.roleName) {
+      this.fetchRoleDetailsByName(this.roleName);
+    } else {
+      setTimeout(() => {
+        this.getDeviceGroupsByRoleId();
+        this.getAllDeviceGroups();
+      })
+    }
   }
 
+  fetchRoleDetailsByName(roleName: string) {
+    this.systemFacade.getUserRoles().pipe(take(1)).subscribe({
+      next: (roles: any) => {
+        const role = roles.find((r: any) => r.role_name === roleName);
+        if (role) {
+          this.roleDetails = role;
+          this.getDeviceGroupsByRoleId();
+          this.getAllDeviceGroups();
+        } else {
+          this.coreUiFacade.notifyError('Role not found.');
+          this.backToRoleManagement();
+        }
+      },
+      error: (error: any) => {
+        this.coreUiFacade.notifyError(`Error: ${error?.message || 'Failed to fetch roles'}`);
+        this.backToRoleManagement();
+      }
+    });
+  }
+
   getDeviceGroupsByRoleId() {
     this.assignedDeviceGroups = [];
     let payload = new FormData();
Index: /branches/amp_4_0/src/webui/webui/htdocs/new/src/gui/src/app/components/sub-components/role-management/role-management.ts
===================================================================
--- /branches/amp_4_0/src/webui/webui/htdocs/new/src/gui/src/app/components/sub-components/role-management/role-management.ts	(revision 2954)
+++ /branches/amp_4_0/src/webui/webui/htdocs/new/src/gui/src/app/components/sub-components/role-management/role-management.ts	(working copy)
@@ -72,8 +72,8 @@
     this.coreUiFacade.confirm({
       title: `Delete Role - ${_role?.role_name}?`,
       message: confirmMsg,
-      confirmText: 'Yes, Delete It',
-      cancelText: 'No, Keep It',
+      confirmText: 'Delete',
+      cancelText: 'Cancel',
       confirmColor: 'warn',
       cancelColor: 'primary'
     }).subscribe(result => {
Index: /branches/amp_4_0/src/webui/webui/htdocs/new/src/gui/src/app/components/sub-components/storage-log-location/storage-log-location.ts
===================================================================
--- /branches/amp_4_0/src/webui/webui/htdocs/new/src/gui/src/app/components/sub-components/storage-log-location/storage-log-location.ts	(revision 2954)
+++ /branches/amp_4_0/src/webui/webui/htdocs/new/src/gui/src/app/components/sub-components/storage-log-location/storage-log-location.ts	(working copy)
@@ -82,6 +82,7 @@
       .pipe(take(1)).subscribe({
         next: (result: any) => {
           if (result?.is_disk_available) {
+            this.isSecondaryDiskAvailable = true;
             let data: any = {
               name: 'secondary',
               total: result.total,
