The previous server side menu rendering ordered items first by their order
weight value, then by their internal name.
Do the same for client side menu rendering.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 0c479891ae)
Support for sysauth_template was (inadvertently) dropped in refactorings
to support the json menu construction. This does not restore that
functionality, which allowed different templates for every node in the
dispatcher tree, but provides an alternative mechanism that allows a
theme to provide a sysauth.htm template file instead.
Tested-by: Karl Palsson <karlp@etactica.com>
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 8f9433127e)
Fix "SyntaxError: Strict mode does not allow function declarations
in a lexically nested statement" error that may occur in some old
browsers (detected on QtWebKit 5.212).
Signed-off-by: Anton Kikin <a.kikin@tano-systems.com>
(cherry picked from commit c00d0d9473)
Backport translations from master
1) i18n-sync to sync 19.07 itself
2) i18n-merge-master to backport from master
3) i18n-sync to clean-up, as merge-master makes also errors
4) revert luci-app-samba that gets mishandled (removal from master causes ???)
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Update timezone data to 2020a
http://mm.icann.org/pipermail/tz-announce/2020-April/000058.html
2020a:
Morocco springs forward on 2020-05-31, not 2020-05-24.
Canada's Yukon advanced to -07 year-round on 2020-03-08.
America/Nuuk renamed from America/Godthab.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit e5fe16c9ea)
dnsmasq v2.80 made 'dnssec-check-unsigned' the default, reflect this in
the gui.
Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
(cherry picked from commit c58ae7d3f4)
This prevents a situation where the tabs will be disabled by the dispatcher
once the last config section has been removed. This would allow a user to
disable SSH via the UI but not to reenable it.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(backported from commit baa3bd4aac)
Do not expect a specific markup structure but use querySelector() to locate
the input element.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 34c06b4704)
* minimal change to accept the usual logread location
plus the alternative location (/usr/sbin/logread)
used by syslog-ng (see openwrt/packages/issues/11535 for reference)
Signed-off-by: Dirk Brenken <dev@brenken.org>
(cherry picked from commit 085f3f7809)
Currently relay.js is included in any case even if
the router doesn't have the needed package to use it.
Fix this by checking if the system has this feature.
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
(cherry picked from commit 3d70d3e5d7)
Add /sbin/block to the generic Feature list to make
it easily accessible by getProtocolHandlers
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
(cherry picked from commit d8e1aef150)
Refactor the po2lmo conversion code to be more robust and to properly
handle input files without location comments.
Ref: 9c1bac4168 (commitcomment-37036663)
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 2a1245a497)
- Introduce a new luci.template.parser.ntranslate() function which
takes a count, a singular and a plural translation string as well
as an optional context argument and returns the appropriate,
language specific plural translation.
- Introduce an optional translation context argument in the existing
luci.template.parser.translate() function
- Support translation contexts in LuCI template directives.
Translation messages are split on the first unescaped pipe
character and the reamining string after the pipe is treated
as context.
Examples:
- `string.format(p.ntranslate(n, "1 apple", "%d apples"), n)` will
return an appropriate plural translation for the given amount.
- `translate("Load", "The system load")` will return an appropiate
translation for `Load`, using `The system load` as disambiguation
context (a `msgctxt` directive in *.po files).
- Likewise `<%:Load|The system load%>` will translate the word
`Load` while using the remainder of the string as context.
- To use pipes in translations strings literally, they must be
escaped: `<%:Use the "\|" character%>` will translate the literal
string `Use the "|" character`.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 9939fc5a26)
- Extract and store the plural calculation function in .lmo files
- Handle plural translation messages
- Handle translation contexts
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 9c1bac4168)
Corrects the bad access mode from a previous commit that did not allow rpcd luci to execute.
Signed-off-by: David Lam <david@thedavid.net>
(cherry picked from commit cbb1c3cf93)
- 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)