Konfis werden im Gemeindenmodus nach Durchschnittscoins sortiert
This commit is contained in:
parent
033073970d
commit
3fa0c824a9
9
add.go
9
add.go
|
@ -3,6 +3,7 @@ package main
|
||||||
import (
|
import (
|
||||||
"github.com/labstack/echo"
|
"github.com/labstack/echo"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"strconv"
|
||||||
)
|
)
|
||||||
|
|
||||||
func addKonfi(c echo.Context) error {
|
func addKonfi(c echo.Context) error {
|
||||||
|
@ -38,10 +39,16 @@ func addKonfi(c echo.Context) error {
|
||||||
|
|
||||||
} else if SiteConf.Mode == 1 { // Mode nach Gemeinden
|
} else if SiteConf.Mode == 1 { // Mode nach Gemeinden
|
||||||
|
|
||||||
|
var err error
|
||||||
gemeinde := new(Gemeinde)
|
gemeinde := new(Gemeinde)
|
||||||
gemeinde.Name = c.FormValue("name")
|
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 {
|
if err == nil {
|
||||||
return c.JSON(http.StatusOK, Message{"success"})
|
return c.JSON(http.StatusOK, Message{"success"})
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,21 @@
|
||||||
function getList() {
|
function getList() {
|
||||||
$.getJSON('/list?asc=asc', function (data) {
|
$.getJSON('/list?asc=asc', function (data) {
|
||||||
//console.log(data);
|
console.log(data);
|
||||||
$("#list").html('');
|
$("#list").html('');
|
||||||
$.each(data, function (i, item) {
|
$.each(data, function (i, item) {
|
||||||
if(item.Gemeinde !== undefined) {
|
if(item.Gemeinde !== undefined) {
|
||||||
$("#list").append('<tr id="kcoins_row_' + item.ID + '"> <td>' + item.Name + '</td> <td>' + item.Gemeinde + '</td> <td id="kcoins_display_' + item.ID + '">' + item.KCoins + '</td><td><span class="ui action input" id="kcoins_container_' + item.ID + '"><input type="number" value="0" id="kcoins_' + item.ID + '" name="kcoins" autocomplete="off" /><button class="ui right labeled icon button green" onclick="updateCoins(\'' + item.ID + '\');"><i class="right dollar icon"></i>KonfiCoins Hinzufügen</button></span> <button class="ui button red" onclick="deleteKonfi(\'' + item.ID + '\');" id="kcoins_container_' + item.ID + '">Konfi Löschen</button></td></tr>');
|
$("#list").append('<tr id="kcoins_row_' + item.ID + '">' +
|
||||||
|
'<td>' + item.Name + '</td> ' +
|
||||||
|
'<td>' + item.Gemeinde + '</td> ' +
|
||||||
|
'<td id="kcoins_display_' + item.ID + '">' + item.KCoins + '</td>' +
|
||||||
|
'<td><span class="ui action input" id="kcoins_container_' + item.ID + '"><input type="number" value="0" id="kcoins_' + item.ID + '" name="kcoins" autocomplete="off" /><button class="ui right labeled icon button green" onclick="updateCoins(\'' + item.ID + '\');"><i class="right dollar icon"></i>KonfiCoins Hinzufügen</button></span> <button class="ui button red" onclick="deleteKonfi(\'' + item.ID + '\');" id="kcoins_container_' + item.ID + '">Konfi Löschen</button></td></tr>');
|
||||||
} else {
|
} else {
|
||||||
$("#list").append('<tr id="kcoins_row_' + item.ID + '"> <td>' + item.Name + '</td> <td id="kcoins_display_' + item.ID + '">' + item.KCoins + '</td><td><span class="ui action input" id="kcoins_container_' + item.ID + '"><input type="number" value="0" id="kcoins_' + item.ID + '" name="kcoins" autocomplete="off" /><button class="ui right labeled icon button green" onclick="updateCoins(\'' + item.ID + '\');"><i class="right dollar icon"></i>KonfiCoins Hinzufügen</button></span> <button class="ui button red" onclick="deleteGemeinde(\'' + item.ID + '\');" id="kcoins_container_' + item.ID + '">Gemeinde Löschen</button></td></tr>');
|
$("#list").append('<tr id="kcoins_row_' + item.ID + '"> ' +
|
||||||
|
'<td>' + item.Name + '</td> ' +
|
||||||
|
'<td id="kcoins_display_' + item.ID + '">' + item.KCoins + '</td>' +
|
||||||
|
'<td>' + item.KonfiCount + '</td> ' +
|
||||||
|
'<td id="kcoins_quota_' + item.ID + '">' + (item.CoinsQuota).toFixed(2) + '</td> ' +
|
||||||
|
'<td><span class="ui action input" id="kcoins_container_' + item.ID + '"><input type="number" value="0" id="kcoins_' + item.ID + '" name="kcoins" autocomplete="off" /><button class="ui right labeled icon button green" onclick="updateCoins(\'' + item.ID + '\');"><i class="right dollar icon"></i>KonfiCoins Hinzufügen</button></span> <button class="ui button red" onclick="deleteGemeinde(\'' + item.ID + '\');" id="kcoins_container_' + item.ID + '">Gemeinde Löschen</button></td></tr>');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -32,6 +41,9 @@ function updateCoins(id) {
|
||||||
if (msg.Message == 'success') {
|
if (msg.Message == 'success') {
|
||||||
$('#kcoins_' + id).val("0");
|
$('#kcoins_' + id).val("0");
|
||||||
$('#kcoins_display_' + id).html(msg.Data.KCoins);
|
$('#kcoins_display_' + id).html(msg.Data.KCoins);
|
||||||
|
if(msg.Data.CoinsQuota !== undefined) {
|
||||||
|
$('#kcoins_quota_' + id).html(msg.Data.CoinsQuota.toFixed(2));
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
$('#msg').html('<div class="ui error message" style="display: block;">Ein Fehler trat auf.</div>');
|
$('#msg').html('<div class="ui error message" style="display: block;">Ein Fehler trat auf.</div>');
|
||||||
|
@ -150,7 +162,7 @@ $('.ui.gemeindeadd.modal')
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '/add',
|
url: '/add',
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
data: 'name=' + $('#name').val(),
|
data: 'name=' + $('#name').val() + '&konfis=' + $('#konfis').val(),
|
||||||
success: function (msg) {
|
success: function (msg) {
|
||||||
$('.loader').removeClass('active');
|
$('.loader').removeClass('active');
|
||||||
console.log(msg);
|
console.log(msg);
|
||||||
|
|
|
@ -4,9 +4,17 @@ setInterval(function() {
|
||||||
$( "#konfis" ).html('');
|
$( "#konfis" ).html('');
|
||||||
$.each( data, function( i, item ) {
|
$.each( data, function( i, item ) {
|
||||||
if (item.Gemeinde != undefined) {
|
if (item.Gemeinde != undefined) {
|
||||||
$( "#konfis" ).append('<tr> <td>' + item.Name + '</td> <td>' + item.Gemeinde + '</td> <td>' + item.KCoins + '</td></tr>');
|
$( "#konfis" ).append('<tr> ' +
|
||||||
|
'<td>' + item.Name + '</td> ' +
|
||||||
|
'<td>' + item.Gemeinde + '</td> ' +
|
||||||
|
'<td>' + item.KCoins + '</td>' +
|
||||||
|
'</tr>');
|
||||||
} else {
|
} else {
|
||||||
$( "#konfis" ).append('<tr> <td>' + item.Name + '</td> <td>' + item.KCoins + '</td></tr>');
|
$( "#konfis" ).append('<tr> ' +
|
||||||
|
'<td>' + item.Name + '</td> ' +
|
||||||
|
'<td>' + item.KCoins + '</td>' +
|
||||||
|
'<td>' + (item.CoinsQuota).toFixed(2) + '</td> ' +
|
||||||
|
'</tr>');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -36,17 +36,22 @@ func getList(c echo.Context) error {
|
||||||
var gemeinden []Gemeinde
|
var gemeinden []Gemeinde
|
||||||
asc := c.QueryParam("asc")
|
asc := c.QueryParam("asc")
|
||||||
if 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 {
|
if err != nil {
|
||||||
fmt.Println(err)
|
fmt.Println(err)
|
||||||
}
|
}
|
||||||
} else {
|
} 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 {
|
if err != nil {
|
||||||
fmt.Println(err)
|
fmt.Println(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Alles durchgehen und den Schnitt ausrechnen
|
||||||
|
for i, gem := range gemeinden{
|
||||||
|
gemeinden[i].CoinsQuota = float64(gem.KCoins) / float64(gem.KonfiCount)
|
||||||
|
}
|
||||||
|
|
||||||
//Template
|
//Template
|
||||||
return c.JSON(http.StatusOK, gemeinden)
|
return c.JSON(http.StatusOK, gemeinden)
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,12 +34,14 @@
|
||||||
<tr>
|
<tr>
|
||||||
<th>Name</th>
|
<th>Name</th>
|
||||||
<th>KonfiCoins</th>
|
<th>KonfiCoins</th>
|
||||||
|
<th>Konfis</th>
|
||||||
|
<th>KonfiCoins p.P.</th>
|
||||||
<th>Bearbeiten</th>
|
<th>Bearbeiten</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody id="list">
|
<tbody id="list">
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="3">Laden...</td>
|
<td colspan="5">Laden...</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
@ -75,10 +77,13 @@
|
||||||
<div class="header">
|
<div class="header">
|
||||||
Gemeinde hinzufügen
|
Gemeinde hinzufügen
|
||||||
</div>
|
</div>
|
||||||
<div class="image content">
|
<div class="content">
|
||||||
<div class="ui input">
|
<div class="ui input">
|
||||||
<input type="text" id="name" placeholder="Name"/>
|
<input type="text" id="name" placeholder="Name"/>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="ui input">
|
||||||
|
<input type="number" id="konfis" placeholder="Anzahl der Konfis"/>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="actions">
|
<div class="actions">
|
||||||
<div class="ui black deny button">
|
<div class="ui black deny button">
|
||||||
|
@ -91,7 +96,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="/assets/js/admin.js"></script>
|
<script src="/assets/js/admin.js?1504651531"></script>
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -21,12 +21,15 @@
|
||||||
{{if eq .Mode 0}}
|
{{if eq .Mode 0}}
|
||||||
<th scope="col">Gemeinde</th>
|
<th scope="col">Gemeinde</th>
|
||||||
{{end}}
|
{{end}}
|
||||||
<th scope="col">Eingezahlte KonfiCoins</th>
|
<th scope="col">Eingezahlte KonfiCoins Gesamt</th>
|
||||||
|
{{if eq .Mode 1}}
|
||||||
|
<th scope="col">KonfiCoins p.P.</th>
|
||||||
|
{{end}}
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody id="konfis">
|
<tbody id="konfis">
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="3">Laden...</td>
|
<td colspan="4">Laden...</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
@ -34,7 +37,7 @@
|
||||||
<script>if (typeof module === 'object') {window.module = module; module = undefined;}</script>
|
<script>if (typeof module === 'object') {window.module = module; module = undefined;}</script>
|
||||||
<script src="/assets/js/jquery-3.1.1.min.js"></script>
|
<script src="/assets/js/jquery-3.1.1.min.js"></script>
|
||||||
<script>if (window.module) module = window.module;</script>
|
<script>if (window.module) module = window.module;</script>
|
||||||
<script src="/assets/js/load.js"></script>
|
<script src="/assets/js/load.js?1504651531"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
{{end}}
|
{{end}}
|
10
update.go
10
update.go
|
@ -54,7 +54,17 @@ func update(c echo.Context) error {
|
||||||
gemeinde.KCoins = newCoins
|
gemeinde.KCoins = newCoins
|
||||||
_, err := db.ID(id).Update(gemeinde)
|
_, err := db.ID(id).Update(gemeinde)
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
return c.JSON(http.StatusInternalServerError, Message{"Error."})
|
||||||
|
}
|
||||||
|
|
||||||
|
_, err = db.ID(id).Get(&gemeinde)
|
||||||
|
|
||||||
if err == nil {
|
if err == nil {
|
||||||
|
|
||||||
|
// Coins pP aausrechnen
|
||||||
|
gemeinde.CoinsQuota = float64(gemeinde.KCoins) / float64(gemeinde.KonfiCount)
|
||||||
|
|
||||||
return c.JSON(http.StatusOK, UpdatedMessageGemeinde{"success", gemeinde})
|
return c.JSON(http.StatusOK, UpdatedMessageGemeinde{"success", gemeinde})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue