- Process deletions before additions or changes, allowing user code to
remove and recreate a section with the same name.
- Only record section deletions when the section to be removed actually
existed in the original config or when it was staged for creation
earlier. This avoids stray ubus not found exception when saving.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 49c6a810e9)
Don't overwrite the `r` variable which is supposed to refer to the reordered
uci sections with temporary data for collecting uci add parameters.
Fixes stray uci/get permission errors caused by an attempt to load
nonsensical uci package names.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 55cb5a753b)
Add a new declare option `reject` which makes the generated RPC call
function reject with an error in case the remote ubus call returned
a non-zero status.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit bd713f870a)
This is useful for custom subclasses that want to perform conditional
rendering of contents, depending on the parent section ID.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit f0a0d28fdd)
Add 'nodescriptions' property to the TableSection class that allows
to disable displaying table header row with descriptions.
Signed-off-by: Anton Kikin <a.kikin@tano-systems.com>
(cherry picked from commit 7585e5c95a)
In some cases, a table cell at actions column of a descriptions row
may not be rendered. For example, this happens for GridSection when
sorting is disabled:
s = m.section(form.GridSection, 'section_type');
s.sortable = false;
Signed-off-by: Anton Kikin <a.kikin@tano-systems.com>
(cherry picked from commit da0e974db5)
- Ensure that last header cell is rendered for grid sections without
sorting or addremove actions
- Don't skip header cells for optional options
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 9bb78b5cd8)
Fixes: #3973
Fixes: 2fb55e1ab ("luci-base: ui.js: fixes for radio widget type of select element")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 81effc1112)
- emit checkbox markup suitable for CSS styling
- use .btn CSS class where appropriate
- dispatch events when updating uci change indicator
- use correct target node when handling events in createHandlerFn()
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 993b4f7950)
This allows us to get rid of global `L` references in luci.js itself.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit e385640505)
Currently the ubus path that provide the webserver is hardcoded to be /ubus.
Change this to make it configurable from the luci config file.
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
(backported from commit 529bde4408)
Since we're already have LuCI.session.getID() we should mirror the same
interface for retrieving the session token.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 551d839f90)
Extend the LuCI bootstrap procedure to scan for class files in
/www/luci-static/preload/. Any JavaScript file found there will be
required automatically before setting up the view, allowing to stage
code that should run on every page load.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 0d0ad80fd1)
The LuCI.fspath() function allows constructing absolute filesystem paths
from path segments relative to the document root.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit fde144c9be)
In file `/etc/config/ucitrack`
```
config fstab
option exec '/sbin/block mount'
```
`/sbin/block mount` never be called after fstab changed.
Signed-off-by: jjm2473 <1129525450@qq.com>
(cherry picked from commit 97780a9ce1)
Add detection mechanism for system cert CA bundle installed by the
ca-bundle package. Used by LuCI to detect whether the "Use system
certificates" certificate validation option should be enabled.
Signed-off-by: David Lam <david@thedavid.net>
(cherry picked from commit 27b21c2a62)