Index: lams_build/lib/lams/lams.jar
===================================================================
diff -u -r00d5413cf23d20dae624c2bfbe17b3c914963945 -r94a4ee377b6f565f4b5228bdfe4fcc4c1c4e5030
Binary files differ
Index: lams_central/conf/language/lams/ApplicationResources.properties
===================================================================
diff -u -re60597c15c579c615cc2e9969a7ed6547132cd91 -r94a4ee377b6f565f4b5228bdfe4fcc4c1c4e5030
--- lams_central/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision e60597c15c579c615cc2e9969a7ed6547132cd91)
+++ lams_central/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 94a4ee377b6f565f4b5228bdfe4fcc4c1c4e5030)
@@ -124,7 +124,6 @@
title.profile.window =LAMS :: My Profile
title.edit.profile.window =LAMS :: Edit My Profile
title.profile.edit.screen =Edit My Profile
-title.archived.groups =Archived Groups
label.name =Name
label.title =Title
label.first_name =First Name
Index: lams_central/src/java/org/lamsfoundation/lams/web/IndexAction.java
===================================================================
diff -u -ra30899464b2771ef1da14014266d0e733626b0ae -r94a4ee377b6f565f4b5228bdfe4fcc4c1c4e5030
--- lams_central/src/java/org/lamsfoundation/lams/web/IndexAction.java (.../IndexAction.java) (revision a30899464b2771ef1da14014266d0e733626b0ae)
+++ lams_central/src/java/org/lamsfoundation/lams/web/IndexAction.java (.../IndexAction.java) (revision 94a4ee377b6f565f4b5228bdfe4fcc4c1c4e5030)
@@ -115,15 +115,12 @@
return mapping.findForward("password");
}
}
-
+
User user = getUserManagementService().getUserByLogin(userDTO.getLogin());
request.setAttribute("portraitUuid", user.getPortraitUuid());
-
+
String tab = WebUtil.readStrParam(request, "tab", true);
if (StringUtils.equals(tab, "profile")) {
- List orgDTOs = getUserManagementService().getArchivedCourseIdsByUser(loggedInUser.getUserId(),
- request.isUserInRole(Role.SYSADMIN));
- request.setAttribute("orgDTOs", orgDTOs);
return mapping.findForward("profile");
} else if (StringUtils.equals(tab, "editprofile")) {
return mapping.findForward("editprofile");
@@ -198,8 +195,8 @@
private IUserManagementService getUserManagementService() {
if (IndexAction.userManagementService == null) {
- WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(getServlet()
- .getServletContext());
+ WebApplicationContext ctx = WebApplicationContextUtils
+ .getRequiredWebApplicationContext(getServlet().getServletContext());
IndexAction.userManagementService = (IUserManagementService) ctx.getBean("userManagementService");
}
return IndexAction.userManagementService;
Index: lams_central/web/profile.jsp
===================================================================
diff -u -rdc7b67e7677c8cd2289130c67094a62b39177d05 -r94a4ee377b6f565f4b5228bdfe4fcc4c1c4e5030
--- lams_central/web/profile.jsp (.../profile.jsp) (revision dc7b67e7677c8cd2289130c67094a62b39177d05)
+++ lams_central/web/profile.jsp (.../profile.jsp) (revision 94a4ee377b6f565f4b5228bdfe4fcc4c1c4e5030)
@@ -74,16 +74,4 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
\ No newline at end of file
Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/dao/IOrganisationDAO.java
===================================================================
diff -u -r4ef740155321a3d46583770e5ea58e56719597b2 -r94a4ee377b6f565f4b5228bdfe4fcc4c1c4e5030
--- lams_common/src/java/org/lamsfoundation/lams/usermanagement/dao/IOrganisationDAO.java (.../IOrganisationDAO.java) (revision 4ef740155321a3d46583770e5ea58e56719597b2)
+++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/dao/IOrganisationDAO.java (.../IOrganisationDAO.java) (revision 94a4ee377b6f565f4b5228bdfe4fcc4c1c4e5030)
@@ -40,40 +40,33 @@
* @param isSysadmin
* @return list of orgIds
*/
- List getActiveCourseIdsByUser(Integer userId, boolean isSysadmin);
+ List getActiveCourseIdsByUser(Integer userId, boolean isSysadmin);
/**
- * Get list of orgIds of archived groups.
+ * Returns courses with specified type, state and parent course.
*
- * @param userId
- * @param isSysadmin
- * @return list of orgIds
- */
- List getArchivedCourseIdsByUser(Integer userId, boolean isSysadmin);
-
- /**
- * Returns courses with specified type, state and parent course.
- *
* @param parentOrgId
* @param typeId
* @param stateId
* @param page
* @param size
* @param sortBy
* @param sortOrder
- * @param searchString filters results by course name. It can be null and then doesn't affect results
+ * @param searchString
+ * filters results by course name. It can be null and then doesn't affect results
* @return
*/
- List getPagedCourses(final Integer parentOrgId, final Integer typeId, final Integer stateId,
- int page, int size, String sortBy, String sortOrder, String searchString);
+ List getPagedCourses(final Integer parentOrgId, final Integer typeId, final Integer stateId, int page,
+ int size, String sortBy, String sortOrder, String searchString);
/**
* Counts courses with specified type, state and parent course.
*
* @param parentOrgId
* @param typeId
* @param stateId
- * @param searchString filters results by course name. It can be null and then doesn't affect results
+ * @param searchString
+ * filters results by course name. It can be null and then doesn't affect results
* @return
*/
int getCountCoursesByParentCourseAndTypeAndState(final Integer parentOrgId, final Integer typeId,
Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/dao/hibernate/OrganisationDAO.java
===================================================================
diff -u -rbe7f31cd52ecf80be8d0f78aeb815b5517ab940f -r94a4ee377b6f565f4b5228bdfe4fcc4c1c4e5030
--- lams_common/src/java/org/lamsfoundation/lams/usermanagement/dao/hibernate/OrganisationDAO.java (.../OrganisationDAO.java) (revision be7f31cd52ecf80be8d0f78aeb815b5517ab940f)
+++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/dao/hibernate/OrganisationDAO.java (.../OrganisationDAO.java) (revision 94a4ee377b6f565f4b5228bdfe4fcc4c1c4e5030)
@@ -44,74 +44,50 @@
+ " and o.organisationState.organisationStateId = " + OrganisationState.ACTIVE + " order by name";
private static final String GET_ACTIVE_COURSE_IDS_BY_USER = "select uo.organisation.organisationId, uoc.collapsed"
- + " from Organisation o, UserOrganisation uo left join uo.userOrganisationCollapsed uoc"
- + " where uo.organisation.organisationId = o.organisationId"
- + " and o.organisationType.organisationTypeId = " + OrganisationType.COURSE_TYPE
- + " and o.organisationState.organisationStateId = " + OrganisationState.ACTIVE
- + " and uo.user.userId = :userId" + " order by name";
+ + " from UserOrganisation uo left join uo.userOrganisationCollapsed uoc"
+ + " where uo.organisation.organisationType.organisationTypeId = " + OrganisationType.COURSE_TYPE
+ + " and uo.organisation.organisationState.organisationStateId = " + OrganisationState.ACTIVE
+ + " and uo.user.userId = :userId order by name";
- private static final String GET_ALL_ARCHIVED_COURSE_IDS = "select distinct o1.organisationId"
- + " from Organisation o1, Organisation o2 " + " where (o1.organisationType.organisationTypeId = "
- + OrganisationType.COURSE_TYPE + " and o1.organisationState.organisationStateId = "
- + OrganisationState.ACTIVE + " and o2.organisationType.organisationTypeId = " + OrganisationType.CLASS_TYPE
- + " and o2.organisationState.organisationStateId = " + OrganisationState.ARCHIVED
- + " and o1.organisationId = o2.parentOrganisation.organisationId)"
- + " or (o1.organisationType.organisationTypeId = " + OrganisationType.COURSE_TYPE
- + " and o1.organisationState.organisationStateId = " + OrganisationState.ARCHIVED + ")"
- + " order by o1.name";
+ private static final String GET_PAGED_COURSES = "SELECT o FROM Organisation o WHERE o.organisationType.organisationTypeId =:typeId "
+ + "AND o.organisationState.organisationStateId =:stateId AND o.parentOrganisation.organisationId =:parentOrgId "
+ + "AND (o.name LIKE CONCAT('%', :searchString, '%')) ORDER BY ";
- private static final String GET_ARCHIVED_COURSE_IDS_BY_USER = "select distinct o1.organisationId, uoc.collapsed"
- + " from UserOrganisation uo1, Organisation o1, Organisation o2 left join uo1.userOrganisationCollapsed uoc"
- + " where (uo1.user.userId = :userId" + " and uo1.organisation.organisationId = o1.organisationId"
- + " and o1.organisationType.organisationTypeId = " + OrganisationType.COURSE_TYPE
- + " and o1.organisationState.organisationStateId = " + OrganisationState.ACTIVE
- + " and o2.organisationType.organisationTypeId = " + OrganisationType.CLASS_TYPE
- + " and o2.organisationState.organisationStateId = " + OrganisationState.ARCHIVED
- + " and o1.organisationId = o2.parentOrganisation.organisationId)"
- + " or (uo1.organisation.organisationId = o1.organisationId"
- + " and o1.organisationType.organisationTypeId = " + OrganisationType.COURSE_TYPE
- + " and o1.organisationState.organisationStateId = " + OrganisationState.ARCHIVED
- + " and uo1.user.userId = :userId)" + " order by o1.name";
+ private static final String GET_COUNT_COURSES_BY_PARENT_TYPE_STATE = "SELECT count(*) FROM Organisation o "
+ + " WHERE o.parentOrganisation.organisationId =:parentOrgId "
+ + " AND o.organisationType.organisationTypeId =:typeId "
+ + " AND o.organisationState.organisationStateId =:stateId "
+ + " AND (o.name LIKE CONCAT('%', :searchString, '%')) ";
- public List getActiveCourseIdsByUser(final Integer userId, final boolean isSysadmin) {
-
- return (List) (isSysadmin ? getSession().createQuery(GET_ALL_ACTIVE_COURSE_IDS).list() : getSession()
- .createQuery(GET_ACTIVE_COURSE_IDS_BY_USER).setInteger("userId", userId).list());
+ @SuppressWarnings("unchecked")
+ @Override
+ public List getActiveCourseIdsByUser(Integer userId, boolean isSysadmin) {
+ return isSysadmin ? getSession().createQuery(OrganisationDAO.GET_ALL_ACTIVE_COURSE_IDS).list()
+ : getSession().createQuery(OrganisationDAO.GET_ACTIVE_COURSE_IDS_BY_USER).setInteger("userId", userId)
+ .list();
}
- public List getArchivedCourseIdsByUser(final Integer userId, final boolean isSysadmin) {
-
- return (List) (isSysadmin ? getSession().createQuery(GET_ALL_ARCHIVED_COURSE_IDS).list() : getSession()
- .createQuery(GET_ARCHIVED_COURSE_IDS_BY_USER).setInteger("userId", userId).list());
- }
+ @SuppressWarnings("unchecked")
@Override
- public List getPagedCourses(final Integer parentOrgId, final Integer typeId, final Integer stateId,
- int page, int size, String sortBy, String sortOrder, String searchString) {
- String GET_ORGS = "SELECT o FROM " + Organisation.class.getName() + " o "
- + " WHERE o.organisationType.organisationTypeId =:typeId "
- + " AND o.organisationState.organisationStateId =:stateId "
- + " AND o.parentOrganisation.organisationId =:parentOrgId"
- + " AND (o.name LIKE CONCAT('%', :searchString, '%')) "
- + " ORDER BY ";
-
+ public List getPagedCourses(Integer parentOrgId, Integer typeId, Integer stateId, int page, int size,
+ String sortBy, String sortOrder, String searchString) {
String sortByParam = "o.name";
- if (sortBy == null) {
- sortByParam = "o.name";
-
- } else if (sortBy.equals("id")) {
+ switch (sortBy) {
+ case "id":
sortByParam = "o.organisationId";
-
- } else if (sortBy.equals("name")) {
+ break;
+ case "name":
sortByParam = "o.name";
-
- } else if (sortBy.equals("code")) {
+ break;
+ case "code":
sortByParam = "o.code";
-
- } else if (sortBy.equals("description")) {
+ break;
+ case "description":
sortByParam = "o.description";
+ break;
}
-
- Query query = getSession().createQuery(GET_ORGS + sortByParam + " " +sortOrder);
+
+ Query query = getSession().createQuery(OrganisationDAO.GET_PAGED_COURSES + sortByParam + " " + sortOrder);
query.setInteger("typeId", typeId);
query.setInteger("stateId", stateId);
query.setInteger("parentOrgId", parentOrgId);
@@ -122,30 +98,18 @@
query.setMaxResults(size);
return query.list();
}
-
- @Override
- public int getCountCoursesByParentCourseAndTypeAndState(final Integer parentOrgId, final Integer typeId,
- final Integer stateId, String searchString) {
- final String GET_ORGS = "SELECT count(*) FROM Organisation o "
- + " WHERE o.parentOrganisation.organisationId =:parentOrgId "
- + " AND o.organisationType.organisationTypeId =:typeId "
- + " AND o.organisationState.organisationStateId =:stateId "
- + " AND (o.name LIKE CONCAT('%', :searchString, '%')) ";
- Query query = getSession().createQuery(GET_ORGS);
+ @Override
+ public int getCountCoursesByParentCourseAndTypeAndState(Integer parentOrgId, Integer typeId, Integer stateId,
+ String searchString) {
+ Query query = getSession().createQuery(OrganisationDAO.GET_COUNT_COURSES_BY_PARENT_TYPE_STATE);
query.setInteger("parentOrgId", parentOrgId);
query.setInteger("typeId", typeId);
query.setInteger("stateId", stateId);
// support for custom search from a toolbar
searchString = searchString == null ? "" : searchString;
query.setString("searchString", searchString);
-
- List list = query.list();
- if (list == null || list.size() == 0) {
- return 0;
- } else {
- return ((Number) list.get(0)).intValue();
- }
- }
-}
+ return ((Number) query.uniqueResult()).intValue();
+ }
+}
\ No newline at end of file
Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/IUserManagementService.java
===================================================================
diff -u -ra627849a2ed5e825df33ae4bd8372d8c9deed13b -r94a4ee377b6f565f4b5228bdfe4fcc4c1c4e5030
--- lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/IUserManagementService.java (.../IUserManagementService.java) (revision a627849a2ed5e825df33ae4bd8372d8c9deed13b)
+++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/IUserManagementService.java (.../IUserManagementService.java) (revision 94a4ee377b6f565f4b5228bdfe4fcc4c1c4e5030)
@@ -489,8 +489,6 @@
List getActiveCourseIdsByUser(Integer userId, boolean isSysadmin);
- List getArchivedCourseIdsByUser(Integer userId, boolean isSysadmin);
-
/**
* Search users across login, first name, last name and email fields using the search term. Filters out disabled
* users.
Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/UserManagementService.java
===================================================================
diff -u -ra627849a2ed5e825df33ae4bd8372d8c9deed13b -r94a4ee377b6f565f4b5228bdfe4fcc4c1c4e5030
--- lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/UserManagementService.java (.../UserManagementService.java) (revision a627849a2ed5e825df33ae4bd8372d8c9deed13b)
+++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/UserManagementService.java (.../UserManagementService.java) (revision 94a4ee377b6f565f4b5228bdfe4fcc4c1c4e5030)
@@ -1129,12 +1129,6 @@
return populateCollapsedOrgDTOs(list, isSysadmin);
}
- @Override
- public List getArchivedCourseIdsByUser(Integer userId, boolean isSysadmin) {
- List list = organisationDAO.getArchivedCourseIdsByUser(userId, isSysadmin);
- return populateCollapsedOrgDTOs(list, isSysadmin);
- }
-
private List populateCollapsedOrgDTOs(List list, boolean isSysadmin) {
ArrayList dtoList = new ArrayList();
for (Object obj : list) {