[Ils-source] r1321 - in branches/1.6: . src/com/resolutions/ils/data webapp/WEB-INF/lib webapp/api/group/get

scribe at crosswire.org scribe at crosswire.org
Tue May 26 06:23:20 MST 2015


Author: scribe
Date: 2015-05-26 06:23:20 -0700 (Tue, 26 May 2015)
New Revision: 1321

Modified:
   branches/1.6/
   branches/1.6/src/com/resolutions/ils/data/Group.java
   branches/1.6/webapp/WEB-INF/lib/ils.jar
   branches/1.6/webapp/api/group/get/index.jsp
Log:
Added ability to get group users from the group/get API call



Property changes on: branches/1.6
___________________________________________________________________
Modified: svn:mergeinfo
   - /trunk:796-1303,1306-1307,1309-1311
   + /trunk:796-1303,1306-1307,1309-1311,1319-1320

Modified: branches/1.6/src/com/resolutions/ils/data/Group.java
===================================================================
--- branches/1.6/src/com/resolutions/ils/data/Group.java	2015-05-26 13:18:58 UTC (rev 1320)
+++ branches/1.6/src/com/resolutions/ils/data/Group.java	2015-05-26 13:23:20 UTC (rev 1321)
@@ -14,6 +14,7 @@
 
     static String LOOKUPALLGROUPS = "SELECT * FROM ILSGROUP WHERE GROUPTYPEID={GROUPTYPEID} AND COMPANYID={COMPANYID} ORDER BY GROUPNAME";
     static String LOOKUPUSERGROUPS = "SELECT * FROM ILSGROUP T1, USERGROUP T2 WHERE GROUPTYPEID={GROUPTYPEID} AND T1.ILSGROUPID=T2.ILSGROUPID AND T2.USERPRID={USERPRID} AND T1.COMPANYID={COMPANYID} AND T2.COMPANYID={COMPANYID}";
+    static String LOOKUPGROUPUSERS = "SELECT * FROM USERGROUP T2, USERPROFILE T3 WHERE T2.ILSGROUPID={ILSGROUPID} AND T2.COMPANYID={COMPANYID} AND T3.COMPANYID={COMPANYID} AND T3.USERPRID=T2.USERPRID";
     static String LOOKUPMANAGERGROUPS = "SELECT * FROM ILSGROUP T1, MANAGERGROUP T2 WHERE T1.ILSGROUPID=T2.ILSGROUPID AND T2.USERPRID={USERPRID} AND T1.COMPANYID={COMPANYID} AND T2.COMPANYID={COMPANYID} ORDER BY GROUPNAME";
     static String LOOKUPCOURSEGROUPS = "SELECT * FROM ILSGROUP T1, COURSEGROUP T2 WHERE T1.ILSGROUPID=T2.ILSGROUPID AND T2.COURSID={COURSID} AND T1.COMPANYID={COMPANYID} AND T2.COMPANYID={COMPANYID}";
     static String LOOKUP = "SELECT * FROM ILSGROUP WHERE ILSGROUPID={ILSGROUPID} AND COMPANYID={COMPANYID}";
@@ -66,15 +67,19 @@
         return (rows.size() > 0) ? (Group) rows.get(0) : null;
     }
 
-    static public Vector getUserGroups(ILSSession session, int groupTypeID,
-                                       int userID) {
+    public Vector getGroupUsers() {
+        UserProfile query = new UserProfile();
+        query.setValue("COMPANYID", getCompanyID());
+        query.setValue("ILSGROUPID", getGroupID());
+        return query.getDataSet(LOOKUPGROUPUSERS);
+    }
+    static public Vector getUserGroups(ILSSession session, int groupTypeID, int userID) {
         Group query = new Group();
         query.setValue("COMPANYID", new Integer(session.getCompanyID()));
         query.setValue("USERPRID", new Integer(userID));
         query.setGroupTypeID(groupTypeID);
         return query.getDataSet(LOOKUPUSERGROUPS);
     }
-
     static public int deleteUserGroups(ILSSession session, int groupTypeID, int userID) {
         Group query = new Group();
         query.setValue("COMPANYID", new Integer(session.getCompanyID()));

Modified: branches/1.6/webapp/WEB-INF/lib/ils.jar
===================================================================
(Binary files differ)

Modified: branches/1.6/webapp/api/group/get/index.jsp
===================================================================
--- branches/1.6/webapp/api/group/get/index.jsp	2015-05-26 13:18:58 UTC (rev 1320)
+++ branches/1.6/webapp/api/group/get/index.jsp	2015-05-26 13:23:20 UTC (rev 1321)
@@ -4,6 +4,7 @@
 %>
 <%@ page trimDirectiveWhitespaces="true" %>
 <%@ page import="org.crosswire.utils.HTTPUtils" %>
+<%@ page import="org.crosswire.xml.XMLBlock" %>
 <%@ page import="com.resolutions.ils.Utils" %>
 <%@ page import="com.resolutions.ils.ILSSession" %>
 <%@ page import="com.resolutions.ils.data.UserProfile" %>
@@ -51,6 +52,7 @@
 	if (groupID == -2) if ("ALL".equals(request.getParameter("groupID"))) groupID = -1;
 	int groupTypeID = -1; try { groupTypeID = Integer.parseInt(request.getParameter("groupTypeID")); } catch (Exception e) {}
 	String groupName = request.getParameter("groupName");
+	String detail = request.getParameter("detail");
 
 	Logger logger = Logger.getLogger(this.getClass());
 	Logger eventsLogger = Logger.getLogger("EVENTS");
@@ -70,7 +72,21 @@
 		}
 		out.print("<Groups count=\""+groups.size()+"\">\n");
 		for (Object o : groups) {
-			out.print(((Group)o).toFormattedXML());
+			Group g = (Group)o;
+			XMLBlock x = new XMLBlock(g.toFormattedXML());
+			if ("user".equals(detail)) {
+				XMLBlock users = x.createBlock("Users");
+				int count = 0;
+				for (Object o2 : g.getGroupUsers()) {
+					UserProfile u = (UserProfile)o2;
+					XMLBlock ux = users.createBlock("User");
+					ux.setAttribute("userID", Integer.toString(u.getUserProfileID()));
+					ux.setAttribute("statusID", Integer.toString(u.getUserProfileStatusID()));
+					++count;
+				}
+				users.setAttribute("count", Integer.toString(count));
+			}
+			out.print(x.toString());
 		}
 		out.print("</Groups>\n");
 		return;
@@ -87,6 +103,7 @@
 <tr><td><b>groupTypeID</b></td><td>GroupTypeID to retrieve; required. default groups {1 - ROLE; 2 - WORKGROUP}</td></tr>
 <tr><td><b>groupID</b></td><td>GroupID to retrieve; ALL, for all groups</td></tr>
 <tr><td><b>groupName</b></td><td>Group Name to retrieve</td></tr>
+<tr><td><b>detail</b></td><td>{user - include user info}</td></tr>
 <tr><td><b>ILSUSER</b></td><td>ILS Login Credentials. Used to validate this API request.</td></tr>
 <tr><td><b>ILSPASSWD</b></td><td>ILS Login Credentials. Used to validate this API request.</td></tr>
 <table>




More information about the Ils-source mailing list