Index: lams_central/src/java/org/lamsfoundation/lams/web/DisplayGroupAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/web/DisplayGroupAction.java,v diff -u -r1.19.2.4.4.5 -r1.19.2.4.4.6 --- lams_central/src/java/org/lamsfoundation/lams/web/DisplayGroupAction.java 11 Sep 2011 22:13:32 -0000 1.19.2.4.4.5 +++ lams_central/src/java/org/lamsfoundation/lams/web/DisplayGroupAction.java 16 Dec 2011 13:35:05 -0000 1.19.2.4.4.6 @@ -23,6 +23,8 @@ /* $Id$ */ package org.lamsfoundation.lams.web; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; import java.sql.SQLException; import java.util.ArrayList; import java.util.Collections; @@ -141,13 +143,18 @@ } if (org.getEnableGradebookForLearners() && contains(roles, Role.ROLE_LEARNER)) { - - String link = "javascript:openGradebookLearnerPopup(" + "'" + org.getName() + "','" - + Configuration.get(ConfigurationKeys.SERVER_URL) - + "/gradebook/gradebookLearning.do?dispatch=courseLearner&organisationID=" - + org.getOrganisationId() + "'," + "750,400,0,0);"; - - links.add(new IndexLinkBean("index.coursegradebook.learner", link, "my-grades-button", null, null)); + try { + // for some reason the name needs to be encoded twice so it's encoded on JSP page as well + String encodedOrgName = URLEncoder.encode(URLEncoder.encode(org.getName(), "UTF8"), "UTF8"); + String link = "javascript:openGradebookLearnerPopup(" + "'" + encodedOrgName + "','" + + Configuration.get(ConfigurationKeys.SERVER_URL) + + "/gradebook/gradebookLearning.do?dispatch=courseLearner&organisationID=" + + org.getOrganisationId() + "'," + "750,400,0,0);"; + + links.add(new IndexLinkBean("index.coursegradebook.learner", link, "my-grades-button", null, null)); + } catch (UnsupportedEncodingException e) { + log.error("Error while encoding course name, skipping gradebook course monitor link", e); + } } if ((contains(roles, Role.ROLE_GROUP_ADMIN) || contains(roles, Role.ROLE_GROUP_MANAGER) || contains(roles, @@ -180,13 +187,18 @@ // Adding gradebook course monitor links if enabled if (org.getEnableGradebookForMonitors() && (contains(roles, Role.ROLE_GROUP_MANAGER) || contains(roles, Role.ROLE_MONITOR))) { - String link = "javascript:openGradebookCourseMonitorPopup(" + "'" + org.getName() + "','" - + Configuration.get(ConfigurationKeys.SERVER_URL) - + "/gradebook/gradebookMonitoring.do?dispatch=courseMonitor&organisationID=" - + org.getOrganisationId() + "'," + "850,400,0,0);"; - - moreLinks.add(new IndexLinkBean("index.coursegradebook", link, "course-gradebook-button", null, - "index.coursegradebook.tooltip")); + try { + // for some reason the name needs to be encoded twice so it's encoded on JSP page as well + String encodedOrgName = URLEncoder.encode(URLEncoder.encode(org.getName(), "UTF8"), "UTF8"); + String link = "javascript:openGradebookCourseMonitorPopup(" + "'" + encodedOrgName + "','" + + Configuration.get(ConfigurationKeys.SERVER_URL) + + "/gradebook/gradebookMonitoring.do?dispatch=courseMonitor&organisationID=" + + org.getOrganisationId() + "'," + "850,400,0,0);"; + moreLinks.add(new IndexLinkBean("index.coursegradebook", link, "course-gradebook-button", null, + "index.coursegradebook.tooltip")); + } catch (UnsupportedEncodingException e) { + log.error("Error while encoding course name, skipping gradebook course monitor link", e); + } } } else {//CLASS_TYPE @@ -198,13 +210,20 @@ + org.getOrganisationId(), null, null)); // Adding gradebook course monitor links if enabled - if (org.getParentOrganisation().getEnableGradebookForMonitors() && (contains(roles, Role.ROLE_GROUP_MANAGER) || contains(roles, Role.ROLE_MONITOR))) { - String link = "javascript:openGradebookCourseMonitorPopup(" + "'" + org.getName() + "','" - + Configuration.get(ConfigurationKeys.SERVER_URL) - + "/gradebook/gradebookMonitoring.do?dispatch=courseMonitor&organisationID=" - + org.getOrganisationId() + "'," + "850,400,0,0);"; - - moreLinks.add(new IndexLinkBean("index.coursegradebook.subgroup", link, "mycourses-mark-img", null, null)); + if (org.getParentOrganisation().getEnableGradebookForMonitors() + && (contains(roles, Role.ROLE_GROUP_MANAGER) || contains(roles, Role.ROLE_MONITOR))) { + try { + // for some reason the name needs to be encoded twice so it's encoded on JSP page as well + String encodedOrgName = URLEncoder.encode(URLEncoder.encode(org.getName(), "UTF8"), "UTF8"); + String link = "javascript:openGradebookCourseMonitorPopup(" + "'" + encodedOrgName + "','" + + Configuration.get(ConfigurationKeys.SERVER_URL) + + "/gradebook/gradebookMonitoring.do?dispatch=courseMonitor&organisationID=" + + org.getOrganisationId() + "'," + "850,400,0,0);"; + moreLinks.add(new IndexLinkBean("index.coursegradebook.subgroup", link, "mycourses-mark-img", + null, null)); + } catch (UnsupportedEncodingException e) { + log.error("Error while encoding course name, skipping gradebook course monitor link", e); + } } } } @@ -344,11 +363,16 @@ if ((contains(roles, Role.ROLE_GROUP_MANAGER) || contains(roles, Role.ROLE_MONITOR)) && org.getEnableGradebookForMonitors() || (parent != null && parent.getEnableGradebookForMonitors())) { - String link = "javascript:openGradebookLessonMonitorPopup(" + "'" + org.getName() + "','" - + Configuration.get(ConfigurationKeys.SERVER_URL) - + "/gradebook/gradebookMonitoring.do?lessonID=" + bean.getId() + "'," + "850,700,0,0);"; - - lessonLinks.add(new IndexLinkBean("index.coursegradebookmonitor", link, null, "mycourses-mark-img", null)); + try { + String encodedOrgName = URLEncoder.encode(URLEncoder.encode(org.getName(), "UTF8"), "UTF8"); + String link = "javascript:openGradebookLessonMonitorPopup(" + "'" + encodedOrgName + "','" + + Configuration.get(ConfigurationKeys.SERVER_URL) + + "/gradebook/gradebookMonitoring.do?lessonID=" + bean.getId() + "'," + "850,700,0,0);"; + lessonLinks.add(new IndexLinkBean("index.coursegradebookmonitor", link, null, "mycourses-mark-img", + null)); + } catch (UnsupportedEncodingException e) { + log.error("Error while encoding course name, skipping gradebook lesson monitor link", e); + } } if (lessonLinks.size() > 0) {