diff -r 4de9559cd879 -r 9d2d8a000b5f src/roster2/src/java/org/sakaiproject/roster/api/SakaiProxy.java --- a/src/roster2/src/java/org/sakaiproject/roster/api/SakaiProxy.java Fri Jul 03 15:20:20 2015 -0500 +++ b/src/roster2/src/java/org/sakaiproject/roster/api/SakaiProxy.java Fri Jul 03 16:23:47 2015 -0500 @@ -175,6 +175,14 @@ * set. */ public List getEnrollmentMembership(String siteId, String enrollmentSetId); + + /** + * Returns the members for all enrollment sets for the specified site. + * + * @param siteId the ID of the site. + * @return the enrollment set members for the specified site + */ + public List getAllEnrollmentMemberships(String siteId); /** * Returns whether or not the specified user is allowed the specified diff -r 4de9559cd879 -r 9d2d8a000b5f src/roster2/src/java/org/sakaiproject/roster/impl/SakaiProxyImpl.java --- a/src/roster2/src/java/org/sakaiproject/roster/impl/SakaiProxyImpl.java Fri Jul 03 15:20:20 2015 -0500 +++ b/src/roster2/src/java/org/sakaiproject/roster/impl/SakaiProxyImpl.java Fri Jul 03 16:23:47 2015 -0500 @@ -636,6 +636,23 @@ } return enrolledMembers; } + + public List getAllEnrollmentMemberships(String siteId) { + List enrolledMembers = new ArrayList(); + + if (groupProvider == null) { + log.warn("no group provider installed"); + return enrolledMembers; + } + + List enrollmentSets = getEnrollmentSets(siteId, groupProvider); + + for (RosterEnrollment enrollmentSet : enrollmentSets) { + enrolledMembers.addAll(getEnrollmentMembership(siteId, enrollmentSet.getId())); + } + + return enrolledMembers; + } /** * {@inheritDoc} diff -r 4de9559cd879 -r 9d2d8a000b5f src/roster2/src/java/org/sakaiproject/roster/tool/entityprovider/RosterSiteEntityProvider.java --- a/src/roster2/src/java/org/sakaiproject/roster/tool/entityprovider/RosterSiteEntityProvider.java Fri Jul 03 15:20:20 2015 -0500 +++ b/src/roster2/src/java/org/sakaiproject/roster/tool/entityprovider/RosterSiteEntityProvider.java Fri Jul 03 16:23:47 2015 -0500 @@ -145,7 +145,12 @@ enrollmentSetId = parameters.get(KEY_ENROLLMENT_SET_ID).toString(); } - return sakaiProxy.getEnrollmentMembership(reference.getId(), enrollmentSetId); + // If no enrollment set id is specified, then return all + if (enrollmentSetId == null) { + return sakaiProxy.getAllEnrollmentMemberships(reference.getId()); + } else { + return sakaiProxy.getEnrollmentMembership(reference.getId(), enrollmentSetId); + } } /** diff -r 4de9559cd879 -r 9d2d8a000b5f src/roster2/src/webapp/WEB-INF/templates/enrollment_section_filter.handlebars --- a/src/roster2/src/webapp/WEB-INF/templates/enrollment_section_filter.handlebars Fri Jul 03 15:20:20 2015 -0500 +++ b/src/roster2/src/webapp/WEB-INF/templates/enrollment_section_filter.handlebars Fri Jul 03 16:23:47 2015 -0500 @@ -11,7 +11,7 @@ {{/if}} diff -r 4de9559cd879 -r 9d2d8a000b5f src/roster2/src/webapp/js/roster.js --- a/src/roster2/src/webapp/js/roster.js Fri Jul 03 15:20:20 2015 -0500 +++ b/src/roster2/src/webapp/js/roster.js Fri Jul 03 16:23:47 2015 -0500 @@ -523,7 +523,9 @@ var enrollmentSortParams = roster.getEnrollmentStatusTableSort(); - $('#roster_form_rosterTable').tablesorter(enrollmentSortParams); + if ($('#roster_form_rosterTable').find('tbody > tr').length > 0) { + $('#roster_form_rosterTable').tablesorter(enrollmentSortParams); + } $('#roster_form_rosterTable').bind("sortEnd",function () { roster.currentSortColumn = this.config.sortList[0][0]; @@ -635,7 +637,11 @@ roster.getRosterEnrollment = function (callback) { - var url = "/direct/roster-membership/" + roster.siteId + "/get-enrollment.json?enrollmentSetId=" + roster.enrollmentSetToView; + var url = "/direct/roster-membership/" + roster.siteId + "/get-enrollment.json"; + + if (roster.enrollmentSetToView) { + url += "?enrollmentSetId=" + roster.enrollmentSetToView; + } $.ajax({ url: url, @@ -936,7 +942,7 @@ if (numberOfEnrollmentSets > 0) { - $('#roster_form_enrollment_set_filter').val(roster.enrollmentSetToViewText); + $('#roster_form_enrollment_set_filter').val(roster.enrollmentSetToView); $('#roster_form_enrollment_set_filter').change(function (e) { roster.enrollmentSetToView = this.options[this.selectedIndex].value; roster.enrollmentSetToViewText = this.options[this.selectedIndex].text;