diff options
Diffstat (limited to 'openssl-controller.lua')
-rw-r--r-- | openssl-controller.lua | 51 |
1 files changed, 43 insertions, 8 deletions
diff --git a/openssl-controller.lua b/openssl-controller.lua index c359b51..78cbe2b 100644 --- a/openssl-controller.lua +++ b/openssl-controller.lua @@ -7,20 +7,24 @@ default_action = "read" -- View all pending and approved requests and revoked certificates readall = function(self) + local cmdresult = self.sessiondata.cmdresult + self.sessiondata.cmdresult = nil local pending = self.model.listrequests() - local approved = nil + local approved = self.model.listcerts() local revoked = nil - local result = cfe({ type="list", value={pending=pending, approved=approved, revoked=revoked} }) + local result = cfe({ type="list", value={cmdresult=cmdresult, pending=pending, approved=approved, revoked=revoked} }) return result end -- Return all certificates (pending, approved, and revoked) for this user read = function(self) + local cmdresult = self.sessiondata.cmdresult + self.sessiondata.cmdresult = nil local user = cfe({ value=self.sessiondata.userinfo.userid, label="User Name" }) local pending = self.model.listrequests(self.sessiondata.userinfo.userid) - local approved = nil + local approved = self.model.listcerts(self.sessiondata.userinfo.userid) local revoked = nil - local result = cfe({ type="list", value={user=user, pending=pending, approved=approved, revoked=revoked} }) + local result = cfe({ type="list", value={cmdresult=cmdresult, user=user, pending=pending, approved=approved, revoked=revoked} }) return result end @@ -31,8 +35,10 @@ request = function(self) -- Try to submit the request request = self.model.submitrequest(self.clientdata, self.sessiondata.userinfo.userid) if not request.errtxt then - request.descr = "Submitted request" - --redirect(self) + cmdresult = cfe({ value="Request submitted", label="Request result" }) + self.sessiondata.cmdresult = cmdresult + --request.descr = "Submitted request" + redirect(self, "readall") end else request = self.model.getnewrequest() @@ -64,16 +70,45 @@ editdefaults = function(self) return defaults end +-- View request details +viewrequest = function(self) + return self.model.viewrequest(self.clientdata.request) +end + -- Approve the specified request approve = function(self) + local cmdresult = self.model.approverequest(self.clientdata.request) + self.sessiondata.cmdresult = cmdresult + redirect_to_referrer(self) end --- Revoke the specified cert -revoke = function(self) +-- Delete the specified request +deleterequest = function(self) + local cmdresult = self.model.deleterequest(self.clientdata.request) + self.sessiondata.cmdresult = cmdresult + redirect_to_referrer(self) +end + +-- View certificate details +viewcert = function(self) + return self.model.viewcert(self.clientdata.cert) end -- Get the specified cert getcert = function(self) + self.conf.viewtype="stream" + return self.model.getcert(self.clientdata.cert) +end + +-- Revoke the specified cert +revoke = function(self) +end + +-- Delete the specified certificate +deletecert = function(self) + local cmdresult = self.model.deletecert(self.clientdata.cert) + self.sessiondata.cmdresult = cmdresult + redirect_to_referrer(self) end -- Get the revoked list |