# HG changeset patch # User Matti Hamalainen # Date 1384707469 -7200 # Node ID 77d33161f8be02cdad7d244900650915bdce2bd6 # Parent fa94536c060b67352e8c9a1013e6a463fb4475bf More work on admin interface. diff -r fa94536c060b -r 77d33161f8be admajax.php --- a/admajax.php Sun Nov 17 18:11:46 2013 +0200 +++ b/admajax.php Sun Nov 17 18:57:49 2013 +0200 @@ -87,6 +87,12 @@ $sql = "SELECT * FROM attendees ORDER BY regtime DESC"; break; + case "attendee": + $res = stFetchSQL(stPrepareSQL("SELECT * FROM attendees WHERE id=%D", "id")); + if ($res !== FALSE) + stPrintAttendee($res, -1, FALSE, TRUE, stGetRequestItem("edit", FALSE)); + break; + case "voters": $sqlJoins = ""; switch (stGetSetting("voteKeyMode")) @@ -268,7 +274,9 @@ $row = 0; foreach ($res as $item) - stPrintAttendee($item, $row++, TRUE); + { + stPrintAttendee($item, $row++, TRUE, TRUE, FALSE); + } echo "\n"; @@ -424,15 +432,16 @@ // Update existing entry // if ($type == "attendees" && stChkRequestItem("id") && - stChkRequestItem("email") && stChkRequestItem("oneliner") && - stChkRequestItem("active")) + stChkRequestItem("name") && stChkRequestItem("groups") && + stChkRequestItem("email") && stChkRequestItem("oneliner")) { $sql = stPrepareSQLUpdate("attendees", "WHERE id=".intval(stGetRequestItem("id")), array( + "name" => "S", + "groups" => "S", "email" => "S", "oneliner" => "S", - "active" => "B", )); stExecSQLCond($sql, "OK, attendee updated."); diff -r fa94536c060b -r 77d33161f8be admin.php --- a/admin.php Sun Nov 17 18:11:46 2013 +0200 +++ b/admin.php Sun Nov 17 18:57:49 2013 +0200 @@ -221,10 +221,11 @@ function updateAttendee(id) { - var args = makePostArgs({"oneliner":0,"email":0,"active":3}, "at", id); + var args = makePostArgs({"name":1,"groups":0,"oneliner":0,"email":0}, "at", id); var msuccess = function(txt) { + activeAttendee = -1; setTimeout("refreshCCAttendees();", 50); } @@ -233,18 +234,30 @@ } -function updateAttendee2(id) +var activeAttendee = -1; + +function activateAttendee(id) { - var elem = document.getElementById("atactive"+ id); - if (elem && !elem.checked) + var msuccess1 = function(txt) + { + var nitem = document.getElementById("attendee"+activeAttendee); + if (nitem) nitem.innerHTML = txt; + } + + var msuccess2 = function(txt) { - if (confirm("Are you sure you want deactivate vote ID #"+id+"?")) - updateAttendee(id); - else - setTimeout("refreshCCAttendees();", 50); + var nitem = document.getElementById("attendee"+id); + if (nitem) nitem.innerHTML = txt; + activeAttendee = id; } - else - updateAttendee(id); + + if (activeAttendee != id) + { + if (activeAttendee != -1) + sendPOSTRequest("action=get&type=attendee&id="+activeAttendee+"&edit=0", msuccess1); + + sendPOSTRequest("action=get&type=attendee&id="+id+"&edit=1", msuccess2); + } } diff -r fa94536c060b -r 77d33161f8be attendees.inc.php --- a/attendees.inc.php Sun Nov 17 18:11:46 2013 +0200 +++ b/attendees.inc.php Sun Nov 17 18:57:49 2013 +0200 @@ -42,7 +42,7 @@ if ($maxAttendeesSoft > 0) $over = $index > $maxAttendeesSoft; - stPrintAttendee($item, $row++, FALSE, $over ? " overbooked" : ""); + stPrintAttendee($item, $row++, TRUE, FALSE, FALSE, $over ? " overbooked" : ""); $index--; } } diff -r fa94536c060b -r 77d33161f8be msite.inc.php --- a/msite.inc.php Sun Nov 17 18:11:46 2013 +0200 +++ b/msite.inc.php Sun Nov 17 18:57:49 2013 +0200 @@ -113,28 +113,42 @@ } -function stPrintAttendee($item, $row, $edit, $eclass = "") +function stPrintAttendee($item, $row, $tr, $full, $edit, $eclass = "") { $id = $item["id"]; $prefix = "at"; - echo " "; + + if ($tr) + { + echo + " "; + } echo - stGetTDEditTextItem(FALSE, 20, 40, "name", $id, $prefix, $item["name"]). - stGetTDEditTextItem(FALSE, 20, 40, "groups", $id, $prefix, $item["groups"]). + stGetTDEditTextItem($edit, 20, SET_LEN_USERNAME, "name", $id, $prefix, $item["name"]). + stGetTDEditTextItem($edit, 20, SET_LEN_GROUPS, "groups", $id, $prefix, $item["groups"]). "".date("d.m. H:i", $item["regtime"])."". - stGetTDEditTextItem($edit, 30, 64, "oneliner", $id, $prefix, $item["oneliner"], "autocomplete=\"off\""); + stGetTDEditTextItem($edit, 30, SET_LEN_ONELINER, "oneliner", $id, $prefix, $item["oneliner"], "autocomplete=\"off\""); - if ($edit) + if ($full) { echo - stGetTDEditTextItem($edit, 20, 40, "email", $id, $prefix, $item["email"], "autocomplete=\"off\""). - "". - "". - "". - ""; + stGetTDEditTextItem($edit, 20, SET_LEN_EMAIL, "email", $id, $prefix, $item["email"], "autocomplete=\"off\""); + + if ($edit) + { + echo + "". + "". + "". + ""; + } + else + echo ""; } - + + if ($tr) echo "\n"; }