[Ils-source] r1291 - in branches/1.6: . db db/mssql src src/com/resolutions/ils/data webapp webapp/WEB-INF/lib webapp/images
scribe at crosswire.org
scribe at crosswire.org
Tue Jan 13 14:25:16 MST 2015
Author: scribe
Date: 2015-01-13 14:25:15 -0700 (Tue, 13 Jan 2015)
New Revision: 1291
Added:
branches/1.6/db/mssql/upgrade171.1.sql
branches/1.6/webapp/images/loading.gif
branches/1.6/webapp/js/
Modified:
branches/1.6/
branches/1.6/db/
branches/1.6/src/
branches/1.6/src/com/resolutions/ils/data/CourseAttempt.java
branches/1.6/src/com/resolutions/ils/data/UserProfile.java
branches/1.6/webapp/
branches/1.6/webapp/WEB-INF/lib/ils.jar
branches/1.6/webapp/admin_profilemanagement.jsp
branches/1.6/webapp/admin_studentrecords.jsp
branches/1.6/webapp/report_pending_summary.jsp
Log:
merged in report optimizations from trunk
Property changes on: branches/1.6
___________________________________________________________________
Modified: svn:mergeinfo
- /trunk:796-803,861,866,896,929-930,932,935,938,942,944,946,948,950,952,964,966,981,985-986,990-991,1025,1028,1151-1154,1167,1172-1174,1187-1188,1190,1192,1198,1200,1202,1206,1209,1211-1212,1249,1251,1276
+ /trunk:796-803,861,866,896,929-930,932,935,938,942,944,946,948,950,952,964,966,981,985-986,990-991,1025,1028,1151-1154,1167,1172-1174,1187-1188,1190,1192,1198,1200,1202,1206,1209,1211-1212,1249,1251,1276,1281-1282,1287-1290
Property changes on: branches/1.6/db
___________________________________________________________________
Modified: svn:mergeinfo
- /trunk/db:796-803,843-850,861,866,896,929-930,932,935,938,942,944,946,948,950,952,964,966,981,985-986,990-991,1025,1028,1151-1154,1167,1172-1174,1187-1188,1190,1192,1198,1200,1202,1206,1209,1211-1212,1249,1251,1276
+ /trunk/db:796-803,843-850,861,866,896,929-930,932,935,938,942,944,946,948,950,952,964,966,981,985-986,990-991,1025,1028,1151-1154,1167,1172-1174,1187-1188,1190,1192,1198,1200,1202,1206,1209,1211-1212,1249,1251,1276,1281-1282,1287-1290
Copied: branches/1.6/db/mssql/upgrade171.1.sql (from rev 1287, trunk/db/mssql/upgrade171.1.sql)
===================================================================
--- branches/1.6/db/mssql/upgrade171.1.sql (rev 0)
+++ branches/1.6/db/mssql/upgrade171.1.sql 2015-01-13 21:25:15 UTC (rev 1291)
@@ -0,0 +1,7 @@
+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)
+
+
Property changes on: branches/1.6/src
___________________________________________________________________
Modified: svn:mergeinfo
- /trunk/src:796-803,843-850,861,866,896,929-930,932,935,938,942,944,946,948,950,952,964,966,981,985-986,990-991,1025,1028,1151-1154,1167,1172-1174,1187-1188,1190,1192,1198,1200,1202,1206,1209,1211-1212,1249,1251,1276
+ /trunk/src:796-803,843-850,861,866,896,929-930,932,935,938,942,944,946,948,950,952,964,966,981,985-986,990-991,1025,1028,1151-1154,1167,1172-1174,1187-1188,1190,1192,1198,1200,1202,1206,1209,1211-1212,1249,1251,1276,1281-1282,1287-1290
Modified: branches/1.6/src/com/resolutions/ils/data/CourseAttempt.java
===================================================================
--- branches/1.6/src/com/resolutions/ils/data/CourseAttempt.java 2015-01-13 20:49:08 UTC (rev 1290)
+++ branches/1.6/src/com/resolutions/ils/data/CourseAttempt.java 2015-01-13 21:25:15 UTC (rev 1291)
@@ -303,7 +303,10 @@
static public Vector getSearchUserCourseAttempts(ILSSession session, int locID, int roleID,
String lName, String empNum, int statusID, int accessLevel, Date hireStartDate, Date hireEndDate,
int managerID, int courseID, int complianceID, Date sDate, Date eDate, boolean reqApprov) {
- String sql = "SELECT * FROM COURSEATTEMPT CA, USERPROFILE UP, COURSE CR WHERE CA.USERPRID=UP.USERPRID AND CA.COURSID=CR.COURSID AND UP.COMPANYID={COMPANYID} AND UP.USERPRSTATUSID={USERPRSTATUSID}";
+ String sql = "SELECT *, "+
+ " (SELECT MAX(GROUPNAME) FROM USERGROUP UG JOIN ILSGROUP IG ON UG.COMPANYID=IG.COMPANYID AND UG.ILSGROUPID=IG.ILSGROUPID WHERE UG.USERPRID=UP.USERPRID AND GROUPTYPEID=2) WORKGROUP, " +
+ " (SELECT MAX(GROUPNAME) FROM USERGROUP UG JOIN ILSGROUP IG ON UG.COMPANYID=IG.COMPANYID AND UG.ILSGROUPID=IG.ILSGROUPID WHERE UG.USERPRID=UP.USERPRID AND GROUPTYPEID=1) ROLE " +
+ " FROM COURSEATTEMPT CA, USERPROFILE UP, COURSE CR WHERE CA.USERPRID=UP.USERPRID AND CA.COURSID=CR.COURSID AND UP.COMPANYID={COMPANYID} AND UP.USERPRSTATUSID={USERPRSTATUSID}";
CourseAttempt retVal = new CourseAttempt();
if (locID > -1) {
sql += " AND exists (select * from usergroup ug where ug.userprid=up.userprid and ilsgroupid=" +
Modified: branches/1.6/src/com/resolutions/ils/data/UserProfile.java
===================================================================
--- branches/1.6/src/com/resolutions/ils/data/UserProfile.java 2015-01-13 20:49:08 UTC (rev 1290)
+++ branches/1.6/src/com/resolutions/ils/data/UserProfile.java 2015-01-13 21:25:15 UTC (rev 1291)
@@ -254,6 +254,7 @@
}
+/*
static String USERCOURSESUMMARY=
"SELECT UP2.USERPRID, UP2.USERPRLNAME, UP2.USERPRFNAME, UP2.USERPRNUM, UP2.USERPRADDR2, UP2.USERPRHIREDATE, " +
" (SELECT MAX(GROUPNAME) FROM USERGROUP UG JOIN ILSGROUP IG ON UG.ILSGROUPID=IG.ILSGROUPID AND UG.USERPRID=UP2.USERPRID AND GROUPTYPEID=2) WORKGROUP," +
@@ -274,14 +275,33 @@
" LEFT OUTER JOIN COURSEATTEMPT CA ON CA.COMPANYID=T1.COMPANYID AND CA.USERPRID=T1.USERPRID AND T1.COURSID=CA.COURSID AND CA.CAEXPIREDON IS NULL" +
") T2" +
" RIGHT JOIN USERPROFILE UP2 on UP2.USERPRID=T2.USERPRID AND UP2.COMPANYID={COMPANYID}";
+*/
+ static String USERCOURSESUMMARY =
+ "SELECT U.USERPRID, U.USERPRLNAME, U.USERPRFNAME, U.USERPRNUM, U.USERPRADDR2, U.USERPRHIREDATE, " +
+ " (SELECT MAX(GROUPNAME) FROM USERGROUP UG JOIN ILSGROUP IG ON UG.ILSGROUPID=IG.ILSGROUPID AND UG.USERPRID=U.USERPRID AND GROUPTYPEID=2) WORKGROUP, " +
+ " (SELECT MAX(GROUPNAME) FROM USERGROUP UG JOIN ILSGROUP IG ON UG.ILSGROUPID=IG.ILSGROUPID AND UG.USERPRID=U.USERPRID AND GROUPTYPEID=1) ROLE, " +
+ " SUM(COALESCE(CA.CRS_COMPLETED, 0)) COURSESCOMPLETED, " +
+ " SUM(COALESCE(CA.CRS_OPEN, 1)) AS COURSESOPEN, " +
+ " SUM(COALESCE(CA.CRS_FAILED, 0)) COURSESFAILED, " +
+ " MAX(CA.CACOMPLETEDATE) COURSESLASTATTEMPT " +
+ " FROM USERPROFILE U" +
+ " LEFT JOIN USERCOURSEASSIGNMENTS A ON A.COMPANYID=U.COMPANYID AND A.USERPRID=U.USERPRID" +
+ " LEFT OUTER JOIN COURSEATTEMPTSTATUS CA ON CA.COMPANYID = A.COMPANYID AND CA.USERPRID = A.USERPRID AND A.COURSID = CA.COURSID AND CA.CAEXPIREDON IS NULL";
- static public Vector getSearchUserProfiles(ILSSession session, int locID, int roleID,
- String lName, String empNum, int statusID, int accessLevel, Date hireStartDate, Date hireEndDate, int managerID) {
+ static public Vector<UserProfile> getSearchUserProfiles(ILSSession session, int locID, int roleID,
+ String lName, String empNum, int statusID, int accessLevel, Date hireStartDate, Date hireEndDate, int managerID, boolean preloadCourseData) {
+/* for future merge of multigroup features
+ return getSearchUserProfiles(session, locID != -1 ? new HashSet<Integer>(Arrays.asList(new Integer[] { locID })) : null, roleID != -1 ? new HashSet<Integer>(Arrays.asList(new Integer[] { roleID })) : null, lName, empNum, statusID, accessLevel, hireStartDate, hireEndDate, managerID, preloadCourseData);
+ }
+
+ static public Vector<UserProfile> getSearchUserProfiles(ILSSession session, Set<Integer> locIDs, Set<Integer> roleIDs,
+ String lName, String empNum, int statusID, int accessLevel, Date hireStartDate, Date hireEndDate, int managerID, boolean preloadCourseData) {
+*/
long timer = System.currentTimeMillis();
logger.debug("getSearchUserProfiles start(0)");
UserProfile retVal = new UserProfile();
- String sql = "SELECT UP2.USERPRID";
+ String columns = "UP2.USERPRID";
String tables = "USERPROFILE UP2";
String where = "UP2.COMPANYID={COMPANYID}";
retVal.setCompanyID(session.getCompanyID());
@@ -326,17 +346,25 @@
where += " AND upper(USERPRNUM) like {USERPRNUM}";
retVal.setUserProfileNum(empNum.toUpperCase() + "%");
}
- sql += " FROM " + tables + " WHERE " + where;
- String outerSQL = USERCOURSESUMMARY + " WHERE UP2.USERPRID IN ("+sql+") GROUP BY UP2.USERPRID, UP2.USERPRLNAME, UP2.USERPRFNAME, UP2.USERPRNUM, UP2.USERPRADDR2, UP2.USERPRHIREDATE";
logger.debug("getSearchUserProfiles about to getDataSet ("+(System.currentTimeMillis() - timer)+")"); timer = System.currentTimeMillis();
- Vector<UserProfile> results = retVal.getDataSet(outerSQL + " OPTION (RECOMPILE)");
+ String sql = null;
+ if (preloadCourseData) {
+ sql = "SELECT UP2.USERPRID FROM " + tables + " WHERE " + where;
+ sql = USERCOURSESUMMARY + " WHERE U.USERPRID IN ("+sql+") GROUP BY U.USERPRID, U.USERPRLNAME, U.USERPRFNAME, U.USERPRNUM, U.USERPRADDR2, U.USERPRHIREDATE OPTION (RECOMPILE)";
+ }
+ else sql = "SELECT UP2.USERPRID, UP2.USERPRLNAME, UP2.USERPRFNAME, UP2.USERPRNUM, UP2.USERPRADDR2, UP2.USERPRHIREDATE, " +
+ " (SELECT MAX(GROUPNAME) FROM USERGROUP UG JOIN ILSGROUP IG ON UG.ILSGROUPID=IG.ILSGROUPID AND UG.USERPRID=UP2.USERPRID AND GROUPTYPEID=2) WORKGROUP," +
+ " (SELECT MAX(GROUPNAME) FROM USERGROUP UG JOIN ILSGROUP IG ON UG.ILSGROUPID=IG.ILSGROUPID AND UG.USERPRID=UP2.USERPRID AND GROUPTYPEID=1) ROLE " +
+ " FROM " + tables + " WHERE " + where;
+ Vector<UserProfile> results = retVal.getDataSet(sql);
+
logger.debug("getSearchUserProfiles after getDataSet["+results.size()+"] ("+(System.currentTimeMillis() - timer)+")"); timer = System.currentTimeMillis();
+
// we've precached all our delay loads, so let's set our bits high to say so.
- for (Object o: results) {
- UserProfile up = (UserProfile)o;
- up.isCourseSummaryDataLoaded = true;
- up.isRoleLoaded = true;
- up.isWorkgroupLoaded = true;
+ for (UserProfile up: results) {
+ up.isCourseSummaryDataLoaded = (preloadCourseData);
+ up.isRoleLoaded = true;
+ up.isWorkgroupLoaded = true;
}
logger.debug("getSearchUserProfiles end ("+(System.currentTimeMillis() - timer)+")"); timer = System.currentTimeMillis();
return results;
@@ -344,6 +372,20 @@
static String USERGROUPCOURSESUMMARY=
+ "SELECT GRP.ILSGROUPID, GRP.GROUPNAME, " +
+ "COUNT(DISTINCT UP.USERPRID) AS USERS, " +
+ "SUM(COALESCE(CA.CRS_COMPLETED, 0)) SUM_COMPLETED, " +
+ "SUM(CASE WHEN A.USERPRID IS NULL THEN 0 ELSE COALESCE(CA.CRS_OPEN, 1) END) AS SUM_OPEN, " +
+ "SUM(COALESCE(CA.CRS_FAILED, 0)) SUM_FAILED, " +
+ "MAX(CA.CACOMPLETEDATE) LAST_COMPLETED " +
+ "FROM ILSGROUP GRP " +
+ "LEFT JOIN USERGROUP UG ON UG.COMPANYID=GRP.COMPANYID AND UG.ILSGROUPID=GRP.ILSGROUPID " +
+ "LEFT JOIN USERPROFILE UP on UP.COMPANYID=GRP.COMPANYID AND UP.USERPRID=UG.USERPRID " +
+ "LEFT JOIN USERCOURSEASSIGNMENTS A ON A.COMPANYID=GRP.COMPANYID AND A.USERPRID=UG.USERPRID " +
+ "LEFT OUTER JOIN COURSEATTEMPTSTATUS CA ON CA.COMPANYID = A.COMPANYID AND CA.USERPRID = A.USERPRID AND A.COURSID = CA.COURSID AND CA.CAEXPIREDON IS NULL " +
+ "WHERE GRP.COMPANYID={COMPANYID}";
+ /*
+
"SELECT GRP.ILSGROUPID, GRP.GROUPNAME, SUM(crs_completed) SUM_COMPLETED, SUM(CRS_OPEN) AS SUM_OPEN, SUM(CRS_FAILED) SUM_FAILED, MAX(cacompletedate) LAST_COMPLETED" +
" FROM" +
" USERGROUP UG" +
@@ -365,6 +407,7 @@
" ) T1 on T1.COMPANYID=UP2.COMPANYID AND T1.USERPRID=UP2.USERPRID" +
" LEFT JOIN EMPTITLE ET ON ET.COMPANYID=UP2.COMPANYID AND UP2.USERPREMPTITLEID=ET.EMPTITLEID" +
" WHERE UG.COMPANYID={COMPANYID}";
+ */
// default is byLocation
@@ -376,7 +419,7 @@
retVal.setCompanyID(session.getCompanyID());
if (statusID > -1) {
- where += " AND UP2.USERPRSTATUSID = "+statusID;
+ where += " AND UP.USERPRSTATUSID = "+statusID;
}
/*
@@ -391,35 +434,35 @@
*/
if (managerID > -1) {
- where += " AND EXISTS (SELECT 1 FROM USERGROUP WG WHERE WG.USERPRID=UP2.USERPRID AND WG.ILSGROUPID IN (SELECT ILSGROUPID FROM MANAGERGROUP WHERE USERPRID=" + managerID + "))";
+ where += " AND EXISTS (SELECT 1 FROM USERGROUP WG WHERE WG.USERPRID=UP.USERPRID AND WG.ILSGROUPID IN (SELECT ILSGROUPID FROM MANAGERGROUP WHERE USERPRID=" + managerID + "))";
}
if (accessLevel > -1) {
- where += " AND UP2.USERPRACCESSLEVEL=" + accessLevel;
+ where += " AND UP.USERPRACCESSLEVEL=" + accessLevel;
}
if (hireStartDate != null) {
- where += " AND UP2.USERPRHIREDATE >= {HIRESTARTDATE}";
+ where += " AND UP.USERPRHIREDATE >= {HIRESTARTDATE}";
retVal.setDateValue("HIRESTARTDATE", hireStartDate);
}
if (hireEndDate != null) {
- where += " AND UP2.USERPRHIREDATE <= {HIREENDDATE}";
+ where += " AND UP.USERPRHIREDATE <= {HIREENDDATE}";
retVal.setDateValue("HIREENDDATE", hireEndDate);
}
if ((lName != null) && (lName.length() > 0)) {
- where += " AND upper(UP2.USERPRLNAME) like {USERPRLNAME}";
+ where += " AND upper(UP.USERPRLNAME) like {USERPRLNAME}";
retVal.setUserProfileLastName(lName.toUpperCase() + "%");
}
if ((empNum != null) && (empNum.length() > 0)) {
- where += " AND upper(UP2.USERPRNUM) like {USERPRNUM}";
+ where += " AND upper(UP.USERPRNUM) like {USERPRNUM}";
retVal.setUserProfileNum(empNum.toUpperCase() + "%");
}
sql += where;
sql += " AND GRP.GROUPTYPEID=" + ((byRole) ? Group.GROUPTYPE_ROLE : Group.GROUPTYPE_LOCATION);
- sql += " GROUP BY GRP.ILSGROUPID, GRP.GROUPNAME";
+ sql += " GROUP BY GRP.ILSGROUPID, GRP.GROUPNAME ORDER BY GROUPNAME";
return retVal.getDataSet(sql + " OPTION (RECOMPILE)");
}
Property changes on: branches/1.6/webapp
___________________________________________________________________
Modified: svn:mergeinfo
- /trunk/webapp:796-803,843-850,861,866,896,929-930,932,935,938,942,944,946,948,950,952,964,966,981,985-986,990-991,1025,1028,1151-1154,1167,1172-1174,1187-1188,1190,1192,1198,1200,1202,1206,1209,1211-1212,1249,1251,1276
+ /trunk/webapp:796-803,843-850,861,866,896,929-930,932,935,938,942,944,946,948,950,952,964,966,981,985-986,990-991,1025,1028,1151-1154,1167,1172-1174,1187-1188,1190,1192,1198,1200,1202,1206,1209,1211-1212,1249,1251,1276,1281-1282,1287-1290
Modified: branches/1.6/webapp/WEB-INF/lib/ils.jar
===================================================================
(Binary files differ)
Modified: branches/1.6/webapp/admin_profilemanagement.jsp
===================================================================
--- branches/1.6/webapp/admin_profilemanagement.jsp 2015-01-13 20:49:08 UTC (rev 1290)
+++ branches/1.6/webapp/admin_profilemanagement.jsp 2015-01-13 21:25:15 UTC (rev 1291)
@@ -159,7 +159,7 @@
}
if ("lookup".equals(action)) {
- userProfiles = UserProfile.getSearchUserProfiles(ilsSession, currentLocationID, currentRoleID, currentLName, currentEmpID, statusID, currentAccessLevel, hireStartDate, hireEndDate, limitToManager);
+ userProfiles = UserProfile.getSearchUserProfiles(ilsSession, currentLocationID, currentRoleID, currentLName, currentEmpID, statusID, currentAccessLevel, hireStartDate, hireEndDate, limitToManager, false);
if (userProfiles != null) {
/*
for (int j = 0; j < userProfiles.size(); j++) {
@@ -234,11 +234,14 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
-<title><%= ilsSession.getCurrentCompany().getCompanyName() %> eLearning Portal</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
-<link href="lms_style.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="crosswire.js"></script>
-<script type="text/javascript" language="JavaScript">
+ <title><%= ilsSession.getCurrentCompany().getCompanyName() %> eLearning Portal</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <link href="lms_style.css" rel="stylesheet" type="text/css"/>
+ <link rel="stylesheet" href="css/chosen/chosen.min.css">
+ <script type="text/javascript" src="js/jquery/jquery.min.js"></script>
+ <script type="text/javascript" src="crosswire.js"></script>
+ <script type="text/javascript" src="js/jquery/jquery.blockUI.js"></script>
+ <script type="text/javascript" language="JavaScript">
<!--
var rdCtl = null;
@@ -363,7 +366,7 @@
<td><table width="106">
<tr>
<td width="106">
- <input name="GO" type="image" value="GO" src="images/search_btn.gif" /> </td>
+ <input onClick="$.blockUI({ message: '<h3><img width="30" height="30" style="margin-right:10px;vertical-align:middle;" src="images/loading.gif"/> Performing Search...</h3>' }); document.lookup.submit(); return false;" name="GO" type="image" value="GO" src="images/search_btn.gif" /> </td>
</tr>
<tr>
<td><a class="formbtn" href="admin_profile.jsp">
Modified: branches/1.6/webapp/admin_studentrecords.jsp
===================================================================
--- branches/1.6/webapp/admin_studentrecords.jsp 2015-01-13 20:49:08 UTC (rev 1290)
+++ branches/1.6/webapp/admin_studentrecords.jsp 2015-01-13 21:25:15 UTC (rev 1291)
@@ -151,7 +151,7 @@
}
if (byStudent) {
if ("lookup".equals(action)) {
- userProfiles = UserProfile.getSearchUserProfiles(ilsSession, currentLocationID, currentRoleID, currentLName, currentEmpID, statusID, -1, hireStartDate, hireEndDate, limitToManager);
+ userProfiles = UserProfile.getSearchUserProfiles(ilsSession, currentLocationID, currentRoleID, currentLName, currentEmpID, statusID, -1, hireStartDate, hireEndDate, limitToManager, true);
}
if (userProfiles != null) {
session.setAttribute("lastDataset", userProfiles);
@@ -170,10 +170,10 @@
cc.copyFrom(ca);
UserProfile up = new UserProfile();
up.copyFrom(ca);
- Vector tmpg = Group.getUserGroups(ilsSession, Group.GROUPTYPE_LOCATION, up.getUserProfileID());
- String upLocation = ((tmpg != null) && (tmpg.size()>0)) ? ((Group)tmpg.get(0)).getGroupName() : "";
- tmpg = Group.getUserGroups(ilsSession, Group.GROUPTYPE_ROLE, up.getUserProfileID());
- String upRole = ((tmpg != null) && (tmpg.size()>0)) ? ((Group)tmpg.get(0)).getGroupName() : "";
+ //Vector tmpg = Group.getUserGroups(ilsSession, Group.GROUPTYPE_LOCATION, up.getUserProfileID());
+ String upLocation = ca.getStringValue("WORKGROUP"); //((tmpg != null) && (tmpg.size()>0)) ? ((Group)tmpg.get(0)).getGroupName() : "";
+ //tmpg = Group.getUserGroups(ilsSession, Group.GROUPTYPE_ROLE, up.getUserProfileID());
+ String upRole = ca.getStringValue("ROLE"); //((tmpg != null) && (tmpg.size()>0)) ? ((Group)tmpg.get(0)).getGroupName() : "";
Date tDate = ca.getCourseAttemptStartDate();
String sDate = (tDate != null) ? df.format(tDate) : "";
tDate = ca.getCourseAttemptCompleteDate();
@@ -354,10 +354,13 @@
<html>
<head>
<title><%= ilsSession.getCurrentCompany().getCompanyName() %> eLearning Portal</title>
- <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" language="JavaScript">
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+ <link rel="stylesheet" href="css/chosen/chosen.min.css">
+ <script type="text/javascript" src="js/jquery/jquery.min.js"></script>
+ <script type="text/javascript" src="js/jquery/jquery.blockUI.js"></script>
+ <script type="text/javascript" src="crosswire.js"></script>
+ <link href="lms_style.css" rel="stylesheet" type="text/css"/>
+ <script type="text/javascript" language="JavaScript">
<!--
var rdCtl = null;
@@ -509,7 +512,7 @@
</tr>
<tr>
<td> </td>
- <td><input onClick="document.lookup.action.value='lookup'; document.lookup.submit();return false;" name="GO" type="image" value="GO" src="images/generate_btn.gif" align="left" />
+ <td><input onClick="$.blockUI({ message: '<h3><img width="30" height="30" style="margin-right:10px;vertical-align:middle;" src="images/loading.gif"/> Generating Report...</h3>' }); document.lookup.action.value='lookup'; document.lookup.submit();return false;" name="GO" type="image" value="GO" src="images/generate_btn.gif" align="left" />
<br></td>
</tr>
</table>
Copied: branches/1.6/webapp/images/loading.gif (from rev 1289, trunk/webapp/images/loading.gif)
===================================================================
(Binary files differ)
Modified: branches/1.6/webapp/report_pending_summary.jsp
===================================================================
--- branches/1.6/webapp/report_pending_summary.jsp 2015-01-13 20:49:08 UTC (rev 1290)
+++ branches/1.6/webapp/report_pending_summary.jsp 2015-01-13 21:25:15 UTC (rev 1291)
@@ -135,6 +135,9 @@
if ("grpname".equals(sort)) {
return ((UserProfile)o1).getStringValue("GROUPNAME").compareTo(((UserProfile)o2).getStringValue("GROUPNAME"));
}
+ if ("grpcount".equals(sort)) {
+ return ((UserProfile)o2).getIntValue("USERS") - ((UserProfile)o1).getIntValue("USERS");
+ }
if ("completed".equals(sort)) {
return ((UserProfile)o2).getIntValue("SUM_COMPLETED") - ((UserProfile)o1).getIntValue("SUM_COMPLETED");
}
@@ -172,11 +175,14 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en_US" lang="en_US">
<head>
-<title><%= ilsSession.getCurrentCompany().getCompanyName() %> eLearning Portal</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <script type="text/javascript" src="crosswire.js"></script>
- <link href="lms_style.css" rel="stylesheet" type="text/css"/>
- <script type="text/javascript">
+ <title><%= ilsSession.getCurrentCompany().getCompanyName() %> eLearning Portal</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <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>
+ <script type="text/javascript" src="js/jquery/jquery.blockUI.js"></script>
+ <script type="text/javascript">
<!--
var rdCtl = null;
@@ -213,7 +219,7 @@
</tr>
<tr>
<td> </td>
- <td><input onClick="document.lookup.action.value='lookup'; document.lookup.submit(); return false;" name="GO" type="image" value="GO" src="images/generate_btn.gif" align="left" />
+ <td><input onClick="$.blockUI({ message: '<h3><img width="30" height="30" style="margin-right:10px;vertical-align:middle;" src="images/loading.gif"/> Generating Report...</h3>' }); document.lookup.action.value='lookup'; document.lookup.submit(); return false;" name="GO" type="image" value="GO" src="images/generate_btn.gif" align="left" />
<br></td>
</tr>
</table>
@@ -259,6 +265,7 @@
<table class="tableDataList">
<tr>
<th><a href="report_pending_summary.jsp?sort=grpname"><%=byRole?"Role":"Workgroup"%></a></th>
+ <th><a href="report_pending_summary.jsp?sort=grpcount">Members</a></th>
<th><a href="report_pending_summary.jsp?sort=completed">Completed Courses</a></th>
<th><a href="report_pending_summary.jsp?sort=open">Open Courses</a></th>
<th><a href="report_pending_summary.jsp?sort=failed">Failed Courses</a></th>
@@ -268,7 +275,7 @@
<%
}
else {
- out.print((byRole?"Role":"Workgroup")+", Completed Courses, Open Courses, Failed Courses, Last Course Completed\n");
+ out.print((byRole?"Role":"Workgroup")+",Members,Completed Courses,Open Courses,Failed Courses,Last Course Completed\n");
}
int begin = (noHTML) ? 0 : pageNum * 25;
int end = (noHTML) ? userProfiles.size() : begin + 25;
@@ -281,6 +288,7 @@
%>
<tr>
<td><%=up.getStringValue("GROUPNAME")%></td>
+ <td width="60" align="right"><%=up.getIntValue("USERS")%></td>
<td width="60" align="right"><%=up.getIntValue("SUM_COMPLETED")%></td>
<td width="60" align="right"><%=up.getIntValue("SUM_OPEN")%></td>
<td width="60" align="right"><%=up.getIntValue("SUM_FAILED")%></td>
@@ -291,6 +299,7 @@
else {
out.print(
"\""+up.getStringValue("GROUPNAME").replaceAll("\"", "\"\"") + "\"," +
+ up.getIntValue("USERS") + "," +
up.getIntValue("SUM_COMPLETED") + "," +
up.getIntValue("SUM_OPEN") + "," +
up.getIntValue("SUM_FAILED") + "," +
More information about the Ils-source
mailing list