diff options
Diffstat (limited to 'openssl-controller.lua')
-rw-r--r--[-rwxr-xr-x] | openssl-controller.lua | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/openssl-controller.lua b/openssl-controller.lua index e5f4c0a..013d4b3 100755..100644 --- a/openssl-controller.lua +++ b/openssl-controller.lua @@ -9,6 +9,9 @@ mvc={} mvc.pre_exec = function(self) self.model.set_umask() sslstatus = self.model.getstatus() + if not self.redirect then + return + end if (sslstatus.value.version.errtxt and self.conf.action ~= "status") or (sslstatus.value.conffile.errtxt and self.conf.action ~= "status" and self.conf.action ~= "editconfigfile" and self.conf.action ~= "checkenvironment") or (sslstatus.value.environment.errtxt and self.conf.action ~= "status" and self.conf.action ~= "editconfigfile" and self.conf.action ~= "checkenvironment") @@ -59,17 +62,17 @@ end -- Approve the specified request approve = function(self) - return self:redirect_to_referrer(self.model.approverequest(self.clientdata.request)) + return self.handle_form(self, self.model.getapproverequest, self.model.approverequest, self.clientdata, "Approve", "Approve Request") end -- Delete the specified request deleterequest = function(self) - return self:redirect_to_referrer(self.model.deleterequest(self.clientdata.request)) + return self.handle_form(self, self.model.getdeleterequest, function(self, value) return self.model.deleterequest(self, value, nil) end, self.clientdata, "Delete", "Delete Request", "Request Deleted") end -- Delete the specified request deletemyrequest = function(self) - return self:redirect_to_referrer(self.model.deleterequest(self.clientdata.request, self.sessiondata.userinfo.userid)) + return self.handle_form(self, self.model.getdeleterequest, function(self, value) return self.model.deleterequest(self, value, self.sessiondata.userinfo.userid) end, self.clientdata, "Delete", "Delete Request", "Request Deleted") end -- View certificate details @@ -85,22 +88,22 @@ end -- Revoke the specified cert revoke = function(self) - return self:redirect_to_referrer(self.model.revokecert(self.clientdata.cert)) + return self.handle_form(self, self.model.getrevokecert, self.model.revokecert, self.clientdata, "Revoke", "Revoke Certificate", "Certificate Revoked") end -- Delete the specified certificate deletecert = function(self) - return self:redirect_to_referrer(self.model.deletecert(self.clientdata.cert)) + return self.handle_form(self, self.model.getdeletecert, self.model.deletecert, self.clientdata, "Delete", "Delete Certificate", "Certificate Deleted") end -- Submit request to renew the specified certificate requestrenewcert = function(self) - return self:redirect_to_referrer(self.model.renewcert(self.clientdata.cert)) + return self.handle_form(self, self.model.getrenewcert, self.model.renewcert, self.clientdata, "Renew", "Renew Certificate") end -- Renew the specified certificate renewcert = function(self) - return self:redirect_to_referrer(self.model.renewcert(self.clientdata.cert, true)) + local retval = self.handle_form(self, self.model.getrenewcert, function(self, value, submit) return self.model.renewcert(self, value, submit, true) end, self.clientdata, "Renew", "Renew Certificate") end -- Get the revoked list @@ -129,11 +132,5 @@ editconfigfile = function(self) end checkenvironment = function(self) - local form = cfe({ type="form", value={}, label="Check Environment", option="Configure" }) - if self.clientdata.Configure then - form.value.status = self:redirect_to_referrer(self.model.checkenvironment(self.clientdata.Configure)) - else - form.value.status = self:redirect_to_referrer() or self.model.checkenvironment(self.clientdata.Configure) - end - return form + return self.handle_form(self, self.model.getenvironment, self.model.setenvironment, self.clientdata, "Configure", "Configure Environment", "Environment Configured") end |