[cvs] expresso commit by lhamel: addDetail for cascading deletes when user

JCorporate Ltd jcorp at jcorporate.com
Thu Jul 28 19:05:06 UTC 2005


Log Message:
-----------
addDetail for cascading deletes when user group is deleted: also delete any controller, dbobject, and/or rowgroup permissions associated with group

Modified Files:
--------------
    expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/services/dbobj:
        UserGroup.java

Revision Data
-------------
Index: UserGroup.java
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/services/dbobj/UserGroup.java,v
retrieving revision 1.28
retrieving revision 1.29
diff -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/services/dbobj/UserGroup.java -Lexpresso-web/WEB-INF/src/com/jcorporate/expresso/services/dbobj/UserGroup.java -u -r1.28 -r1.29
--- expresso-web/WEB-INF/src/com/jcorporate/expresso/services/dbobj/UserGroup.java
+++ expresso-web/WEB-INF/src/com/jcorporate/expresso/services/dbobj/UserGroup.java
@@ -64,10 +64,6 @@
 
 package com.jcorporate.expresso.services.dbobj;
 
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
 import com.jcorporate.expresso.core.controller.ControllerRequest;
 import com.jcorporate.expresso.core.db.DBConnection;
 import com.jcorporate.expresso.core.db.DBException;
@@ -75,6 +71,10 @@
 import com.jcorporate.expresso.core.security.ReadOnlyUser;
 import com.jcorporate.expresso.core.security.SuperUser;
 
+import java.util.Iterator;
+import java.util.List;
+import java.util.Vector;
+
 
 /**
  * <p>UserGroup is a grouping of a number of users for security purposes.
@@ -234,10 +234,17 @@
         setStringFilter("LoginEvent", "stripFilter");
         setStringFilter(GROUP_DESCRIPTION, "standardFilter");
         addKey(GROUP_NAME_FIELD);
-        setLookupObject("LoginEvent",
-                "com.jcorporate.expresso.services.dbobj.Event");
-        addDetail("com.jcorporate.expresso.services.dbobj.GroupMembers",
+        setLookupObject("LoginEvent", Event.class.getName());
+        addDetail(GroupMembers.class.getName(),
                 GROUP_NAME_FIELD, GROUP_NAME_FIELD);
+
+        // security depends on group names
+        addDetail(RowGroupPerms.class.getName(),
+                GROUP_NAME_FIELD, RowGroupPerms.GROUP);
+        addDetail(DBObjSecurity.class.getName(),
+                GROUP_NAME_FIELD, DBObjSecurity.GROUP_NAME);
+        addDetail(ControllerSecurity.class.getName(),
+                GROUP_NAME_FIELD, ControllerSecurity.GROUP_NAME);
     } /* setupFields() */
 
 


More information about the cvs mailing list