Created attachment 1591755 [details]
90 of 80 selected
Description of problem:
Using Errata Installation for a Host Collection has multiple issues, all related to incorrect handling of errata selection .
Version-Release number of selected component (if applicable):
Sat 6.6 Snap 11
Steps to Reproduce:
1. Create a Host Collection and assing multiple hosts with installable errata to it. I have used released RHEL 7.6 without any updates.
2. Navigate to Hosts-> Host Collectins -> <host collection created in step 1>
3. Click Errata Installation
Now you can encounter multiple issues with a common root cause (I guess):
You start with pagination of 20 items per page by default. Select a few errata (3 in my case).
- if you change the page, you can see there are still 3 of 80 errata selected. If you change the page back to the initial one, there are still 3 of 80 selected, but you can't see the checkmarks at the errata you have previously selected anymore - all checkmarks are empty.
- same thing happens if you change the pagination number e.g. from 20 to 50. Checkmarks are gone, yet the dialog still states there are 3 of 80 selected.
- only way how to clean the selection is to click on the "Refresh Table" button, close the dialog, or click the "select all" checkmark button in the column header.
- if you use the column checkmark button to select all errata, only the errata on the current page is selected. Fair enough. The problem is, if you switch the page, naturally no errata is selected on the the new page, but the column header check button is still checked. Clicking it clears out the selection you have made on the previous page, and has no effect on the current page selection. It means the user is not able to select all the errata on a multipage dialog using the column button - only by manually clicking each erratum on subsequent pages.
- this works the other way as well - if you manually select some errata on one page, then switch the page, and use the check button in the column header to select all errata on the current page, previously manually selected errata is cleared, and only the errata on the current page is selected (at least according to "x of y selected" line, as it is not possible to check the selection because of the issues described above)
- if you successfully select all the errata on all pages in the dialog, change the page again, and then manually start selecting the (now clean) checkmarks, the status line starts to overflow, showing things like 90 of 80 selected. See the attached screenshot.
- as for the functionality itself - changing the page really clears the selection, even if the status line claims there are some errata selected. The "Install Selected" button is still active and can be pressed. Doing so causes the an error message "No content has been provided". Only checkmarks that are actually present and visible are taken into account when submitting the installation job.
The checkmarks handling is inconsistent, and it is actually not possible to select errata from multiple pages.
Checkmarks are preserved despite the page and pagination size changes. The status line showing number of selected errata reflects the real state of selection. Errata on multiple pages can be selected.
Note: the issue with 'select all' sounds like a duplicate of bug 1631957. Some of the workflow may have changed since 6.3; however, 'select all' was an issue then as well.
Radovan, do you agree?
The behavior described in the bug 1631957 is somewhat similar, yes. But the 'select all' checkbox behavior is only a secondary and misleading symptom in host collection errata selection page. If you use the "select all" checkbox, you will select all errata on the current page, checkboxes are checked, and the status line says e.g. "20 of 80 Selected". Clicking the next page button now is enough to actually clear the selection. Yes, the status line on the next page still says "20 of 80 Selected", but clicking the Install button now and confirming the installation produces an error message "No content has been provided." The selection you have made on the previous page is already lost at this point, it doesn't matter if the "select all" checkbox is checked, and if the user clicks on it now. Actually, clicking it kind of "fixes" the status - the "select all" checkbox is cleared, "X of Y Selected" status line is reset to the true state (0 of Y Selected), and the "Install" button is disabled. The critical action is the page change (or changing the items per page number), as the widget clearly doesn't properly save the current state of selection on the page change.
I understand that the 'select all' behavior raised is only one of the issues/observations raised by the bugzilla. That said, if it is a duplicate of the behavior described by bug 1631957, we can track the resolution there. Sound reasonable?
Second, for the behavior of checkboxes, paging and '90 of 80' issues, are these behaviors regressions from Satellite 6.5?
(In reply to Brad Buckingham from comment #5)
> Hi Radovan,
> I understand that the 'select all' behavior raised is only one of the
> issues/observations raised by the bugzilla. That said, if it is a duplicate
> of the behavior described by bug 1631957, we can track the resolution there.
> Sound reasonable?
> Second, for the behavior of checkboxes, paging and '90 of 80' issues, are
> these behaviors regressions from Satellite 6.5?
Yep, sounds reasonable.
As for the second question - no regression, I'm seeing the same behavior on the current Sat 6.5.2 snap.
Based on the discussion, we'll track resolving the behavior associated with 'select all' using bug 1631957.
That said, the other issues not related to 'select all', such as the behavior of checkboxes, paging, '90 of 80'...etc, should be addressed by this bugzilla.
Created redmine issue https://projects.theforeman.org/issues/27647 from this bug
Moving this bug to POST for triage into Satellite 6 since the upstream issue https://projects.theforeman.org/issues/27647 has been resolved.
*** Bug 1437296 has been marked as a duplicate of this bug. ***