[Ils-source] r1353 - in trunk/webapp/api/group: . addmanager removemanager

scribe at crosswire.org scribe at crosswire.org
Thu Oct 22 12:06:46 MST 2015


Author: scribe
Date: 2015-10-22 12:06:45 -0700 (Thu, 22 Oct 2015)
New Revision: 1353

Added:
   trunk/webapp/api/group/addmanager/
   trunk/webapp/api/group/addmanager/index.jsp
   trunk/webapp/api/group/removemanager/
   trunk/webapp/api/group/removemanager/index.jsp
Log:
added group/addmanager and group/removemanager api calls


Added: trunk/webapp/api/group/addmanager/index.jsp
===================================================================
--- trunk/webapp/api/group/addmanager/index.jsp	                        (rev 0)
+++ trunk/webapp/api/group/addmanager/index.jsp	2015-10-22 19:06:45 UTC (rev 1353)
@@ -0,0 +1,126 @@
+<%@ page language="java" contentType="text/xml;charset=utf-8" %>
+<%@ page trimDirectiveWhitespaces="true" %>
+<%@ page import="com.resolutions.ils.Utils" %>
+<%@ page import="com.resolutions.ils.ILSSession" %>
+<%@ page import="com.resolutions.ils.data.Company" %>
+<%@ page import="com.resolutions.ils.data.Group" %>
+<%@ page import="com.resolutions.ils.data.UserProfile" %>
+<%@ page import="org.apache.log4j.Logger" %>
+
+<%
+	// standard service header ---------------------------------------
+	response.setContentType("text/xml");
+	int errCode = 0;
+	Company company = Company.getCompany(request);
+    
+	boolean apiEnabled = "on".equals(Utils.getSysConfig(session.getServletContext(), company.getCompanyID()).getProperty("APIEnable", "off"));
+	++errCode;
+	if (!apiEnabled) {
+		out.print("<error code=\""+errCode+"\" message=\"API not enabled in system management settings.\"/>");
+		return;
+	}
+
+	String userID = request.getParameter("ILSUSER");
+	String userPw = request.getParameter("ILSPASSWD");
+	ILSSession ilsSession = (userID != null && userPw != null)
+			? ILSSession.login(company.getCompanyName(), userID, userPw)
+			: (ILSSession)session.getAttribute("ilsSession");
+	++errCode;
+	if (ilsSession == null) {
+		out.print("<error code=\""+errCode+"\" message=\"Your iLS sign in information is not valid.\"/>");
+		return;
+	}
+	// end standard service header -----------------------------------
+
+
+	int groupID  = -1; try { groupID = Integer.parseInt(request.getParameter("groupID")); } catch(Exception e) {}
+	int groupTypeID  = -1; try { groupTypeID = Integer.parseInt(request.getParameter("groupTypeID")); } catch(Exception e) {}
+	int userProfileID  = -1; try { userProfileID = Integer.parseInt(request.getParameter("userProfileID")); } catch(Exception e) {}
+	String loginID     = request.getParameter("loginID");
+	String userProfileUserData    = request.getParameter("userProfileUserData");
+	String userData   = request.getParameter("userData");
+	String groupName  = request.getParameter("groupName");
+
+// one of these must be supplied; otherwise, show usage info
+if (groupTypeID != -1 && (groupID != -1 || groupName != null || userData != null) 
+	&& (userProfileID != -1 || loginID != null || userProfileUserData != null)) {
+	String errMsg = "";
+
+	UserProfile adminUser = ilsSession.getCurrentUserProfile();
+
+	Logger logger         = Logger.getLogger(this.getClass());
+	Logger eventsLogger   = Logger.getLogger("EVENTS");
+
+	Group current = null;
+	++errCode;
+	if ((adminUser.getUserProfileAccessLevel() > UserProfile.ACCESS_MANAGER) || (adminUser.hasAccess(UserProfile.ACCESS_MODE_USERPR_ADD_USER)) || (adminUser.hasAccess(UserProfile.ACCESS_MODE_USERPR_MODIFY_USER))) {
+		if (groupID != -1) {
+			current = Group.getGroup(ilsSession, groupID);
+		}
+		else if (userData != null) {
+			current = Group.getGroupByUserData(ilsSession, groupTypeID, userData);
+		}
+		if (current == null) {
+			out.print("<error code=\""+errCode+"\" message=\"Group not found.\"/>");
+			return;
+		}
+	}
+	else {
+		++errCode;
+		out.print("<error code=\""+errCode+"\" message=\"Permission denied.\"/>");
+		return;
+	}
+
+	errCode += 2;
+	if (current.getGroupID() > 0 && adminUser.getUserProfileAccessLevel() <= UserProfile.ACCESS_MANAGER && !adminUser.hasAccess(UserProfile.ACCESS_MODE_USERPR_MODIFY_USER)) {
+		out.print("<error code=\""+errCode+"\" message=\"Permission denied to edit group.\"/>");
+		return;
+	}
+
+	++errCode;
+	UserProfile manager = null;
+		if (userProfileID != -1) {
+			manager = UserProfile.getUserProfile(ilsSession, userProfileID);
+		}
+		else if (userData != null) {
+			manager = UserProfile.getUserProfileByUserData(ilsSession, userProfileUserData);
+		}
+		if (manager == null) {
+			out.print("<error code=\""+errCode+"\" message=\"UserProfile not found.\"/>");
+			return;
+		}
+
+	++errCode;
+
+	int updateCount = current.addManagerGroup(ilsSession, current.getGroupID(), manager.getUserProfileID());
+	if (updateCount < 0) updateCount = 0;
+
+%>
+<success groupID="<%=current.getGroupID()%>"<%= updateCount > -1 ? (" membersUpdated=\""+updateCount+"\"") : ""%>/>
+<%
+	return;
+
+}
+response.setContentType("text/html");
+%>
+<html>
+<style>th { text-align:left; }</style>
+<body>
+<h1>group/addmanger</h1>
+<p>Add user profile to manager list for a group</p>
+<h3>Parameters</h3>
+<table border="1">
+<tbody>
+<tr><th>groupID</th><td>The record to modify.  Either this parameter, or userData can be supplied to update an existing record. This order of precedence is used. If more than one of these is supplied, the subsequent parameter is used as an update field for the record.</td></tr>
+<tr><th>userData</th><td>3rd-party supplied record identifier for group</td></tr>
+<tr><th>groupTypeID</th><td>Group Type ID. default groups {1 - ROLE; 2 - WORKGROUP}</td></tr>
+<tr><th>userProfileID</th><td>adds this user to the manager list for this group</td></tr>
+<tr><th>loginID</th><td>adds this user to the manager list for this group, specified by User Login ID</td></tr>
+<tr><th>userProfileUserData</th><td>adds this user to the manager list for this group, specified by 3rd-party supplied record identifier for this user</td></tr>
+<tr><th>ILSUSER</th><td>ILS Login Credentials. Used to validate this API request.</td></tr>
+<tr><th>ILSPASSWD</th><td>ILS Login Credentials. Used to validate this API request.</td></tr>
+</tbody>
+</table>
+</body>
+</html>
+

Added: trunk/webapp/api/group/removemanager/index.jsp
===================================================================
--- trunk/webapp/api/group/removemanager/index.jsp	                        (rev 0)
+++ trunk/webapp/api/group/removemanager/index.jsp	2015-10-22 19:06:45 UTC (rev 1353)
@@ -0,0 +1,125 @@
+<%@ page language="java" contentType="text/xml;charset=utf-8" %>
+<%@ page trimDirectiveWhitespaces="true" %>
+<%@ page import="com.resolutions.ils.Utils" %>
+<%@ page import="com.resolutions.ils.ILSSession" %>
+<%@ page import="com.resolutions.ils.data.Company" %>
+<%@ page import="com.resolutions.ils.data.Group" %>
+<%@ page import="com.resolutions.ils.data.UserProfile" %>
+<%@ page import="org.apache.log4j.Logger" %>
+
+<%
+	// standard service header ---------------------------------------
+	response.setContentType("text/xml");
+	int errCode = 0;
+	Company company = Company.getCompany(request);
+    
+	boolean apiEnabled = "on".equals(Utils.getSysConfig(session.getServletContext(), company.getCompanyID()).getProperty("APIEnable", "off"));
+	++errCode;
+	if (!apiEnabled) {
+		out.print("<error code=\""+errCode+"\" message=\"API not enabled in system management settings.\"/>");
+		return;
+	}
+
+	String userID = request.getParameter("ILSUSER");
+	String userPw = request.getParameter("ILSPASSWD");
+	ILSSession ilsSession = (userID != null && userPw != null)
+			? ILSSession.login(company.getCompanyName(), userID, userPw)
+			: (ILSSession)session.getAttribute("ilsSession");
+	++errCode;
+	if (ilsSession == null) {
+		out.print("<error code=\""+errCode+"\" message=\"Your iLS sign in information is not valid.\"/>");
+		return;
+	}
+	// end standard service header -----------------------------------
+
+
+	int groupID  = -1; try { groupID = Integer.parseInt(request.getParameter("groupID")); } catch(Exception e) {}
+	int groupTypeID  = -1; try { groupTypeID = Integer.parseInt(request.getParameter("groupTypeID")); } catch(Exception e) {}
+	int userProfileID  = -1; try { userProfileID = Integer.parseInt(request.getParameter("userProfileID")); } catch(Exception e) {}
+	String loginID     = request.getParameter("loginID");
+	String userProfileUserData    = request.getParameter("userProfileUserData");
+	String userData   = request.getParameter("userData");
+	String groupName  = request.getParameter("groupName");
+
+// one of these must be supplied; otherwise, show usage info
+if (groupTypeID != -1 && (groupID != -1 || groupName != null || userData != null) 
+	&& (userProfileID != -1 || loginID != null || userProfileUserData != null)) {
+	String errMsg = "";
+
+	UserProfile adminUser = ilsSession.getCurrentUserProfile();
+
+	Logger logger         = Logger.getLogger(this.getClass());
+	Logger eventsLogger   = Logger.getLogger("EVENTS");
+
+	Group current = null;
+	++errCode;
+	if ((adminUser.getUserProfileAccessLevel() > UserProfile.ACCESS_MANAGER) || (adminUser.hasAccess(UserProfile.ACCESS_MODE_USERPR_ADD_USER)) || (adminUser.hasAccess(UserProfile.ACCESS_MODE_USERPR_MODIFY_USER))) {
+		if (groupID != -1) {
+			current = Group.getGroup(ilsSession, groupID);
+		}
+		else if (userData != null) {
+			current = Group.getGroupByUserData(ilsSession, groupTypeID, userData);
+		}
+		if (current == null) {
+			out.print("<error code=\""+errCode+"\" message=\"Group not found.\"/>");
+			return;
+		}
+	}
+	else {
+		++errCode;
+		out.print("<error code=\""+errCode+"\" message=\"Permission denied.\"/>");
+		return;
+	}
+
+	errCode += 2;
+	if (current.getGroupID() > 0 && adminUser.getUserProfileAccessLevel() <= UserProfile.ACCESS_MANAGER && !adminUser.hasAccess(UserProfile.ACCESS_MODE_USERPR_MODIFY_USER)) {
+		out.print("<error code=\""+errCode+"\" message=\"Permission denied to edit group.\"/>");
+		return;
+	}
+
+	++errCode;
+	UserProfile manager = null;
+		if (userProfileID != -1) {
+			manager = UserProfile.getUserProfile(ilsSession, userProfileID);
+		}
+		else if (userData != null) {
+			manager = UserProfile.getUserProfileByUserData(ilsSession, userProfileUserData);
+		}
+		if (manager == null) {
+			out.print("<error code=\""+errCode+"\" message=\"UserProfile not found.\"/>");
+			return;
+		}
+
+	++errCode;
+
+	int updateCount = current.deleteManagerGroup(ilsSession, current.getGroupID(), manager.getUserProfileID());
+
+%>
+<success groupID="<%=current.getGroupID()%>"<%= updateCount > -1 ? (" membersUpdated=\""+updateCount+"\"") : ""%>/>
+<%
+	return;
+
+}
+response.setContentType("text/html");
+%>
+<html>
+<style>th { text-align:left; }</style>
+<body>
+<h1>group/removemanger</h1>
+<p>Remove user profile to manager list for a group</p>
+<h3>Parameters</h3>
+<table border="1">
+<tbody>
+<tr><th>groupID</th><td>The record to modify.  Either this parameter, or userData can be supplied to update an existing record. This order of precedence is used. If more than one of these is supplied, the subsequent parameter is used as an update field for the record.</td></tr>
+<tr><th>userData</th><td>3rd-party supplied record identifier for group</td></tr>
+<tr><th>groupTypeID</th><td>Group Type ID. default groups {1 - ROLE; 2 - WORKGROUP}</td></tr>
+<tr><th>userProfileID</th><td>adds this user to the manager list for this group</td></tr>
+<tr><th>loginID</th><td>adds this user to the manager list for this group, specified by User Login ID</td></tr>
+<tr><th>userProfileUserData</th><td>adds this user to the manager list for this group, specified by 3rd-party supplied record identifier for this user</td></tr>
+<tr><th>ILSUSER</th><td>ILS Login Credentials. Used to validate this API request.</td></tr>
+<tr><th>ILSPASSWD</th><td>ILS Login Credentials. Used to validate this API request.</td></tr>
+</tbody>
+</table>
+</body>
+</html>
+




More information about the Ils-source mailing list