Commit graph

52 commits

Author SHA1 Message Date
Jo-Philipp Wich
c0de036b31 treewide: always include cbi.js
Include cbi.js in the main header template like it is done for xhr.js and
remove the page specific includes.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-07-09 11:51:43 +02:00
Jo-Philipp Wich
002c4d1d5f luci-base: add "Name" label to autogenerated title column
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-06-25 11:12:25 +02:00
Jo-Philipp Wich
18d92aca53 luci-base: annotate tblsection description row as well
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-06-25 09:51:18 +02:00
Jo-Philipp Wich
d0b91bcca2 luci-base: globally cleanup markup
- add responsive attributes to partial cbi templates
 - unify and fix button style classes
 - fix styling of sysauth dialog
 - rework firewall_zoneforwards widget

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-06-23 17:13:22 +02:00
Jo-Philipp Wich
74be6f3974 treewide: switch firewall zone, network and iface lists to dropdown code
Also switch the weekday and monthday lists in the firewall rule details to
cbi dropdowns, vastly uncluttering the form.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-06-08 08:19:20 +02:00
Jo-Philipp Wich
9d48490729 luci-base: add markup, JS and CSS for new dropdown
This commit introduces the required code for a new, markup based dropdown
widget which can be used as a styleable alternative to select boxes or
radio/checkbox button groups.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-06-08 08:14:36 +02:00
Jo-Philipp Wich
29b391d7bc luci-base: use common alert message markup
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-31 19:06:48 +02:00
Jo-Philipp Wich
5427395649 luci-base: add full page overlay during apply
After applying uci configuration, a full map reload is required in many
cases as the anonymous section identifiers might have been rehashed, causing
the rendered map to go out of sync.

To avoid that, add both a full page overlay preventing further page
interaction and let the apply widget forcibly reload the current view once
the operation is complete.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-31 15:38:42 +02:00
Jo-Philipp Wich
067d7dc9f7 treewide: convert HTML tables to div
Mostly convert HTML tables to div based markup to allow for easier styling
in the future. Also change JS accessor code accordingly.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-28 15:18:45 +02:00
Jo-Philipp Wich
8deb949551 treewide: rework uci apply workflow
Switch to rpcd based uci apply/rollback workflow which helps to avoid soft-
bricking devices by requiring an explicit confirmation call after config
apply.

When a user now clicks "Save & Apply", LuCI first issues a call to uci apply
which commits and reloads configuration, then goes into a polling countdown
mode where it repeatedly attempts to call uci confirm.

If the committed configuration is sane, the confirm call will go through and
cancel rpcd's pending rollback timer.

If the configuration change leads to a loss of connectivity (e.g. due to bad
firewall rules or similar), the rollback mechanism will kick in after the
timeout and revert configuration files and pending changes to the pre-apply
state.

In order to cover such rare cases where a lost of connectivity is expected
and desired, the user is offered an "unchecked" apply option after timing
out, which allows committing and applying the changes anyway, without the
extra safety checks.

As a consequence of this change, the luci-reload mechanism is now completely
unsused since rpcd uses ubus config reload signals to reload affected
services, which means that only procd-enabled services will receive proper
reload treatment with the new workflow.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-05 23:11:23 +02:00
Jo-Philipp Wich
b0f3946570 luci-base: support hiding the "Back to Overview" button in cbi maps
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-03 08:25:26 +02:00
Jo-Philipp Wich
07de9190d8 Revert "luci-base: support hiding the "Back to Overview" button in cbi maps"
This reverts commit 52cf265c9d.

I accidentally committed unrelated changes.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-03 08:24:36 +02:00
Jo-Philipp Wich
52cf265c9d luci-base: support hiding the "Back to Overview" button in cbi maps
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-03 08:22:55 +02:00
Jo-Philipp Wich
5c31937a0f luci-base: escape path strings and field parameter
Prevent various XSS vectors by not interpolating field and path values
verbatim into script and html contexts.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-07 11:43:44 +02:00
Jo-Philipp Wich
b00b676923 luci-base: properly initialize cbi.js on SimpleForms
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-04-06 16:39:39 +02:00
Florian Eckert
70783f5802 luci-base: fix colspans calculation in tblsection
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2018-03-27 10:39:55 +02:00
Jo-Philipp Wich
005f4fb7d4
Merge pull request #1654 from TDT-AG/pr/20180301-luci-several-fixes
luci-app-firewall/luci-base/luci-mod-admin-full: some fixes and improvements
2018-03-15 09:52:22 +01:00
Dirk Brenken
21fbe39858 luci-base/firewall_zonelist: fix visual interface/background alignment
* fix for #1667, tested with all standard themes

Signed-off-by: Dirk Brenken <dev@brenken.org>
2018-03-09 08:13:03 +01:00
Florian Eckert
fa756d1fbb luci-base: fix browser.htm template
If cbi_init() is not called first browser gif will not be found.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2018-03-01 12:31:50 +01:00
Jo-Philipp Wich
98aacba3ac luci-base: gracefully handle broken firewall forwarding sections
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-10-17 17:35:01 +02:00
Jo-Philipp Wich
ae7c6f48df luci-base: mvalue: fix column wrapping
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-01-26 00:07:26 +01:00
Matthias Schiffer
4de35274ca luci-base: view: make checkboxes and radio buttons styleable
Add an empty, normally invisible label after checkboxes and radio buttons
with cbi-input-{checkbox,radio} classes to allow CSS styling them as
suggested on http://www.paulund.co.uk/style-checkboxes-with-css

Signed-off-by: Nils Schneider <nils@nilsschneider.net>
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-03-03 22:06:39 +01:00
Jo-Philipp Wich
55597da3a8 luci-base: cbi: fix misplaced ID in nullsection template
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2016-02-24 17:40:53 +01:00
Jo-Philipp Wich
e78759ad5a luci-base: cbi: also initialize JS if pageactions are disabled
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2016-02-24 17:40:01 +01:00
Jo-Philipp Wich
385a49277a luci-base: cbi: fix dependency handling of list and multivalues with radio/checkbox widgets
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2016-02-23 09:27:25 +01:00
Christian Schoenebeck
77f5390472 Merge pull request #644 from chris5560/master
luci-base: fixed tabbed map when using NamedSection of same type
2016-02-18 19:25:41 +01:00
Jo-Philipp Wich
5b09d39e9c luci-base: cbi: rely on auto-serialization for combobox choices
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2016-02-10 19:36:37 +01:00
Jo-Philipp Wich
afdc349ab4 luci-base: cbi: rework ListValue and MultiValue templates
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2016-02-10 19:33:01 +01:00
Jo-Philipp Wich
6d126649f0 luci-base: cbi: further refactoring
Eliminate more inline scripts in favor to global initialization, use a global
object for sharing fixed strings instead of passing them to each invocation.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2016-02-10 18:11:49 +01:00
Jo-Philipp Wich
cd85ef388c luci-base: fix dependency handling of optionals (#645)
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2016-02-09 16:12:02 +01:00
Jo-Philipp Wich
84de513a79 luci-base: cbi: remove duplicate id from template
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2016-02-09 16:12:02 +01:00
Christian Schoenebeck
5fdfd903f4 luci-base: fixed tabbed map when using NamedSection of same type
* fixed tabbed map when using NamedSection of same sectiontype
* add error message on which tab(s) the invalid/required fields are located

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
2016-02-08 21:04:23 +01:00
Jo-Philipp Wich
5eaf4cc489 luci-base: cbi: refactor event handling js
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2016-01-18 19:34:02 +01:00
Jo-Philipp Wich
b50471787f luci-base: refactor cbi dependency handling code
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2016-01-18 17:05:36 +01:00
Jo-Philipp Wich
be8dba57a9 luci-base: improve tab hide logic
Do not rely on explicit child counts but inspect the code instead to decide
when to hide tabs or not.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2016-01-18 11:23:11 +01:00
Jo-Philipp Wich
aa12e53333 luci-base: add extra css class for map level tabs, don't track tab child count
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2016-01-18 11:04:15 +01:00
Jo-Philipp Wich
879804f1d4 luci-base: do not render section description tag when description is empty
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2016-01-18 11:00:57 +01:00
Jo-Philipp Wich
1bf268de06 luci-base: add basic support for CBI map level tabbing
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2016-01-15 17:42:40 +01:00
Daniel Dickinson
b475ec699d luci-base: Make default for FileUpload 'safe'
Some files and pointers to files are not safe to remove without a replacement
file and config pointing to the file.  For instance for uhttpd application in
the works, removing the certificate or key config or files without having the
replacements in places renders the WeUI inaccessible.

The only other place where FileUpload is currently used is for wifi certificates
for which the 'safe' handling is also preferred.  Therefore make the default for
the FileUpload widget the safe handling and add a property self.unsafeupload that
allows for the old unsafe handling should it prove useful in some case.

Also allow to specify a file already on router instead of uploading a file.

Signed-off By: Daniel Dickinson <openwrt@daniel.thecshore.com>
2015-12-15 20:36:17 -05:00
Daniel Dickinson
986baa5cce applications: firewall: Add time and date for rules and redirects
UCI config for the firewall has the option of specifying time and date
limitations; add these options the UI.
2015-12-14 23:26:33 -05:00
Yousong Zhou
862b84feb2 luci-base: fix escaping lua string to js repr
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2015-12-02 20:56:08 +08:00
Yousong Zhou
a28da6a88a luci-base: add support for DynamicList with FileBrowser
Two new arguments url, defpath were added to cbi_dynlist_init() for
initializing the brower button.

An example of usage

    identity = section:taboption("general", DynamicList, "identity",
	    translate("List of SSH key files for auth"))
    identity.datatype = "file"

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2015-11-03 17:07:45 +08:00
Christian Schoenebeck
3dbc93bf91 template cbi/value.htm implement documented property maxlength
template cbi/value.htm implement already documented property maxlength

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
2015-11-01 16:36:29 +01:00
Christian Schoenebeck
c7d3619b0c template cbi/value.htm: add "readonly" property
template cbi/value.htm: add "readonly" property

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
2015-10-31 22:54:25 +01:00
Jo-Philipp Wich
281d2f6178 Globally replace luci.dispatcher.build_url(...) with url(...) invocations
Also concat multiple string arguments into one while we're at it.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-07 19:07:36 +02:00
Jo-Philipp Wich
3f29078fb9 luci-base: protect simpleforms with CSRF tokens
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-07 12:24:58 +02:00
Jo-Philipp Wich
ada4a0ea98 luci-base: switch to POST action for service reload
Switches the service reload calls to CSRF token protected POST action.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-06 22:37:27 +02:00
Jo-Philipp Wich
8d46c20327 luci-base: protect CBI forms with CSRF tokens
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-06 18:54:35 +02:00
Jo-Philipp Wich
5e9da8240f Globally convert headline anchors into name attributes.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-06 13:30:33 +02:00
Georgi Valkov
48c8cad48a Workaround: saved administration site user and pass may appear on the Wireless configuration page, replacing the WPA key. 2015-07-27 11:37:09 +02:00