use of org.olat.course.assessment.AssessmentMode.Target in project OpenOLAT by OpenOLAT.
the class AssessmentModeEditController method initForm.
@Override
protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
formLayout.setElementCssClass("o_sel_assessment_mode_edit_form");
setFormContextHelp("Assessment mode");
if (StringHelper.containsNonWhitespace(assessmentMode.getName())) {
setFormTitle("form.mode.title", new String[] { assessmentMode.getName() });
} else {
setFormTitle("form.mode.title.add");
}
setFormDescription("form.mode.description");
ICourse course = CourseFactory.loadCourse(courseOres);
if (StringHelper.containsNonWhitespace(assessmentMode.getStartElement())) {
CourseNode startElement = course.getRunStructure().getNode(assessmentMode.getStartElement());
if (startElement == null) {
setFormWarning("warning.missing.start.element");
}
}
if (StringHelper.containsNonWhitespace(assessmentMode.getElementList())) {
String elements = assessmentMode.getElementList();
for (String element : elements.split(",")) {
CourseNode node = course.getRunStructure().getNode(element);
if (node == null) {
setFormWarning("warning.missing.element");
}
}
}
Status status = assessmentMode.getStatus();
String name = assessmentMode.getName();
nameEl = uifactory.addTextElement("mode.name", "mode.name", 255, name, formLayout);
nameEl.setElementCssClass("o_sel_assessment_mode_name");
nameEl.setMandatory(true);
nameEl.setEnabled(status != Status.followup && status != Status.end);
String desc = assessmentMode.getDescription();
descriptionEl = uifactory.addRichTextElementForStringData("mode.description", "mode.description", desc, 6, -1, false, null, null, formLayout, ureq.getUserSession(), getWindowControl());
descriptionEl.setEnabled(status != Status.followup && status != Status.end);
beginEl = uifactory.addDateChooser("mode.begin", assessmentMode.getBegin(), formLayout);
beginEl.setElementCssClass("o_sel_assessment_mode_begin");
beginEl.setDateChooserTimeEnabled(true);
beginEl.setMandatory(true);
beginEl.setEnabled(status == Status.none || status == Status.leadtime);
int leadTime = assessmentMode.getLeadTime();
if (leadTime < 0) {
leadTime = 0;
}
leadTimeEl = uifactory.addIntegerElement("mode.leadTime", leadTime, formLayout);
leadTimeEl.setElementCssClass("o_sel_assessment_mode_leadtime");
leadTimeEl.setDisplaySize(3);
leadTimeEl.setEnabled(status == Status.none || status == Status.leadtime);
endEl = uifactory.addDateChooser("mode.end", assessmentMode.getEnd(), formLayout);
endEl.setElementCssClass("o_sel_assessment_mode_end");
endEl.setDateChooserTimeEnabled(true);
endEl.setDefaultValue(beginEl);
endEl.setMandatory(true);
endEl.setEnabled(status != Status.end);
int followupTime = assessmentMode.getFollowupTime();
if (followupTime < 0) {
followupTime = 0;
}
followupTimeEl = uifactory.addIntegerElement("mode.followupTime", followupTime, formLayout);
followupTimeEl.setElementCssClass("o_sel_assessment_mode_followuptime");
followupTimeEl.setDisplaySize(3);
followupTimeEl.setEnabled(status != Status.end);
String[] startModeValues = new String[] { translate("mode.beginend.automatic"), translate("mode.beginend.manual") };
startModeEl = uifactory.addDropdownSingleselect("mode.beginend", formLayout, startModeKeys, startModeValues, null);
startModeEl.setElementCssClass("o_sel_assessment_mode_start_mode");
if (assessmentMode.isManualBeginEnd()) {
startModeEl.select(startModeKeys[1], true);
} else {
startModeEl.select(startModeKeys[0], true);
}
startModeEl.setEnabled(status != Status.end);
String[] audienceKeys = new String[] { AssessmentMode.Target.courseAndGroups.name(), AssessmentMode.Target.course.name(), AssessmentMode.Target.groups.name() };
String[] audienceValues = new String[] { translate("target.courseAndGroups"), translate("target.course"), translate("target.groups") };
targetEl = uifactory.addRadiosVertical("audience", "mode.target", formLayout, audienceKeys, audienceValues);
targetEl.setElementCssClass("o_sel_assessment_mode_audience");
targetEl.setEnabled(status != Status.end);
Target target = assessmentMode.getTargetAudience();
if (target != null) {
for (String audienceKey : audienceKeys) {
if (audienceKey.equals(target.name())) {
targetEl.select(audienceKey, true);
}
}
}
if (!targetEl.isOneSelected()) {
targetEl.select(audienceKeys[0], true);
}
// choose groups
String groupPage = velocity_root + "/choose_groups.html";
chooseGroupsCont = FormLayoutContainer.createCustomFormLayout("chooseGroups", getTranslator(), groupPage);
chooseGroupsCont.setRootForm(mainForm);
formLayout.add(chooseGroupsCont);
chooseGroupsButton = uifactory.addFormLink("choose.groups", chooseGroupsCont, Link.BUTTON);
chooseGroupsButton.setEnabled(status != Status.end);
chooseAreasButton = uifactory.addFormLink("choose.areas", chooseGroupsCont, Link.BUTTON);
chooseAreasButton.setEnabled(status != Status.end);
groupKeys = new ArrayList<>();
groupNames = new ArrayList<>();
for (AssessmentModeToGroup modeToGroup : assessmentMode.getGroups()) {
BusinessGroup group = modeToGroup.getBusinessGroup();
groupKeys.add(group.getKey());
groupNames.add(StringHelper.escapeHtml(group.getName()));
}
chooseGroupsCont.getFormItemComponent().contextPut("groupNames", groupNames);
areaKeys = new ArrayList<>();
areaNames = new ArrayList<>();
for (AssessmentModeToArea modeToArea : assessmentMode.getAreas()) {
BGArea area = modeToArea.getArea();
areaKeys.add(area.getKey());
areaNames.add(StringHelper.escapeHtml(area.getName()));
}
chooseGroupsCont.getFormItemComponent().contextPut("areaNames", areaNames);
// course elements
courseElementsRestrictionEl = uifactory.addCheckboxesHorizontal("cer", "mode.course.element.restriction", formLayout, onKeys, onValues);
courseElementsRestrictionEl.addActionListener(FormEvent.ONCHANGE);
courseElementsRestrictionEl.select(onKeys[0], assessmentMode.isRestrictAccessElements());
courseElementsRestrictionEl.setEnabled(status != Status.end);
String coursePage = velocity_root + "/choose_elements.html";
chooseElementsCont = FormLayoutContainer.createCustomFormLayout("chooseElements", getTranslator(), coursePage);
chooseElementsCont.setRootForm(mainForm);
formLayout.add(chooseElementsCont);
chooseElementsCont.setVisible(assessmentMode.isRestrictAccessElements());
CourseEditorTreeModel treeModel = course.getEditorTreeModel();
elementKeys = new ArrayList<>();
elementNames = new ArrayList<>();
String elements = assessmentMode.getElementList();
if (StringHelper.containsNonWhitespace(elements)) {
for (String element : elements.split(",")) {
String courseNodeName = getCourseNodeName(element, treeModel);
if (StringHelper.containsNonWhitespace(courseNodeName)) {
elementKeys.add(element);
elementNames.add(courseNodeName);
}
}
}
chooseElementsCont.getFormItemComponent().contextPut("elementNames", elementNames);
chooseElementsButton = uifactory.addFormLink("choose.elements", chooseElementsCont, Link.BUTTON);
chooseElementsButton.setEnabled(status != Status.end);
startElementKey = assessmentMode.getStartElement();
String startElementName = "";
if (StringHelper.containsNonWhitespace(startElementKey)) {
startElementName = getCourseNodeName(startElementKey, treeModel);
}
startElementEl = uifactory.addStaticTextElement("mode.start.element", "mode.start.element", startElementName, formLayout);
chooseStartElementButton = uifactory.addFormLink("choose.start.element", formLayout, Link.BUTTON);
chooseStartElementButton.setEnabled(status != Status.end);
// ips
ipsEl = uifactory.addCheckboxesHorizontal("ips", "mode.ips", formLayout, onKeys, onValues);
ipsEl.select(onKeys[0], assessmentMode.isRestrictAccessIps());
ipsEl.addActionListener(FormEvent.ONCHANGE);
ipsEl.setEnabled(status != Status.end);
String ipList = assessmentMode.getIpList();
ipListEl = uifactory.addTextAreaElement("mode.ips.list", "mode.ips.list", 4096, 4, 60, false, ipList, formLayout);
ipListEl.setVisible(assessmentMode.isRestrictAccessIps());
ipListEl.setEnabled(status != Status.end);
safeExamBrowserEl = uifactory.addCheckboxesHorizontal("safeexam", "mode.safeexambrowser", formLayout, onKeys, onValues);
safeExamBrowserEl.select(onKeys[0], assessmentMode.isSafeExamBrowser());
safeExamBrowserEl.addActionListener(FormEvent.ONCHANGE);
safeExamBrowserEl.setEnabled(status != Status.end);
String key = assessmentMode.getSafeExamBrowserKey();
safeExamBrowserKeyEl = uifactory.addTextAreaElement("safeexamkey", "mode.safeexambrowser.key", 4096, 6, 60, false, key, formLayout);
safeExamBrowserKeyEl.setVisible(assessmentMode.isSafeExamBrowser());
safeExamBrowserKeyEl.setEnabled(status != Status.end);
String hint = assessmentMode.getSafeExamBrowserHint();
safeExamBrowserHintEl = uifactory.addRichTextElementForStringData("safeexamhint", "mode.safeexambrowser.hint", hint, 10, -1, false, null, null, formLayout, ureq.getUserSession(), getWindowControl());
safeExamBrowserHintEl.setVisible(assessmentMode.isSafeExamBrowser());
safeExamBrowserHintEl.setEnabled(status != Status.end);
forCoachEl = uifactory.addCheckboxesHorizontal("forcoach", "mode.for.coach", formLayout, onKeys, onValues);
forCoachEl.select(onKeys[0], assessmentMode.isApplySettingsForCoach());
forCoachEl.setEnabled(status != Status.end);
FormLayoutContainer buttonCont = FormLayoutContainer.createButtonLayout("button", getTranslator());
formLayout.add(buttonCont);
if (status != Status.end) {
uifactory.addFormSubmitButton("save", buttonCont);
}
uifactory.addFormCancelButton("cancel", buttonCont, ureq, getWindowControl());
}
use of org.olat.course.assessment.AssessmentMode.Target in project openolat by klemens.
the class AssessmentModeEditController method initForm.
@Override
protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
formLayout.setElementCssClass("o_sel_assessment_mode_edit_form");
setFormContextHelp("Assessment mode");
if (StringHelper.containsNonWhitespace(assessmentMode.getName())) {
setFormTitle("form.mode.title", new String[] { assessmentMode.getName() });
} else {
setFormTitle("form.mode.title.add");
}
setFormDescription("form.mode.description");
ICourse course = CourseFactory.loadCourse(courseOres);
if (StringHelper.containsNonWhitespace(assessmentMode.getStartElement())) {
CourseNode startElement = course.getRunStructure().getNode(assessmentMode.getStartElement());
if (startElement == null) {
setFormWarning("warning.missing.start.element");
}
}
if (StringHelper.containsNonWhitespace(assessmentMode.getElementList())) {
String elements = assessmentMode.getElementList();
for (String element : elements.split(",")) {
CourseNode node = course.getRunStructure().getNode(element);
if (node == null) {
setFormWarning("warning.missing.element");
}
}
}
Status status = assessmentMode.getStatus();
String name = assessmentMode.getName();
nameEl = uifactory.addTextElement("mode.name", "mode.name", 255, name, formLayout);
nameEl.setElementCssClass("o_sel_assessment_mode_name");
nameEl.setMandatory(true);
nameEl.setEnabled(status != Status.followup && status != Status.end);
String desc = assessmentMode.getDescription();
descriptionEl = uifactory.addRichTextElementForStringData("mode.description", "mode.description", desc, 6, -1, false, null, null, formLayout, ureq.getUserSession(), getWindowControl());
descriptionEl.setEnabled(status != Status.followup && status != Status.end);
beginEl = uifactory.addDateChooser("mode.begin", assessmentMode.getBegin(), formLayout);
beginEl.setElementCssClass("o_sel_assessment_mode_begin");
beginEl.setDateChooserTimeEnabled(true);
beginEl.setMandatory(true);
beginEl.setEnabled(status == Status.none || status == Status.leadtime);
int leadTime = assessmentMode.getLeadTime();
if (leadTime < 0) {
leadTime = 0;
}
leadTimeEl = uifactory.addIntegerElement("mode.leadTime", leadTime, formLayout);
leadTimeEl.setElementCssClass("o_sel_assessment_mode_leadtime");
leadTimeEl.setDisplaySize(3);
leadTimeEl.setEnabled(status == Status.none || status == Status.leadtime);
endEl = uifactory.addDateChooser("mode.end", assessmentMode.getEnd(), formLayout);
endEl.setElementCssClass("o_sel_assessment_mode_end");
endEl.setDateChooserTimeEnabled(true);
endEl.setDefaultValue(beginEl);
endEl.setMandatory(true);
endEl.setEnabled(status != Status.end);
int followupTime = assessmentMode.getFollowupTime();
if (followupTime < 0) {
followupTime = 0;
}
followupTimeEl = uifactory.addIntegerElement("mode.followupTime", followupTime, formLayout);
followupTimeEl.setElementCssClass("o_sel_assessment_mode_followuptime");
followupTimeEl.setDisplaySize(3);
followupTimeEl.setEnabled(status != Status.end);
String[] startModeValues = new String[] { translate("mode.beginend.automatic"), translate("mode.beginend.manual") };
startModeEl = uifactory.addDropdownSingleselect("mode.beginend", formLayout, startModeKeys, startModeValues, null);
startModeEl.setElementCssClass("o_sel_assessment_mode_start_mode");
if (assessmentMode.isManualBeginEnd()) {
startModeEl.select(startModeKeys[1], true);
} else {
startModeEl.select(startModeKeys[0], true);
}
startModeEl.setEnabled(status != Status.end);
String[] audienceKeys = new String[] { AssessmentMode.Target.courseAndGroups.name(), AssessmentMode.Target.course.name(), AssessmentMode.Target.groups.name() };
String[] audienceValues = new String[] { translate("target.courseAndGroups"), translate("target.course"), translate("target.groups") };
targetEl = uifactory.addRadiosVertical("audience", "mode.target", formLayout, audienceKeys, audienceValues);
targetEl.setElementCssClass("o_sel_assessment_mode_audience");
targetEl.setEnabled(status != Status.end);
Target target = assessmentMode.getTargetAudience();
if (target != null) {
for (String audienceKey : audienceKeys) {
if (audienceKey.equals(target.name())) {
targetEl.select(audienceKey, true);
}
}
}
if (!targetEl.isOneSelected()) {
targetEl.select(audienceKeys[0], true);
}
// choose groups
String groupPage = velocity_root + "/choose_groups.html";
chooseGroupsCont = FormLayoutContainer.createCustomFormLayout("chooseGroups", getTranslator(), groupPage);
chooseGroupsCont.setRootForm(mainForm);
formLayout.add(chooseGroupsCont);
chooseGroupsButton = uifactory.addFormLink("choose.groups", chooseGroupsCont, Link.BUTTON);
chooseGroupsButton.setEnabled(status != Status.end);
chooseAreasButton = uifactory.addFormLink("choose.areas", chooseGroupsCont, Link.BUTTON);
chooseAreasButton.setEnabled(status != Status.end);
groupKeys = new ArrayList<>();
groupNames = new ArrayList<>();
for (AssessmentModeToGroup modeToGroup : assessmentMode.getGroups()) {
BusinessGroup group = modeToGroup.getBusinessGroup();
groupKeys.add(group.getKey());
groupNames.add(StringHelper.escapeHtml(group.getName()));
}
chooseGroupsCont.getFormItemComponent().contextPut("groupNames", groupNames);
areaKeys = new ArrayList<>();
areaNames = new ArrayList<>();
for (AssessmentModeToArea modeToArea : assessmentMode.getAreas()) {
BGArea area = modeToArea.getArea();
areaKeys.add(area.getKey());
areaNames.add(StringHelper.escapeHtml(area.getName()));
}
chooseGroupsCont.getFormItemComponent().contextPut("areaNames", areaNames);
// course elements
courseElementsRestrictionEl = uifactory.addCheckboxesHorizontal("cer", "mode.course.element.restriction", formLayout, onKeys, onValues);
courseElementsRestrictionEl.addActionListener(FormEvent.ONCHANGE);
courseElementsRestrictionEl.select(onKeys[0], assessmentMode.isRestrictAccessElements());
courseElementsRestrictionEl.setEnabled(status != Status.end);
String coursePage = velocity_root + "/choose_elements.html";
chooseElementsCont = FormLayoutContainer.createCustomFormLayout("chooseElements", getTranslator(), coursePage);
chooseElementsCont.setRootForm(mainForm);
formLayout.add(chooseElementsCont);
chooseElementsCont.setVisible(assessmentMode.isRestrictAccessElements());
CourseEditorTreeModel treeModel = course.getEditorTreeModel();
elementKeys = new ArrayList<>();
elementNames = new ArrayList<>();
String elements = assessmentMode.getElementList();
if (StringHelper.containsNonWhitespace(elements)) {
for (String element : elements.split(",")) {
String courseNodeName = getCourseNodeName(element, treeModel);
if (StringHelper.containsNonWhitespace(courseNodeName)) {
elementKeys.add(element);
elementNames.add(courseNodeName);
}
}
}
chooseElementsCont.getFormItemComponent().contextPut("elementNames", elementNames);
chooseElementsButton = uifactory.addFormLink("choose.elements", chooseElementsCont, Link.BUTTON);
chooseElementsButton.setEnabled(status != Status.end);
startElementKey = assessmentMode.getStartElement();
String startElementName = "";
if (StringHelper.containsNonWhitespace(startElementKey)) {
startElementName = getCourseNodeName(startElementKey, treeModel);
}
startElementEl = uifactory.addStaticTextElement("mode.start.element", "mode.start.element", startElementName, formLayout);
chooseStartElementButton = uifactory.addFormLink("choose.start.element", formLayout, Link.BUTTON);
chooseStartElementButton.setEnabled(status != Status.end);
// ips
ipsEl = uifactory.addCheckboxesHorizontal("ips", "mode.ips", formLayout, onKeys, onValues);
ipsEl.select(onKeys[0], assessmentMode.isRestrictAccessIps());
ipsEl.addActionListener(FormEvent.ONCHANGE);
ipsEl.setEnabled(status != Status.end);
String ipList = assessmentMode.getIpList();
ipListEl = uifactory.addTextAreaElement("mode.ips.list", "mode.ips.list", 4096, 4, 60, false, ipList, formLayout);
ipListEl.setVisible(assessmentMode.isRestrictAccessIps());
ipListEl.setEnabled(status != Status.end);
safeExamBrowserEl = uifactory.addCheckboxesHorizontal("safeexam", "mode.safeexambrowser", formLayout, onKeys, onValues);
safeExamBrowserEl.select(onKeys[0], assessmentMode.isSafeExamBrowser());
safeExamBrowserEl.addActionListener(FormEvent.ONCHANGE);
safeExamBrowserEl.setEnabled(status != Status.end);
String key = assessmentMode.getSafeExamBrowserKey();
safeExamBrowserKeyEl = uifactory.addTextAreaElement("safeexamkey", "mode.safeexambrowser.key", 4096, 6, 60, false, key, formLayout);
safeExamBrowserKeyEl.setVisible(assessmentMode.isSafeExamBrowser());
safeExamBrowserKeyEl.setEnabled(status != Status.end);
String hint = assessmentMode.getSafeExamBrowserHint();
safeExamBrowserHintEl = uifactory.addRichTextElementForStringData("safeexamhint", "mode.safeexambrowser.hint", hint, 10, -1, false, null, null, formLayout, ureq.getUserSession(), getWindowControl());
safeExamBrowserHintEl.setVisible(assessmentMode.isSafeExamBrowser());
safeExamBrowserHintEl.setEnabled(status != Status.end);
forCoachEl = uifactory.addCheckboxesHorizontal("forcoach", "mode.for.coach", formLayout, onKeys, onValues);
forCoachEl.select(onKeys[0], assessmentMode.isApplySettingsForCoach());
forCoachEl.setEnabled(status != Status.end);
FormLayoutContainer buttonCont = FormLayoutContainer.createButtonLayout("button", getTranslator());
formLayout.add(buttonCont);
if (status != Status.end) {
uifactory.addFormSubmitButton("save", buttonCont);
}
uifactory.addFormCancelButton("cancel", buttonCont, ureq, getWindowControl());
}
use of org.olat.course.assessment.AssessmentMode.Target in project OpenOLAT by OpenOLAT.
the class AssessmentModeEditController method validateFormLogic.
@Override
protected boolean validateFormLogic(UserRequest ureq) {
boolean allOk = true;
nameEl.clearError();
if (StringHelper.containsNonWhitespace(nameEl.getValue())) {
// too long
} else {
nameEl.setErrorKey("form.legende.mandatory", null);
allOk &= false;
}
endEl.clearError();
beginEl.clearError();
if (beginEl.getDate() == null) {
beginEl.setErrorKey("form.legende.mandatory", null);
allOk &= false;
}
if (endEl.getDate() == null) {
endEl.setErrorKey("form.legende.mandatory", null);
allOk &= false;
}
if (beginEl.getDate() != null && endEl.getDate() != null) {
if (beginEl.getDate().compareTo(endEl.getDate()) >= 0) {
beginEl.setErrorKey("error.begin.after.end", null);
endEl.setErrorKey("error.begin.after.end", null);
allOk &= false;
}
}
courseElementsRestrictionEl.clearError();
if (courseElementsRestrictionEl.isAtLeastSelected(1)) {
if (elementKeys.isEmpty()) {
courseElementsRestrictionEl.setErrorKey("error.course.element.mandatory", null);
allOk &= false;
}
}
targetEl.clearError();
if (targetEl.isOneSelected()) {
Target target = AssessmentMode.Target.valueOf(targetEl.getSelectedKey());
if (target == Target.courseAndGroups || target == Target.groups) {
if (groupKeys.isEmpty() && areaKeys.isEmpty()) {
targetEl.setErrorKey("error.group.missing", null);
allOk &= false;
}
}
} else {
targetEl.setErrorKey("form.legende.mandatory", null);
allOk &= false;
}
safeExamBrowserKeyEl.clearError();
if (safeExamBrowserEl.isAtLeastSelected(1)) {
String value = safeExamBrowserKeyEl.getValue();
if (!StringHelper.containsNonWhitespace(value)) {
safeExamBrowserKeyEl.setErrorKey("form.legende.mandatory", null);
allOk &= false;
}
}
ipListEl.clearError();
if (ipsEl.isAtLeastSelected(1)) {
String value = ipListEl.getValue();
if (!StringHelper.containsNonWhitespace(value)) {
ipListEl.setErrorKey("form.legende.mandatory", null);
allOk &= false;
}
}
return allOk & super.validateFormLogic(ureq);
}
use of org.olat.course.assessment.AssessmentMode.Target in project OpenOLAT by OpenOLAT.
the class AssessmentModeManagerImpl method getAssessedIdentityKeys.
@Override
public Set<Long> getAssessedIdentityKeys(AssessmentMode assessmentMode) {
Target targetAudience = assessmentMode.getTargetAudience();
RepositoryEntry re = assessmentMode.getRepositoryEntry();
Set<Long> assessedKeys = new HashSet<>();
if (targetAudience == Target.course || targetAudience == Target.courseAndGroups) {
List<Long> courseMemberKeys = assessmentMode.isApplySettingsForCoach() ? repositoryEntryRelationDao.getMemberKeys(re, RepositoryEntryRelationType.defaultGroup, GroupRoles.coach.name(), GroupRoles.participant.name()) : repositoryEntryRelationDao.getMemberKeys(re, RepositoryEntryRelationType.defaultGroup, GroupRoles.participant.name());
assessedKeys.addAll(courseMemberKeys);
}
if (targetAudience == Target.groups || targetAudience == Target.courseAndGroups) {
List<BusinessGroup> groups = new ArrayList<>();
Set<AssessmentModeToArea> modeToAreas = assessmentMode.getAreas();
if (modeToAreas.size() > 0) {
List<BGArea> areas = new ArrayList<>(modeToAreas.size());
for (AssessmentModeToArea modeToArea : modeToAreas) {
areas.add(modeToArea.getArea());
}
List<BusinessGroup> groupsInAreas = areaMgr.findBusinessGroupsOfAreas(areas);
groups.addAll(groupsInAreas);
}
Set<AssessmentModeToGroup> modeToGroups = assessmentMode.getGroups();
if (modeToGroups.size() > 0) {
for (AssessmentModeToGroup modeToGroup : modeToGroups) {
groups.add(modeToGroup.getBusinessGroup());
}
}
List<Long> groupMemberKeys = assessmentMode.isApplySettingsForCoach() ? businessGroupRelationDao.getMemberKeys(groups, GroupRoles.coach.name(), GroupRoles.participant.name()) : businessGroupRelationDao.getMemberKeys(groups, GroupRoles.participant.name());
assessedKeys.addAll(groupMemberKeys);
}
return assessedKeys;
}
use of org.olat.course.assessment.AssessmentMode.Target in project openolat by klemens.
the class AssessmentModeManagerImpl method getAssessedIdentityKeys.
@Override
public Set<Long> getAssessedIdentityKeys(AssessmentMode assessmentMode) {
Target targetAudience = assessmentMode.getTargetAudience();
RepositoryEntry re = assessmentMode.getRepositoryEntry();
Set<Long> assessedKeys = new HashSet<>();
if (targetAudience == Target.course || targetAudience == Target.courseAndGroups) {
List<Long> courseMemberKeys = assessmentMode.isApplySettingsForCoach() ? repositoryEntryRelationDao.getMemberKeys(re, RepositoryEntryRelationType.defaultGroup, GroupRoles.coach.name(), GroupRoles.participant.name()) : repositoryEntryRelationDao.getMemberKeys(re, RepositoryEntryRelationType.defaultGroup, GroupRoles.participant.name());
assessedKeys.addAll(courseMemberKeys);
}
if (targetAudience == Target.groups || targetAudience == Target.courseAndGroups) {
List<BusinessGroup> groups = new ArrayList<>();
Set<AssessmentModeToArea> modeToAreas = assessmentMode.getAreas();
if (modeToAreas.size() > 0) {
List<BGArea> areas = new ArrayList<>(modeToAreas.size());
for (AssessmentModeToArea modeToArea : modeToAreas) {
areas.add(modeToArea.getArea());
}
List<BusinessGroup> groupsInAreas = areaMgr.findBusinessGroupsOfAreas(areas);
groups.addAll(groupsInAreas);
}
Set<AssessmentModeToGroup> modeToGroups = assessmentMode.getGroups();
if (modeToGroups.size() > 0) {
for (AssessmentModeToGroup modeToGroup : modeToGroups) {
groups.add(modeToGroup.getBusinessGroup());
}
}
List<Long> groupMemberKeys = assessmentMode.isApplySettingsForCoach() ? businessGroupRelationDao.getMemberKeys(groups, GroupRoles.coach.name(), GroupRoles.participant.name()) : businessGroupRelationDao.getMemberKeys(groups, GroupRoles.participant.name());
assessedKeys.addAll(groupMemberKeys);
}
return assessedKeys;
}
Aggregations