Refactor ACME gui to use more generic structs

This commit is contained in:
Arjan H
2022-09-02 20:18:41 +02:00
parent d48c385704
commit 1a321e2091
6 changed files with 390 additions and 551 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
module github.com/hakwerk/labca/gui
go 1.17
go 1.18
require (
github.com/biz/templates v0.0.0-20170224211728-2feae9d6545e

View File

@@ -2115,11 +2115,7 @@ func accountHandler(w http.ResponseWriter, r *http.Request) {
}
vars := mux.Vars(r)
id, err := strconv.Atoi(vars["id"])
if err != nil {
errorHandler(w, r, err, http.StatusBadRequest)
return
}
id := vars["id"]
AccountDetails, err := GetAccount(w, r, id)
if err == nil {
@@ -2133,7 +2129,7 @@ func ordersHandler(w http.ResponseWriter, r *http.Request) {
return
}
Orders, err := GetOrders(w, r)
Orders, err := GetOrders(w, r, "")
if err == nil {
render(w, r, "list:orders", map[string]interface{}{"List": Orders, "Title": "ACME"})
}
@@ -2146,11 +2142,7 @@ func orderHandler(w http.ResponseWriter, r *http.Request) {
}
vars := mux.Vars(r)
id, err := strconv.Atoi(vars["id"])
if err != nil {
errorHandler(w, r, err, http.StatusBadRequest)
return
}
id := vars["id"]
OrderDetails, err := GetOrder(w, r, id)
if err == nil {
@@ -2164,7 +2156,7 @@ func authzHandler(w http.ResponseWriter, r *http.Request) {
return
}
Authz, err := GetAuthz(w, r)
Authz, err := GetAuthzs(w, r, "", []string{})
if err == nil {
render(w, r, "list:authz", map[string]interface{}{"List": Authz, "Title": "ACME"})
}
@@ -2179,7 +2171,7 @@ func authHandler(w http.ResponseWriter, r *http.Request) {
vars := mux.Vars(r)
id := vars["id"]
AuthDetails, err := GetAuth(w, r, id)
AuthDetails, err := GetAuthz(w, r, id)
if err == nil {
render(w, r, "show:authz", map[string]interface{}{"Details": AuthDetails, "Title": "ACME"})
}
@@ -2191,7 +2183,7 @@ func challengesHandler(w http.ResponseWriter, r *http.Request) {
return
}
Challenges, err := GetChallenges(w, r)
Challenges, err := GetChallenges(w, r, "", []string{})
if err == nil {
render(w, r, "list:challenges", map[string]interface{}{"List": Challenges, "Title": "ACME"})
}
@@ -2204,11 +2196,7 @@ func challengeHandler(w http.ResponseWriter, r *http.Request) {
}
vars := mux.Vars(r)
id, err := strconv.Atoi(vars["id"])
if err != nil {
errorHandler(w, r, err, http.StatusBadRequest)
return
}
id := vars["id"]
ChallengeDetails, err := GetChallenge(w, r, id)
if err == nil {
@@ -2222,7 +2210,7 @@ func certificatesHandler(w http.ResponseWriter, r *http.Request) {
return
}
Certificates, err := GetCertificates(w, r)
Certificates, err := GetCertificates(w, r, "")
if err == nil {
render(w, r, "list:certificates", map[string]interface{}{"List": Certificates, "Title": "ACME"})
}
@@ -2236,7 +2224,8 @@ func certificateHandler(w http.ResponseWriter, r *http.Request) {
var serial string
vars := mux.Vars(r)
id, err := strconv.Atoi(vars["id"])
id := vars["id"]
_, err := strconv.Atoi(id)
if err != nil {
serial = vars["id"]
}

View File

@@ -13,7 +13,7 @@
<tbody>
{{ range .Rows }}
<tr>
{{ range rangeStruct . }}
{{ range . }}
<td>{{ . }}</td>
{{ end }}
</tr>

View File

@@ -10,12 +10,6 @@
<td>{{ .Value }}</td>
</tr>
{{ end }}
{{ range .Links }}
<tr>
<th>{{ .Name }}</th>
<td>{{ .Value }}</td>
</tr>
{{ end }}
</tbody>
</table>
{{ if .Extra }}{{ range $extra := .Extra }}
@@ -23,9 +17,9 @@
{{ end }}{{ end }}
<br>
{{ range .Related }}
{{ range .Relateds }}
<h4>{{ .Title }}</h4>
<table class="table table-striped table-bordered table-hover datatable {{ .TableClass }}" id="related_table">
<table class="table table-striped table-bordered table-hover datatable {{ .TableClass }}">
<thead>
<tr>
{{ range .Header }}
@@ -36,7 +30,7 @@
<tbody>
{{ range .Rows }}
<tr>
{{ range rangeStruct . }}
{{ range . }}
<td>{{ . }}</td>
{{ end }}
</tr>
@@ -44,30 +38,6 @@
</tbody>
</table>
{{ end }}
{{ if .Related2 }}
{{ range .Related2 }}
<h4>{{ .Title }}</h4>
<table class="table table-striped table-bordered table-hover datatable {{ .TableClass }}" id="related_table_2">
<thead>
<tr>
{{ range .Header }}
<th>{{ . }}</th>
{{ end }}
</tr>
</thead>
<tbody>
{{ range .Rows }}
<tr>
{{ range rangeStruct . }}
<td>{{ . }}</td>
{{ end }}
</tr>
{{ end }}
</tbody>
</table>
{{ end }}
{{ end }}
{{end}}
{{end}}

View File

@@ -325,15 +325,17 @@ $(function() {
};
if ( $('.orders_list').length || $('.rel_orders_list').length ) {
col = 2;
options["columnDefs"] = [ {
targets: 2,
targets: col,
render: $.fn.dataTable.render.ellipsis(15)
} ];
}
if ( $('.rel_certificates_list').length ) {
if ( $('.certificates_list').length || $('.rel_certificates_list').length ) {
col = 2;
options["columnDefs"] = [ {
targets: 2,
targets: col,
render: $.fn.dataTable.render.ellipsis(15)
} ];
}
@@ -357,11 +359,7 @@ $(function() {
{
targets: 5,
render: $.fn.dataTable.render.ellipsis(15)
},
{
targets: 6,
visible: false
},
}
];
}
@@ -425,6 +423,36 @@ $(function() {
$(".datatable").on('draw.dt', positionFooter);
}
$(".datatable").each(function(idx, val) {
var table = $(val).DataTable();
classes = $(val).attr('class').split(" ");
if ( classes.indexOf("accounts_list") > -1 ) {
col = 0;
table.columns(col).order( 'desc' ).draw();
}
if ( classes.indexOf("certificates_list") > -1 || classes.indexOf("rel_certificates_list") > -1 ) {
col = 0;
table.columns(col).order( 'desc' ).draw();
}
if ( classes.indexOf("orders_list") > -1 || classes.indexOf("rel_orders_list") > -1 ) {
col = 0;
table.columns(col).order( 'desc' ).draw();
}
if ( classes.indexOf("authz_list") > -1 || classes.indexOf("rel_authz_list") > -1 ) {
col = 0;
table.columns(col).order( 'desc' ).draw();
}
if ( classes.indexOf("challenges_list") > -1 || classes.indexOf("rel_challenges_list") > -1 ) {
col = 0;
table.columns(col).order( 'desc' ).draw();
}
});
setTimeout(function() {
$(window).resize();
}, 10);