oweals/luci.git
5 years agoluci-base: form.js: add support for dynamic default values
Jo-Philipp Wich [Thu, 19 Sep 2019 13:40:57 +0000 (15:40 +0200)]
luci-base: form.js: add support for dynamic default values

Many uci options have different implicit defaults, depending on the
values of other related options. A prominent example is the wireless
ieee80211w option which defaults to 2, 1 or 0 depending on whether
the encryption is set to wpa3-sae, wpa2/wpa2 mixed or any other mode
respectively.

Add the ability to specify a dictionary of default values and their
corresponding dependencies in order to be able to express such
configurations.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: ui.js: mark user-changed widgets
Jo-Philipp Wich [Thu, 19 Sep 2019 13:39:46 +0000 (15:39 +0200)]
luci-base: ui.js: mark user-changed widgets

Set a `data-changed=true` attribute on the widget element when the user
did any change to the default value.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: form.js: fix default click action of button options
Jo-Philipp Wich [Wed, 18 Sep 2019 13:08:19 +0000 (15:08 +0200)]
luci-base: form.js: fix default click action of button options

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: ensure that button labels are properly html escaped
Jo-Philipp Wich [Wed, 18 Sep 2019 11:51:16 +0000 (13:51 +0200)]
luci-base: ensure that button labels are properly html escaped

Fixes: #3067
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-mod-system: system.js: simplify btn actions, use feature flags
Jo-Philipp Wich [Wed, 18 Sep 2019 06:16:41 +0000 (08:16 +0200)]
luci-mod-system: system.js: simplify btn actions, use feature flags

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoMerge pull request #3080 from castillofrancodamian/master
Hannu Nyman [Wed, 18 Sep 2019 06:07:33 +0000 (09:07 +0300)]
Merge pull request #3080 from castillofrancodamian/master

luci-base and apps: update Spanish translation

5 years agoluci-base: network.js: filter invalid mac addresses
Jo-Philipp Wich [Wed, 18 Sep 2019 05:46:33 +0000 (07:46 +0200)]
luci-base: network.js: filter invalid mac addresses

Only consider valid ethernet mac addresses when building the device state
from raw getifaddrs() information.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-mod-network: interfaces.js: derive status from layer 3 device
Jo-Philipp Wich [Wed, 18 Sep 2019 05:33:25 +0000 (07:33 +0200)]
luci-mod-network: interfaces.js: derive status from layer 3 device

Align the status column device selection logic with the approach used for
rendering the interface status boxes; first try to obtain the active
layer3 device as reported by ubus, only then fall back to the protocol
specific device hint which might or might not point to an existing device.

Fixes: #3076
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: network.js: get low level device details from getifaddr() info
Jo-Philipp Wich [Wed, 18 Sep 2019 05:19:18 +0000 (07:19 +0200)]
luci-base: network.js: get low level device details from getifaddr() info

Fixes: #3078
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-mod-system: disable redundant page actions in crontab, startup views
Jo-Philipp Wich [Wed, 18 Sep 2019 05:23:01 +0000 (07:23 +0200)]
luci-mod-system: disable redundant page actions in crontab, startup views

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base and apps: update Spanish translation 3080/head
Franco Castillo [Wed, 18 Sep 2019 02:40:37 +0000 (23:40 -0300)]
luci-base and apps: update Spanish translation

Update of the Spanish translation of luci-base and some LuCI applications.

* luci-base
* adblock
* advanced-reboot
* aria2
* banip
* ddns
* firewall
* mjpg-streamer
* mwan3
* ntpc
* simple-adblock
* travelmate
* vpnbypass
* wifischedule
* wireguard

Signed-off-by: Franco Castillo <castillofrancodamian@gmail.com>
5 years agoMerge pull request #3074 from TDT-AG/pr/20190916-flashops-german-translation
Florian Eckert [Tue, 17 Sep 2019 18:59:51 +0000 (20:59 +0200)]
Merge pull request #3074 from TDT-AG/pr/20190916-flashops-german-translation

luci-base: fix german translation for factory reset hint

5 years agoMerge pull request #3063 from TDT-AG/pr/20190908-luci-app-statistics
Florian Eckert [Tue, 17 Sep 2019 08:09:23 +0000 (10:09 +0200)]
Merge pull request #3063 from TDT-AG/pr/20190908-luci-app-statistics

luci-app-statistics: Add new plugin options

5 years agoluci-proto-wireguard: fix preshared key validation
Jo-Philipp Wich [Tue, 17 Sep 2019 06:28:45 +0000 (08:28 +0200)]
luci-proto-wireguard: fix preshared key validation

Ensure that the preshared key option remains optional.

Fixes: #3075
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-mod-system: remplement dropbear settings as client side view
Jo-Philipp Wich [Tue, 17 Sep 2019 05:43:48 +0000 (07:43 +0200)]
luci-mod-system: remplement dropbear settings as client side view

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: fix german translation for factory reset hint 3074/head
Martin Schiller [Mon, 16 Sep 2019 07:32:25 +0000 (09:32 +0200)]
luci-base: fix german translation for factory reset hint

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
5 years agoluci-mod-system: remplement password change as client side view
Jo-Philipp Wich [Mon, 16 Sep 2019 05:54:25 +0000 (07:54 +0200)]
luci-mod-system: remplement password change as client side view

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-mod-system: reimplement SSH key mgmt as client side view
Jo-Philipp Wich [Sun, 15 Sep 2019 18:00:36 +0000 (20:00 +0200)]
luci-mod-system: reimplement SSH key mgmt as client side view

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: add luci/setPassword rpc method, dropbear feature flag
Jo-Philipp Wich [Mon, 16 Sep 2019 05:49:05 +0000 (07:49 +0200)]
luci-base: add luci/setPassword rpc method, dropbear feature flag

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: luci.js: render view buttons depending on available functions
Jo-Philipp Wich [Tue, 17 Sep 2019 05:03:27 +0000 (07:03 +0200)]
luci-base: luci.js: render view buttons depending on available functions

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: form.js: implement JSONMap
Jo-Philipp Wich [Mon, 16 Sep 2019 05:55:45 +0000 (07:55 +0200)]
luci-base: form.js: implement JSONMap

Implement a new map type JSONMap which uses a JSON data structure instead
of uci as configuration data backend.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoMerge pull request #3069 from musashino205/l10n/base-upd-ja
Hannu Nyman [Sun, 15 Sep 2019 16:38:59 +0000 (19:38 +0300)]
Merge pull request #3069 from musashino205/l10n/base-upd-ja

luci-base: update Japanese translation

5 years agoluci-base: update Japanese translation 3069/head
INAGAKI Hiroshi [Sun, 15 Sep 2019 11:08:14 +0000 (20:08 +0900)]
luci-base: update Japanese translation

Updated Japanese translations.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
5 years agoi18n: sync translations
INAGAKI Hiroshi [Sun, 15 Sep 2019 10:15:17 +0000 (19:15 +0900)]
i18n: sync translations

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
5 years agoluci-base: luci.js: append version when dynamically loading classes
Jo-Philipp Wich [Sat, 14 Sep 2019 15:44:32 +0000 (17:44 +0200)]
luci-base: luci.js: append version when dynamically loading classes

This allows for some naive cache busting when the LuCI version changes,
to avoid loading outdated classes from cache.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: cbi.js: update dependencies after widgets have been rendered
Jo-Philipp Wich [Sat, 14 Sep 2019 15:20:41 +0000 (17:20 +0200)]
luci-base: cbi.js: update dependencies after widgets have been rendered

Fixes: #3066
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: network.js: register "none" protocol
Jo-Philipp Wich [Sat, 14 Sep 2019 15:03:23 +0000 (17:03 +0200)]
luci-base: network.js: register "none" protocol

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoMerge pull request #3024 from TDT-AG/pr/20190829-material-logo
Florian Eckert [Fri, 13 Sep 2019 12:20:44 +0000 (14:20 +0200)]
Merge pull request #3024 from TDT-AG/pr/20190829-material-logo

luci-theme-material: show logo also on login page

5 years agoluci-mod-network: wireless.js: restore mac hints in mac list widget
Jo-Philipp Wich [Fri, 13 Sep 2019 12:19:33 +0000 (14:19 +0200)]
luci-mod-network: wireless.js: restore mac hints in mac list widget

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: network.js: implement Hosts.getMACHints()
Jo-Philipp Wich [Fri, 13 Sep 2019 12:18:43 +0000 (14:18 +0200)]
luci-base: network.js: implement Hosts.getMACHints()

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-app-statistics: add ping stddev definition 3063/head
Florian Eckert [Fri, 13 Sep 2019 12:10:01 +0000 (14:10 +0200)]
luci-app-statistics: add ping stddev definition

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
5 years agoluci-app-statistics: cleanup ping definitions
Florian Eckert [Fri, 13 Sep 2019 12:01:36 +0000 (14:01 +0200)]
luci-app-statistics: cleanup ping definitions

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
5 years agoluci-app-statistics: update license header in memory definition
Florian Eckert [Fri, 13 Sep 2019 10:56:39 +0000 (12:56 +0200)]
luci-app-statistics: update license header in memory definition

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
5 years agoluci-app-statistics: add new memory plugin option
Florian Eckert [Fri, 13 Sep 2019 10:51:13 +0000 (12:51 +0200)]
luci-app-statistics: add new memory plugin option

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
5 years agoluci-app-statistics: add new cpu plugin options
Florian Eckert [Fri, 13 Sep 2019 09:55:36 +0000 (11:55 +0200)]
luci-app-statistics: add new cpu plugin options

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
5 years agoluci-base: fix ip6hint option dependencies and validation
Jo-Philipp Wich [Fri, 13 Sep 2019 10:57:08 +0000 (12:57 +0200)]
luci-base: fix ip6hint option dependencies and validation

Ref: https://forum.openwrt.org/t/odhcpd-make-lease-file-persistent/44118/8
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoMerge pull request #3060 from tano-systems/pr/update-ru-i18n
Jo-Philipp Wich [Fri, 13 Sep 2019 09:06:30 +0000 (11:06 +0200)]
Merge pull request #3060 from tano-systems/pr/update-ru-i18n

luci-base: Update Russian translation

5 years agoluci-base: Update Russian translation 3060/head
Anton Kikin [Thu, 12 Sep 2019 21:13:04 +0000 (00:13 +0300)]
luci-base: Update Russian translation

Signed-off-by: Anton Kikin <a.kikin@tano-systems.com>
5 years agoMerge pull request #3059 from castillofrancodamian/master
Hannu Nyman [Thu, 12 Sep 2019 19:41:08 +0000 (22:41 +0300)]
Merge pull request #3059 from castillofrancodamian/master

luci-base: update Spanish translation

5 years agoluci-base: update Spanish translation 3059/head
Franco Castillo [Thu, 12 Sep 2019 19:34:11 +0000 (16:34 -0300)]
luci-base: update Spanish translation

Signed-off-by: Franco Castillo <castillofrancodamian@gmail.com>
5 years agoluci-base: update Spanish translation
Franco Castillo [Thu, 12 Sep 2019 19:06:32 +0000 (16:06 -0300)]
luci-base: update Spanish translation

Signed-off-by: Franco Castillo <castillofrancodamian@gmail.com>
5 years agoluci-mod-system: improve LED configuration page
Jo-Philipp Wich [Thu, 12 Sep 2019 17:22:59 +0000 (19:22 +0200)]
luci-mod-system: improve LED configuration page

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: sys.lua: fix init script enable action
Jo-Philipp Wich [Thu, 12 Sep 2019 16:56:24 +0000 (18:56 +0200)]
luci-base: sys.lua: fix init script enable action

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-mod-system: add heading to startup page, improve error reporting
Jo-Philipp Wich [Thu, 12 Sep 2019 16:55:50 +0000 (18:55 +0200)]
luci-mod-system: add heading to startup page, improve error reporting

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-mod-system: reimplent system/crontab as client side view
Jo-Philipp Wich [Thu, 12 Sep 2019 16:48:58 +0000 (18:48 +0200)]
luci-mod-system: reimplent system/crontab as client side view

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: whitelist file/write actions on /etc/rc.local
Jo-Philipp Wich [Thu, 12 Sep 2019 12:42:12 +0000 (14:42 +0200)]
luci-base: whitelist file/write actions on /etc/rc.local

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-mod-system: restore rc.local editing functionality
Jo-Philipp Wich [Thu, 12 Sep 2019 12:41:30 +0000 (14:41 +0200)]
luci-mod-system: restore rc.local editing functionality

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-mod-system: reimplent system/startup as client side view
Jo-Philipp Wich [Thu, 12 Sep 2019 12:13:08 +0000 (14:13 +0200)]
luci-mod-system: reimplent system/startup as client side view

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: rpc.js: fix list requests, handle aborted http requests
Jo-Philipp Wich [Thu, 12 Sep 2019 12:02:06 +0000 (14:02 +0200)]
luci-base: rpc.js: fix list requests, handle aborted http requests

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: fix list method handling in ubus-rpc protocol proxy
Jo-Philipp Wich [Thu, 12 Sep 2019 12:00:47 +0000 (14:00 +0200)]
luci-base: fix list method handling in ubus-rpc protocol proxy

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-theme-bootstrap: tune .alert-message padding and margin
Jo-Philipp Wich [Thu, 12 Sep 2019 09:10:19 +0000 (11:10 +0200)]
luci-theme-bootstrap: tune .alert-message padding and margin

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: drop unused tools.status.switch_status() call
Jo-Philipp Wich [Thu, 12 Sep 2019 09:09:20 +0000 (11:09 +0200)]
luci-base: drop unused tools.status.switch_status() call

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-mod-network: reimplement switch configuration as client side view
Jo-Philipp Wich [Thu, 12 Sep 2019 09:06:38 +0000 (11:06 +0200)]
luci-mod-network: reimplement switch configuration as client side view

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: add luci/getSwconfigFeatures and luci/getSwconfigPortState
Jo-Philipp Wich [Thu, 12 Sep 2019 09:01:19 +0000 (11:01 +0200)]
luci-base: add luci/getSwconfigFeatures and luci/getSwconfigPortState

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: form.js: handle non-string values in stripTags()
Jo-Philipp Wich [Thu, 12 Sep 2019 08:49:04 +0000 (10:49 +0200)]
luci-base: form.js: handle non-string values in stripTags()

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoMerge pull request #3056 from musashino205/l10n/base-upd-ja
Jo-Philipp Wich [Thu, 12 Sep 2019 08:12:33 +0000 (10:12 +0200)]
Merge pull request #3056 from musashino205/l10n/base-upd-ja

luci-base: update Japanese translation

5 years agoluci-base: update Japanese translation 3056/head
INAGAKI Hiroshi [Thu, 12 Sep 2019 07:52:41 +0000 (16:52 +0900)]
luci-base: update Japanese translation

Updated Japanese translations.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
5 years agoMerge pull request #3055 from YuriPet/patch-1
Jo-Philipp Wich [Thu, 12 Sep 2019 04:52:27 +0000 (06:52 +0200)]
Merge pull request #3055 from YuriPet/patch-1

luci-base: update Ukrainian translation

5 years agoluci-base: update Ukrainian translation 3055/head
Yurii [Wed, 11 Sep 2019 23:46:17 +0000 (02:46 +0300)]
luci-base: update Ukrainian translation

Update Ukrainian translation according the latest translation resync. Сorrections and additions.

Signed-off-by: Yurii <yuripet@gmail.com>
5 years agoluci-base: restore some lost translations and update german
Jo-Philipp Wich [Wed, 11 Sep 2019 11:19:00 +0000 (13:19 +0200)]
luci-base: restore some lost translations and update german

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: resync translations
Jo-Philipp Wich [Wed, 11 Sep 2019 10:58:18 +0000 (12:58 +0200)]
luci-base: resync translations

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-app-firewall: display "this new zone" instead of "undefined"
Nicholas Smith [Mon, 2 Sep 2019 01:43:33 +0000 (11:43 +1000)]
luci-app-firewall: display "this new zone" instead of "undefined"

Signed-off-by: Nicholas Smith <nicholas.smith@telcoantennas.com.au>
5 years agoluci-app-firewall: disallow creating zone without name
Jo-Philipp Wich [Wed, 11 Sep 2019 10:46:59 +0000 (12:46 +0200)]
luci-app-firewall: disallow creating zone without name

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: widgets.js: fix display quirk in tools.widgets.DeviceSelect
Jo-Philipp Wich [Wed, 11 Sep 2019 10:44:34 +0000 (12:44 +0200)]
luci-base: widgets.js: fix display quirk in tools.widgets.DeviceSelect

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: validation.js: implement length() datatype validator
Jo-Philipp Wich [Wed, 11 Sep 2019 10:28:58 +0000 (12:28 +0200)]
luci-base: validation.js: implement length() datatype validator

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-mod-network: add missing dependency on rpcd-mod-iwinfo
Jo-Philipp Wich [Wed, 11 Sep 2019 10:27:02 +0000 (12:27 +0200)]
luci-mod-network: add missing dependency on rpcd-mod-iwinfo

Fixes: 963b7636b ("luci-mod-network: switch to client side wifi configuration pages")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: view.htm: catch and render exceptions on view instantiation
Jo-Philipp Wich [Wed, 11 Sep 2019 10:21:51 +0000 (12:21 +0200)]
luci-base: view.htm: catch and render exceptions on view instantiation

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: luci.js: register rpc interceptor to catch expired sessions
Jo-Philipp Wich [Wed, 11 Sep 2019 07:30:00 +0000 (09:30 +0200)]
luci-base: luci.js: register rpc interceptor to catch expired sessions

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: luci.js: rework error handling
Jo-Philipp Wich [Wed, 11 Sep 2019 07:28:21 +0000 (09:28 +0200)]
luci-base: luci.js: rework error handling

 - Capture stack trace in L.raise() if passed type is not an Error instance
 - Use L.ui.addNotification in L.error() to render the error message
 - Prevent duplicate error reporting in the ui

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: rpc.js: revamp error handling, add interceptor support
Jo-Philipp Wich [Wed, 11 Sep 2019 07:25:11 +0000 (09:25 +0200)]
luci-base: rpc.js: revamp error handling, add interceptor support

Add two new functions L.rpc.addInterceptor() and L.rpc.removeInterceptor()
which allow to register and remove interceptor functions which are invoked
before the rpc reply result promise is fulfilled.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-theme-bootstrap: cleanup alert-message css, add fade-in/fade-out anims
Jo-Philipp Wich [Wed, 11 Sep 2019 07:23:16 +0000 (09:23 +0200)]
luci-theme-bootstrap: cleanup alert-message css, add fade-in/fade-out anims

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: ui.js: implement addNotification() helper
Jo-Philipp Wich [Wed, 11 Sep 2019 07:22:13 +0000 (09:22 +0200)]
luci-base: ui.js: implement addNotification() helper

The L.ui.addNotification() function pushes a dismissable banner message to
the top of the view.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-theme-bootstrap: mobile style fixes for wifi overview view
Jo-Philipp Wich [Tue, 10 Sep 2019 13:27:40 +0000 (15:27 +0200)]
luci-theme-bootstrap: mobile style fixes for wifi overview view

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: replace luci/getHostname with generic file/read rpc operation
Jo-Philipp Wich [Mon, 9 Sep 2019 09:09:18 +0000 (11:09 +0200)]
luci-base: replace luci/getHostname with generic file/read rpc operation

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoprotocols: replace luci/getTTYDevices calls with generic file/list ones
Jo-Philipp Wich [Sun, 8 Sep 2019 14:12:25 +0000 (16:12 +0200)]
protocols: replace luci/getTTYDevices calls with generic file/list ones

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: add hostapd/wpa_supplicant cli feature flags
Jo-Philipp Wich [Sun, 8 Sep 2019 14:09:17 +0000 (16:09 +0200)]
luci-base: add hostapd/wpa_supplicant cli feature flags

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-mod-network: switch to client side wifi configuration pages
Jo-Philipp Wich [Wed, 4 Sep 2019 15:26:38 +0000 (17:26 +0200)]
luci-mod-network: switch to client side wifi configuration pages

Rewrite the wireless network management views in client side JS using ubus
rpc calls for the router communication.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: form.js: store pointer to parent map in modal overlay map
Jo-Philipp Wich [Mon, 9 Sep 2019 05:37:35 +0000 (07:37 +0200)]
luci-base: form.js: store pointer to parent map in modal overlay map

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: form.js: pass-through promise in handleAdd
Jo-Philipp Wich [Wed, 4 Sep 2019 15:15:13 +0000 (17:15 +0200)]
luci-base: form.js: pass-through promise in handleAdd

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: network.js: add getHostHints() api
Jo-Philipp Wich [Wed, 4 Sep 2019 14:39:50 +0000 (16:39 +0200)]
luci-base: network.js: add getHostHints() api

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-theme-bootstrap: add required styles for file upload widget
Jo-Philipp Wich [Wed, 4 Sep 2019 12:23:31 +0000 (14:23 +0200)]
luci-theme-bootstrap: add required styles for file upload widget

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: use cgi-io and rpcd-mod-file to handle file upload and browsing
Jo-Philipp Wich [Tue, 3 Sep 2019 17:34:33 +0000 (19:34 +0200)]
luci-base: use cgi-io and rpcd-mod-file to handle file upload and browsing

Remove the old server side support for file browsing and file uploading
and switch to a client side widget instead which uses XMLHTTPRequests to
upload files via cgi-io and RPC calls for file listing and status queries.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: cbi.js: handle ui elements which return a promise in render()
Jo-Philipp Wich [Tue, 3 Sep 2019 17:30:29 +0000 (19:30 +0200)]
luci-base: cbi.js: handle ui elements which return a promise in render()

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: cbi.js: fix unintended number sign overflow in format
Jo-Philipp Wich [Tue, 3 Sep 2019 17:25:39 +0000 (19:25 +0200)]
luci-base: cbi.js: fix unintended number sign overflow in format

Fixes: #3003
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: form.js: use createHandlerFn() for click actions
Jo-Philipp Wich [Tue, 3 Sep 2019 17:21:49 +0000 (19:21 +0200)]
luci-base: form.js: use createHandlerFn() for click actions

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: luci.js: use createHandlerFn() for page actions
Jo-Philipp Wich [Mon, 9 Sep 2019 09:25:08 +0000 (11:25 +0200)]
luci-base: luci.js: use createHandlerFn() for page actions

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: form.js: do not consider inactive fields for dependency checks
Jo-Philipp Wich [Wed, 4 Sep 2019 12:19:18 +0000 (14:19 +0200)]
luci-base: form.js: do not consider inactive fields for dependency checks

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: rpc.js: add getStatusText() call
Jo-Philipp Wich [Tue, 3 Sep 2019 17:17:20 +0000 (19:17 +0200)]
luci-base: rpc.js: add getStatusText() call

The new function allows translating an ubus return code into a human
readable error message.

Also report the called object and method on ubus rpc errors.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: network.js: fix, rework and improve wireless state handling
Jo-Philipp Wich [Tue, 3 Sep 2019 14:56:24 +0000 (16:56 +0200)]
luci-base: network.js: fix, rework and improve wireless state handling

 - Use new getWirelessDevices rpc method to optimize data fetching
 - Implement further getters to access iwinfo information
 - Implement assoc- and scan list functions
 - Simplify internal data model

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: add getWirelessDevices() rpc method
Jo-Philipp Wich [Tue, 3 Sep 2019 14:49:25 +0000 (16:49 +0200)]
luci-base: add getWirelessDevices() rpc method

The getWirelessDevices() method merges the results of the
network.wireless/status call with corresponding per-radio and
per-network iwinfo data.

This allows to simplify the client side network state model
implementation and saves extraneous rpc roundtrips to fetch
iwinfo data after discovering the wireless devices.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: luci.js: support passing FormData as request payload
Jo-Philipp Wich [Tue, 3 Sep 2019 14:48:31 +0000 (16:48 +0200)]
luci-base: luci.js: support passing FormData as request payload

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: luci.js: support registering request progress handlers
Jo-Philipp Wich [Tue, 3 Sep 2019 14:48:03 +0000 (16:48 +0200)]
luci-base: luci.js: support registering request progress handlers

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: luci.js: fix L.Poll.remove()
Jo-Philipp Wich [Tue, 3 Sep 2019 14:47:19 +0000 (16:47 +0200)]
luci-base: luci.js: fix L.Poll.remove()

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-mod-network: slightly improve static lease config
Jo-Philipp Wich [Wed, 21 Aug 2019 16:27:38 +0000 (18:27 +0200)]
luci-mod-network: slightly improve static lease config

 - Autoselect the matching IPv4 address when initially picking a MAC
 - Add hostname hints in the MAC/IP dropdowns

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: form.js: use createHandlerFn() for modal button actions
Jo-Philipp Wich [Wed, 21 Aug 2019 15:59:58 +0000 (17:59 +0200)]
luci-base: form.js: use createHandlerFn() for modal button actions

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-base: form.js: disable write/remove actions for DummyValue widgets
Jo-Philipp Wich [Wed, 21 Aug 2019 10:50:07 +0000 (12:50 +0200)]
luci-base: form.js: disable write/remove actions for DummyValue widgets

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-app-fireall: remove unused templates
Jo-Philipp Wich [Wed, 21 Aug 2019 10:48:50 +0000 (12:48 +0200)]
luci-app-fireall: remove unused templates

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-app-firewall: filter alias interfaces in zone device selection
Jo-Philipp Wich [Wed, 21 Aug 2019 10:12:12 +0000 (12:12 +0200)]
luci-app-firewall: filter alias interfaces in zone device selection

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoprotocols: drop server side cbi implementations of protocol handlers
Jo-Philipp Wich [Tue, 20 Aug 2019 13:41:41 +0000 (15:41 +0200)]
protocols: drop server side cbi implementations of protocol handlers

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
5 years agoluci-mod-network: switch to client side interface configuration pages
Jo-Philipp Wich [Tue, 20 Aug 2019 13:39:16 +0000 (15:39 +0200)]
luci-mod-network: switch to client side interface configuration pages

Signed-off-by: Jo-Philipp Wich <jo@mein.io>