Index: lams_central/web/includes/javascript/groups.js =================================================================== diff -u -rd0f4c3bdd871e236755472c8443c337b2b96e48c -r56ecfc5d9060efa9fe3dab2de70b2fdc50a380c3 --- lams_central/web/includes/javascript/groups.js (.../groups.js) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) +++ lams_central/web/includes/javascript/groups.js (.../groups.js) (revision 56ecfc5d9060efa9fe3dab2de70b2fdc50a380c3) @@ -130,7 +130,7 @@ .addClass('mb-2') .appendTo(userDiv); addPortrait(portraitDiv, userJSON.portraitId, userJSON.id, 'small', true, LAMS_URL ); - $('').text(userJSON.lastName + ' ' + userJSON.firstName) + $('').text(userJSON.lastName + ', ' + userJSON.firstName) .addClass('portrait-sm-lineheight ms-1') .appendTo(userDiv); Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/IUserDetails.java =================================================================== diff -u -rd0f4c3bdd871e236755472c8443c337b2b96e48c -r56ecfc5d9060efa9fe3dab2de70b2fdc50a380c3 --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/IUserDetails.java (.../IUserDetails.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/IUserDetails.java (.../IUserDetails.java) (revision 56ecfc5d9060efa9fe3dab2de70b2fdc50a380c3) @@ -34,7 +34,7 @@ } if (StringUtils.isNotBlank(firstName)) { if (fullNameBuilder.length() > 0) { - fullNameBuilder.append(" "); + fullNameBuilder.append(", "); } fullNameBuilder.append(firstName); } Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GateController.java =================================================================== diff -u -rbeaa199615fcde4a870870eb2ae9088455d0dc8e -r56ecfc5d9060efa9fe3dab2de70b2fdc50a380c3 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GateController.java (.../GateController.java) (revision beaa199615fcde4a870870eb2ae9088455d0dc8e) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GateController.java (.../GateController.java) (revision 56ecfc5d9060efa9fe3dab2de70b2fdc50a380c3) @@ -28,13 +28,15 @@ import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Collection; +import java.util.Collections; import java.util.Date; import java.util.GregorianCalendar; import java.util.HashSet; import java.util.LinkedList; import java.util.List; import java.util.Set; import java.util.TimeZone; +import java.util.TreeSet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -53,6 +55,7 @@ import org.lamsfoundation.lams.monitoring.web.form.GateForm; import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.usermanagement.service.IUserDetails; import org.lamsfoundation.lams.util.WebUtil; import org.lamsfoundation.lams.web.session.SessionManager; import org.lamsfoundation.lams.web.util.AttributeNames; @@ -231,17 +234,22 @@ Integer waitingLearnerCount = lessonService.getCountLearnersInCurrentActivity(gate); gateForm.setWaitingLearners(waitingLearnerCount); return "gate/sychGateContent"; - } else if (gate.isScheduleGate()) { + } + + if (gate.isScheduleGate()) { Integer waitingLearnerCount = lessonService.getCountLearnersInCurrentActivity(gate); gateForm.setWaitingLearners(waitingLearnerCount); return viewScheduleGate(gateForm, (ScheduleGateActivity) gate); - } else if (gate.isPermissionGate() || gate.isSystemGate() || gate.isConditionGate() || gate.isPasswordGate()) { + } + + if (gate.isPermissionGate() || gate.isSystemGate() || gate.isConditionGate() || gate.isPasswordGate()) { List waitingLearnersList = monitoringService.getLearnersAttemptedActivity(gate); + Collections.sort(waitingLearnersList, IUserDetails.COMPARATOR); gateForm.setWaitingLearners(waitingLearnersList.size()); gateForm.setWaitingLearnerList(waitingLearnersList); gateForm.setAllowedToPassLearnerList(gate.getAllowedToPassLearners()); Set learnerGroups = learnerService.getGroupsForGate(gate); - Collection forbiddenUsers = new HashSet<>(); + Collection forbiddenUsers = new TreeSet<>(); for (Group learnerGroup : learnerGroups) { // only here users are fetched from DB as it is an extra-lazy collection forbiddenUsers.addAll(learnerGroup.getUsers()); @@ -256,10 +264,11 @@ } return "gate/permissionGateContent"; - } else { - throw new MonitoringServiceException("Invalid gate activity. " + "gate id [" + gate.getActivityId() - + "] - the type [" + gate.getActivityTypeId() + "] is not a gate type"); } + + throw new MonitoringServiceException( + "Invalid gate activity. " + "gate id [" + gate.getActivityId() + "] - the type [" + + gate.getActivityTypeId() + "] is not a gate type"); } /** Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GroupingUploadController.java =================================================================== diff -u -r50ce17b539bba75dc92c9799db20a66fa118e788 -r56ecfc5d9060efa9fe3dab2de70b2fdc50a380c3 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GroupingUploadController.java (.../GroupingUploadController.java) (revision 50ce17b539bba75dc92c9799db20a66fa118e788) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GroupingUploadController.java (.../GroupingUploadController.java) (revision 56ecfc5d9060efa9fe3dab2de70b2fdc50a380c3) @@ -48,6 +48,7 @@ import org.lamsfoundation.lams.usermanagement.Role; import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.usermanagement.service.IUserDetails; import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; import org.lamsfoundation.lams.util.FileUtil; import org.lamsfoundation.lams.util.JsonUtil; @@ -73,6 +74,7 @@ import java.io.IOException; import java.security.InvalidParameterException; import java.util.Collection; +import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; @@ -173,7 +175,9 @@ } Vector learners = userManagementService.getUsersFromOrganisationByRole(organisationId, Role.LEARNER, true); - sheets = exportLearnersForGrouping(learners, null, groups); + Set sorterLearners = new TreeSet<>(IUserDetails.COMPARATOR); + sorterLearners.addAll(learners); + sheets = exportLearnersForGrouping(sorterLearners, null, groups); } // set cookie that will tell JS script that export has been finished Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dao/hibernate/AssessmentUserDAOHibernate.java =================================================================== diff -u -rd0f4c3bdd871e236755472c8443c337b2b96e48c -r56ecfc5d9060efa9fe3dab2de70b2fdc50a380c3 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dao/hibernate/AssessmentUserDAOHibernate.java (.../AssessmentUserDAOHibernate.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dao/hibernate/AssessmentUserDAOHibernate.java (.../AssessmentUserDAOHibernate.java) (revision 56ecfc5d9060efa9fe3dab2de70b2fdc50a380c3) @@ -214,8 +214,8 @@ for (Object[] element : queryResults) { Long userId = ((Number) element[0]).longValue(); Long sessionId = ((Number) element[1]).longValue(); - String firstName = (String) element[2]; - String lastName = (String) element[3]; + String lastName = (String) element[2]; + String firstName = (String) element[3]; String login = (String) element[4]; boolean resultSubmitted = element[5] != null; float grade = resultSubmitted ? ((Number) element[5]).floatValue() : 0; @@ -335,8 +335,8 @@ for (Object[] element : list) { Long questionResultUid = ((Number) element[0]).longValue(); - String firstName = (String) element[1]; - String lastName = (String) element[2]; + String lastName = (String) element[1]; + String firstName = (String) element[2]; String login = (String) element[3]; float grade = element[4] == null ? 0 : ((Number) element[4]).floatValue(); String portraitId = (String) element[5]; Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/model/AssessmentUser.java =================================================================== diff -u -rd0f4c3bdd871e236755472c8443c337b2b96e48c -r56ecfc5d9060efa9fe3dab2de70b2fdc50a380c3 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/model/AssessmentUser.java (.../AssessmentUser.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/model/AssessmentUser.java (.../AssessmentUser.java) (revision 56ecfc5d9060efa9fe3dab2de70b2fdc50a380c3) @@ -260,13 +260,4 @@ public void setAccessDate(Date accessDate) { this.accessDate = accessDate; } - - public String getFullName() { - if (firstName == null || lastName == null) { - return null; - } else { - return lastName + " " + firstName; - } - } - } \ No newline at end of file Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/MonitoringController.java =================================================================== diff -u -rd0f4c3bdd871e236755472c8443c337b2b96e48c -r56ecfc5d9060efa9fe3dab2de70b2fdc50a380c3 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/MonitoringController.java (.../MonitoringController.java) (revision d0f4c3bdd871e236755472c8443c337b2b96e48c) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 56ecfc5d9060efa9fe3dab2de70b2fdc50a380c3) @@ -594,7 +594,7 @@ for (AssessmentUserDTO userDto : userDtos) { Long questionResultUid = userDto.getQuestionResultUid(); - String fullName = HtmlUtils.htmlEscape(userDto.getFirstName() + " " + userDto.getLastName()); + String fullName = HtmlUtils.htmlEscape(userDto.getFullName()); ArrayNode userData = JsonNodeFactory.instance.arrayNode(); if (questionResultUid != null) { Index: lams_tool_leader/src/java/org/lamsfoundation/lams/tool/leaderselection/dto/LeaderselectionUserDTO.java =================================================================== diff -u -r52a6369ce66a2ea70d38bfa2e627dfcde6354b10 -r56ecfc5d9060efa9fe3dab2de70b2fdc50a380c3 --- lams_tool_leader/src/java/org/lamsfoundation/lams/tool/leaderselection/dto/LeaderselectionUserDTO.java (.../LeaderselectionUserDTO.java) (revision 52a6369ce66a2ea70d38bfa2e627dfcde6354b10) +++ lams_tool_leader/src/java/org/lamsfoundation/lams/tool/leaderselection/dto/LeaderselectionUserDTO.java (.../LeaderselectionUserDTO.java) (revision 56ecfc5d9060efa9fe3dab2de70b2fdc50a380c3) @@ -21,13 +21,12 @@ * **************************************************************** */ - - package org.lamsfoundation.lams.tool.leaderselection.dto; import org.lamsfoundation.lams.tool.leaderselection.model.LeaderselectionUser; +import org.lamsfoundation.lams.usermanagement.service.IUserDetails; -public class LeaderselectionUserDTO implements Comparable { +public class LeaderselectionUserDTO implements IUserDetails { private Long uid; @@ -36,7 +35,7 @@ private String firstName; private String lastName; - + private Long userId; private boolean finishedActivity; @@ -50,17 +49,6 @@ this.userId = user.getUserId(); } - @Override - public int compareTo(Object o) { - int returnValue; - LeaderselectionUserDTO toUser = (LeaderselectionUserDTO) o; - returnValue = this.lastName.compareTo(toUser.lastName); - if (returnValue == 0) { - returnValue = this.uid.compareTo(toUser.uid); - } - return returnValue; - } - public String getFirstName() { return firstName; } @@ -85,6 +73,11 @@ this.loginName = loginName; } + @Override + public String getLogin() { + return getLoginName(); + } + public Long getUid() { return uid; } @@ -108,4 +101,4 @@ public void setUserId(Long userId) { this.userId = userId; } -} +} \ No newline at end of file Index: lams_tool_leader/web/pages/monitoring/summary.jsp =================================================================== diff -u -r7b3ea39ddf6e10186cf9916562121c205bb0e5ad -r56ecfc5d9060efa9fe3dab2de70b2fdc50a380c3 --- lams_tool_leader/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision 7b3ea39ddf6e10186cf9916562121c205bb0e5ad) +++ lams_tool_leader/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision 56ecfc5d9060efa9fe3dab2de70b2fdc50a380c3) @@ -49,7 +49,7 @@ - + @@ -81,4 +81,4 @@ - + \ No newline at end of file