From 5cc84f6e77f5e99db6b18d61aaf21dd28b6c6d34 Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Tue, 13 Jun 2017 09:52:22 +0200 Subject: [PATCH] OO-2814: resize box need to be calculated server side --- .../modules/bc/FileUploadController.java | 38 ++++++++++++------- .../modules/bc/_content/file_upload.html | 25 +----------- 2 files changed, 26 insertions(+), 37 deletions(-) diff --git a/src/main/java/org/olat/core/commons/modules/bc/FileUploadController.java b/src/main/java/org/olat/core/commons/modules/bc/FileUploadController.java index 06ca204f17f..e1433388285 100644 --- a/src/main/java/org/olat/core/commons/modules/bc/FileUploadController.java +++ b/src/main/java/org/olat/core/commons/modules/bc/FileUploadController.java @@ -108,6 +108,8 @@ import org.springframework.beans.factory.annotation.Autowired; * @author Florian Gnägi */ public class FileUploadController extends FormBasicController { + + private static final String[] resizeKeys = new String[]{"resize"}; private int status = FolderCommandStatus.STATUS_SUCCESS; private VFSContainer currentContainer; @@ -266,11 +268,11 @@ public class FileUploadController extends FormBasicController { } formLayout.add(resizeCont); - String[] keys = new String[]{"resize"}; String[] values = new String[]{translate("resize_image")}; - resizeEl = uifactory.addCheckboxesHorizontal("resize_image", resizeCont, keys, values); + resizeEl = uifactory.addCheckboxesHorizontal("resize_image", resizeCont, resizeKeys, values); resizeEl.setLabel(null, null); - resizeEl.select("resize", true); + resizeEl.select(resizeKeys[0], true); + resizeEl.setVisible(false); } // Check remaining quota @@ -311,19 +313,29 @@ public class FileUploadController extends FormBasicController { fileEl.reset(); fileEl.setDeleteEnabled(false); fileEl.clearError(); - } else if(metaDataCtr != null) { + resizeEl.setVisible(false); + } else { String filename = fileEl.getUploadFileName(); - if(filename == null) { - metaDataCtr.getFilenameEl().setExampleKey("mf.filename.warning", null); - } else if(!FileUtils.validateFilename(filename)) { - String suffix = FileUtils.getFileSuffix(filename); - if(suffix != null && suffix.length() > 0) { - filename = filename.substring(0, filename.length() - suffix.length() - 1); + if(metaDataCtr != null) { + if(filename == null) { + metaDataCtr.getFilenameEl().setExampleKey("mf.filename.warning", null); + } else if(!FileUtils.validateFilename(filename)) { + String suffix = FileUtils.getFileSuffix(filename); + if(suffix != null && suffix.length() > 0) { + filename = filename.substring(0, filename.length() - suffix.length() - 1); + } + filename = FileUtils.normalizeFilename(filename) + "." + suffix; + metaDataCtr.getFilenameEl().setExampleKey("mf.filename.warning", null); } - filename = FileUtils.normalizeFilename(filename) + "." + suffix; - metaDataCtr.getFilenameEl().setExampleKey("mf.filename.warning", null); + metaDataCtr.setFilename(filename); + } + + boolean isImg = false; + if(resizeImg && filename != null) { + isImg = imageExtPattern.matcher(filename.toLowerCase()).find(); } - metaDataCtr.setFilename(filename); + resizeEl.setVisible(isImg); + resizeEl.select(resizeKeys[0], true); } } super.formInnerEvent(ureq, source, event); diff --git a/src/main/java/org/olat/core/commons/modules/bc/_content/file_upload.html b/src/main/java/org/olat/core/commons/modules/bc/_content/file_upload.html index 625c7954f73..63fb0bb29f1 100644 --- a/src/main/java/org/olat/core/commons/modules/bc/_content/file_upload.html +++ b/src/main/java/org/olat/core/commons/modules/bc/_content/file_upload.html @@ -25,34 +25,11 @@ </div> #end -#if($resizeImg) - <div id="resize_image_wrapper" style="display:none;"> - $r.render("resize_image_wrapper") - </div> -#end + $r.render("resize_image_wrapper") #if ($showMetadata) $r.render("metadata") #end $r.render("buttons") </fieldset> - - -#if($resizeImg) -<script type="text/javascript"> -/* <|(jpg)|(png)$'); - var name = jQuery(this).val(); - if(name != null && name.toLowerCase().match(re)) { - jQuery('#resize_image_wrapper').show(); - } else { - jQuery('#resize_image_wrapper').hide(); - } - }); -}); -/* ]]> */ -</script> -#end </div> \ No newline at end of file -- GitLab