diff admajax.php @ 319:623acd958944

Simplify things, add clear button to vote key assignation.
author Matti Hamalainen <ccr@tnsp.org>
date Wed, 27 Nov 2013 16:26:58 +0200
parents 008406f27395
children a0a6131c37b4
line wrap: on
line diff
--- a/admajax.php	Wed Nov 27 05:57:01 2013 +0200
+++ b/admajax.php	Wed Nov 27 16:26:58 2013 +0200
@@ -137,24 +137,28 @@
 
       if ($voteKeyMode == VOTE_ACTIVATE)
       {
-        $str .= stGetFormCheckBoxInput("active", $id, "",
-          $item["active"], FALSE,
-          "class=\"keyactive\" onClick=\"voteKeyToggle(".$id.")\"", "xx")."\n";
+        $str .= stGetFormCheckBoxInput("active", $id, $prefix, $item["active"], FALSE,
+          "class=\"keyactive\" onClick=\"voteKeyToggle(".$id.")\"", "")."\n";
       }
       
       return $str;
 
     case VOTE_ASSIGN:
-      return
+      $str =
         "  <td class=\"name\">".chentities($item["name"])."</td>\n".
         "  <td class=\"groups\">".chentities($item["groups"])."</td>\n".
         "  <td class=\"vkeynum\">".
           stGetFormTextInput(5, 5, "key_id", $id, $prefix, $item["key_id"]).
-          stGetFormButtonInput("assign", $id, $prefix, "Set", "voteKeyAssign(".$id.")").
-          "</td>\n".
+          stGetFormButtonInput("assign", $id, $prefix, "Set", "voteKeyAssign(".$id.",1)");
+
+        if ($item["key_id"] != 0)
+          $str .= stGetFormButtonInput("clear", $id, $prefix, "Clear", "voteKeyAssign(".$id.",0)");
+        
+      $str .=
+        "</td>\n".
         "  <td class=\"vkey\">".chentities($item["key"])."</td>\n";
 
-      break;
+      return $str;
   }
 }
 
@@ -719,23 +723,26 @@
           case "assign":
             // Check if already assigned to someone ..
             $key_id = intval(stGetRequestItem("key_id", 0));
-            if ($key_id != 0)
+            $sql = stPrepareSQL("SELECT * FROM votekeys WHERE id=%d", $key_id);
+            if (stFetchSQL($sql) === false)
+              stError("Invalid key ID #.");
+            else
             {
-              $sql = stPrepareSQL("SELECT * FROM votekeys WHERE id=%d", $key_id);
-              if (stFetchSQL($sql) === false)
-                stError("Invalid key ID #.");
-
-              $sql = stPrepareSQL("SELECT * FROM attendees WHERE key_id=%D", $key_id);
-              if (($attn = stFetchSQL($sql)) === false || $attn["id"] == $id)
+              $sql = stPrepareSQL("SELECT * FROM attendees WHERE key_id=%d", $key_id);
+              if (($attn = stFetchSQL($sql)) !== false && $attn["id"] != $id)
                 stError("That key has already been assigned to another attendee!");
+              else
+              {
+                // Assign ..
+                $sql = stPrepareSQL("UPDATE attendees SET key_id=%d WHERE id=%d", $key_id, $id);
+                stExecSQLCond($sql, "Assigned key updated.");
+              }
             }
-            
-            if (!$errorSet)
-            {
-              // Assign ..
-              $sql = stPrepareSQL("UPDATE attendees SET key_id=%d WHERE id=%d", $key_id, $id);
-              stExecSQLCond($sql, "Assigned key updated.");
-            }
+            break;
+
+          case "clear":
+            $sql = stPrepareSQL("UPDATE attendees SET key_id=NULL WHERE id=%D", "id");
+            stExecSQLCond($sql, "Assigned key cleared.");
             break;
           
           case "active":