diff --git a/src/main/java/org/olat/course/assessment/AssessmentHelper.java b/src/main/java/org/olat/course/assessment/AssessmentHelper.java index 14aff5c5d15cb0016c88b6284a1810eaf7d5da3e..13efac1c7a948de6dc488f23a0665100cbda5fab 100644 --- a/src/main/java/org/olat/course/assessment/AssessmentHelper.java +++ b/src/main/java/org/olat/course/assessment/AssessmentHelper.java @@ -319,8 +319,7 @@ public class AssessmentHelper { // - it is of an assessable course node type boolean hasDisplayableValuesConfigured = false; boolean hasDisplayableUserValues = false; - if ( (childrenData.size() > 0 || courseNode instanceof AssessableCourseNode) && !(courseNode instanceof ProjectBrokerCourseNode) ) { - // TODO:cg 04.11.2010 ProjectBroker : no assessment-tool in V1.0 , remove projectbroker completely form assessment-tool gui + if (childrenData.size() > 0 || courseNode instanceof AssessableCourseNode) { // Store node and user data in object array. This object array serves as data model for // the user assessment overview table Map<String,Object> nodeData = new HashMap<String, Object>(); @@ -332,7 +331,10 @@ public class AssessmentHelper { nodeData.put(KEY_TITLE_LONG, courseNode.getLongTitle()); nodeData.put(KEY_IDENTIFYER, courseNode.getIdent()); - if (courseNode instanceof AssessableCourseNode) { + if(courseNode instanceof ProjectBrokerCourseNode) { + //ProjectBroker : no assessment-tool in V1.0 , remove project broker completely form assessment-tool gui + nodeData.put(KEY_SELECTABLE, Boolean.FALSE); + } else if (courseNode instanceof AssessableCourseNode) { AssessableCourseNode assessableCourseNode = (AssessableCourseNode) courseNode; ScoreEvaluation scoreEvaluation = userCourseEnv.getScoreAccounting().getScoreEvaluation(courseNode); // details diff --git a/src/main/java/org/olat/course/assessment/AssessmentMainController.java b/src/main/java/org/olat/course/assessment/AssessmentMainController.java index ee961a001dac87f3f3b8f04e6c10a16f6c0d7e6b..f85956c50ae6a0b141f1454aa6877798a9f2d5bd 100644 --- a/src/main/java/org/olat/course/assessment/AssessmentMainController.java +++ b/src/main/java/org/olat/course/assessment/AssessmentMainController.java @@ -404,7 +404,6 @@ public class AssessmentMainController extends MainLayoutBasicController implemen } else if (cmd.equals(CMD_USERFOCUS)) { mode = MODE_USERFOCUS; identitiesList = getAllAssessableIdentities(); - //fxdiff FXOLAT-108: improve results table of tests doUserChooseWithData(ureq, identitiesList, null, null); } else if (cmd.equals(CMD_GROUPFOCUS)) { mode = MODE_GROUPFOCUS; @@ -1106,8 +1105,7 @@ public class AssessmentMainController extends MainLayoutBasicController implemen } boolean hasDisplayableValuesConfigured = false; - if ( (childrenData.size() > 0 || courseNode instanceof AssessableCourseNode) && !(courseNode instanceof ProjectBrokerCourseNode) ) { - // TODO:cg 04.11.2010 ProjectBroker : no assessment-tool in V1.0 , remove projectbroker completely form assessment-tool gui // Store node data in hash map. This hash map serves as data model for + if (childrenData.size() > 0 || courseNode instanceof AssessableCourseNode) { // the user assessment overview table. Leave user data empty since not used in // this table. (use only node data) NodeTableRow nodeData = new NodeTableRow(recursionLevel, courseNode); @@ -1121,9 +1119,11 @@ public class AssessmentMainController extends MainLayoutBasicController implemen nodeData.setOnyx(false); } } - - if (courseNode instanceof AssessableCourseNode) { + if(courseNode instanceof ProjectBrokerCourseNode) { + //ProjectBroker : no assessment-tool in V1.0 , remove project broker completely form assessment-tool gui + nodeData.setSelectable(false); + } else if (courseNode instanceof AssessableCourseNode) { AssessableCourseNode assessableCourseNode = (AssessableCourseNode) courseNode; if ( assessableCourseNode.hasDetails() || assessableCourseNode.hasAttemptsConfigured() diff --git a/src/main/java/org/olat/course/nodes/projectbroker/ProjectEditDetailsFormController.java b/src/main/java/org/olat/course/nodes/projectbroker/ProjectEditDetailsFormController.java index 80afc9276d1dcea021418ffd6ca1b6792aca98fb..7aa0b6976b6dc05aed387aa2ed0fc55bc1e4fb78 100644 --- a/src/main/java/org/olat/course/nodes/projectbroker/ProjectEditDetailsFormController.java +++ b/src/main/java/org/olat/course/nodes/projectbroker/ProjectEditDetailsFormController.java @@ -34,7 +34,6 @@ import java.util.List; import java.util.Map; import java.util.StringTokenizer; -import org.olat.core.CoreSpringFactory; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.form.flexible.FormItem; import org.olat.core.gui.components.form.flexible.FormItemContainer; @@ -56,6 +55,7 @@ import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; import org.olat.core.id.Identity; import org.olat.core.id.UserConstants; +import org.olat.core.util.StringHelper; import org.olat.core.util.vfs.LocalFileImpl; import org.olat.core.util.vfs.VFSLeaf; import org.olat.course.nodes.CourseNode; @@ -68,6 +68,7 @@ import org.olat.course.nodes.projectbroker.service.ProjectBrokerModuleConfigurat import org.olat.course.nodes.projectbroker.service.ProjectGroupManager; import org.olat.course.run.environment.CourseEnvironment; import org.olat.resource.OLATResource; +import org.springframework.beans.factory.annotation.Autowired; /** * @@ -86,7 +87,7 @@ public class ProjectEditDetailsFormController extends FormBasicController { private RichTextElement projectDescription; private IntegerElement maxMembers; private StaticTextElement projectState; - FormLayoutContainer stateLayout; + private FormLayoutContainer stateLayout; private FileElement attachmentFileName; private TextElement projectLeaders; @@ -111,9 +112,12 @@ public class ProjectEditDetailsFormController extends FormBasicController { private final static String[] values = new String[] { "" }; private static final int MAX_MEMBERS_DEFAULT = 1; - private final ProjectBrokerMailer projectBrokerMailer; - private final ProjectGroupManager projectGroupManager; - private final ProjectBrokerManager projectBrokerManager; + @Autowired + private ProjectBrokerMailer projectBrokerMailer; + @Autowired + private ProjectGroupManager projectGroupManager; + @Autowired + private ProjectBrokerManager projectBrokerManager; /** * Modules selection form. @@ -127,12 +131,9 @@ public class ProjectEditDetailsFormController extends FormBasicController { this.courseNode = courseNode; this.projectBrokerModuleConfiguration = projectBrokerModuleConfiguration; this.enableCancel = enableCancel; - projectBrokerMailer = CoreSpringFactory.getImpl(ProjectBrokerMailer.class); - projectGroupManager = CoreSpringFactory.getImpl(ProjectGroupManager.class); - projectBrokerManager = CoreSpringFactory.getImpl(ProjectBrokerManager.class); - customfieldElementList = new ArrayList<FormItem>(); - eventStartElementList = new HashMap<Project.EventType, DateChooser>(); - eventEndElementList = new HashMap<Project.EventType, DateChooser>(); + customfieldElementList = new ArrayList<>(); + eventStartElementList = new HashMap<>(); + eventEndElementList = new HashMap<>(); initForm(ureq); } @@ -343,12 +344,13 @@ public class ProjectEditDetailsFormController extends FormBasicController { projectGroupManager.setProjectGroupMaxMembers(getIdentity(), project.getProjectGroup(), maxMembers.getIntValue()); projectChanged = true; } - if (attachmentFileName.getUploadFileName() != null && !attachmentFileName.getUploadFileName().equals("")) { + if (StringHelper.containsNonWhitespace(attachmentFileName.getUploadFileName())) { // First call uploadFiles than setAttachedFileName because uploadFiles needs old attachment name uploadFiles(attachmentFileName); project.setAttachedFileName(attachmentFileName.getUploadFileName()); projectChanged = true; - } else if (project.getAttachmentFileName() != null && !project.getAttachmentFileName().equals("")) { + } else if (StringHelper.containsNonWhitespace(project.getAttachmentFileName()) + && attachmentFileName.getInitialFile() == null) { // Attachment file has been removed project.setAttachedFileName(""); projectChanged = true; @@ -396,7 +398,7 @@ public class ProjectEditDetailsFormController extends FormBasicController { projectBrokerManager.updateProject(project); projectBrokerMailer.sendProjectChangedEmailToParticipants(ureq.getIdentity(), project, this.getTranslator()); } else { - this.showInfo("info.project.nolonger.exist", project.getTitle()); + showInfo("info.project.nolonger.exist", project.getTitle()); } } fireEvent(ureq, Event.DONE_EVENT); diff --git a/src/main/java/org/olat/modules/wiki/WikiMainController.java b/src/main/java/org/olat/modules/wiki/WikiMainController.java index f7ff86a931290f198d4e15ccc0cdc0e5cf282839..4ac6f0846142640e225054b50dae30d5731bf8e8 100644 --- a/src/main/java/org/olat/modules/wiki/WikiMainController.java +++ b/src/main/java/org/olat/modules/wiki/WikiMainController.java @@ -1172,7 +1172,7 @@ public class WikiMainController extends BasicController implements CloneableCont } private void clearPortfolioLink(){ - content.put("portfolio-link", new Panel("empty")); + navigationContent.put("portfolio-link", new Panel("empty")); } private Wiki getWiki(){ diff --git a/src/main/java/org/olat/portfolio/ui/structel/edit/EPCollectRestrictionResultController.java b/src/main/java/org/olat/portfolio/ui/structel/edit/EPCollectRestrictionResultController.java index 927989691261c0a53f39a0aac44a8adaa9593321..9c0321fb59baf27ef2a14af1ff196dec653a4686 100644 --- a/src/main/java/org/olat/portfolio/ui/structel/edit/EPCollectRestrictionResultController.java +++ b/src/main/java/org/olat/portfolio/ui/structel/edit/EPCollectRestrictionResultController.java @@ -22,6 +22,7 @@ package org.olat.portfolio.ui.structel.edit; import java.util.ArrayList; import java.util.List; import java.util.Locale; +import java.util.concurrent.atomic.AtomicLong; import org.olat.core.CoreSpringFactory; import org.olat.core.gui.UserRequest; @@ -49,11 +50,13 @@ import org.olat.portfolio.ui.filter.PortfolioFilterController; public class EPCollectRestrictionResultController extends BasicController { private final VelocityContainer mainVc; + private static final AtomicLong restrictionsCounter = new AtomicLong(1l); public EPCollectRestrictionResultController(UserRequest ureq, WindowControl wControl) { super(ureq, wControl); mainVc = createVelocityContainer("restrictions_msg"); + mainVc.contextPut("restrictionId", Long.toString(restrictionsCounter.getAndIncrement())); putInitialPanel(mainVc); } diff --git a/src/main/java/org/olat/portfolio/ui/structel/edit/_content/restrictions_msg.html b/src/main/java/org/olat/portfolio/ui/structel/edit/_content/restrictions_msg.html index 27870125841d08dfb7ebd5533c6b86909931ad96..af2db8790a2b5bc6aa4f7e2ff89125358f42e44f 100644 --- a/src/main/java/org/olat/portfolio/ui/structel/edit/_content/restrictions_msg.html +++ b/src/main/java/org/olat/portfolio/ui/structel/edit/_content/restrictions_msg.html @@ -1,12 +1,12 @@ #if($messages) -<div class="panel-group" id="o_ep_restrictions"> +<div class="panel-group" id="o_ep_restrictions_$restrictionId"> <div class="panel #if($restrictionsPassed) panel-success #else panel-warning #end"> <div class="panel-heading"> <h4 class="panel-title"> - <a data-toggle="collapse" data-parent="#o_ep_restrictions" href="#collapseMessages">$r.translate("collect.restriction")</a> + <a data-toggle="collapse" data-parent="#o_ep_restrictions_$restrictionId" href="#collapseMessages_$restrictionId">$r.translate("collect.restriction")</a> </h4> </div> - <div id="collapseMessages" class="panel-collapse collapse"> + <div id="collapseMessages_$restrictionId" class="panel-collapse collapse"> <div class="panel-body"> #foreach($message in $messages) <p>$message</p>