From 0fc01d1f10577aaeefce57f915e093d219ec49e4 Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Mon, 21 Mar 2016 12:15:34 +0100 Subject: [PATCH] OO-1945: better naming of user course environment, use the course environment of the assessed identities to update the score... --- .../NewCachePersistingAssessmentManager.java | 6 ++-- .../AssessedIdentityCheckListController.java | 8 ++--- .../AssessedIdentityOverviewController.java | 8 ++--- .../cl/ui/CheckListAssessmentController.java | 29 ++++++++++++------- .../cl/ui/CheckboxAssessmentController.java | 9 +++--- 5 files changed, 34 insertions(+), 26 deletions(-) diff --git a/src/main/java/org/olat/course/assessment/NewCachePersistingAssessmentManager.java b/src/main/java/org/olat/course/assessment/NewCachePersistingAssessmentManager.java index ebf2473260a..711ecb5f5d4 100644 --- a/src/main/java/org/olat/course/assessment/NewCachePersistingAssessmentManager.java +++ b/src/main/java/org/olat/course/assessment/NewCachePersistingAssessmentManager.java @@ -858,7 +858,7 @@ public class NewCachePersistingAssessmentManager extends BasicManager implements * @see org.olat.course.assessment.AssessmentManager#saveScoreEvaluation(org.olat.course.nodes.CourseNode, org.olat.core.id.Identity, org.olat.core.id.Identity, org.olat.course.run.scoring.ScoreEvaluation) */ public void saveScoreEvaluation(final CourseNode courseNode, final Identity identity, final Identity assessedIdentity, final ScoreEvaluation scoreEvaluation, - final UserCourseEnvironment userCourseEnv, final boolean incrementUserAttempts) { + final UserCourseEnvironment assessedUserCourseEnv, final boolean incrementUserAttempts) { final ICourse course = CourseFactory.loadCourse(ores); final CoursePropertyManager cpm = course.getCourseEnvironment().getCoursePropertyManager(); final RepositoryEntry courseEntry = course.getCourseEnvironment().getCourseGroupManager().getCourseEntry(); @@ -880,10 +880,10 @@ public class NewCachePersistingAssessmentManager extends BasicManager implements attempts = incrementNodeAttemptsProperty(courseNode, assessedIdentity, cpm); } if(courseNode instanceof AssessableCourseNode) { - userCourseEnv.getScoreAccounting().scoreInfoChanged((AssessableCourseNode)courseNode, scoreEvaluation); + assessedUserCourseEnv.getScoreAccounting().scoreInfoChanged((AssessableCourseNode)courseNode, scoreEvaluation); // Update users efficiency statement EfficiencyStatementManager esm = EfficiencyStatementManager.getInstance(); - esm.updateUserEfficiencyStatement(userCourseEnv); + esm.updateUserEfficiencyStatement(assessedUserCourseEnv); } if(passed != null && passed.booleanValue() && course.getCourseConfig().isAutomaticCertificationEnabled()) { diff --git a/src/main/java/org/olat/course/nodes/cl/ui/AssessedIdentityCheckListController.java b/src/main/java/org/olat/course/nodes/cl/ui/AssessedIdentityCheckListController.java index addfd6296ff..fa449d3c9fd 100644 --- a/src/main/java/org/olat/course/nodes/cl/ui/AssessedIdentityCheckListController.java +++ b/src/main/java/org/olat/course/nodes/cl/ui/AssessedIdentityCheckListController.java @@ -69,7 +69,7 @@ public class AssessedIdentityCheckListController extends FormBasicController { private final boolean saveAndClose; private final ModuleConfiguration config; private final CheckListCourseNode courseNode; - private final UserCourseEnvironment userCourseEnv; + private final UserCourseEnvironment assessedUserCourseEnv; private final OLATResourceable courseOres; private final Identity assessedIdentity; private final CheckboxList checkboxList; @@ -82,13 +82,13 @@ public class AssessedIdentityCheckListController extends FormBasicController { public AssessedIdentityCheckListController(UserRequest ureq, WindowControl wControl, Identity assessedIdentity, OLATResourceable courseOres, - UserCourseEnvironment userCourseEnv, CheckListCourseNode courseNode, boolean saveAndClose) { + UserCourseEnvironment assessedUserCourseEnv, CheckListCourseNode courseNode, boolean saveAndClose) { super(ureq, wControl); this.courseNode = courseNode; this.courseOres = courseOres; this.saveAndClose = saveAndClose; - this.userCourseEnv = userCourseEnv; + this.assessedUserCourseEnv = assessedUserCourseEnv; config = courseNode.getModuleConfiguration(); Boolean hasScore = (Boolean)config.get(MSCourseNode.CONFIG_KEY_HAS_SCORE_FIELD); withScore = (hasScore == null || hasScore.booleanValue()); @@ -278,7 +278,7 @@ public class AssessedIdentityCheckListController extends FormBasicController { } checkboxManager.check(courseOres, courseNode.getIdent(), batchElements); - courseNode.updateScoreEvaluation(userCourseEnv, assessedIdentity); + courseNode.updateScoreEvaluation(assessedUserCourseEnv, assessedIdentity); } private void doUpdateCheck(CheckboxWrapper wrapper, boolean check) { diff --git a/src/main/java/org/olat/course/nodes/cl/ui/AssessedIdentityOverviewController.java b/src/main/java/org/olat/course/nodes/cl/ui/AssessedIdentityOverviewController.java index dbe0ab67069..900848b24f5 100644 --- a/src/main/java/org/olat/course/nodes/cl/ui/AssessedIdentityOverviewController.java +++ b/src/main/java/org/olat/course/nodes/cl/ui/AssessedIdentityOverviewController.java @@ -60,19 +60,19 @@ public class AssessedIdentityOverviewController extends BasicController { private final Identity assessedIdentity; private final OLATResourceable courseOres; private final CheckListCourseNode courseNode; - private final UserCourseEnvironment userCourseEnv; + private final UserCourseEnvironment assessedUserCourseEnv; private boolean changes = false; public AssessedIdentityOverviewController(UserRequest ureq, WindowControl wControl, Identity assessedIdentity, OLATResourceable courseOres, - UserCourseEnvironment userCourseEnv, CheckListCourseNode courseNode) { + UserCourseEnvironment assessedUserCourseEnv, CheckListCourseNode courseNode) { super(ureq, wControl); this.courseNode = courseNode; this.courseOres = courseOres; this.assessedIdentity = assessedIdentity; - this.userCourseEnv = userCourseEnv; + this.assessedUserCourseEnv = assessedUserCourseEnv; mainVC = createVelocityContainer("user_assessment"); @@ -150,7 +150,7 @@ public class AssessedIdentityOverviewController extends BasicController { private void doOpenCheckList(UserRequest ureq) { if(listCtrl == null) { listCtrl = new AssessedIdentityCheckListController(ureq, getWindowControl(), assessedIdentity, - courseOres, userCourseEnv, courseNode, true); + courseOres, assessedUserCourseEnv, courseNode, true); listenTo(listCtrl); } mainVC.put("segmentCmp", listCtrl.getInitialComponent()); diff --git a/src/main/java/org/olat/course/nodes/cl/ui/CheckListAssessmentController.java b/src/main/java/org/olat/course/nodes/cl/ui/CheckListAssessmentController.java index 40f8bca400b..31a59be6936 100644 --- a/src/main/java/org/olat/course/nodes/cl/ui/CheckListAssessmentController.java +++ b/src/main/java/org/olat/course/nodes/cl/ui/CheckListAssessmentController.java @@ -72,6 +72,7 @@ import org.olat.core.id.UserConstants; import org.olat.core.util.StringHelper; import org.olat.course.CourseFactory; import org.olat.course.ICourse; +import org.olat.course.assessment.AssessmentHelper; import org.olat.course.nodes.CheckListCourseNode; import org.olat.course.nodes.MSCourseNode; import org.olat.course.nodes.cl.CheckboxManager; @@ -95,6 +96,8 @@ import org.olat.user.UserManager; import org.olat.user.propertyhandlers.UserPropertyHandler; /** + * + * This is the coach view. * * Initial date: 07.02.2014<br> * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com @@ -115,7 +118,7 @@ public class CheckListAssessmentController extends FormBasicController implement private final OLATResourceable courseOres; private final CheckListCourseNode courseNode; private final ModuleConfiguration config; - private final UserCourseEnvironment userCourseEnv; + private final UserCourseEnvironment coachCourseEnv; private final boolean isAdministrativeUser; private final List<UserPropertyHandler> userPropertyHandlers; @@ -143,7 +146,7 @@ public class CheckListAssessmentController extends FormBasicController implement * @param wControl * @param courseNode */ - public CheckListAssessmentController(UserRequest ureq, WindowControl wControl, UserCourseEnvironment userCourseEnv, + public CheckListAssessmentController(UserRequest ureq, WindowControl wControl, UserCourseEnvironment coachCourseEnv, OLATResourceable courseOres, CheckListCourseNode courseNode) { super(ureq, wControl, "assessment_list"); @@ -158,7 +161,7 @@ public class CheckListAssessmentController extends FormBasicController implement this.courseOres = courseOres; this.courseNode = courseNode; - this.userCourseEnv = userCourseEnv; + this.coachCourseEnv = coachCourseEnv; config = courseNode.getModuleConfiguration(); CheckboxList configCheckboxList = (CheckboxList)config.get(CheckListCourseNode.CONFIG_KEY_CHECKBOX); if(configCheckboxList == null) { @@ -243,8 +246,8 @@ public class CheckListAssessmentController extends FormBasicController implement List<CheckListAssessmentRow> datas = loadDatas(); model = new CheckListAssessmentDataModel(checkboxList, datas, columnsModel); table = uifactory.addTableElement(getWindowControl(), "checkbox-list", model, getTranslator(), formLayout); - if(userCourseEnv instanceof UserCourseEnvironmentImpl) { - UserCourseEnvironmentImpl env = (UserCourseEnvironmentImpl)userCourseEnv; + if(coachCourseEnv instanceof UserCourseEnvironmentImpl) { + UserCourseEnvironmentImpl env = (UserCourseEnvironmentImpl)coachCourseEnv; List<BusinessGroup> coachedGroups = env.getCoachedGroups(); List<FlexiTableFilter> filters = new ArrayList<>(coachedGroups.size() + 1); filters.add(new FlexiTableFilter(translate("filter.all"), "all")); @@ -276,11 +279,11 @@ public class CheckListAssessmentController extends FormBasicController implement } private List<CheckListAssessmentRow> loadDatas() { - if(!(userCourseEnv instanceof UserCourseEnvironmentImpl)) { + if(!(coachCourseEnv instanceof UserCourseEnvironmentImpl)) { return Collections.emptyList(); } - UserCourseEnvironmentImpl env = (UserCourseEnvironmentImpl)userCourseEnv; + UserCourseEnvironmentImpl env = (UserCourseEnvironmentImpl)coachCourseEnv; List<Checkbox> checkboxColl = checkboxList.getList(); int numOfCheckbox = checkboxList.getNumOfCheckbox(); @@ -300,7 +303,7 @@ public class CheckListAssessmentController extends FormBasicController implement } List<BusinessGroup> coachedGroups = courseAdmin ? - userCourseEnv.getCourseEnvironment().getCourseGroupManager().getAllBusinessGroups() + coachCourseEnv.getCourseEnvironment().getCourseGroupManager().getAllBusinessGroups() : env.getCoachedGroups(); List<AssessmentData> dataList = checkboxManager.getAssessmentDatas(courseOres, courseNode.getIdent(), courseTutor || courseAdmin ? re : null, coachedGroups); List<CheckListAssessmentRow> boxList = getAssessmentDataViews(dataList, checkboxColl); @@ -481,7 +484,7 @@ public class CheckListAssessmentController extends FormBasicController implement List<CheckListAssessmentRow> rows = model.getObjects(); boxAssessmentCtrl = new CheckboxAssessmentController(ureq, getWindowControl(), checkboxList, rows, - courseOres, userCourseEnv, courseNode); + courseOres, courseNode); listenTo(boxAssessmentCtrl); String title = translate("box.assessment"); @@ -557,9 +560,11 @@ public class CheckListAssessmentController extends FormBasicController implement if(assessedIdentityToUpdate.size() > 0) { DBFactory.getInstance().commit(); + ICourse course = CourseFactory.loadCourse(courseOres); List<Identity> identities = securityManager.loadIdentityByKeys(assessedIdentityToUpdate); for(Identity identity:identities) { - courseNode.updateScoreEvaluation(userCourseEnv, identity); + UserCourseEnvironment assessedUserCourseEnv = AssessmentHelper.createAndInitUserCourseEnvironment(identity, course); + courseNode.updateScoreEvaluation(assessedUserCourseEnv, identity); } } @@ -623,9 +628,11 @@ public class CheckListAssessmentController extends FormBasicController implement private void doOpenEdit(UserRequest ureq, CheckListAssessmentRow row) { if(editCtrl != null) return; + ICourse course = CourseFactory.loadCourse(courseOres); Identity assessedIdentity = securityManager.loadIdentityByKey(row.getIdentityKey()); + UserCourseEnvironment assessedUserCourseEnv = AssessmentHelper.createAndInitUserCourseEnvironment(assessedIdentity, course); editCtrl = new AssessedIdentityOverviewController(ureq, getWindowControl(), assessedIdentity, - courseOres, userCourseEnv, courseNode); + courseOres, assessedUserCourseEnv, courseNode); listenTo(editCtrl); String title = courseNode.getShortTitle(); diff --git a/src/main/java/org/olat/course/nodes/cl/ui/CheckboxAssessmentController.java b/src/main/java/org/olat/course/nodes/cl/ui/CheckboxAssessmentController.java index 7ba853945cf..fdd24d53217 100644 --- a/src/main/java/org/olat/course/nodes/cl/ui/CheckboxAssessmentController.java +++ b/src/main/java/org/olat/course/nodes/cl/ui/CheckboxAssessmentController.java @@ -56,6 +56,8 @@ import org.olat.core.id.Identity; import org.olat.core.id.OLATResourceable; import org.olat.core.id.Roles; import org.olat.core.id.UserConstants; +import org.olat.course.CourseFactory; +import org.olat.course.ICourse; import org.olat.course.assessment.AssessmentHelper; import org.olat.course.nodes.CheckListCourseNode; import org.olat.course.nodes.MSCourseNode; @@ -99,17 +101,14 @@ public class CheckboxAssessmentController extends FormBasicController { private int currentCheckboxIndex = 0; private final OLATResourceable courseOres; private final CheckListCourseNode courseNode; - private final UserCourseEnvironment userCourseEnv; public CheckboxAssessmentController(UserRequest ureq, WindowControl wControl, CheckboxList checkboxList, - List<CheckListAssessmentRow> initialRows, OLATResourceable courseOres, - UserCourseEnvironment userCourseEnv, CheckListCourseNode courseNode) { + List<CheckListAssessmentRow> initialRows, OLATResourceable courseOres, CheckListCourseNode courseNode) { super(ureq, wControl, "assessment_per_box"); this.courseNode = courseNode; this.courseOres = courseOres; this.initialRows = initialRows; this.checkboxList = checkboxList; - this.userCourseEnv = userCourseEnv; ModuleConfiguration config = courseNode.getModuleConfiguration(); Boolean hasScore = (Boolean)config.get(MSCourseNode.CONFIG_KEY_HAS_SCORE_FIELD); @@ -380,9 +379,11 @@ public class CheckboxAssessmentController extends FormBasicController { if(assessedIdentityToUpdate.size() > 0) { DBFactory.getInstance().commit(); + ICourse course = CourseFactory.loadCourse(courseOres); List<Identity> identities = securityManager.loadIdentityByKeys(assessedIdentityToUpdate); for(Identity identity:identities) { + UserCourseEnvironment userCourseEnv = AssessmentHelper.createAndInitUserCourseEnvironment(identity, course); courseNode.updateScoreEvaluation(userCourseEnv, identity); } } -- GitLab