openbmc / webui-vue

Web-based user interface built on Vue.js for managing OpenBMC systems
https://openbmc.github.io/webui-vue/
Apache License 2.0
51 stars 50 forks source link

User Management Screen: Prevent Root User from Being Selected with Table Header Checkbox #123

Open FarahRasheed1 opened 2 weeks ago

FarahRasheed1 commented 2 weeks ago

Describe the bug

When the table header checkbox is selected, the root user is also selected along with other users. This can lead to unintended modifications to the root user, such as disabling or deleting the root user.

To Reproduce

  1. Navigate to the 'User Management' screen under 'Security and Access.'
  2. Click on the table header checkbox to select all users.
  3. Observe that the root user is selected along with other users, making it possible to delete or disable the root user.

Expected behavior

To prevent unintended modifications to the root user, the root user should not be selected when the table header checkbox is selected. Users must explicitly select the root user to make any modifications.

Screenshots

image

FarahRasheed1 commented 2 weeks ago

Bench test results:

Before bugfix:

https://github.com/openbmc/webui-vue/assets/169199595/8fd1f3c7-d500-41c9-9b57-4b49705698ca

After bugfix:

https://github.com/openbmc/webui-vue/assets/169199595/be2c17fc-0588-40a6-89c2-552ad9fa4541

gtmills commented 2 weeks ago

PreFixBenchTestResults.mp4

This did not upload/display..

When the table header checkbox is selected, the root user is also selected along with other users.

This is a table and a selectall gets all the rows... If we do something special here, this table behaves differently than other tables..