Mercurial > hg > fapweb
changeset 205:77d33161f8be
More work on admin interface.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Sun, 17 Nov 2013 18:57:49 +0200 |
parents | fa94536c060b |
children | 1fa109a0c583 |
files | admajax.php admin.php attendees.inc.php msite.inc.php |
diffstat | 4 files changed, 63 insertions(+), 27 deletions(-) [+] |
line wrap: on
line diff
--- 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 "</table>\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.");
--- 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); + } }
--- 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--; } }
--- 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 " <tr class=\"".($row % 2 == 1 ? "rodd" : "reven")."\" id=\"attendee".$id."\">"; + + if ($tr) + { + echo + " <tr class=\"".($row % 2 == 1 ? "rodd" : "reven").$eclass. + "\" id=\"attendee".$id."\" ".($full ? "onClick=\"activateAttendee(".$id.")\"" : "").">"; + } 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"]). "<td class=\"regtime\">".date("d.m. H:i", $item["regtime"])."</td>". - 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\""). - "<td>". - "<button class=\"button\" id=\"atupd".$id."\" type=\"button\" onclick=\"updateAttendee(".$id.")\"> Upd </button>". - "<button class=\"button\" id=\"atdel".$id."\" type=\"button\" onclick=\"deleteAttendee(".$id.")\"> Del </button>". - "</td>"; + stGetTDEditTextItem($edit, 20, SET_LEN_EMAIL, "email", $id, $prefix, $item["email"], "autocomplete=\"off\""); + + if ($edit) + { + echo + "<td>". + "<button class=\"button\" id=\"atupd".$id."\" type=\"button\" onclick=\"updateAttendee(".$id.")\"> Upd </button>". + "<button class=\"button\" id=\"atdel".$id."\" type=\"button\" onclick=\"deleteAttendee(".$id.")\"> Del </button>". + "</td>"; + } + else + echo "<td></td>"; } - + + if ($tr) echo "</tr>\n"; }