[Ils-source] r1412 - in trunk/webapp/api/ccure: . updatescore.vws user/put
scribe at crosswire.org
scribe at crosswire.org
Wed Mar 16 16:51:13 MST 2016
Author: scribe
Date: 2016-03-16 16:51:13 -0700 (Wed, 16 Mar 2016)
New Revision: 1412
Added:
trunk/webapp/api/ccure/updatescore.db/
trunk/webapp/api/ccure/updatescore.vws/
Removed:
trunk/webapp/api/ccure/updatescore/
Modified:
trunk/webapp/api/ccure/updatescore.vws/index.jsp
trunk/webapp/api/ccure/user/put/index.jsp
Log:
first cut of new CCURE integration for JAX, which accepts CCURE Personnel record XML
Modified: trunk/webapp/api/ccure/updatescore.vws/index.jsp
===================================================================
--- trunk/webapp/api/ccure/updatescore/index.jsp 2016-03-10 18:45:31 UTC (rev 1411)
+++ trunk/webapp/api/ccure/updatescore.vws/index.jsp 2016-03-16 23:51:13 UTC (rev 1412)
@@ -38,11 +38,36 @@
eventsLogger.debug("CCURE: entering updatescore api (events)");
- String ccureHost = Utils.getSysConfig(session).getProperty("CCUREHost", "216.119.104.185:2500");
- String ccureDBUser = Utils.getSysConfig(session).getProperty("CCUREDBUser", "sysprogress");
- String ccureDBPassword = Utils.getSysConfig(session).getProperty("CCUREDBPassword", "manager");
- String jdbcURL = "jdbc:datadirect:openedge://"+ccureHost+";databaseName=cf;User="+ccureDBUser+";password="+ccureDBPassword;
+// String apiRoot = Utils.getSysConfig(session).getProperty("CCUREVWSRoot", "https://161.243.232.7/victorwebservice");
+ String apiRoot = Utils.getSysConfig(session).getProperty("CCUREVWSRoot", "http://labs.crosswire.org/victorwebservice");
+ if (!apiRoot.endsWith("/")) apiRoot+="/";
+ String ccureUser = Utils.getSysConfig(session).getProperty("CCUREUser", "ccureappmgr");
+ String ccurePassword = Utils.getSysConfig(session).getProperty("CCUREPassword", "orangePark101");
+ String loginURL = apiRoot + "api/Authenticate/Login";
+ String loginParams = "userName="+URLEncoder.encode(ccureUser, "UTF-8")+"&password="+URLEncoder.encode(ccurePassword, "UTF-8")+"&clientName=SSI_iLS";
+ String loginHeaders[] = { "Access-Control-Expose-Headers: session-id" };
+
+ StringBuffer result = HTTPUtils.postURL(loginURL, loginParams, null, null, loginHeaders, HTTPUtils.GET);
+%>
+<%=result%>
+<%
+if (true) return;
+/*
+url:
+
+dataType: JSON, // JSON or XML
+crossDomain: true,
+headers: {
+},
+cache: false,
+success: function (msg, status, jqXHR) {
+var result = msg;
+sessionID = jqXHR.getResponseHeader("session-id");
+token = result;
+}
+});
+
Map<String, String> courses = new HashMap<String, String>();
int i = 1;
while (true) {
@@ -155,6 +180,7 @@
}
eventsLogger.debug("CCURE: updatescore returning: " + errorMsg);
%><%= errorMsg %><%
+*/
%>
<%!
public static String checkDBWrite(Logger eventsLogger, String jdbcURL, String ccureDBUser, String ccureDBPassword, int personID, String fieldName) {
Modified: trunk/webapp/api/ccure/user/put/index.jsp
===================================================================
--- trunk/webapp/api/ccure/user/put/index.jsp 2016-03-10 18:45:31 UTC (rev 1411)
+++ trunk/webapp/api/ccure/user/put/index.jsp 2016-03-16 23:51:13 UTC (rev 1412)
@@ -6,6 +6,7 @@
<%@ page import="com.resolutions.ils.data.Company" %>
<%@ page import="com.resolutions.ils.data.Group" %>
<%@ page import="java.util.Date" %>
+<%@ page import="java.io.StringWriter" %>
<%@ page import="java.text.SimpleDateFormat" %>
<%@ page import="org.apache.log4j.Logger" %>
<%@ page import="org.crosswire.xml.XMLBlock" %>
@@ -72,11 +73,12 @@
logger.debug("char 2: " + data.charAt(2));
*/
- XMLBlock record = null;
+ XMLBlock doc = null;
+ XMLBlock records[] = null;
++errCode;
try {
- record = new XMLBlock(data);
- record = record.getBlock("SoftwareHouse.NextGen.Common.SecurityObjects.Personnel");
+ doc = new XMLBlock(data);
+ records = doc.getBlocks("SoftwareHouse.NextGen.Common.SecurityObjects.Personnel");
}
catch (Exception e) {
out.print("<error code=\""+errCode+"\" message=\"Error parsing XML: "+e+"\"/>");
@@ -84,321 +86,365 @@
}
++errCode;
- if (record == null) {
+ if (records == null || records.length < 1) {
out.print("<error code=\""+errCode+"\" message=\"No CCURE Personnel record found in XML data.\"/>");
return;
}
- int userProfileID = -1;
- String loginID = record.getValue("EmailAddress");
- String userData = record.getValue("ObjectID");
+ StringWriter result = new StringWriter();
+ int loopStartErrCode = errCode;
+ int success = 0;
+ int total = 0;
+ for (XMLBlock record : records) {
+ ++total;
+ errCode = loopStartErrCode;
+
+ int userProfileID = -1;
+ String userData = record.getValue("ObjectID");
+ String val = record.getValue("Name");
+ String lname = val.substring(0,val.indexOf(","));
+ String fname = val.substring(val.indexOf(",")+1);
+ fname = fname.trim();
+ String mname = null;
+ if (fname.lastIndexOf(" ") != -1) {
+ mname = fname.substring(fname.lastIndexOf(" ")+1);
+ fname = fname.substring(0, fname.lastIndexOf(" "));
+ }
-// one of these must be supplied; otherwise, show usage info
-if (userProfileID != -1 || loginID != null || userData != null) {
- String errMsg = "";
+ String loginID = lname + "-" + userData;
- UserProfile adminUser = ilsSession.getCurrentUserProfile();
+ result.write("<result objectID=\"" + userData + "\" loginID=\"" + loginID + "\">");
- Logger eventsLogger = Logger.getLogger("EVENTS");
- String statusMsg = "";
- SimpleDateFormat df = new SimpleDateFormat("MM/dd/yyyy");
- UserProfile current = new UserProfile();
- current.defaultAll();
- // default access level is employee
- current.setUserProfileAccessLevel(1);
- current.setUserProfileHireDate(new Date());
- int currentRoleID = -1;
- int currentLocationID = -1;
- String roleName = null;
- String roleUserData = null;
- String workgroupName = null;
- String workgroupUserData = null;
- boolean createMode = "create".equals(request.getParameter("action"));
+ // one of these must be supplied; otherwise, show usage info
+ ++errCode;
+ if (userProfileID != -1 || loginID != null || userData != null) {
+ String errMsg = "";
- ++errCode;
- if ((adminUser.getUserProfileAccessLevel() > UserProfile.ACCESS_MANAGER) || (adminUser.hasAccess(UserProfile.ACCESS_MODE_USERPR_SEARCH_VIEW))) {
- if (!createMode) {
- UserProfile lookup = null;
- if (userProfileID != -1) {
- lookup = UserProfile.getUserProfile(ilsSession, userProfileID);
- if (lookup == null) {
- out.print("<error code=\""+errCode+"\" message=\"Permission denied.\"/>");
- return;
+ UserProfile adminUser = ilsSession.getCurrentUserProfile();
+
+ Logger eventsLogger = Logger.getLogger("EVENTS");
+ String statusMsg = "";
+ SimpleDateFormat df = new SimpleDateFormat("MM/dd/yyyy");
+ UserProfile current = new UserProfile();
+ current.defaultAll();
+ // default access level is employee
+ current.setUserProfileAccessLevel(1);
+ current.setUserProfileHireDate(new Date());
+ int currentRoleID = -1;
+ int currentLocationID = -1;
+ String roleName = null;
+ String roleUserData = null;
+ String workgroupName = null;
+ String workgroupUserData = null;
+ boolean createMode = "create".equals(request.getParameter("action"));
+
+ ++errCode;
+ if ((adminUser.getUserProfileAccessLevel() > UserProfile.ACCESS_MANAGER) || (adminUser.hasAccess(UserProfile.ACCESS_MODE_USERPR_SEARCH_VIEW))) {
+ if (!createMode) {
+ UserProfile lookup = null;
+ if (userProfileID != -1) {
+ lookup = UserProfile.getUserProfile(ilsSession, userProfileID);
+ if (lookup == null) {
+ result.write("<error code=\""+errCode+"\" message=\"Permission denied.\"/>");
+ result.write("</result>");
+ continue;
+ }
}
+ if (lookup == null && loginID != null) {
+ lookup = UserProfile.getUserProfile(ilsSession, loginID);
+ }
+ if (lookup == null && userData != null) {
+ lookup = UserProfile.getUserProfileByUserData(ilsSession, userData);
+ }
+ if (lookup != null) {
+ current = lookup;
+ }
+ else {
+ if (!"update".equals(request.getParameter("action"))) createMode = true;
+ else current = null;
+ }
}
- if (lookup == null && loginID != null) {
- lookup = UserProfile.getUserProfile(ilsSession, loginID);
- }
- if (lookup == null && userData != null) {
- lookup = UserProfile.getUserProfileByUserData(ilsSession, userData);
- }
- if (lookup != null) {
- current = lookup;
- }
- else {
- if (!"update".equals(request.getParameter("action"))) createMode = true;
- else current = null;
- }
}
- }
- else {
+ else {
+ ++errCode;
+ result.write("<error code=\""+errCode+"\" message=\"Permission denied.\"/>");
+ result.write("</result>");
+ continue;
+ }
+
+ errCode += 2;
+ if (current == null) {
+ result.write("<error code=\""+errCode+"\" message=\"User Profile not found.\"/>");
+ result.write("</result>");
+ continue;
+ }
++errCode;
- out.print("<error code=\""+errCode+"\" message=\"Permission denied.\"/>");
- return;
- }
+ if (createMode && current.getUserProfileID() > 0) {
+ result.write("<error code=\""+errCode+"\" message=\"User Profile exists.\"/>");
+ result.write("</result>");
+ continue;
+ }
+ if (current.getUserProfileID() > 0 && adminUser.getUserProfileAccessLevel() <= UserProfile.ACCESS_MANAGER && !adminUser.hasAccess(UserProfile.ACCESS_MODE_USERPR_MODIFY_USER)) {
+ result.write("<error code=\""+errCode+"\" message=\"Permission denied to edit user profile.\"/>");
+ result.write("</result>");
+ continue;
+ }
- errCode += 2;
- if (current == null) {
- out.print("<error code=\""+errCode+"\" message=\"User Profile not found.\"/>");
- return;
- }
- ++errCode;
- if (createMode && current.getUserProfileID() > 0) {
- out.print("<error code=\""+errCode+"\" message=\"User Profile exists.\"/>");
- return;
- }
- if (current.getUserProfileID() > 0 && adminUser.getUserProfileAccessLevel() <= UserProfile.ACCESS_MANAGER && !adminUser.hasAccess(UserProfile.ACCESS_MODE_USERPR_MODIFY_USER)) {
- out.print("<error code=\""+errCode+"\" message=\"Permission denied to edit user profile.\"/>");
- return;
- }
+ boolean createGroupOnDemand = true; //false; try { createGroupOnDemand = "true".equals(request.getParameter("createGroupOnDemand")); } catch (Exception e) {}
+ val = record.getValue("UDF__ROLE_");
+ String val2 = request.getParameter("roleUserData");
+ int requestedRole = -1;
- boolean createGroupOnDemand = true; //false; try { createGroupOnDemand = "true".equals(request.getParameter("createGroupOnDemand")); } catch (Exception e) {}
- String val = record.getValue("UDF__ROLE_");
- String val2 = request.getParameter("roleUserData");
- int requestedRole = -1;
-
- ++errCode;
- if ((val != null && val.trim().length() > 0) || (val2 != null && val2.trim().length() > 0)) {
- for (int i = 0; i < 2; ++i) {
- Group g = (val2 != null) ? Group.getGroupByUserData(ilsSession, Group.GROUPTYPE_ROLE, val2) : Group.getGroupByName(ilsSession, Group.GROUPTYPE_ROLE, val);
- if (g != null) {
- requestedRole = g.getGroupID();
- roleName = g.getGroupName();
- break;
- }
- else {
- if (i < 1 && createGroupOnDemand) {
- Group grp = new Group();
- grp.defaultAll();
- grp.setGroupTypeID(Group.GROUPTYPE_ROLE);
- grp.setGroupName(val != null ? val : val2);
- roleName = grp.getGroupName();
- grp.setGroupDesc(roleName);
- if (val2 != null) grp.setValue("USERDATA", val2);
- grp.saveNew(ilsSession);
+ ++errCode;
+ if ((val != null && val.trim().length() > 0) || (val2 != null && val2.trim().length() > 0)) {
+ boolean err = false;
+ for (int i = 0; i < 2; ++i) {
+ Group g = (val2 != null) ? Group.getGroupByUserData(ilsSession, Group.GROUPTYPE_ROLE, val2) : Group.getGroupByName(ilsSession, Group.GROUPTYPE_ROLE, val);
+ if (g != null) {
+ requestedRole = g.getGroupID();
+ roleName = g.getGroupName();
+ break;
}
else {
- out.print("<error code=\""+errCode+"\" message=\"" + ((val2 != null) ? "roleUserData" : "roleName") + " was submitted but was not found in the database. You must specify an existing Role or createGroupOnDemand must be passed as true.\"/>");
- return;
+ if (i < 1 && createGroupOnDemand) {
+ Group grp = new Group();
+ grp.defaultAll();
+ grp.setGroupTypeID(Group.GROUPTYPE_ROLE);
+ grp.setGroupName(val != null ? val : val2);
+ roleName = grp.getGroupName();
+ grp.setGroupDesc(roleName);
+ if (val2 != null) grp.setValue("USERDATA", val2);
+ grp.saveNew(ilsSession);
+ }
+ else {
+ result.write("<error code=\""+errCode+"\" message=\"" + ((val2 != null) ? "roleUserData" : "roleName") + " was submitted but was not found in the database. You must specify an existing Role or createGroupOnDemand must be passed as true.\"/>");
+ result.write("</result>");
+ err = true;
+ break;
+ }
}
}
+ if (err) continue;
}
- }
- ++errCode;
- val = record.getValue("UDF__COMPANY_");
- val2 = request.getParameter("locationUserData");
- int requestedLocation = -1;
- if ((val != null && val.trim().length() > 0) || (val2 != null && val2.trim().length() > 0)) {
- for (int i = 0; i < 2; ++i) {
- Group g = (val2 != null) ? Group.getGroupByUserData(ilsSession, Group.GROUPTYPE_LOCATION, val2) : Group.getGroupByName(ilsSession, Group.GROUPTYPE_LOCATION, val);
- if (g != null) {
- requestedLocation = g.getGroupID();
- workgroupName = g.getGroupName();
- break;
- }
- else {
- if (i < 1 && createGroupOnDemand) {
- Group grp = new Group();
- grp.defaultAll();
- grp.setGroupTypeID(Group.GROUPTYPE_LOCATION);
- grp.setGroupName(val != null ? val : val2);
- workgroupName = grp.getGroupName();
- grp.setGroupDesc(workgroupName);
- if (val2 != null) grp.setValue("USERDATA", val2);
- grp.saveNew(ilsSession);
+ ++errCode;
+ val = record.getValue("UDF__COMPANY_");
+ val2 = request.getParameter("locationUserData");
+ int requestedLocation = -1;
+ if ((val != null && val.trim().length() > 0) || (val2 != null && val2.trim().length() > 0)) {
+ boolean err = false;
+ for (int i = 0; i < 2; ++i) {
+ Group g = (val2 != null) ? Group.getGroupByUserData(ilsSession, Group.GROUPTYPE_LOCATION, val2) : Group.getGroupByName(ilsSession, Group.GROUPTYPE_LOCATION, val);
+ if (g != null) {
+ requestedLocation = g.getGroupID();
+ workgroupName = g.getGroupName();
+ break;
}
else {
- out.print("<error code=\""+errCode+"\" message=\""+((val2 != null) ? "locationUserData" : "locationName") + " was submitted but was not found in the database. You must specify an existing Location or createGroupOnDemand must be passed as true.\"/>");
- return;
+ if (i < 1 && createGroupOnDemand) {
+ Group grp = new Group();
+ grp.defaultAll();
+ grp.setGroupTypeID(Group.GROUPTYPE_LOCATION);
+ grp.setGroupName(val != null ? val : val2);
+ workgroupName = grp.getGroupName();
+ grp.setGroupDesc(workgroupName);
+ if (val2 != null) grp.setValue("USERDATA", val2);
+ grp.saveNew(ilsSession);
+ }
+ else {
+ result.write("<error code=\""+errCode+"\" message=\""+((val2 != null) ? "locationUserData" : "locationName") + " was submitted but was not found in the database. You must specify an existing Location or createGroupOnDemand must be passed as true.\"/>");
+ result.write("</result>");
+ err = true;
+ break;
+ }
}
}
+ if (err) continue;
}
- }
- UserProfile orig = (UserProfile)current.clone();
+ UserProfile orig = (UserProfile)current.clone();
- ++errCode;
- val = loginID;
- if (val != null && val.trim().length() > 0) {
- UserProfile up = UserProfile.getUserProfile(ilsSession, val);
- if ((up != null) && (up.getUserProfileID() != current.getUserProfileID())) {
- errMsg = "The Employee ID already exists.";
- out.print("<error code=\""+errCode+"\" message=\""+errMsg+"\"/>");
- return;
+ ++errCode;
+ val = loginID;
+ if (val != null && val.trim().length() > 0) {
+ UserProfile up = UserProfile.getUserProfile(ilsSession, val);
+ if ((up != null) && (up.getUserProfileID() != current.getUserProfileID())) {
+ errMsg = "The Employee ID already exists.";
+ result.write("<error code=\""+errCode+"\" message=\""+errMsg+"\"/>");
+ result.write("</result>");
+ continue;
+ }
+ else {
+ current.setUserProfileNum(val);
+ }
}
- else {
- current.setUserProfileNum(val);
- }
- }
- // set associated external data, typically used for API client to map this user back to their system
- if (userData != null && userData.length() > 0) current.setValue("USERDATA", userData);
+ // set associated external data, typically used for API client to map this user back to their system
+ if (userData != null && userData.length() > 0) current.setValue("USERDATA", userData);
- val = request.getParameter("passwd");
- if (val != null && val.trim().length() > 0) current.setUserProfilePasswd(val);
- val = request.getParameter("statusID");
- if (val != null && val.trim().length() > 0) current.setUserProfileStatusID(Integer.parseInt(val));
+ val = request.getParameter("passwd");
+ if (val != null && val.trim().length() > 0) current.setUserProfilePasswd(val);
+ val = request.getParameter("statusID");
+ if (val != null && val.trim().length() > 0) current.setUserProfileStatusID(Integer.parseInt(val));
- val = request.getParameter("accessLevel");
- if (val != null && val.trim().length() > 0) current.setUserProfileAccessLevel(Integer.parseInt(val));
+ val = request.getParameter("accessLevel");
+ if (val != null && val.trim().length() > 0) current.setUserProfileAccessLevel(Integer.parseInt(val));
- val = request.getParameter("accessMode");
- if (val != null && val.trim().length() > 0) current.setUserProfileAccessMode(Integer.parseInt(val));
+ val = request.getParameter("accessMode");
+ if (val != null && val.trim().length() > 0) current.setUserProfileAccessMode(Integer.parseInt(val));
- val = record.getValue("Name");
- String lname = val.substring(0,val.indexOf(","));
- String fname = val.substring(val.indexOf(",")+1);
- fname = fname.trim();
- String mname = null;
- if (fname.lastIndexOf(" ") != -1) {
- mname = fname.substring(fname.lastIndexOf(" ")+1);
- fname = fname.substring(0, fname.lastIndexOf(" "));
- }
+ val = fname;
+ if (val != null && val.trim().length() > 0) current.setUserProfileFirstName(val);
+ val = mname;
+ 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 = lname;
+ if (val != null && val.trim().length() > 0) current.setUserProfileLastName(val);
+ val = request.getParameter("employeeTitle");
+ if (val != null && val.trim().length() > 0) current.setUserProfileEmployeeTitleID(Integer.parseInt(val));
+ val = request.getParameter("addr1");
+ if (val != null && val.trim().length() > 0) current.setUserProfileAddr1(val);
+ val = request.getParameter("addr2");
+ if (val != null && val.trim().length() > 0) current.setUserProfileAddr2(val);
+ val = request.getParameter("city");
+ if (val != null && val.trim().length() > 0) current.setUserProfileCity(val);
+ val = request.getParameter("state");
+ if (val != null && val.trim().length() > 0) current.setUserProfileState(val);
+ val = request.getParameter("zip");
+ if (val != null && val.trim().length() > 0) current.setUserProfileZip(val);
+ val = request.getParameter("country");
+ if (val != null && val.trim().length() > 0) current.setUserProfileCountry(val);
+ val = record.getValue("EmailAddress");
+ if (val != null && val.trim().length() > 0) current.setUserProfileEMail(val);
+ val = request.getParameter("phone");
+ if (val != null && val.trim().length() > 0) current.setUserProfilePhone(val);
+ val = request.getParameter("hireDate");
+ ++errCode;
+ if ((val != null) && (!val.startsWith("m"))) {
+ Date v = Utils.parseDate(val, 150 * 365, 10 * 365);
+ if (v != null) {
+ current.setUserProfileHireDate(v);
+ }
+ else {
+ errMsg = "Invalid Hire Date, please enter a reasonable date using the format MM/DD/YYYY";
+ result.write("<error code=\""+errCode+"\" message=\""+errMsg+"\"/>");
+ result.write("</result>");
+ continue;
+ }
+ }
- val = fname;
- if (val != null && val.trim().length() > 0) current.setUserProfileFirstName(val);
- val = mname;
- 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 = lname;
- if (val != null && val.trim().length() > 0) current.setUserProfileLastName(val);
- val = request.getParameter("employeeTitle");
- if (val != null && val.trim().length() > 0) current.setUserProfileEmployeeTitleID(Integer.parseInt(val));
- val = request.getParameter("addr1");
- if (val != null && val.trim().length() > 0) current.setUserProfileAddr1(val);
- val = request.getParameter("addr2");
- if (val != null && val.trim().length() > 0) current.setUserProfileAddr2(val);
- val = request.getParameter("city");
- if (val != null && val.trim().length() > 0) current.setUserProfileCity(val);
- val = request.getParameter("state");
- if (val != null && val.trim().length() > 0) current.setUserProfileState(val);
- val = request.getParameter("zip");
- if (val != null && val.trim().length() > 0) current.setUserProfileZip(val);
- val = request.getParameter("country");
- if (val != null && val.trim().length() > 0) current.setUserProfileCountry(val);
- val = record.getValue("EmailAddress");
- if (val != null && val.trim().length() > 0) current.setUserProfileEMail(val);
- val = request.getParameter("phone");
- if (val != null && val.trim().length() > 0) current.setUserProfilePhone(val);
- val = request.getParameter("hireDate");
- ++errCode;
- if ((val != null) && (!val.startsWith("m"))) {
- Date v = Utils.parseDate(val, 150 * 365, 10 * 365);
- if (v != null) {
- current.setUserProfileHireDate(v);
+ ++errCode;
+ val = request.getParameter("termDate");
+ if ((val != null) && (!val.startsWith("m"))) {
+ Date v = Utils.parseDate(val, 150 * 365, 10 * 365);
+ if (v != null) {
+ current.setUserProfileTermDate(v);
+ }
+ else {
+ errMsg = "Invalid Termination Date, please enter a reasonable date using the format MM/DD/YYYY";
+ result.write("<error code=\""+errCode+"\" message=\""+errMsg+"\"/>");
+ result.write("</result>");
+ continue;
+ }
}
- else {
- errMsg = "Invalid Hire Date, please enter a reasonable date using the format MM/DD/YYYY";
- out.print("<error code=\""+errCode+"\" message=\""+errMsg+"\"/>");
- return;
+
+ if ((current.getUserProfilePasswd() == null) || (current.getUserProfilePasswd().trim().length() < 1)) {
+ current.setUserProfilePasswd("changeme");
}
- }
- ++errCode;
- val = request.getParameter("termDate");
- if ((val != null) && (!val.startsWith("m"))) {
- Date v = Utils.parseDate(val, 150 * 365, 10 * 365);
- if (v != null) {
- current.setUserProfileTermDate(v);
+ ++errCode;
+ if ((current.getUserProfileFirstName() == null) || (current.getUserProfileFirstName().length() < 1)) {
+ errMsg = "You must supply a First Name (firstName)";
+ result.write("<error code=\""+errCode+"\" message=\""+errMsg+"\"/>");
+ result.write("</result>");
+ continue;
}
+ ++errCode;
+ if ((current.getUserProfileLastName() == null) || (current.getUserProfileLastName().length() < 1)) {
+ errMsg = "You must supply a Last Name (lastName)";
+ result.write("<error code=\""+errCode+"\" message=\""+errMsg+"\"/>");
+ result.write("</result>");
+ continue;
+ }
+ ++errCode;
+ if ((current.getUserProfileNum() == null) || (current.getUserProfileNum().length() < 1)) {
+ errMsg = "You must supply an Login ID (loginID)";
+ result.write("<error code=\""+errCode+"\" message=\""+errMsg+"\"/>");
+ result.write("</result>");
+ continue;
+ }
+
+ ++errCode;
+ /*
+ if (currentRoleID < 0 && requestedRole < 0) {
+ errMsg = "You must choose a Role for this employee";
+ result.write("<error code=\""+errCode+"\" message=\""+errMsg+"\"/>");
+ result.write("</result>");
+ continue;
+ }
+ */
+ ++errCode;
+ /*
+ if (currentLocationID < 0 && requestedLocation < 0) {
+ errMsg = "You must choose a Workgroup for this employee";
+ result.write("<error code=\""+errCode+"\" message=\""+errMsg+"\"/>");
+ result.write("</result>");
+ continue;
+ }
+ */
+ ++errCode;
+ /*
+ if (current.getUserProfileEmployeeTitleID() < 1) {
+ errMsg = "You must supply an Employee Title";
+ result.write("<error code=\""+errCode+"\" message=\""+errMsg+"\"/>");
+ result.write("</result>");
+ continue;
+ }
+ */
+
+ if (orig.getUserProfileID() > 0) {
+ boolean emailNotice = "on".equals(Utils.getSysConfig(session).getProperty("EmailEnableChangePassword", "off"));
+ HttpSession sendEmail = (emailNotice) ? session : null;
+ current.save(ilsSession, orig, sendEmail);
+ }
else {
- errMsg = "Invalid Termination Date, please enter a reasonable date using the format MM/DD/YYYY";
- out.print("<error code=\""+errCode+"\" message=\""+errMsg+"\"/>");
- return;
+ current = current.saveNew(ilsSession, session, workgroupName, roleName);
}
- }
+ if ((requestedRole != currentRoleID) && (requestedRole > -1)) {
+ Group.deleteUserGroups(ilsSession, Group.GROUPTYPE_ROLE, current.getUserProfileID());
+ Group.addUserGroup(ilsSession, requestedRole, current.getUserProfileID());
+ // modifying an existing user
+ if (orig.getUserProfileID() > 0) {
+ eventsLogger.info("User " + current.getUserProfileNum() + " ROLE changed from " + currentRoleID + " to " + requestedRole + " by user: " + adminUser.getUserProfileNum());
+ }
+ }
+ if ((requestedLocation != currentLocationID) && (requestedLocation > -1)) {
+ Group.deleteUserGroups(ilsSession, Group.GROUPTYPE_LOCATION, current.getUserProfileID());
+ Group.addUserGroup(ilsSession, requestedLocation, current.getUserProfileID());
+ if (orig.getUserProfileID() > 0) {
+ eventsLogger.info("User " + current.getUserProfileNum() + " WORKGROUP changed from " + currentLocationID + " to " + requestedLocation + " by user: " + adminUser.getUserProfileNum());
+ }
+ }
+ result.write("<success userProfileID=\""+current.getUserProfileID()+"\""+(requestedRole > -1 ? " updatedRoleID=\"" + requestedRole + "\"" : "")+(requestedLocation > -1 ? " updatedLocationID=\"" + requestedLocation + "\"" : "")+"/>");
+ result.write("</result>");
+ ++success;
+ }
+ else result.write("<error code=\""+errCode+"\" message=\"no loginID, userProfileID, or userData to identify record\" />");
- if ((current.getUserProfilePasswd() == null) || (current.getUserProfilePasswd().trim().length() < 1)) {
- current.setUserProfilePasswd("changeme");
- }
+ } // record, for loop
- ++errCode;
- if ((current.getUserProfileFirstName() == null) || (current.getUserProfileFirstName().length() < 1)) {
- errMsg = "You must supply a First Name (firstName)";
- out.print("<error code=\""+errCode+"\" message=\""+errMsg+"\"/>");
- return;
- }
- ++errCode;
- if ((current.getUserProfileLastName() == null) || (current.getUserProfileLastName().length() < 1)) {
- errMsg = "You must supply a Last Name (lastName)";
- out.print("<error code=\""+errCode+"\" message=\""+errMsg+"\"/>");
- return;
- }
- ++errCode;
- if ((current.getUserProfileNum() == null) || (current.getUserProfileNum().length() < 1)) {
- errMsg = "You must supply an Login ID (loginID)";
- out.print("<error code=\""+errCode+"\" message=\""+errMsg+"\"/>");
- return;
- }
+ if (success == total) out.print("<success");
+ else out.print("<error");
- ++errCode;
- /*
- if (currentRoleID < 0 && requestedRole < 0) {
- errMsg = "You must choose a Role for this employee";
- out.print("<error code=\""+errCode+"\" message=\""+errMsg+"\"/>");
- return;
- }
- */
- ++errCode;
- /*
- if (currentLocationID < 0 && requestedLocation < 0) {
- errMsg = "You must choose a Workgroup for this employee";
- out.print("<error code=\""+errCode+"\" message=\""+errMsg+"\"/>");
- return;
- }
- */
- ++errCode;
- /*
- if (current.getUserProfileEmployeeTitleID() < 1) {
- errMsg = "You must supply an Employee Title";
- out.print("<error code=\""+errCode+"\" message=\""+errMsg+"\"/>");
- return;
- }
- */
+ out.print(" count=\""+total+"\" success=\""+success+"\">");
+ out.print(result.toString());
- if (orig.getUserProfileID() > 0) {
- boolean emailNotice = "on".equals(Utils.getSysConfig(session).getProperty("EmailEnableChangePassword", "off"));
- HttpSession sendEmail = (emailNotice) ? session : null;
- current.save(ilsSession, orig, sendEmail);
- }
- else {
- current = current.saveNew(ilsSession, session, workgroupName, roleName);
- }
- if ((requestedRole != currentRoleID) && (requestedRole > -1)) {
- Group.deleteUserGroups(ilsSession, Group.GROUPTYPE_ROLE, current.getUserProfileID());
- Group.addUserGroup(ilsSession, requestedRole, current.getUserProfileID());
- // modifying an existing user
- if (orig.getUserProfileID() > 0) {
- eventsLogger.info("User " + current.getUserProfileNum() + " ROLE changed from " + currentRoleID + " to " + requestedRole + " by user: " + adminUser.getUserProfileNum());
- }
- }
- if ((requestedLocation != currentLocationID) && (requestedLocation > -1)) {
- Group.deleteUserGroups(ilsSession, Group.GROUPTYPE_LOCATION, current.getUserProfileID());
- Group.addUserGroup(ilsSession, requestedLocation, current.getUserProfileID());
- if (orig.getUserProfileID() > 0) {
- eventsLogger.info("User " + current.getUserProfileNum() + " WORKGROUP changed from " + currentLocationID + " to " + requestedLocation + " by user: " + adminUser.getUserProfileNum());
- }
- }
-%>
-<success userProfileID="<%=current.getUserProfileID()%>"<%=requestedRole > -1 ? " updatedRoleID=\"" + requestedRole + "\"" : ""%><%=requestedLocation > -1 ? " updatedLocationID=\"" + requestedLocation + "\"" : ""%>/>
-<%
+ if (success == total) out.print("</success>");
+ else out.print("</error>");
return;
-
}
-}
response.setContentType("text/html");
%>
<html>
More information about the Ils-source
mailing list