Firewall: Rules [new]: Fix category colors in grid
Before this change, the controller returned color values and the frontend matched them best effort to the category key. This means there was an implicit order, and this order could break.
With this change, order independant metadata is returned, and the frontend renders these categories directly in the category formatter.
bootgrid: force a lightweight redraw when columns are programmatically changed
This is evident in the new firewall rules page, where disabling inspect
mode can leave a gap on the right side of the table due to the removed
columns.
bootgrid: use expand formatter for blocklist URLs and dnsbl types as well (https://github.com/opnsense/core/issues/9796)
While here, the fetched value should use the formatter value first,
falling back to the actual cell value if it isn't there.
mvc: ConfigMaintenance: when constructing class names use a safer way to strip .php extension
It's not entirely clear what is going on in the report but since the class is more or less
"empty" it looks like a path has a "." in it and the leftmost part of that path wins the
explode() although it was meant to strip the PHP extension at the end instead.
Thus make the code safer and try again with the user.
PR: https://forum.opnsense.org/index.php?topic=51102.0
Revert "rc: during testing it was found that unionfs clobbers /root's 750 permission"
The commit's assumptions aren't entirely true and these changes
were shipped with 26.1 as well so revert back to them.
This reverts commit a763592c70dfeb59eb911467b453aabe7c4ce872.
bootgrid: split row selection behavior into rowSelection boolean
This mimics the old-style behavior, where by default a row is not
selectable through any of its cells to minimize text selection
interference, but give grids the option to enable it anyway.
Tabulator does not support the combination "highlight" and an
integer specifiying a maximum amount of selectable rows, so this
commit uses some custom logic in the rowSelected event to do this.
firewall: offer aliases the same was as the field type expects them
Model invoke will see newer aliases not presisted in the config so
we need to align the code paths. Not showing these until rendered
is better, but also needs a plugin fix for Q-Feeds to make its aliases
available to the rules right after activation.
PR: https://www.reddit.com/r/opnsense/comments/1rjqb73/qfeeds_plugin_issue/
(cherry picked from commit 8554581eacc3cf5ae9bce32a132b7c71b5f5ceff)