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

Merge remote-tracking branch 'origin/OpenOLAT_14.1'

parents 9aac66f5 812dc81b
No related branches found
No related tags found
No related merge requests found
Showing
with 82 additions and 24 deletions
......@@ -124,14 +124,14 @@ public class DisclaimerController extends FormBasicController implements Evaluat
}
@Override
public void initResponse(EvaluationFormSession session, EvaluationFormResponses responses) {
public void initResponse(UserRequest ureq, EvaluationFormSession session, EvaluationFormResponses responses) {
response = responses.getResponse(session, disclaimer.getId());
boolean accepted = response != null && ACCEPTED_DB_KEY.equals(response.getStringuifiedResponse());
agreementEl.select(ACCEPTED_KEY, accepted);
}
@Override
public void saveResponse(EvaluationFormSession session) {
public void saveResponse(UserRequest ureq, EvaluationFormSession session) {
boolean accepted = agreementEl.isAtLeastSelected(1);
if (accepted && response == null) {
response = evaluationFormManager.createStringResponse(disclaimer.getId(), session, ACCEPTED_DB_KEY);
......
......@@ -23,6 +23,8 @@ import java.io.File;
import java.io.IOException;
import java.util.Set;
import org.apache.logging.log4j.Logger;
import org.olat.core.commons.services.vfs.VFSRepositoryService;
import org.olat.core.gui.UserRequest;
import org.olat.core.gui.components.form.flexible.FormItem;
import org.olat.core.gui.components.form.flexible.FormItemContainer;
......@@ -33,9 +35,12 @@ import org.olat.core.gui.components.form.flexible.impl.FormEvent;
import org.olat.core.gui.components.form.flexible.impl.elements.FileElementEvent;
import org.olat.core.gui.control.Controller;
import org.olat.core.gui.control.WindowControl;
import org.apache.logging.log4j.Logger;
import org.olat.core.gui.util.CSSHelper;
import org.olat.core.logging.Tracing;
import org.olat.core.util.CodeHelper;
import org.olat.core.util.Formatter;
import org.olat.core.util.vfs.VFSLeaf;
import org.olat.core.util.vfs.VFSMediaMapper;
import org.olat.modules.forms.EvaluationFormManager;
import org.olat.modules.forms.EvaluationFormResponse;
import org.olat.modules.forms.EvaluationFormSession;
......@@ -63,23 +68,26 @@ public class FileUploadController extends FormBasicController implements Evaluat
@Autowired
private EvaluationFormManager evaluationFormManager;
@Autowired
private VFSRepositoryService vfsRepositoryService;
public FileUploadController(UserRequest ureq, WindowControl wControl, FileUpload fileUpload) {
super(ureq, wControl, LAYOUT_VERTICAL);
super(ureq, wControl, "file_upload");
this.fileUpload = fileUpload;
initForm(ureq);
}
public FileUploadController(UserRequest ureq, WindowControl wControl, FileUpload fileUpload, Form rootForm) {
super(ureq, wControl, LAYOUT_VERTICAL, null, rootForm);
super(ureq, wControl, LAYOUT_CUSTOM, "file_upload", rootForm);
this.fileUpload = fileUpload;
initForm(ureq);
}
@Override
protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
fileEl = uifactory.addFileElement(getWindowControl(), "file_upload_" + CodeHelper.getRAMUniqueID(), "", formLayout);
String fileElId = "file_upload_" + CodeHelper.getRAMUniqueID();
flc.contextPut("fileUpload", fileElId);
fileEl = uifactory.addFileElement(getWindowControl(), fileElId, "", formLayout);
fileEl.setPreview(ureq.getUserSession(), true);
fileEl.setButtonsEnabled(false);
fileEl.setDeleteEnabled(true);
......@@ -95,6 +103,33 @@ public class FileUploadController extends FormBasicController implements Evaluat
Set<String> mimeTypes = MimeTypeSetFactory.getMimeTypes(fileUpload.getMimeTypeSetKey());
fileEl.limitToMimeType(mimeTypes, null, null);
}
public void updateReadOnlyUI(UserRequest ureq, EvaluationFormResponse response) {
if (response != null) {
String filename = response.getStringuifiedResponse();
String filesize = null;
String mapperUri = null;
String iconCss = null;
String thumbUri = null;
VFSLeaf leaf = evaluationFormManager.loadResponseLeaf(response);
if (leaf != null) {
filename = leaf.getName();
flc.contextPut("filename", filename);
filesize = Formatter.formatBytes((leaf).getSize());
flc.contextPut("filesize", filesize);
mapperUri = registerCacheableMapper(ureq, "file-upload-" + CodeHelper.getRAMUniqueID() + "-" + leaf.getLastModified(), new VFSMediaMapper(leaf));
flc.contextPut("mapperUri", mapperUri);
iconCss = CSSHelper.createFiletypeIconCssClassFor(leaf.getName());
flc.contextPut("iconCss", iconCss);
VFSLeaf thumb = vfsRepositoryService.getThumbnail(leaf, 200, 200, false);
if (thumb != null) {
thumbUri = registerCacheableMapper(ureq, "file-upload-thumb" + CodeHelper.getRAMUniqueID() + "-" + leaf.getLastModified(), new VFSMediaMapper(thumb));
flc.contextPut("thumbUri", thumbUri);
}
}
}
}
@Override
protected void formOK(UserRequest ureq) {
......@@ -127,7 +162,7 @@ public class FileUploadController extends FormBasicController implements Evaluat
@Override
public void setReadOnly(boolean readOnly) {
fileEl.setEnabled(!readOnly);
flc.contextPut("readonly", Boolean.valueOf(readOnly));
}
@Override
......@@ -136,17 +171,19 @@ public class FileUploadController extends FormBasicController implements Evaluat
}
@Override
public void initResponse(EvaluationFormSession session, EvaluationFormResponses responses) {
public void initResponse(UserRequest ureq, EvaluationFormSession session, EvaluationFormResponses responses) {
response = responses.getResponse(session, fileUpload.getId());
File responseFile = evaluationFormManager.loadResponseFile(response);
if (responseFile != null) {
fileEl.setInitialFile(responseFile);
}
fileEl.setButtonsEnabled(true);
updateReadOnlyUI(ureq, response);
}
@Override
public void saveResponse(EvaluationFormSession session) {
public void saveResponse(UserRequest ureq, EvaluationFormSession session) {
if (fileEl.isUploadSuccess()) {
if (newFileUploaded) {
File file = fileEl.getUploadFile();
......@@ -168,6 +205,7 @@ public class FileUploadController extends FormBasicController implements Evaluat
evaluationFormManager.deleteResponse(response);
response = null;
}
updateReadOnlyUI(ureq, response);
}
}
......@@ -145,7 +145,7 @@ public class MultipleChoiceController extends FormBasicController implements Eva
}
@Override
public void initResponse(EvaluationFormSession session, EvaluationFormResponses responses) {
public void initResponse(UserRequest ureq, EvaluationFormSession session, EvaluationFormResponses responses) {
multipleChoiceResponses = responses.getResponses(session, multipleChoice.getId());
for (EvaluationFormResponse response: multipleChoiceResponses) {
String key = response.getStringuifiedResponse();
......@@ -160,7 +160,7 @@ public class MultipleChoiceController extends FormBasicController implements Eva
}
@Override
public void saveResponse(EvaluationFormSession session) {
public void saveResponse(UserRequest ureq, EvaluationFormSession session) {
evaluationFormManager.deleteResponses(multipleChoiceResponses);
Collection<String> selectedChoises = new ArrayList<>(multipleChoiceEl.getSelectedKeys());
......
......@@ -252,7 +252,7 @@ public class RubricController extends FormBasicController implements EvaluationF
}
@Override
public void initResponse(EvaluationFormSession session, EvaluationFormResponses responses) {
public void initResponse(UserRequest ureq, EvaluationFormSession session, EvaluationFormResponses responses) {
for (SliderWrapper sliderWrapper: sliderWrappers) {
EvaluationFormResponse response = responses.getResponse(session, sliderWrapper.getId());
if (response != null) {
......@@ -309,7 +309,7 @@ public class RubricController extends FormBasicController implements EvaluationF
}
@Override
public void saveResponse(EvaluationFormSession session) {
public void saveResponse(UserRequest ureq, EvaluationFormSession session) {
for (SliderWrapper sliderWrapper: sliderWrappers) {
boolean noResponseSelected = sliderWrapper.getNoResponseEl() != null && sliderWrapper.getNoResponseEl().isOneSelected();
if (noResponseSelected) {
......
......@@ -190,7 +190,7 @@ public class SessionInformationsController extends FormBasicController implement
}
@Override
public void initResponse(EvaluationFormSession session, EvaluationFormResponses responses) {
public void initResponse(UserRequest ureq, EvaluationFormSession session, EvaluationFormResponses responses) {
for (SessionInformationWrapper wrapper: sessionInformationWrappers) {
String value = SessionInformationsUIFactory.getValue(wrapper.getInformationType(), session);
if (StringHelper.containsNonWhitespace(value)) {
......@@ -200,7 +200,7 @@ public class SessionInformationsController extends FormBasicController implement
}
@Override
public void saveResponse(EvaluationFormSession session) {
public void saveResponse(UserRequest ureq, EvaluationFormSession session) {
EvaluationFormSession reloadedSession = evaluationFormManager.loadSessionByKey(session);
if (reloadedSession != null) {
SessionInformationWrapper emailWrapper = getWrapper(InformationType.USER_EMAIL);
......
......@@ -120,7 +120,7 @@ public class SingleChoiceController extends FormBasicController implements Evalu
}
@Override
public void initResponse(EvaluationFormSession session, EvaluationFormResponses responses) {
public void initResponse(UserRequest ureq, EvaluationFormSession session, EvaluationFormResponses responses) {
response = responses.getResponse(session, singleChoice.getId());
if (response != null) {
for (Choice choice: singleChoice.getChoices().asList()) {
......@@ -132,7 +132,7 @@ public class SingleChoiceController extends FormBasicController implements Evalu
}
@Override
public void saveResponse(EvaluationFormSession session) {
public void saveResponse(UserRequest ureq, EvaluationFormSession session) {
if (singleChoiceEl.isOneSelected()) {
String stringValue = singleChoiceEl.getSelectedKey();
if (response == null) {
......
......@@ -134,7 +134,7 @@ public class TextInputController extends FormBasicController implements Evaluati
}
@Override
public void initResponse(EvaluationFormSession session, EvaluationFormResponses responses) {
public void initResponse(UserRequest ureq, EvaluationFormSession session, EvaluationFormResponses responses) {
response = responses.getResponse(session, textInput.getId());
if (response != null) {
if (singleRow) {
......@@ -146,7 +146,7 @@ public class TextInputController extends FormBasicController implements Evaluati
}
@Override
public void saveResponse(EvaluationFormSession session) {
public void saveResponse(UserRequest ureq, EvaluationFormSession session) {
String valueToSave = getValueToSave();
if (StringHelper.containsNonWhitespace(valueToSave)) {
if (textInput.isNumeric()) {
......
#if($readonly)
#if($r.isNotNull($filename))
<div class="o_clearfix o_evaluation_fileupload">
#if($r.isNotNull($thumbUri))
<div class="o_evaluation_thumb">
<img src="$thumbUri/$filename"/>
</div>
#end
<div class="o_evaluation_filename">
<a href="$mapperUri/$filename" target="_blank">
<i class="o_icon $iconCss"></i> $filename
</a>
<span class="o_size">($filesize)</span>
</div>
</div>
#end
#else
$r.render("$fileUpload")
#end
\ No newline at end of file
......@@ -19,6 +19,7 @@
*/
package org.olat.modules.forms.ui.model;
import org.olat.core.gui.UserRequest;
import org.olat.modules.forms.EvaluationFormSession;
import org.olat.modules.forms.model.jpa.EvaluationFormResponses;
import org.olat.resource.accesscontrol.ui.FormController;
......@@ -35,8 +36,8 @@ public interface EvaluationFormResponseController extends FormController {
public boolean hasResponse();
public void initResponse(EvaluationFormSession session, EvaluationFormResponses responses);
public void initResponse(UserRequest ureq, EvaluationFormSession session, EvaluationFormResponses responses);
public void saveResponse(EvaluationFormSession session);
public void saveResponse(UserRequest ureq, EvaluationFormSession session);
}
......@@ -78,12 +78,12 @@ public class EvaluationFormResponseControllerElement implements EvaluationFormEx
@Override
public void initResponse(EvaluationFormSession session, EvaluationFormResponses responses) {
controller.initResponse(session, responses);;
controller.initResponse(null, session, responses);;
}
@Override
public void saveResponse(EvaluationFormSession session) {
controller.saveResponse(session);
controller.saveResponse(null, session);
}
@Override
......
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