Phase 4.5: Conditional UI rendering by permissions
Add usePermission() guards across Vue client pages and components:

- DeviceTable: Reboot button only when devices.control
- ActionScriptsGrid: Run button only when scripts.run
- ScriptTable: Enable/Disable only when scripts.edit
- AreaTreePage: Create area only when areas.manage
- AreaDetailPage: Rename/Assign/Unassign/Remove only when areas.manage
- DeviceDetailPage: Edit/Assign/Reset only when devices.edit; ReSetup only when devices.setup; Reboot only when devices.control; Remove only when devices.delete; Firmware Update only when firmware.upload
- DevicesScanningPage: Add (setup) button only when devices.setup
- ScriptDetailPage: Run only when scripts.run; Assign/Unassign/Enable toggle only when scripts.edit
- ScriptsScopesPage: Enable/Disable only when scripts.edit
- FirmwaresListPage: Refresh Catalog only when firmware.upload

Fix ActionScriptsGrid.spec.js to seed auth store with scripts.run permission.

All 167 tests pass.
1 parent ac97fa4 commit 989bdef5be526b9cc4e99f573483024319d0612b
@Eugene Sukhodolskiy Eugene Sukhodolskiy authored 14 hours ago
Showing 11 changed files
View
webclient/src/components/device/DeviceTable.vue
View
webclient/src/components/script/ActionScriptsGrid.vue
View
webclient/src/components/script/ScriptTable.vue
View
webclient/src/components/script/__tests__/ActionScriptsGrid.spec.js
View
webclient/src/features/areas/pages/AreaDetailPage.vue
View
webclient/src/features/areas/pages/AreaTreePage.vue
View
webclient/src/features/devices/pages/DeviceDetailPage.vue
View
webclient/src/features/devices/pages/DevicesScanningPage.vue
View
webclient/src/features/firmwares/pages/FirmwaresListPage.vue
View
webclient/src/features/scripts/pages/ScriptDetailPage.vue
View
webclient/src/features/scripts/pages/ScriptsScopesPage.vue