1) When the Save button has been used to save the Permanent Read/Write setting then display a success message so the user knows it worked.
2) Move the "This setting is only temporary..." setHelp to be with the Read/Write status area, where it is in 2.2.6. That text was under the Permanent Read/Write checkbox, where it was not true.
3) Always set the $btnlbl text used for the $robtn - there were ways to have the system in permanent read-write and then the button would not have a custom label, and so it would just say "Submit"
4) Only display the $robtn when it is relevant - if permanent RW is set and the running system is actually in RW then press a "Switch to Read-only" button actually does nothing anyhow, so there is no point displaying button.
1) When you click to add a new limiter or new queue, then the "Add new queue" button is displayed down the bottom. That is dumb - you are already adding and actually you need to enter the data and save first before adding something else.
2) When you are adding something (like in (1)) the Delete button is displayed. That is also dumb - there is nothing to delete until you have pressed save to add it!
3) When clicking on a Limiter at the top of the tree, the Delete button says "Delete this queue", but it is the top level limiter that is being edited and could be deleted, The $_GET/$_POST that happens sends "pipe" and "queue" both with the name of the top-level limiter. So in the end $queue always exists. So we only want the text "Delete this queue" if $queue exists and the queue name is NOT the same as the pipe name.
Note: These issues are also in 2.2.6 - see https://github.com/pfsense/pfsense/pull/2362 for the changes to fix in RELENG_2_2.
As far as I can see this URL should be self-referring - to firewall_shaper_vinterface.php
But I am having trouble finding how to test it, because whenever $pipe is set, so is $queue so I never get down the "else".
Anyway, this seems an obvious fix, and there might be other stuff related to when creating a limiter as distinct from a queue inside that limiter.
As far as I can see this URL should be self-referring - to firewall_shaper_vinterface.php
But I am having trouble finding how to test it, because whenever $pipe is set, so is $queue so I never get down the "else".
Anyway, this seems an obvious fix, and there might be other stuff related to when creating a limiter as distinct from a queue inside that limiter.
Attribute name not allowed on element table at this point.
<table name="ruletable" class="table table-hover table-striped table-condensed">
Unclosed element div.
End tag for body seen, but there were unclosed elements.