diff --git a/add.go b/add.go
index 5fdff00..4eaf337 100644
--- a/add.go
+++ b/add.go
@@ -3,6 +3,7 @@ package main
import (
"github.com/labstack/echo"
"net/http"
+ "strconv"
)
func addKonfi(c echo.Context) error {
@@ -38,10 +39,16 @@ func addKonfi(c echo.Context) error {
} else if SiteConf.Mode == 1 { // Mode nach Gemeinden
+ var err error
gemeinde := new(Gemeinde)
gemeinde.Name = c.FormValue("name")
+ gemeinde.KonfiCount, err = strconv.Atoi(c.FormValue("konfis"))
- _, err := db.Insert(gemeinde)
+ if err != nil {
+ return c.JSON(http.StatusInternalServerError, Message{"error. (konfiCount not int)"})
+ }
+
+ _, err = db.Insert(gemeinde)
if err == nil {
return c.JSON(http.StatusOK, Message{"success"})
}
diff --git a/assets/js/admin.js b/assets/js/admin.js
index 420edb2..6330df7 100644
--- a/assets/js/admin.js
+++ b/assets/js/admin.js
@@ -1,12 +1,21 @@
function getList() {
$.getJSON('/list?asc=asc', function (data) {
- //console.log(data);
+ console.log(data);
$("#list").html('');
$.each(data, function (i, item) {
if(item.Gemeinde !== undefined) {
- $("#list").append('
' + item.Name + ' | ' + item.Gemeinde + ' | ' + item.KCoins + ' | |
');
+ $("#list").append('' +
+ '' + item.Name + ' | ' +
+ '' + item.Gemeinde + ' | ' +
+ '' + item.KCoins + ' | ' +
+ ' |
');
} else {
- $("#list").append(' ' + item.Name + ' | ' + item.KCoins + ' | |
');
+ $("#list").append(' ' +
+ '' + item.Name + ' | ' +
+ '' + item.KCoins + ' | ' +
+ '' + item.KonfiCount + ' | ' +
+ '' + (item.CoinsQuota).toFixed(2) + ' | ' +
+ ' |
');
}
});
});
@@ -32,6 +41,9 @@ function updateCoins(id) {
if (msg.Message == 'success') {
$('#kcoins_' + id).val("0");
$('#kcoins_display_' + id).html(msg.Data.KCoins);
+ if(msg.Data.CoinsQuota !== undefined) {
+ $('#kcoins_quota_' + id).html(msg.Data.CoinsQuota.toFixed(2));
+ }
} else {
$('#msg').html('Ein Fehler trat auf.
');
@@ -150,7 +162,7 @@ $('.ui.gemeindeadd.modal')
$.ajax({
url: '/add',
method: 'POST',
- data: 'name=' + $('#name').val(),
+ data: 'name=' + $('#name').val() + '&konfis=' + $('#konfis').val(),
success: function (msg) {
$('.loader').removeClass('active');
console.log(msg);
diff --git a/assets/js/load.js b/assets/js/load.js
index 65b0ec3..1253dac 100644
--- a/assets/js/load.js
+++ b/assets/js/load.js
@@ -4,9 +4,17 @@ setInterval(function() {
$( "#konfis" ).html('');
$.each( data, function( i, item ) {
if (item.Gemeinde != undefined) {
- $( "#konfis" ).append(' ' + item.Name + ' | ' + item.Gemeinde + ' | ' + item.KCoins + ' |
');
+ $( "#konfis" ).append(' ' +
+ '' + item.Name + ' | ' +
+ '' + item.Gemeinde + ' | ' +
+ '' + item.KCoins + ' | ' +
+ '
');
} else {
- $( "#konfis" ).append(' ' + item.Name + ' | ' + item.KCoins + ' |
');
+ $( "#konfis" ).append(' ' +
+ '' + item.Name + ' | ' +
+ '' + item.KCoins + ' | ' +
+ '' + (item.CoinsQuota).toFixed(2) + ' | ' +
+ '
');
}
});
});
diff --git a/getList.go b/getList.go
index 97924f4..774f02d 100644
--- a/getList.go
+++ b/getList.go
@@ -36,17 +36,22 @@ func getList(c echo.Context) error {
var gemeinden []Gemeinde
asc := c.QueryParam("asc")
if asc == "" {
- err := db.OrderBy("KCoins DESC").Find(&gemeinden)
+ err := db.Select("Gemeinde.*, (cast(KCoins AS FLOAT) / cast(KonfiCount AS FLOAT)) as CoinsQuota").OrderBy("CoinsQuota DESC").Find(&gemeinden)
if err != nil {
fmt.Println(err)
}
} else {
- err := db.OrderBy("Name ASC").Find(&gemeinden)
+ err := db.Select("*, (cast(KCoins AS FLOAT) / cast(KonfiCount AS FLOAT)) AS CoinsQuota").OrderBy("Name ASC").Find(&gemeinden)
if err != nil {
fmt.Println(err)
}
}
+ // Alles durchgehen und den Schnitt ausrechnen
+ for i, gem := range gemeinden{
+ gemeinden[i].CoinsQuota = float64(gem.KCoins) / float64(gem.KonfiCount)
+ }
+
//Template
return c.JSON(http.StatusOK, gemeinden)
}
diff --git a/tpl/admin_mode_1.html b/tpl/admin_mode_1.html
index f70c8b7..1977aaf 100644
--- a/tpl/admin_mode_1.html
+++ b/tpl/admin_mode_1.html
@@ -34,12 +34,14 @@
Name |
KonfiCoins |
+ Konfis |
+ KonfiCoins p.P. |
Bearbeiten |
- Laden... |
+ Laden... |
@@ -75,10 +77,13 @@
-