summaryrefslogtreecommitdiffstats
path: root/openssl-controller.lua
diff options
context:
space:
mode:
Diffstat (limited to 'openssl-controller.lua')
-rw-r--r--openssl-controller.lua51
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