certificates ala communigate, RT#7515
[freeside.git] / httemplate / misc / svc_cert-generate.html
diff --git a/httemplate/misc/svc_cert-generate.html b/httemplate/misc/svc_cert-generate.html
new file mode 100644 (file)
index 0000000..10e8ab4
--- /dev/null
@@ -0,0 +1,25 @@
+% if ($error) {
+% errorpage($error);
+%} else {
+<% $cgi->redirect($p."view/svc_cert.cgi?$svcnum") %>
+%}
+<%init>
+
+$cgi->param('svcnum') =~ /^(\d+)$/ or die 'illegal svcnum';
+my $svcnum = $1;
+
+my $svc_cert = qsearchs('svc_cert', { 'svcnum' => $svcnum } )
+  or die 'unknown svcnum';
+
+my $error = '';
+if ( $cgi->param('action') eq 'generate_csr' ) {
+  $svc_cert->generate_csr;
+  $error = $svc_cert->replace;
+} elsif ( $cgi->param('action') eq 'generate_selfsigned' ) {
+  $svc_cert->generate_selfsigned;
+  $error = $svc_cert->replace;
+} else {
+  die 'unknown action';
+}
+
+</%init>