Add report on who hasn't migrated yet
authoradamch <adamch>
Wed, 24 Oct 2007 11:38:50 +0000 (11:38 +0000)
committeradamch <adamch>
Wed, 24 Oct 2007 11:38:50 +0000 (11:38 +0000)
init.sig
init.sml
users.mlt

index 5c98e17..1c5f0a2 100644 (file)
--- a/init.sig
+++ b/init.sig
@@ -35,6 +35,7 @@ signature INIT = sig
     val modUser : user -> unit
     val deleteUser : int -> string
     val byPledge : unit -> user list
+    val unmigratedUsers : unit -> user list
 
     val validUsername : string -> bool
     val userNameToId : string -> int option
index 22b27f6..97128a5 100644 (file)
--- a/init.sml
+++ b/init.sml
@@ -101,6 +101,11 @@ fun listUsers () =
                                  FROM WebUser
                                  ORDER BY name`)
 
+fun listActiveUsers () =
+    C.map (getDb ()) mkUserRow ($`SELECT id, name, rname, bal, joined, app, shares
+                                 FROM WebUserActive
+                                 ORDER BY name`)
+
 fun nextSeq (db, seq) =
     case C.oneRow db ($`SELECT nextval('^(seq)')`) of
        [id] => C.intFromSql id
@@ -233,4 +238,10 @@ fun tokensForked () =
                 OS.Process.exit OS.Process.success)
       | _ => ignore (OS.Process.system "/usr/bin/tokens >/tmp/tokens.parent")
 
+fun unmigratedUsers () =
+    List.filter (fn user =>
+                   (ignore (Posix.SysDB.getpwnam (#name user));
+                    false)
+                   handle OS.SysErr _ => true) (listActiveUsers ())
+
 end
index f7de949..3fdf91b 100644 (file)
--- a/users.mlt
+++ b/users.mlt
@@ -100,6 +100,23 @@ elseif $"mod" <> "" then
 </table>
 </form>
 
+<% elseif $"cmd" = "unmigrated" then
+   showNormal := false;
+   val users = Init.unmigratedUsers () %>
+
+<h3>Unmigrated members (<% length users %>)</h3>
+
+<table>
+<% foreach user in users do %>
+       <tr> <td><a href="user?id=<% #id user %>"><% Web.html (#name user) %></a></td> <td>
+<% val bal = Balance.lookupBalance (#bal user);
+if #name bal <> #name user then %>
+<i><% Web.html (#name bal) %></i>
+<% end %>
+       </td> </tr>
+<% end %>
+</table>
+
 <% end %>
 
 <% if showNormal then %>
@@ -120,6 +137,7 @@ if #name bal <> #name user then %>
 </table>
 
 <br><a href="users?cmd=grandfather">Grandfather old users to have applications</a><br>
+<a href="users?cmd=unmigrated">Who hasn't migrated yet?</a><br>
 
 <% end %>