Created attachment 190589 [details] [review] Bug 41468: Don't force show checkin column if user wants it hidden If user hides the "Check in" column in the borrower's "Checkouts" table it should stay hidden for the user unless in settings cannot_be_toggled is set to true for the checkin column. Steps to reproduce: 1. Go to the borrower who have some checkouts, and open the checkout's table. 2. Check your admin/columns_settings, you can do that by using the top right Configure button. Check that in issues-table, column checkin has "Cannot be toggled" toggled off. 3. Back at the borrower's page, using the Columns dropdown menu, hide "Check in" column. 4. Refresh the page. The column will be visible anyway. 5. Apply the patch. 6. Force refresh the page, and hide "Check in" column again. 7. Refresh the page. This time it should stay hidden. 8. Go back to admin/columns_settings and toggle on "Cannot be toggled" for checkin column. 9. Refresh borrower's page again, see that "Check in" column is visible again.
Yes, we have this problem on different tables as well. I decided to force the visibility otherwise the column stays hidden when the "config" (here the permission) changes. For instance: Say you have a column that should be shown only if a pref or permission is set If the existing DT's config has it hidden because the config/perm is not set, then it will stay hidden when the config/perm changes. Ideally we should track the two different reasons: "is hidden" because the user decided to explicitly hide the column or because of the configuration. I am not saying that the patch is not correct, but we need to decide what is the correct behaviour, and it's not that trivial IMO.