diff options
Diffstat (limited to 'openssl-html.lsp')
-rw-r--r-- | openssl-html.lsp | 77 |
1 files changed, 43 insertions, 34 deletions
diff --git a/openssl-html.lsp b/openssl-html.lsp index 9c61259..d8244b9 100644 --- a/openssl-html.lsp +++ b/openssl-html.lsp @@ -32,6 +32,8 @@ io.write(html.cfe_unpack(view)) end ?> <? if session.permissions.openssl.deleterequest then io.write(html.link{value="deleterequest?request="..request.name, label="Delete "}) + elseif session.permissions.openssl.deletemyrequest then + io.write(html.link{value="deletemyrequest?request="..request.name, label="Delete "}) end ?> </TD> <TD><?= request.user ?></TD> @@ -43,14 +45,25 @@ io.write(html.cfe_unpack(view)) <? end ?> <? local reverserevoked = {} -if view.value.revoked then +local approved = {} +local revoked = {} +if view.value.revoked and #view.value.revoked.value > 0 then for i,serial in ipairs(view.value.revoked.value) do reverserevoked[serial] = i end + for i,cert in ipairs(view.value.approved.value) do + if reverserevoked[cert.serial] then + revoked[#revoked + 1] = cert + else + approved[#approved + 1] = cert + end + end +else + approved = view.value.approved.value end ?> <H1>Approved certificate requests<? if view.value.user then?> for <?= view.value.user.value ?><? end ?></H1> -<? if not view.value.approved or #view.value.approved.value == 0 then ?> +<? if #approved == 0 then ?> No certificates approved <? else ?> <TABLE> @@ -60,35 +73,33 @@ end ?> <TD style="padding-right:20px;white-space:nowrap;" class="header">Cert Type</TD> <TD style="padding-right:20px;white-space:nowrap;" class="header">Common Name</TD> <TD style="white-space:nowrap;" class="header">Serial Num</TD> - <? for i,cert in ipairs(view.value.approved.value) do ?> - <? if not reverserevoked[cert.serial] then ?> - <TR> - <TD> - <? if session.permissions.openssl.viewcert then ?> - <?= html.link{value="viewcert?cert="..cert.name, label="View "} ?> - <? end ?> - <? if session.permissions.openssl.getcert then ?> - <?= html.link{value="getcert?cert="..cert.name, label="Download "} ?> - <? end ?> - <? if session.permissions.openssl.revoke then ?> - <?= html.link{value="revoke?cert="..cert.name, label="Revoke "} ?> - <? end ?> - <? if session.permissions.openssl.deletecert then ?> - <?= html.link{value="deletecert?cert="..cert.name, label="Delete "} ?> - <? end ?> - </TD> - <TD><?= cert.user ?></TD> - <TD><?= cert.certtype ?></TD> - <TD><?= cert.commonName ?></TD> - <TD><?= cert.serial ?></TD> - </TR> + <? for i,cert in ipairs(approved) do ?> + <TR> + <TD> + <? if session.permissions.openssl.viewcert then ?> + <?= html.link{value="viewcert?cert="..cert.name, label="View "} ?> + <? end ?> + <? if session.permissions.openssl.getcert then ?> + <?= html.link{value="getcert?cert="..cert.name, label="Download "} ?> + <? end ?> + <? if session.permissions.openssl.revoke then ?> + <?= html.link{value="revoke?cert="..cert.name, label="Revoke "} ?> + <? end ?> + <? if session.permissions.openssl.deletecert then ?> + <?= html.link{value="deletecert?cert="..cert.name, label="Delete "} ?> <? end ?> + </TD> + <TD><?= cert.user ?></TD> + <TD><?= cert.certtype ?></TD> + <TD><?= cert.commonName ?></TD> + <TD><?= cert.serial ?></TD> + </TR> <? end ?> </TABLE> <? end ?> <H1>Revoked certificates<? if view.value.user then?> for <?= view.value.user.value ?><? end ?></H1> -<? if not view.value.revoked or #view.value.revoked.value == 0 then ?> +<? if #revoked == 0 then ?> No certificates revoked <? else ?> <TABLE> @@ -97,15 +108,13 @@ end ?> <TD style="padding-right:20px;white-space:nowrap;" class="header">Cert Type</TD> <TD style="padding-right:20px;white-space:nowrap;" class="header">Common Name</TD> <TD style="white-space:nowrap;" class="header">Serial Num</TD> - <? for i,cert in ipairs(view.value.approved.value) do ?> - <? if reverserevoked[cert.serial] then ?> - <TR> - <TD><?= cert.user ?></TD> - <TD><?= cert.certtype ?></TD> - <TD><?= cert.commonName ?></TD> - <TD><?= cert.serial ?></TD> - </TR> - <? end ?> + <? for i,cert in ipairs(revoked) do ?> + <TR> + <TD><?= cert.user ?></TD> + <TD><?= cert.certtype ?></TD> + <TD><?= cert.commonName ?></TD> + <TD><?= cert.serial ?></TD> + </TR> <? end ?> </TABLE> <? end ?> |