-- the openssl certificates controller module (..., package.seeall) require("getopts") default_action = "read" -- View all pending and approved requests and revoked certificates readall = function(self) local pending = self.model.listrequests() local approved = nil local revoked = nil local result = cfe({ type="list", value={pending=pending, approved=approved, revoked=revoked} }) return result end -- Return all certificates (pending, approved, and revoked) for this user read = function(self) local user = cfe({ value=self.sessiondata.userinfo.userid, label="User Name" }) local pending = self.model.listrequests(self.sessiondata.userinfo.userid) local approved = nil local revoked = nil local result = cfe({ type="list", value={user=user, pending=pending, approved=approved, revoked=revoked} }) return result end -- Form to request a new cert request = function(self) local request if self.clientdata.Submit then -- 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) end else request = self.model.getnewrequest() end request.type = "form" request.label = "Request Certificate" request.option = "Submit" return request end -- Form to edit request defaults editdefaults = function(self) local defaults if self.clientdata.Save then defaults = self.model.setreqdefaults(self.clientdata) if not defaults.errtxt then defaults.descr = "Defaults set" end else defaults = self.model.getreqdefaults() end defaults.type = "form" defaults.label = "Edit certificate defaults" defaults.option = "Save" return defaults end -- Approve the specified request approve = function(self) end -- Revoke the specified cert revoke = function(self) end -- Get the specified cert getcert = function(self) end -- Get the revoked list getrevoked = function(self) end -- Put the CA cert putcacert = function(self) end