From da3f3cbcf301e74d490e9ced63f09d45fedb84c1 Mon Sep 17 00:00:00 2001 From: adamch Date: Wed, 24 Oct 2007 11:38:50 +0000 Subject: [PATCH] Add report on who hasn't migrated yet --- init.sig | 1 + init.sml | 11 +++++++++++ users.mlt | 18 ++++++++++++++++++ 3 files changed, 30 insertions(+) diff --git a/init.sig b/init.sig index 5c98e17..1c5f0a2 100644 --- 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 diff --git a/init.sml b/init.sml index 22b27f6..97128a5 100644 --- 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 diff --git a/users.mlt b/users.mlt index f7de949..3fdf91b 100644 --- a/users.mlt +++ b/users.mlt @@ -100,6 +100,23 @@ elseif $"mod" <> "" then +<% elseif $"cmd" = "unmigrated" then + showNormal := false; + val users = Init.unmigratedUsers () %> + +

Unmigrated members (<% length users %>)

+ + +<% foreach user in users do %> + +<% end %> +
<% Web.html (#name user) %> +<% val bal = Balance.lookupBalance (#bal user); +if #name bal <> #name user then %> +<% Web.html (#name bal) %> +<% end %> +
+ <% end %> <% if showNormal then %> @@ -120,6 +137,7 @@ if #name bal <> #name user then %>
Grandfather old users to have applications
+Who hasn't migrated yet?
<% end %> -- 2.20.1