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 (
|
||||
"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"})
|
||||
}
|
||||
|
|
|
@ -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('<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 {
|
||||
$("#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') {
|
||||
$('#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('<div class="ui error message" style="display: block;">Ein Fehler trat auf.</div>');
|
||||
|
@ -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);
|
||||
|
|
|
@ -4,9 +4,17 @@ setInterval(function() {
|
|||
$( "#konfis" ).html('');
|
||||
$.each( data, function( i, item ) {
|
||||
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 {
|
||||
$( "#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
|
||||
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)
|
||||
}
|
||||
|
|
|
@ -34,12 +34,14 @@
|
|||
<tr>
|
||||
<th>Name</th>
|
||||
<th>KonfiCoins</th>
|
||||
<th>Konfis</th>
|
||||
<th>KonfiCoins p.P.</th>
|
||||
<th>Bearbeiten</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="list">
|
||||
<tr>
|
||||
<td colspan="3">Laden...</td>
|
||||
<td colspan="5">Laden...</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -75,10 +77,13 @@
|
|||
<div class="header">
|
||||
Gemeinde hinzufügen
|
||||
</div>
|
||||
<div class="image content">
|
||||
<div class="content">
|
||||
<div class="ui input">
|
||||
<input type="text" id="name" placeholder="Name"/>
|
||||
</div>
|
||||
<div class="ui input">
|
||||
<input type="number" id="konfis" placeholder="Anzahl der Konfis"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<div class="ui black deny button">
|
||||
|
@ -91,7 +96,7 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<script src="/assets/js/admin.js"></script>
|
||||
<script src="/assets/js/admin.js?1504651531"></script>
|
||||
{{end}}
|
||||
|
||||
</body>
|
||||
|
|
|
@ -21,12 +21,15 @@
|
|||
{{if eq .Mode 0}}
|
||||
<th scope="col">Gemeinde</th>
|
||||
{{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>
|
||||
</thead>
|
||||
<tbody id="konfis">
|
||||
<tr>
|
||||
<td colspan="3">Laden...</td>
|
||||
<td colspan="4">Laden...</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -34,7 +37,7 @@
|
|||
<script>if (typeof module === 'object') {window.module = module; module = undefined;}</script>
|
||||
<script src="/assets/js/jquery-3.1.1.min.js"></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>
|
||||
</html>
|
||||
{{end}}
|
10
update.go
10
update.go
|
@ -54,7 +54,17 @@ func update(c echo.Context) error {
|
|||
gemeinde.KCoins = newCoins
|
||||
_, 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 {
|
||||
|
||||
// Coins pP aausrechnen
|
||||
gemeinde.CoinsQuota = float64(gemeinde.KCoins) / float64(gemeinde.KonfiCount)
|
||||
|
||||
return c.JSON(http.StatusOK, UpdatedMessageGemeinde{"success", gemeinde})
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue