Changes rolling out beta version
[bpt/portal.git] / group.sml
index 3481eb2..cc3d5ea 100644 (file)
--- a/group.sml
+++ b/group.sml
@@ -83,11 +83,10 @@ fun addToGroup (mem : membership) =
        val usr = #usr mem
        val grp = #grp mem
     in
-       if userInGroupNum (usr, grp) then
-           ()
-       else
-           ignore (C.dml (getDb ()) ($`INSERT INTO Membership (grp, usr)
-                                       VALUES (^(C.intToSql grp), ^(C.intToSql usr))`))
+       case C.oneOrNoRows (getDb ()) ($`SELECT * FROM Membership WHERE grp = ^(C.intToSql grp) AND usr = ^(C.intToSql usr)`) of
+           NONE => ignore (C.dml (getDb ()) ($`INSERT INTO Membership (grp, usr)
+                                               VALUES (^(C.intToSql grp), ^(C.intToSql usr))`))
+         | SOME _ => ()
     end
 
 fun addToGroups (usr, grps) =