Merge pull request #1769 from jow-/master
authorJo-Philipp Wich <jo@mein.io>
Fri, 18 May 2018 14:44:33 +0000 (16:44 +0200)
committerGitHub <noreply@github.com>
Fri, 18 May 2018 14:44:33 +0000 (16:44 +0200)
UCI apply/rollback workflow

1  2 
modules/luci-base/luasrc/dispatcher.lua

@@@ -182,6 -182,7 +182,7 @@@ local function session_retrieve(sid, al
           (not allowed_users or
            util.contains(allowed_users, sdat.values.username))
        then
+               uci:set_session_id(sid)
                return sid, sdat.values
        end
  
@@@ -428,9 -429,7 +429,9 @@@ function dispatch(request
                                return
                        end
  
 -                      http.header("Set-Cookie", 'sysauth=%s; path=%s' %{ sid, build_url() })
 +                      http.header("Set-Cookie", 'sysauth=%s; path=%s; HttpOnly%s' %{
 +                              sid, build_url(), http.getenv("HTTPS") == "on" and "; secure" or ""
 +                      })
                        http.redirect(build_url(unpack(ctx.requestpath)))
                end
  
@@@ -884,6 -883,8 +885,8 @@@ local function _cbi(self, ...
        local pageaction = true
        local parsechain = { }
  
+       local is_rollback, time_remaining = uci:rollback_pending()
        for i, res in ipairs(maps) do
                if res.apply_needed and res.parsechain then
                        local c
                res:render({
                        firstmap   = (i == 1),
                        applymap   = applymap,
+                       confirmmap = (is_rollback and time_remaining or nil),
                        redirect   = redirect,
                        messages   = messages,
                        pageaction = pageaction,