From 928a75eaef2413ca294aca6d1321ec166aad3cf9 Mon Sep 17 00:00:00 2001 From: Heng Sin Low Date: Thu, 21 Mar 2013 16:37:11 +0800 Subject: [PATCH] IDEMPIERE-763 Maximum size for File Upload. --- .../oracle/201303210824_IDEMPIERE-763.sql | 8 ++++++++ .../postgresql/201303210824_IDEMPIERE-763.sql | 8 ++++++++ .../src/org/adempiere/webui/AdempiereWebUI.java | 12 ++++++++++++ .../adempiere/webui/apps/FeedbackRequestWindow.java | 3 ++- .../org/adempiere/webui/apps/form/WFileImport.java | 3 ++- .../org/adempiere/webui/component/FilenameBox.java | 5 +++-- .../org/adempiere/webui/editor/WFilenameEditor.java | 3 ++- .../src/org/adempiere/webui/panel/WAttachment.java | 2 +- .../webui/panel/action/FileImportAction.java | 2 +- .../src/org/adempiere/webui/window/WEMailDialog.java | 3 ++- .../src/org/adempiere/webui/window/WMediaDialog.java | 3 ++- 11 files changed, 43 insertions(+), 9 deletions(-) create mode 100644 migration/i1.0a-release/oracle/201303210824_IDEMPIERE-763.sql create mode 100644 migration/i1.0a-release/postgresql/201303210824_IDEMPIERE-763.sql diff --git a/migration/i1.0a-release/oracle/201303210824_IDEMPIERE-763.sql b/migration/i1.0a-release/oracle/201303210824_IDEMPIERE-763.sql new file mode 100644 index 0000000000..f3f9264948 --- /dev/null +++ b/migration/i1.0a-release/oracle/201303210824_IDEMPIERE-763.sql @@ -0,0 +1,8 @@ +-- Mar 21, 2013 4:18:58 PM MYT +-- IDEMPIERE-763 Maximum size for File Upload +INSERT INTO AD_SysConfig (AD_SysConfig_ID,EntityType,ConfigurationLevel,Value,Description,AD_SysConfig_UU,Created,Updated,AD_Client_ID,AD_Org_ID,CreatedBy,IsActive,UpdatedBy,Name) VALUES (200028,'D','S','5120','It specifies the maximum allowed size, in kilobytes, to upload a file from the client. A zero or negative value indicates that there is no limit.','6f5a2d67-123a-411e-a218-1c328e963cc4',TO_DATE('2013-03-21 16:18:55','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2013-03-21 16:18:55','YYYY-MM-DD HH24:MI:SS'),0,0,100,'Y',100,'ZK_MAX_UPLOAD_SIZE') +; + +SELECT register_migration_script('201303210824_IDEMPIERE-763.sql') FROM dual +; + diff --git a/migration/i1.0a-release/postgresql/201303210824_IDEMPIERE-763.sql b/migration/i1.0a-release/postgresql/201303210824_IDEMPIERE-763.sql new file mode 100644 index 0000000000..c924025440 --- /dev/null +++ b/migration/i1.0a-release/postgresql/201303210824_IDEMPIERE-763.sql @@ -0,0 +1,8 @@ +-- Mar 21, 2013 4:18:58 PM MYT +-- IDEMPIERE-763 Maximum size for File Upload +INSERT INTO AD_SysConfig (AD_SysConfig_ID,EntityType,ConfigurationLevel,Value,Description,AD_SysConfig_UU,Created,Updated,AD_Client_ID,AD_Org_ID,CreatedBy,IsActive,UpdatedBy,Name) VALUES (200028,'D','S','5120','It specifies the maximum allowed size, in kilobytes, to upload a file from the client. A zero or negative value indicates that there is no limit.','6f5a2d67-123a-411e-a218-1c328e963cc4',TO_TIMESTAMP('2013-03-21 16:18:55','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2013-03-21 16:18:55','YYYY-MM-DD HH24:MI:SS'),0,0,100,'Y',100,'ZK_MAX_UPLOAD_SIZE') +; + +SELECT register_migration_script('201303210824_IDEMPIERE-763.sql') FROM dual +; + diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/AdempiereWebUI.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/AdempiereWebUI.java index e968da2f36..67bd169742 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/AdempiereWebUI.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/AdempiereWebUI.java @@ -528,4 +528,16 @@ public class AdempiereWebUI extends Window implements EventListener, IWeb Executions.sendRedirect("index.zul"); } + + /** + * @return string for setupload + */ + public static String getUploadSetting() { + StringBuilder uploadSetting = new StringBuilder("true,native"); + int size = MSysConfig.getIntValue(MSysConfig.ZK_MAX_UPLOAD_SIZE, 0); + if (size > 0) { + uploadSetting.append(",maxsize=").append(size); + } + return uploadSetting.toString(); + } } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/FeedbackRequestWindow.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/FeedbackRequestWindow.java index a917aee840..89de9f4d7f 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/FeedbackRequestWindow.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/FeedbackRequestWindow.java @@ -22,6 +22,7 @@ import java.util.logging.Level; import javax.activation.DataSource; +import org.adempiere.webui.AdempiereWebUI; import org.adempiere.webui.component.AttachmentItem; import org.adempiere.webui.component.Button; import org.adempiere.webui.component.ConfirmPanel; @@ -201,7 +202,7 @@ public class FeedbackRequestWindow extends Window implements EventListener bFile.setLabel(Msg.getMsg(Env.getCtx(), "FileImportFile")); bFile.setTooltiptext(Msg.getMsg(Env.getCtx(), "FileImportFileInfo")); - bFile.setUpload("true"); + bFile.setUpload(AdempiereWebUI.getUploadSetting()); bFile.addEventListener(Events.ON_UPLOAD, this); fCharset.setMold("select"); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/FilenameBox.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/FilenameBox.java index 52d56c52d1..7cdb5dc82b 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/FilenameBox.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/FilenameBox.java @@ -12,6 +12,7 @@ *****************************************************************************/ package org.adempiere.webui.component; +import org.adempiere.webui.AdempiereWebUI; import org.zkoss.zk.ui.event.EventListener; import org.zkoss.zk.ui.event.Events; @@ -30,7 +31,7 @@ public class FilenameBox extends EditorBox public FilenameBox() { super(); - btn.setUpload("true"); + btn.setUpload(AdempiereWebUI.getUploadSetting()); } /** @@ -40,7 +41,7 @@ public class FilenameBox extends EditorBox { super(); setText(fileName); - btn.setUpload("true"); + btn.setUpload(AdempiereWebUI.getUploadSetting()); } /* (non-Javadoc) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WFilenameEditor.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WFilenameEditor.java index 7e19ad5708..7b5bbb1258 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WFilenameEditor.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WFilenameEditor.java @@ -21,6 +21,7 @@ import java.io.IOException; import java.io.InputStream; import java.util.logging.Level; +import org.adempiere.webui.AdempiereWebUI; import org.adempiere.webui.component.FilenameBox; import org.adempiere.webui.event.ValueChangeEvent; import org.adempiere.webui.theme.ThemeManager; @@ -49,7 +50,7 @@ public class WFilenameEditor extends WEditor super(new FilenameBox(), gridField); getComponent().setButtonImage(ThemeManager.getThemeResource("images/Open16.png")); getComponent().addEventListener(Events.ON_UPLOAD, this); - getComponent().getButton().setUpload("true,native"); + getComponent().getButton().setUpload(AdempiereWebUI.getUploadSetting()); getComponent().getButton().setAttribute("org.zkoss.zul.image.preload", Boolean.TRUE); } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WAttachment.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WAttachment.java index e50590775b..202150fa71 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WAttachment.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WAttachment.java @@ -255,7 +255,7 @@ public class WAttachment extends Window implements EventListener bLoad.setSclass("action-button"); bLoad.setAttribute("org.zkoss.zul.image.preload", Boolean.TRUE); bLoad.setTooltiptext(Msg.getMsg(Env.getCtx(), "Load")); - bLoad.setUpload("true"); + bLoad.setUpload(AdempiereWebUI.getUploadSetting()); bLoad.addEventListener(Events.ON_UPLOAD, this); bDelete.setImage(ThemeManager.getThemeResource("images/Delete24.png")); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/action/FileImportAction.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/action/FileImportAction.java index e23dd48254..50894dc2f2 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/action/FileImportAction.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/action/FileImportAction.java @@ -187,7 +187,7 @@ public class FileImportAction implements EventListener hb = new Hbox(); bFile.setLabel(Msg.getMsg(Env.getCtx(), "FileImportFile")); bFile.setTooltiptext(Msg.getMsg(Env.getCtx(), "FileImportFileInfo")); - bFile.setUpload("true"); + bFile.setUpload(AdempiereWebUI.getUploadSetting()); bFile.addEventListener(Events.ON_UPLOAD, this); hb.appendChild(bFile); vb.appendChild(hb); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/WEMailDialog.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/WEMailDialog.java index 8b8246a233..382db4aada 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/WEMailDialog.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/WEMailDialog.java @@ -28,6 +28,7 @@ import java.util.logging.Level; import javax.activation.DataSource; +import org.adempiere.webui.AdempiereWebUI; import org.adempiere.webui.component.AttachmentItem; import org.adempiere.webui.component.Button; import org.adempiere.webui.component.Column; @@ -313,7 +314,7 @@ public class WEMailDialog extends Window implements EventListener, ValueC Button btn = new Button(); btn.setImage(ThemeManager.getThemeResource("images/Attachment24.png")); - btn.setUpload("true"); + btn.setUpload(AdempiereWebUI.getUploadSetting()); btn.addEventListener(Events.ON_UPLOAD, this); btn.setTooltiptext(Msg.getMsg(Env.getCtx(), "Attachment")); confirmPanel.addComponentsLeft(btn); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/WMediaDialog.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/WMediaDialog.java index 3959c45c2d..8d96c33bd2 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/WMediaDialog.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/WMediaDialog.java @@ -21,6 +21,7 @@ import java.sql.Clob; import java.sql.SQLException; import java.util.logging.Level; +import org.adempiere.webui.AdempiereWebUI; import org.adempiere.webui.component.Button; import org.adempiere.webui.component.Panel; import org.adempiere.webui.component.Window; @@ -151,7 +152,7 @@ public class WMediaDialog extends Window implements EventListener bLoad.setImage(ThemeManager.getThemeResource("images/Import24.png")); bLoad.setTooltiptext(Msg.getMsg(Env.getCtx(), "Load")); bLoad.addEventListener(Events.ON_UPLOAD, this); - bLoad.setUpload("true"); + bLoad.setUpload(AdempiereWebUI.getUploadSetting()); bDelete.setImage(ThemeManager.getThemeResource("images/Delete24.png")); bDelete.setTooltiptext(Msg.getMsg(Env.getCtx(), "Delete"));