[Ils-source] r1357 - in branches/1.6: . db/mssql src/com/resolutions/ils/data webapp webapp/WEB-INF/classes webapp/WEB-INF/lib webapp/api/group webapp/api/group/addmanager webapp/api/group/removemanager webapp/api/user/put
scribe at crosswire.org
scribe at crosswire.org
Tue Nov 10 19:20:42 MST 2015
Author: scribe
Date: 2015-11-10 19:20:42 -0700 (Tue, 10 Nov 2015)
New Revision: 1357
Added:
branches/1.6/db/mssql/upgrade181.1.sql
branches/1.6/webapp/api/group/addmanager/
branches/1.6/webapp/api/group/addmanager/index.jsp
branches/1.6/webapp/api/group/removemanager/
branches/1.6/webapp/api/group/removemanager/index.jsp
Removed:
branches/1.6/webapp/api/group/addmanager/index.jsp
branches/1.6/webapp/api/group/removemanager/index.jsp
Modified:
branches/1.6/
branches/1.6/db/mssql/ilsdb.sql
branches/1.6/src/com/resolutions/ils/data/Group.java
branches/1.6/webapp/WEB-INF/classes/versions.properties
branches/1.6/webapp/WEB-INF/lib/ils.jar
branches/1.6/webapp/admin_coursenew.jsp
branches/1.6/webapp/api/user/put/index.jsp
branches/1.6/webapp/report_employeecourseatt.jsp
Log:
Merged in changes for release from trunk and tag release 1.80.2:
ILS-11 increased course description length to 500 and added a counter to field user interface.
added red warning when Course Description text is within 100 characters of limit. PCR ILS-11
updated ilsdb creation script with latest update scripts
Applied patch from Adam to fix Middle Name and add Name Suffix
Added return of location id or role id if set
added group/addmanager and group/removemanager api calls
Added new calls to remove and lookup group managers
added an error message if trying to lookup an employee who doesn't exist.
Property changes on: branches/1.6
___________________________________________________________________
Modified: svn:mergeinfo
- /trunk:796-1303,1306-1307,1309-1311,1319-1320,1322-1323,1325,1328-1330,1332,1334-1335,1337
+ /trunk:796-1303,1306-1307,1309-1311,1319-1320,1322-1323,1325,1328-1330,1332,1334-1335,1337,1339,1349-1355
Modified: branches/1.6/db/mssql/ilsdb.sql
===================================================================
--- branches/1.6/db/mssql/ilsdb.sql 2015-11-11 00:31:49 UTC (rev 1356)
+++ branches/1.6/db/mssql/ilsdb.sql 2015-11-11 02:20:42 UTC (rev 1357)
@@ -1,5 +1,5 @@
CREATE TABLE ILSGROUP (COMPANYID INTEGER NOT NULL, ILSGROUPID INTEGER IDENTITY(1,1) NOT NULL, GROUPNAME VARCHAR(75) NOT NULL, GROUPDESC VARCHAR(255), GROUPTYPEID INTEGER, USERDATA VARCHAR(80), CONSTRAINT ILSGROUPPK1 PRIMARY KEY (COMPANYID, ILSGROUPID))
-CREATE TABLE COURSE (COMPANYID INTEGER NOT NULL, COURSID INTEGER IDENTITY(1,1) NOT NULL, COURSNUM VARCHAR(20) NOT NULL, COURSNAME VARCHAR(100), COURSDESC VARCHAR(255), COURSTYPEID INTEGER, COURSPASS INTEGER, COURSPASSEXPDAYS INTEGER, COURSREASBEFDAYS INTEGER, COURSURL VARCHAR(255), COURSCKLISTURL VARCHAR(255), COURSCOST FLOAT, COURSSEATMINS INTEGER, COURSISCURRICULUM CHAR(1), COURSISQUICKVIEW CHAR(1), COURSPOSTDATE DATETIME, COURSISACTIVE CHAR(1), COURSISIPRESTRICTED char(1), COURSREQMGRAPPRVL CHAR(1), USERDATA VARCHAR(80), COURSISCURRICCERT char(1) default 'F', CONSTRAINT COURSEPK1 PRIMARY KEY (COMPANYID, COURSID))
+CREATE TABLE COURSE (COMPANYID INTEGER NOT NULL, COURSID INTEGER IDENTITY(1,1) NOT NULL, COURSNUM VARCHAR(20) NOT NULL, COURSNAME VARCHAR(100), COURSDESC VARCHAR(500), COURSTYPEID INTEGER, COURSPASS INTEGER, COURSPASSEXPDAYS INTEGER, COURSREASBEFDAYS INTEGER, COURSURL VARCHAR(255), COURSCKLISTURL VARCHAR(255), COURSCOST FLOAT, COURSSEATMINS INTEGER, COURSISCURRICULUM CHAR(1), COURSISQUICKVIEW CHAR(1), COURSPOSTDATE DATETIME, COURSISACTIVE CHAR(1), COURSISIPRESTRICTED char(1), COURSREQMGRAPPRVL CHAR(1), USERDATA VARCHAR(80), COURSISCURRICCERT char(1) default 'F', CONSTRAINT COURSEPK1 PRIMARY KEY (COMPANYID, COURSID))
CREATE TABLE USERPROFILE (COMPANYID INTEGER NOT NULL, USERPRID INTEGER IDENTITY(1,1) NOT NULL, USERPRNUM VARCHAR(50) NOT NULL, USERPRPASSWD VARCHAR(20), USERPRMNAME VARCHAR(40), USERPRSNAME VARCHAR(40), USERPRFNAME VARCHAR(40), USERPRLNAME VARCHAR(40), USERPRSTATUSID INTEGER, USERPRADDR1 VARCHAR(60),USERPRADDR2 VARCHAR(60),USERPRCITY VARCHAR(30),USERPRSTATE VARCHAR(2),USERPRZIP VARCHAR(12),USERPRCOUNTRY VARCHAR(50),USERPREMAIL VARCHAR(50), USERPRPHONE VARCHAR(50), USERPREMPTITLEID INTEGER, USERPRLASTLOGIN TIMESTAMP, USERPRACCESSLEVEL INTEGER, USERPRACCESSMOD INTEGER, USERPRINACTDATE DATETIME, USERPRHIREDATE DATETIME, USERPRTERMDATE DATETIME, USERPRIPRESTRICTOVERRIDE char(1), USERDATA VARCHAR(80), USERPRSECONDLOGINOVERRIDE char(1) default 'F', CONSTRAINT USERPROFILEPK1 PRIMARY KEY (COMPANYID, USERPRID))
CREATE TABLE ANNOUNCEMENT (COMPANYID INTEGER NOT NULL, ANNOUNCID INTEGER IDENTITY(1,1) NOT NULL, ANNOUNCTITLE VARCHAR(100), ANNOUNCMESSAGE VARCHAR(255), ANNOUNCEXP DATETIME, ANNOUNCURL VARCHAR(255), ANNOUNCPOSTDATE DATETIME, USERDATA VARCHAR(80), CONSTRAINT ANNOUNCEMENTPK1 PRIMARY KEY (COMPANYID, ANNOUNCID))
@@ -18,6 +18,9 @@
CREATE TABLE GROUPTYPE (COMPANYID INTEGER NOT NULL, GROUPTYPEID INTEGER NOT NULL, GROUPTYPENAME VARCHAR(40), GROUPTYPEDESC VARCHAR(80), CONSTRAINT GROUPTYPEPK1 PRIMARY KEY (COMPANYID, GROUPTYPEID))
CREATE TABLE COURSETYPE (COMPANYID INTEGER NOT NULL, COURSETYPEID INTEGER NOT NULL, COURSETYPENAME VARCHAR(40), COURSETYPEDESC VARCHAR(80), CONSTRAINT COURSETYPEPK1 PRIMARY KEY (COMPANYID, COURSETYPEID))
CREATE TABLE SECURITYMODE (COMPANYID INTEGER NOT NULL, SECMODDESC VARCHAR(75) NOT NULL, SECMODVAL INTEGER NOT NULL, CONSTRAINT SECURITYMODEPK1 PRIMARY KEY (COMPANYID, SECMODDESC))
+CREATE VIEW USERCOURSEASSIGNMENTS WITH SCHEMABINDING AS SELECT DISTINCT T2.COMPANYID, T2.USERPRID, COALESCE (T9.COURSID, T1.COURSID) AS COURSID FROM dbo.USERGROUP AS T2 INNER JOIN dbo.COURSEGROUP AS T3 ON T3.COMPANYID = T2.COMPANYID AND T3.ILSGROUPID = T2.ILSGROUPID INNER JOIN dbo.COURSE AS T1 ON T1.COMPANYID = T3.COMPANYID AND T1.COURSID = T3.COURSID LEFT OUTER JOIN dbo.CURRICULUMCOURSE AS T5 ON T5.COMPANYID = T1.COMPANYID AND T5.CURRICULUMID = T1.COURSID AND T1.COURSISCURRICULUM = 'T' LEFT OUTER JOIN dbo.COURSE AS T9 ON T5.COMPANYID IS NOT NULL AND T9.COMPANYID = T5.COMPANYID AND T9.COURSID = T5.COURSID WHERE (T9.COURSID IS NULL) AND (T1.COURSISCURRICULUM IS NULL) AND (T9.COURSID IS NULL) AND (T1.COURSISQUICKVIEW IS NULL OR T1.COURSISQUICKVIEW <> 'T') OR (T9.COURSID IS NULL) AND (T1.COURSISCURRICULUM IS NULL) AND (T9.COURSID IS NOT NULL) AND (T9.COURSISQUICKVIEW IS NULL OR T9.COURSISQUICKVIEW <> 'T') OR (T9.COURSID IS NULL) AND (T1.COURSISCURRICULUM <> 'T') AND (T1.COURSISQUICKVIEW IS NULL OR T1.COURSISQUICKVIEW <> 'T') OR (T9.COURSID IS NOT NULL) AND (T1.COURSISCURRICULUM <> 'T') AND (T9.COURSISQUICKVIEW IS NULL OR T9.COURSISQUICKVIEW <> 'T') OR (T9.COURSID IS NULL) AND (T1.COURSISQUICKVIEW IS NULL OR T1.COURSISQUICKVIEW <> 'T') AND (T1.COURSID <> T9.COURSID) OR (T9.COURSID IS NOT NULL) AND (T9.COURSISQUICKVIEW IS NULL OR T9.COURSISQUICKVIEW <> 'T') AND (T1.COURSID <> T9.COURSID);
+CREATE VIEW COURSEATTEMPTSTATUS WITH SCHEMABINDING AS SELECT CA.COMPANYID, CA.USERPRID, CA.COURSID, CA.COURSATTID, CA.CACOMPLETEDATE, CA.CAEXPIREDON, COALESCE(CA.CASTATUSID, 0) AS CASTATUSID, CASE COALESCE(CA.CASTATUSID, 0) WHEN 3 THEN 1 WHEN 0 THEN 1 ELSE 0 END AS CRS_OPEN, CASE COALESCE(CA.CASTATUSID, 0) WHEN 1 THEN 1 ELSE 0 END AS CRS_COMPLETED, CASE COALESCE(CA.CASTATUSID, 0) WHEN 2 THEN 1 ELSE 0 END AS CRS_FAILED FROM DBO.COURSEATTEMPT CA;
+CREATE NONCLUSTERED INDEX CAEXPIREDONINDEX ON COURSEATTEMPT (COMPANYID,CAEXPIREDON) INCLUDE (USERPRID,COURSID,CACOMPLETEDATE,CASTATUSID)
INSERT INTO COMPANY (CONAME, COFUNDSAVAIL, COPERSEATCOST, COLOGOURL, COCOPYRIGHT) VALUES ('ILS', 0.00, 0.00, 'images/logo.gif', 'Copyright (C) 2006 ILS')
INSERT INTO SYSCONF (COMPANYID, SYSCFCOLLABURL, SYSCFEMAILSRV) VALUES (1, 'http://crosswire.org/forums', 'mail.crosswire.org')
INSERT INTO COURSEATTSTATUS (COMPANYID, CASTATUSID, CASTATUSDESC) VALUES (1, 0, 'NEW')
Copied: branches/1.6/db/mssql/upgrade181.1.sql (from rev 1339, trunk/db/mssql/upgrade181.1.sql)
===================================================================
--- branches/1.6/db/mssql/upgrade181.1.sql (rev 0)
+++ branches/1.6/db/mssql/upgrade181.1.sql 2015-11-11 02:20:42 UTC (rev 1357)
@@ -0,0 +1 @@
+ALTER TABLE COURSE ALTER COLUMN COURSDESC VARCHAR(500);
Modified: branches/1.6/src/com/resolutions/ils/data/Group.java
===================================================================
--- branches/1.6/src/com/resolutions/ils/data/Group.java 2015-11-11 00:31:49 UTC (rev 1356)
+++ branches/1.6/src/com/resolutions/ils/data/Group.java 2015-11-11 02:20:42 UTC (rev 1357)
@@ -15,6 +15,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 LOOKUPGROUPMANAGERS = "SELECT * FROM MANAGERGROUP 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}";
@@ -29,6 +30,7 @@
static String DELETEUSERGROUPS = "DELETE FROM USERGROUP WHERE USERPRID={USERPRID} AND COMPANYID={COMPANYID} AND EXISTS (SELECT * FROM ILSGROUP T2 WHERE T2.COMPANYID=USERGROUP.COMPANYID AND T2.ILSGROUPID=USERGROUP.ILSGROUPID AND T2.GROUPTYPEID={GROUPTYPEID})";
static String DELETEMANAGERGROUPS = "DELETE FROM MANAGERGROUP WHERE USERPRID={USERPRID} AND COMPANYID={COMPANYID}";
+ static String DELETEMANAGERGROUP = "DELETE FROM MANAGERGROUP WHERE USERPRID={USERPRID} AND COMPANYID={COMPANYID} AND ILSGROUPID={ILSGROUPID}";
static String ADDUSERGROUP = "INSERT INTO USERGROUP (COMPANYID, ILSGROUPID, USERPRID) VALUES ({COMPANYID}, {ILSGROUPID}, {USERPRID})";
static String ADDMANAGERGROUP = "INSERT INTO MANAGERGROUP (COMPANYID, ILSGROUPID, USERPRID) VALUES ({COMPANYID}, {ILSGROUPID}, {USERPRID})";
static String DELETECOURSEGROUPS = "DELETE FROM COURSEGROUP WHERE COURSID={COURSID} AND COMPANYID={COMPANYID} AND EXISTS (SELECT * FROM ILSGROUP T2 WHERE T2.COMPANYID=COURSEGROUP.COMPANYID AND T2.ILSGROUPID=COURSEGROUP.ILSGROUPID AND T2.GROUPTYPEID={GROUPTYPEID})";
@@ -87,6 +89,13 @@
return (Vector<UserProfile>)query.getDataSet(LOOKUPGROUPUSERS);
}
+ public Vector<UserProfile> getGroupManagers() {
+ UserProfile query = new UserProfile();
+ query.setValue("COMPANYID", getCompanyID());
+ query.setValue("ILSGROUPID", getGroupID());
+ return (Vector<UserProfile>)query.getDataSet(LOOKUPGROUPMANAGERS);
+ }
+
static public Vector getUserGroups(ILSSession session, int groupTypeID, int userID) {
Group query = new Group();
query.setValue("COMPANYID", new Integer(session.getCompanyID()));
@@ -136,6 +145,14 @@
return query.executeSQL(ADDMANAGERGROUP);
}
+ static public int deleteManagerGroup(ILSSession session, int groupID, int userID) {
+ Group query = new Group();
+ query.setValue("COMPANYID", new Integer(session.getCompanyID()));
+ query.setValue("USERPRID", new Integer(userID));
+ query.setGroupID(groupID);
+ return query.executeSQL(DELETEMANAGERGROUP);
+ }
+
static public int deleteGroupCourses(ILSSession session, int groupID) {
Group query = new Group();
query.setValue("COMPANYID", new Integer(session.getCompanyID()));
@@ -262,7 +279,13 @@
xml.append(">\n");
xml.append(" <groupDescription>"+HTTPUtils.canonize(getGroupDescription())+"</groupDescription>\n");
if (detail == DETAIL_EXTRA) {
- Vector<UserProfile> users = getGroupUsers();
+ Vector<UserProfile> users = getGroupManagers();
+ xml.append("<managerProfiles count=\""+users.size()+"\">");
+ for (UserProfile u: users) {
+ xml.append(u.toXML(DETAIL_HEADERONLY));
+ }
+ xml.append("</managerProfiles>");
+ users = getGroupUsers();
xml.append("<userProfiles count=\""+users.size()+"\">");
for (UserProfile u: users) {
xml.append(u.toXML(DETAIL_HEADERONLY));
Modified: branches/1.6/webapp/WEB-INF/classes/versions.properties
===================================================================
--- branches/1.6/webapp/WEB-INF/classes/versions.properties 2015-11-11 00:31:49 UTC (rev 1356)
+++ branches/1.6/webapp/WEB-INF/classes/versions.properties 2015-11-11 02:20:42 UTC (rev 1357)
@@ -1 +1 @@
-LMS=V1.80.1
+LMS=V1.80.2
Modified: branches/1.6/webapp/WEB-INF/lib/ils.jar
===================================================================
(Binary files differ)
Modified: branches/1.6/webapp/admin_coursenew.jsp
===================================================================
--- branches/1.6/webapp/admin_coursenew.jsp 2015-11-11 00:31:49 UTC (rev 1356)
+++ branches/1.6/webapp/admin_coursenew.jsp 2015-11-11 02:20:42 UTC (rev 1357)
@@ -231,6 +231,16 @@
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<script type="text/javascript" src="crosswire.js"></script>
<link href="lms_style.css" rel="stylesheet" type="text/css"/>
+ <script type="text/javascript" src="js/jquery/jquery.min.js"></script>
+
+<style>
+
+.almostFull {
+ color : red;
+}
+
+</style>
+
<script type="text/javascript" language="JavaScript">
//<!--
function rD(val) {
@@ -247,8 +257,21 @@
}
}
+function updateRemainingDescription() {
+ var limit = 500;
+ var d = $('#courseDescription').val();
+ if (d.length > limit) { d = d.substring(0,limit); $('#courseDescription').val(d); }
+ if (d.length >= (limit-100)) $('#remainingDescription').addClass('almostFull');
+ else $('#remainingDescription').removeClass('almostFull');
+ $('#remainingDescription').html((limit-d.length) + ' Remaining ');
+}
+$(document).ready(function() {
+ updateRemainingDescription();
+ $('#courseDescription').on('change keyup paste', updateRemainingDescription);
+})
+
// -->
@@ -285,8 +308,8 @@
<td><input name="name" type="text" value="<%=current.getCourseName()%>" size="40"/> </td>
</tr>
<tr>
- <td class="formHeadings">Course Description :</td>
- <td><textarea style="width:100%" name="desc" rows="7" cols="40"><%=current.getCourseDesc()%></textarea></td>
+ <td class="formHeadings">Course Description :<br/><span id="remainingDescription">500 Remaining </span></td>
+ <td><textarea id="courseDescription" style="width:100%" name="desc" rows="7" cols="40"><%=current.getCourseDesc()%></textarea></td>
</tr>
<tr>
<td class="formHeadings">Active Date : </td>
Deleted: branches/1.6/webapp/api/group/addmanager/index.jsp
===================================================================
--- trunk/webapp/api/group/addmanager/index.jsp 2015-10-22 19:06:45 UTC (rev 1353)
+++ branches/1.6/webapp/api/group/addmanager/index.jsp 2015-11-11 02:20:42 UTC (rev 1357)
@@ -1,126 +0,0 @@
-<%@ 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>
-
Copied: branches/1.6/webapp/api/group/addmanager/index.jsp (from rev 1353, trunk/webapp/api/group/addmanager/index.jsp)
===================================================================
--- branches/1.6/webapp/api/group/addmanager/index.jsp (rev 0)
+++ branches/1.6/webapp/api/group/addmanager/index.jsp 2015-11-11 02:20:42 UTC (rev 1357)
@@ -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>
+
Deleted: branches/1.6/webapp/api/group/removemanager/index.jsp
===================================================================
--- trunk/webapp/api/group/removemanager/index.jsp 2015-10-22 19:06:45 UTC (rev 1353)
+++ branches/1.6/webapp/api/group/removemanager/index.jsp 2015-11-11 02:20:42 UTC (rev 1357)
@@ -1,125 +0,0 @@
-<%@ 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>
-
Copied: branches/1.6/webapp/api/group/removemanager/index.jsp (from rev 1353, trunk/webapp/api/group/removemanager/index.jsp)
===================================================================
--- branches/1.6/webapp/api/group/removemanager/index.jsp (rev 0)
+++ branches/1.6/webapp/api/group/removemanager/index.jsp 2015-11-11 02:20:42 UTC (rev 1357)
@@ -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>
+
Modified: branches/1.6/webapp/api/user/put/index.jsp
===================================================================
--- branches/1.6/webapp/api/user/put/index.jsp 2015-11-11 00:31:49 UTC (rev 1356)
+++ branches/1.6/webapp/api/user/put/index.jsp 2015-11-11 02:20:42 UTC (rev 1357)
@@ -206,6 +206,10 @@
val = request.getParameter("firstName");
if (val != null && val.trim().length() > 0) current.setUserProfileFirstName(val);
+ val = request.getParameter("middleName");
+ if (val != null && val.trim().length() > 0) current.setUserProfileMiddleName(val);
+ val = request.getParameter("suffixName");
+ if (val != null && val.trim().length() > 0) current.setUserProfileSuffixName(val);
val = request.getParameter("lastName");
if (val != null && val.trim().length() > 0) current.setUserProfileLastName(val);
val = request.getParameter("employeeTitle");
@@ -326,7 +330,7 @@
}
}
%>
-<success userProfileID="<%=current.getUserProfileID()%>"/>
+<success userProfileID="<%=current.getUserProfileID()%>"<%=requestedRole > -1 ? " updatedRoleID=\"" + requestedRole + "\"" : ""%><%=requestedLocation > -1 ? " updatedLocationID=\"" + requestedLocation + "\"" : ""%>/>
<%
return;
@@ -349,6 +353,7 @@
<tr><th>firstName</th><td>First Name</td></tr>
<tr><th>middleName</th><td>Middle Name</td></tr>
<tr><th>lastName</th><td>Last Name</td></tr>
+<tr><th>suffixName</th><td>Name Suffix (e.g., Jr.)</td></tr>
<tr><th>employeeTitle</th><td>Employee Title ID {unfinished, will lookup by title string in the future}</td></tr>
<tr><th>addr1</th><td>Address, Line 1</td></tr>
<tr><th>addr2</th><td>Address, Line 2</td></tr>
Modified: branches/1.6/webapp/report_employeecourseatt.jsp
===================================================================
--- branches/1.6/webapp/report_employeecourseatt.jsp 2015-11-11 00:31:49 UTC (rev 1356)
+++ branches/1.6/webapp/report_employeecourseatt.jsp 2015-11-11 02:20:42 UTC (rev 1357)
@@ -23,15 +23,23 @@
UserProfile user = ilsSession.getCurrentUserProfile();
UserProfile current = user;
boolean managing = false;
- String action = request.getParameter("action");
+ String action = request.getParameter("action");
+ int profileID = current.getUserProfileID();
String tmpBuf = request.getParameter("profileid");
- int profileID = current.getUserProfileID();
if (tmpBuf != null) {
try {
if (user.getUserProfileAccessLevel() >= UserProfile.ACCESS_MANAGER) {
int tmpID = Integer.parseInt(tmpBuf);
if (tmpID != current.getUserProfileID()) {
current = UserProfile.getUserProfile(ilsSession, tmpID);
+ if (current == null) {
+%>
+<h2>
+No user with userProfileID: <%=tmpID%>; company: <%=ilsSession.getCompanyID()%>
+</h2>
+<%
+ return;
+ }
profileID = current.getUserProfileID();
}
managing = true;
More information about the Ils-source
mailing list