[Ils-source] r1320 - in trunk: src/com/resolutions/ils/data webapp/api/group/get

scribe at crosswire.org scribe at crosswire.org
Tue May 26 06:18:59 MST 2015


Author: scribe
Date: 2015-05-26 06:18:58 -0700 (Tue, 26 May 2015)
New Revision: 1320

Modified:
   trunk/src/com/resolutions/ils/data/Group.java
   trunk/webapp/api/group/get/index.jsp
Log:
updated group get to allow user list


Modified: trunk/src/com/resolutions/ils/data/Group.java
===================================================================
--- trunk/src/com/resolutions/ils/data/Group.java	2015-05-26 13:02:16 UTC (rev 1319)
+++ trunk/src/com/resolutions/ils/data/Group.java	2015-05-26 13:18:58 UTC (rev 1320)
@@ -14,7 +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} T2.COMPANYID={COMPANYID} AND T3.COMPANYID={COMPANYID} AND T3.USERPRID=T2.USERPRID";
+    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}";

Modified: trunk/webapp/api/group/get/index.jsp
===================================================================
--- trunk/webapp/api/group/get/index.jsp	2015-05-26 13:02:16 UTC (rev 1319)
+++ trunk/webapp/api/group/get/index.jsp	2015-05-26 13:18:58 UTC (rev 1320)
@@ -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