Skip to content
Snippets Groups Projects
Commit 39fa7434 authored by srosse's avatar srosse
Browse files

OO-1300: hardened the error message against missing course and/or repository entry

parent d6c966b9
No related branches found
No related tags found
No related merge requests found
...@@ -1125,26 +1125,29 @@ public class QTIEditorMainController extends MainLayoutBasicController implement ...@@ -1125,26 +1125,29 @@ public class QTIEditorMainController extends MainLayoutBasicController implement
// FIXME:discuss:possible performance/cache problem // FIXME:discuss:possible performance/cache problem
if ("CourseModule".equals(element.getSource().getResourceableTypeName())) { if ("CourseModule".equals(element.getSource().getResourceableTypeName())) {
ICourse course = CourseFactory.loadCourse(element.getSource().getResourceableId()); ICourse course = CourseFactory.loadCourse(element.getSource().getResourceableId());
if(course == null) {
// the course owners continue;
}
RepositoryEntry entry = rm.lookupRepositoryEntry(course, false);
String courseTitle = course.getCourseTitle(); String courseTitle = course.getCourseTitle();
SecurityGroup owners = entry.getOwnerGroup();
List<Identity> stakeHoldersIds = BaseSecurityManager.getInstance().getIdentitiesOfSecurityGroup(owners);
// add stakeholders as group
cl = new ContactList(courseTitle);
cl.addAllIdentites(stakeHoldersIds);
changeEmail.addEmailTo(cl);
StringBuilder stakeHolders = new StringBuilder(); StringBuilder stakeHolders = new StringBuilder();
User user = ((Identity) stakeHoldersIds.get(0)).getUser();
Locale loc = ureq.getLocale(); // the course owners
stakeHolders.append(user.getProperty(UserConstants.FIRSTNAME, loc)).append(" ").append(user.getProperty(UserConstants.LASTNAME, loc)); RepositoryEntry entry = rm.lookupRepositoryEntry(course, false);
for (int i = 1; i < stakeHoldersIds.size(); i++) { if(entry != null) {//OO-1300
user = ((Identity) stakeHoldersIds.get(i)).getUser(); SecurityGroup owners = entry.getOwnerGroup();
stakeHolders.append(", ").append(user.getProperty(UserConstants.FIRSTNAME, loc)).append(" ").append(user.getProperty(UserConstants.LASTNAME, loc)); List<Identity> stakeHoldersIds = BaseSecurityManager.getInstance().getIdentitiesOfSecurityGroup(owners);
// add stakeholders as group
cl = new ContactList(courseTitle);
cl.addAllIdentites(stakeHoldersIds);
changeEmail.addEmailTo(cl);
User user = ((Identity) stakeHoldersIds.get(0)).getUser();
Locale loc = ureq.getLocale();
stakeHolders.append(user.getProperty(UserConstants.FIRSTNAME, loc)).append(" ").append(user.getProperty(UserConstants.LASTNAME, loc));
for (int i = 1; i < stakeHoldersIds.size(); i++) {
user = ((Identity) stakeHoldersIds.get(i)).getUser();
stakeHolders.append(", ").append(user.getProperty(UserConstants.FIRSTNAME, loc)).append(" ").append(user.getProperty(UserConstants.LASTNAME, loc));
}
} }
CourseNode cn = course.getEditorTreeModel().getCourseNode(element.getUserdata()); CourseNode cn = course.getEditorTreeModel().getCourseNode(element.getUserdata());
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment