Abstimmung Ja/Nein statt Links/Rechts
Modus-Werte yes/no statt left/right in DB, API und Statistik; Knöpfe "Ja"/"Nein". Bestehende Stimmen müssen per SQL migriert werden. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TiXsPUqw7oeomZ8wZrQW5q
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
3d2447fe35
commit
b6cf8c7fa0
@@ -540,20 +540,20 @@ func handleBump(w http.ResponseWriter, r *http.Request) error {
|
||||
// writeTally schreibt die Zähler und die eigene Auswahl (selected) für einen
|
||||
// Beitrag. Ist uid == 0 (nicht eingeloggt), ist selected immer "none".
|
||||
func writeTally(w http.ResponseWriter, pid, uid int64) error {
|
||||
var left, right int64
|
||||
var yes, no int64
|
||||
var selected string
|
||||
if err := db.QueryRow(
|
||||
`SELECT COUNT(*) FILTER (WHERE mode = 'left'),
|
||||
COUNT(*) FILTER (WHERE mode = 'right'),
|
||||
`SELECT COUNT(*) FILTER (WHERE mode = 'yes'),
|
||||
COUNT(*) FILTER (WHERE mode = 'no'),
|
||||
COALESCE(MAX(mode) FILTER (WHERE uid = $2), 'none')
|
||||
FROM vote WHERE pid = $1`, pid, uid).
|
||||
Scan(&left, &right, &selected); err != nil {
|
||||
Scan(&yes, &no, &selected); err != nil {
|
||||
return Internal(err)
|
||||
}
|
||||
writeJSON(w, http.StatusOK, map[string]any{
|
||||
"pid": pid,
|
||||
"left": left,
|
||||
"right": right,
|
||||
"yes": yes,
|
||||
"no": no,
|
||||
"selected": selected,
|
||||
})
|
||||
return nil
|
||||
@@ -585,8 +585,8 @@ func handleVote(w http.ResponseWriter, r *http.Request) error {
|
||||
uid := uidFromContext(r.Context())
|
||||
|
||||
mode := r.FormValue("mode")
|
||||
if mode != "left" && mode != "right" {
|
||||
return Invalid("vote.bad_mode", "Ungültiger Modus (left oder right)").At("mode")
|
||||
if mode != "yes" && mode != "no" {
|
||||
return Invalid("vote.bad_mode", "Ungültiger Modus (yes oder no)").At("mode")
|
||||
}
|
||||
|
||||
// Nur auf existierende Beiträge abstimmen, sonst entstehen Waisen-Votes.
|
||||
|
||||
Reference in New Issue
Block a user