Fix Mailman subscription by installing /usr/local/sbin/portalsub
[bpt/portal.git] / init.sml
index 4a696d1..cd066b1 100644 (file)
--- a/init.sml
+++ b/init.sml
@@ -128,9 +128,11 @@ fun addUser (name, rname, bal, app, shares) =
        val db = getDb ()
        val id = nextSeq (db, "WebUserSeq")
     in
-       C.dml db ($`INSERT INTO WebUser (id, name, rname, bal, joined, app, shares)
+       C.dml db ($`INSERT INTO WebUser (id, name, rname, bal, joined, app, shares, paypal, checkout)
                    VALUES (^(C.intToSql id), ^(C.stringToSql name), ^(C.stringToSql rname), ^(C.intToSql bal),
-                           CURRENT_TIMESTAMP, ^(C.intToSql app), ^(C.intToSql shares))`);
+                           CURRENT_TIMESTAMP, ^(C.intToSql app), ^(C.intToSql shares),
+                           (SELECT paypal FROM MemberApp WHERE id = ^(C.intToSql app)),
+                           (SELECT checkout FROM MemberApp WHERE id = ^(C.intToSql app)))`);
        id
     end
 
@@ -142,8 +144,8 @@ fun modUser (user : user) =
                            name = ^(C.stringToSql (#name user)), rname = ^(C.stringToSql (#rname user)),
                               bal = ^(C.intToSql (#bal user)), app = ^(C.intToSql (#app user)),
                               shares = ^(C.intToSql (#shares user)),
-                              paypal = ^(nullableToSql C.stringToSql (#paypal user)),
-                              checkout = ^(nullableToSql C.stringToSql (#checkout user))
+                              paypal = ^(nullableToSql (C.stringToSql o Util.normEmail) (#paypal user)),
+                              checkout = ^(nullableToSql (C.stringToSql o Util.normEmail) (#checkout user))
                            WHERE id = ^(C.intToSql (#id user))`))
     end
 
@@ -300,13 +302,13 @@ fun usersInAfs () =
 fun searchPaypal paypal =
     C.map (getDb ()) mkUserRow ($`SELECT id, name, rname, bal, joined, app, shares, paypal, checkout
                                  FROM WebUser
-                                 WHERE paypal = ^(C.stringToSql paypal)
+                                 WHERE paypal = ^(C.stringToSql (normEmail paypal))
                                  ORDER BY name`)
     
 fun searchCheckout checkout =
     C.map (getDb ()) mkUserRow ($`SELECT id, name, rname, bal, joined, app, shares, paypal, checkout
                                  FROM WebUser
-                                 WHERE checkout = ^(C.stringToSql checkout)
+                                 WHERE checkout = ^(C.stringToSql (normEmail checkout))
                                  ORDER BY name`)
 
 end