diff --git a/data.go b/data.go
index 1f8ba11..41578ab 100644
--- a/data.go
+++ b/data.go
@@ -53,3 +53,9 @@ func (a *App) GetBrandCount() (int, error) {
err := a.db.Query("SELECT COUNT(DISTINCT brand) FROM assets").ScanSingle(&count)
return count, err
}
+
+func (a *App) GetTotalRamCapacity() (int, error) {
+ var capacity int
+ err := a.db.Query("SELECT SUM(capacity) FROM info_ram").ScanSingle(&capacity)
+ return capacity, err
+}
diff --git a/templates/index.gohtml b/templates/index.gohtml
index 6aa2b34..c6782a3 100644
--- a/templates/index.gohtml
+++ b/templates/index.gohtml
@@ -1,10 +1,12 @@
-{{- /*gotype: main.IndexVM */}}
+{{- /*gotype: main.IndexVM*/}}
{{define "index"}}
{{template "header"}}
-
Some statistics
+ Statistics
+ The inventory contains:
- - Database contains {{.AssetCount}} assets.
- - Database contains {{.BrandCount}} brands.
+ - {{.AssetCount}} assets in total.
+ - {{.BrandCount}} unique brands.
+ - a combined {{.TotalRamCapacity | formatMemorySize}} of RAM.
Filter Devices
diff --git a/views.go b/views.go
index a514f67..8c6a726 100644
--- a/views.go
+++ b/views.go
@@ -15,10 +15,11 @@ type App struct {
}
type IndexVM struct {
- AssetCount int
- BrandCount int
- Brands []string
- Types []string
+ AssetCount int
+ BrandCount int
+ TotalRamCapacity int
+ Brands []string
+ Types []string
}
func (a *App) getIndex(c *gin.Context) {
@@ -36,6 +37,12 @@ func (a *App) getIndex(c *gin.Context) {
return
}
+ vm.TotalRamCapacity, err = a.GetTotalRamCapacity()
+ if err != nil {
+ c.AbortWithError(http.StatusInternalServerError, err)
+ return
+ }
+
vm.Brands, err = a.GetAllBrands()
if err != nil {
c.AbortWithError(http.StatusInternalServerError, err)
@@ -236,6 +243,7 @@ func (a *App) getBrowse(c *gin.Context) {
if len(types) > 0 {
query += " AND assets.type IN (" + placeholders(len(types)) + ")"
}
+ query += "ORDER BY assets.type, assets.brand, assets.name, assets.qr"
vm := &BrowseVM{}