aboutsummaryrefslogtreecommitdiff
path: root/id/ConfigWebTool/src
diff options
context:
space:
mode:
authorThomas Lenz <tlenz@iaik.tugraz.at>2013-10-16 20:09:40 +0200
committerThomas Lenz <tlenz@iaik.tugraz.at>2013-10-16 20:09:40 +0200
commit8d417057d38d56510a1d3d2e39381a1df3dd96ee (patch)
tree26e2d71409bdb10a5fefad1b538af583e984b776 /id/ConfigWebTool/src
parenta7c22b659f5bc760cb46d5892409dab12cc047d6 (diff)
downloadmoa-id-spss-8d417057d38d56510a1d3d2e39381a1df3dd96ee.tar.gz
moa-id-spss-8d417057d38d56510a1d3d2e39381a1df3dd96ee.tar.bz2
moa-id-spss-8d417057d38d56510a1d3d2e39381a1df3dd96ee.zip
@ConfigWebTool
--add JS ColorPicker to select colors easier --add BKUSelectionFrom preview --add useMandate checkbox --change position of some checkboxes in OA configuration @MOAID lib --change API of BKUFormCustomization utils
Diffstat (limited to 'id/ConfigWebTool/src')
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/Constants.java5
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/config/ConfigurationProvider.java7
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/FormularCustomization.java79
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAGeneralConfig.java31
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditOAAction.java146
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAGeneralConfigValidation.java8
-rw-r--r--id/ConfigWebTool/src/main/resources/applicationResources.properties23
-rw-r--r--id/ConfigWebTool/src/main/resources/struts.xml8
-rw-r--r--id/ConfigWebTool/src/main/webapp/css/colorpicker.css161
-rw-r--r--id/ConfigWebTool/src/main/webapp/css/index.css14
-rw-r--r--id/ConfigWebTool/src/main/webapp/images/blank.gifbin0 -> 49 bytes
-rw-r--r--id/ConfigWebTool/src/main/webapp/images/colorpicker_background.pngbin0 -> 1897 bytes
-rw-r--r--id/ConfigWebTool/src/main/webapp/images/colorpicker_hex.pngbin0 -> 532 bytes
-rw-r--r--id/ConfigWebTool/src/main/webapp/images/colorpicker_hsb_b.pngbin0 -> 970 bytes
-rw-r--r--id/ConfigWebTool/src/main/webapp/images/colorpicker_hsb_h.pngbin0 -> 1012 bytes
-rw-r--r--id/ConfigWebTool/src/main/webapp/images/colorpicker_hsb_s.pngbin0 -> 1171 bytes
-rw-r--r--id/ConfigWebTool/src/main/webapp/images/colorpicker_indic.gifbin0 -> 86 bytes
-rw-r--r--id/ConfigWebTool/src/main/webapp/images/colorpicker_overlay.pngbin0 -> 10355 bytes
-rw-r--r--id/ConfigWebTool/src/main/webapp/images/colorpicker_rgb_b.pngbin0 -> 970 bytes
-rw-r--r--id/ConfigWebTool/src/main/webapp/images/colorpicker_rgb_g.pngbin0 -> 1069 bytes
-rw-r--r--id/ConfigWebTool/src/main/webapp/images/colorpicker_rgb_r.pngbin0 -> 1066 bytes
-rw-r--r--id/ConfigWebTool/src/main/webapp/images/colorpicker_select.gifbin0 -> 78 bytes
-rw-r--r--id/ConfigWebTool/src/main/webapp/images/colorpicker_submit.pngbin0 -> 984 bytes
-rw-r--r--id/ConfigWebTool/src/main/webapp/images/custom_background.pngbin0 -> 1916 bytes
-rw-r--r--id/ConfigWebTool/src/main/webapp/images/custom_hex.pngbin0 -> 562 bytes
-rw-r--r--id/ConfigWebTool/src/main/webapp/images/custom_hsb_b.pngbin0 -> 1097 bytes
-rw-r--r--id/ConfigWebTool/src/main/webapp/images/custom_hsb_h.pngbin0 -> 970 bytes
-rw-r--r--id/ConfigWebTool/src/main/webapp/images/custom_hsb_s.pngbin0 -> 1168 bytes
-rw-r--r--id/ConfigWebTool/src/main/webapp/images/custom_indic.gifbin0 -> 86 bytes
-rw-r--r--id/ConfigWebTool/src/main/webapp/images/custom_rgb_b.pngbin0 -> 1008 bytes
-rw-r--r--id/ConfigWebTool/src/main/webapp/images/custom_rgb_g.pngbin0 -> 1069 bytes
-rw-r--r--id/ConfigWebTool/src/main/webapp/images/custom_rgb_r.pngbin0 -> 1018 bytes
-rw-r--r--id/ConfigWebTool/src/main/webapp/images/custom_submit.pngbin0 -> 997 bytes
-rw-r--r--id/ConfigWebTool/src/main/webapp/images/select.pngbin0 -> 506 bytes
-rw-r--r--id/ConfigWebTool/src/main/webapp/images/select2.pngbin0 -> 518 bytes
-rw-r--r--id/ConfigWebTool/src/main/webapp/images/slider.pngbin0 -> 315 bytes
-rw-r--r--id/ConfigWebTool/src/main/webapp/js/colorpicker.js484
-rw-r--r--id/ConfigWebTool/src/main/webapp/js/common.js19
-rw-r--r--id/ConfigWebTool/src/main/webapp/jsp/editOAGeneral.jsp205
39 files changed, 1063 insertions, 127 deletions
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/Constants.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/Constants.java
index 915ddf8ff..9dc49bba8 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/Constants.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/Constants.java
@@ -22,12 +22,17 @@ public class Constants {
public static final String SESSION_FORM = "form";
public static final String SESSION_PVP2REQUESTID = "pvp2requestid";
public static final String SESSION_RETURNAREA = "returnarea";
+ public static final String SESSION_BKUFORMPREVIEW = "bkuformpreview";
+
public static enum STRUTS_RETURNAREA_VALUES {adminRequestsInit, main, usermanagementInit};
public static final String REQUEST_OAID = "oaid";
public static final String REQUEST_USERREQUESTTOKKEN = "tokken";
+ public static final String REQUEST_FORMCUSTOM_MODULE = "module";
+ public static final String REQUEST_FORMCUSTOM_VALUE = "value";
+
public static final String BKU_ONLINE = "bkuonline";
public static final String BKU_LOCAL = "bkulocal";
public static final String BKU_HANDY = "bkuhandy";
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/config/ConfigurationProvider.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/config/ConfigurationProvider.java
index 13e13bcc7..2b6c326eb 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/config/ConfigurationProvider.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/config/ConfigurationProvider.java
@@ -34,6 +34,9 @@ import at.gv.egovernment.moa.util.MiscUtil;
public class ConfigurationProvider {
+ public static final String HTMLTEMPLATE_DIR = "/htmlTemplates";
+ public static final String HTMLTEMPLATE_FILE = "/loginFormFull.html";
+
private static final Logger log = Logger.getLogger(ConfigurationProvider.class);
private static final String SYSTEM_PROP_CONFIG = "moa.id.webconfig";
@@ -181,6 +184,10 @@ public class ConfigurationProvider {
return configRootDir;
}
+ public String getMOAIDInstanceURL() {
+ return props.getProperty("general.moaid.instance.url");
+ }
+
public boolean isLoginDeaktivated() {
String result = props.getProperty("general.login.deaktivate", "false");
return Boolean.parseBoolean(result);
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/FormularCustomization.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/FormularCustomization.java
index 0d13de3fe..6c90ac89a 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/FormularCustomization.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/FormularCustomization.java
@@ -1,12 +1,15 @@
package at.gv.egovernment.moa.id.configuration.data;
import java.util.Arrays;
+import java.util.Collections;
import java.util.List;
+import java.util.Map;
import at.gv.egovernment.moa.id.commons.db.dao.config.AuthComponentOA;
import at.gv.egovernment.moa.id.commons.db.dao.config.BKUSelectionCustomizationType;
import at.gv.egovernment.moa.id.commons.db.dao.config.OnlineApplication;
import at.gv.egovernment.moa.id.commons.db.dao.config.TemplatesType;
+import at.gv.egovernment.moa.id.util.FormBuildUtils;
import at.gv.egovernment.moa.util.MiscUtil;
public class FormularCustomization {
@@ -27,13 +30,17 @@ public class FormularCustomization {
private String appletRedirectTarget = null;
public static List<String> appletRedirectTargetList = null;
+
+ public static List<String> fontTypeList = null;
+ public String fontTypeListValue = null;
public FormularCustomization() {
appletRedirectTargetList = Arrays.asList("","_blank","_self","_parent","_top");
+ fontTypeList = Arrays.asList("","Verdana","Geneva","Arial","Helvetica","sans-serif","Times New Roman");
+ Collections.sort(fontTypeList);
}
-
-
- public void parse(OnlineApplication dbOAConfig) {
+
+ public void parse(OnlineApplication dbOAConfig, Map<String, String> map) {
AuthComponentOA auth = dbOAConfig.getAuthComponentOA();
if (auth != null) {
@@ -42,41 +49,61 @@ public class FormularCustomization {
BKUSelectionCustomizationType formcustom = templates.getBKUSelectionCustomization();
if (formcustom != null) {
- if (formcustom.isMandateLoginButton() != null)
+ if (formcustom.isMandateLoginButton() != null) {
showMandateLoginButton = formcustom.isMandateLoginButton();
+ }
- if (formcustom.isOnlyMandateLoginAllowed() != null)
+ if (formcustom.isOnlyMandateLoginAllowed() != null) {
onlyMandateAllowed = formcustom.isOnlyMandateLoginAllowed();
+ }
if (MiscUtil.isNotEmpty(formcustom.getAppletRedirectTarget()))
appletRedirectTarget = formcustom.getAppletRedirectTarget();
- if (MiscUtil.isNotEmpty(formcustom.getBackGroundColor()))
+ if (MiscUtil.isNotEmpty(formcustom.getBackGroundColor())) {
backGroundColor = formcustom.getBackGroundColor();
+ map.put(FormBuildUtils.MAIN_BACKGROUNDCOLOR, formcustom.getBackGroundColor());
+ }
- if (MiscUtil.isNotEmpty(formcustom.getButtonBackGroundColor()))
+ if (MiscUtil.isNotEmpty(formcustom.getButtonBackGroundColor())) {
button_BackGroundColor = formcustom.getButtonBackGroundColor();
-
- if (MiscUtil.isNotEmpty(formcustom.getButtonBackGroundColorFocus()))
+ map.put(FormBuildUtils.BUTTON_BACKGROUNDCOLOR, formcustom.getButtonBackGroundColor());
+ }
+
+ if (MiscUtil.isNotEmpty(formcustom.getButtonBackGroundColorFocus())) {
button_BackGroundColorFocus = formcustom.getButtonBackGroundColorFocus();
+ map.put(FormBuildUtils.BUTTON_BACKGROUNDCOLOR_FOCUS, formcustom.getButtonBackGroundColorFocus());
+ }
- if (MiscUtil.isNotEmpty(formcustom.getButtonFontColor()))
+ if (MiscUtil.isNotEmpty(formcustom.getButtonFontColor())) {
button_FrontColor = formcustom.getButtonFontColor();
+ map.put(FormBuildUtils.BUTTON_COLOR, formcustom.getButtonFontColor());
+ }
- if (MiscUtil.isNotEmpty(formcustom.getFontType()))
+ if (MiscUtil.isNotEmpty(formcustom.getFontType())) {
fontType = formcustom.getFontType();
+ map.put(FormBuildUtils.FONTFAMILY, formcustom.getFontType());
+ }
- if (MiscUtil.isNotEmpty(formcustom.getFrontColor()))
+ if (MiscUtil.isNotEmpty(formcustom.getFrontColor())) {
frontColor = formcustom.getFrontColor();
+ map.put(FormBuildUtils.MAIN_COLOR, formcustom.getFrontColor());
+ }
- if (MiscUtil.isNotEmpty(formcustom.getHeaderBackGroundColor()))
+ if (MiscUtil.isNotEmpty(formcustom.getHeaderBackGroundColor())) {
header_BackGroundColor = formcustom.getHeaderBackGroundColor();
+ map.put(FormBuildUtils.HEADER_BACKGROUNDCOLOR, formcustom.getHeaderBackGroundColor());
+ }
- if (MiscUtil.isNotEmpty(formcustom.getHeaderFrontColor()))
+ if (MiscUtil.isNotEmpty(formcustom.getHeaderFrontColor())) {
header_FrontColor = formcustom.getHeaderFrontColor();
+ map.put(FormBuildUtils.HEADER_COLOR, formcustom.getHeaderFrontColor());
+ }
- if (MiscUtil.isNotEmpty(formcustom.getHeaderText()))
+ if (MiscUtil.isNotEmpty(formcustom.getHeaderText())) {
header_text = formcustom.getHeaderText();
+ map.put(FormBuildUtils.HEADER_TEXT, formcustom.getHeaderText());
+ }
}
}
}
@@ -281,6 +308,28 @@ public class FormularCustomization {
return appletRedirectTargetList;
}
+ /**
+ * @return the fontTypeList
+ */
+ public List<String> getFontTypeList() {
+ return fontTypeList;
+ }
+
+ /**
+ * @return the fontTypeListValue
+ */
+ public String getFontTypeListValue() {
+ return fontTypeListValue;
+ }
+
+ /**
+ * @param fontTypeListValue the fontTypeListValue to set
+ */
+ public void setFontTypeListValue(String fontTypeListValue) {
+ this.fontTypeListValue = fontTypeListValue;
+ }
+
+
}
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAGeneralConfig.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAGeneralConfig.java
index 07c07a964..429a05242 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAGeneralConfig.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAGeneralConfig.java
@@ -50,6 +50,7 @@ public class OAGeneralConfig {
private String aditionalAuthBlockText = null;
private String mandateProfiles = null;
+ private boolean useMandates = false;
private boolean isActive = false;
private boolean calculateHPI = false;
@@ -175,7 +176,17 @@ public class OAGeneralConfig {
Mandates mandates = oaauth.getMandates();
if (mandates != null) {
- mandateProfiles = mandates.getProfiles();
+
+ if (MiscUtil.isNotEmpty(mandates.getProfiles())) {
+ mandateProfiles = mandates.getProfiles();
+ useMandates = true;
+
+ } else {
+ mandateProfiles = new String();
+ useMandates = false;
+ }
+
+
}
TemplatesType templates = oaauth.getTemplates();
@@ -553,5 +564,23 @@ public class OAGeneralConfig {
*/
public void setHideBPKAuthBlock(boolean isHideBPKAuthBlock) {
this.isHideBPKAuthBlock = isHideBPKAuthBlock;
+ }
+
+
+ /**
+ * @return the useMandates
+ */
+ public boolean isUseMandates() {
+ return useMandates;
+ }
+
+
+ /**
+ * @param useMandates the useMandates to set
+ */
+ public void setUseMandates(boolean useMandates) {
+ this.useMandates = useMandates;
}
+
+
}
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditOAAction.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditOAAction.java
index ca547204f..56d6ba9d7 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditOAAction.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditOAAction.java
@@ -1,11 +1,18 @@
package at.gv.egovernment.moa.id.configuration.struts.action;
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.FileInputStream;
import java.io.IOException;
+import java.io.InputStream;
import java.math.BigInteger;
+import java.net.URI;
import java.security.cert.CertificateException;
import java.util.ArrayList;
import java.util.Date;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -15,6 +22,7 @@ import org.apache.log4j.Logger;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
+import at.gv.egovernment.moa.id.auth.builder.LoginFormBuilder;
import at.gv.egovernment.moa.id.commons.db.ConfigurationDBRead;
import at.gv.egovernment.moa.id.commons.db.ConfigurationDBUtils;
import at.gv.egovernment.moa.id.commons.db.dao.config.AuthComponentOA;
@@ -36,8 +44,10 @@ import at.gv.egovernment.moa.id.commons.db.dao.config.TemplatesType;
import at.gv.egovernment.moa.id.commons.db.dao.config.TransformsInfoType;
import at.gv.egovernment.moa.id.commons.db.dao.config.UserDatabase;
import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException;
+import at.gv.egovernment.moa.id.config.auth.OAAuthParameter;
import at.gv.egovernment.moa.id.configuration.Constants;
import at.gv.egovernment.moa.id.configuration.auth.AuthenticatedUser;
+import at.gv.egovernment.moa.id.configuration.config.ConfigurationProvider;
import at.gv.egovernment.moa.id.configuration.data.FormularCustomization;
import at.gv.egovernment.moa.id.configuration.data.oa.OAGeneralConfig;
import at.gv.egovernment.moa.id.configuration.data.oa.OAPVP2Config;
@@ -55,6 +65,7 @@ import at.gv.egovernment.moa.id.configuration.validation.oa.OAPVP2ConfigValidati
import at.gv.egovernment.moa.id.configuration.validation.oa.OASAML1ConfigValidation;
import at.gv.egovernment.moa.id.configuration.validation.oa.OASSOConfigValidation;
import at.gv.egovernment.moa.id.configuration.validation.oa.OASTORKConfigValidation;
+import at.gv.egovernment.moa.id.util.FormBuildUtils;
import at.gv.egovernment.moa.id.util.Random;
import at.gv.egovernment.moa.util.MiscUtil;
@@ -90,6 +101,8 @@ ServletResponseAware {
private OASTORKConfig storkOA;
private FormularCustomization formOA = new FormularCustomization();
+ private InputStream stream;
+
//STRUTS actions
public String inital() {
HttpSession session = request.getSession();
@@ -144,7 +157,13 @@ ServletResponseAware {
generalOA.parse(onlineapplication);
ssoOA.parse(onlineapplication);
saml1OA.parse(onlineapplication);
- formOA.parse(onlineapplication);
+
+
+ Map<String, String> map = new HashMap<String, String>();
+ map.putAll(FormBuildUtils.getDefaultMap());
+ formOA.parse(onlineapplication, map);
+
+ session.setAttribute(Constants.SESSION_BKUFORMPREVIEW, map);
List<String> errors = pvp2OA.parse(onlineapplication);
@@ -216,6 +235,7 @@ ServletResponseAware {
formID = Random.nextRandom();
session.setAttribute(Constants.SESSION_FORMID, formID);
+ session.setAttribute(Constants.SESSION_BKUFORMPREVIEW, null);
return Constants.STRUTS_OA_EDIT;
}
@@ -611,6 +631,83 @@ ServletResponseAware {
}
+ public String bkuFramePreview() {
+
+ String preview = null;
+
+ HttpSession session = request.getSession();
+ if (session == null) {
+ log.info("No http Session found.");
+ preview = LanguageHelper.getErrorString("error.bkuformpreview.notpossible");
+
+ } else {
+ InputStream input = null;
+
+ try {
+ Object mapobj = session.getAttribute(Constants.SESSION_BKUFORMPREVIEW);
+ if (mapobj != null && mapobj instanceof Map<?, ?>) {
+
+ ConfigurationProvider config = ConfigurationProvider.getInstance();
+ String templateURL = config.getConfigRootDir() +
+ ConfigurationProvider.HTMLTEMPLATE_DIR +
+ ConfigurationProvider.HTMLTEMPLATE_FILE;
+
+ File file = new File(templateURL);
+ input = new FileInputStream(file);
+
+ String contextpath = config.getMOAIDInstanceURL();
+ if (MiscUtil.isEmpty(contextpath)) {
+ log.info("NO MOA-ID instance URL configurated.");
+ throw new ConfigurationException("No MOA-ID instance configurated");
+ }
+
+ preview = LoginFormBuilder.getTemplate(input);
+ preview = preview.replace(LoginFormBuilder.CONTEXTPATH, contextpath);
+
+
+ Map<String, String> map = (Map<String, String>) mapobj;
+
+ String module = request.getParameter(Constants.REQUEST_FORMCUSTOM_MODULE);
+ String value = request.getParameter(Constants.REQUEST_FORMCUSTOM_VALUE);
+
+ synchronized (map) {
+
+ if (MiscUtil.isNotEmpty(module)) {
+ if (map.containsKey("#"+module+"#")) {
+ if (MiscUtil.isNotEmpty(value)) {
+ if (FormBuildUtils.FONTFAMILY.contains(module) ||
+ FormBuildUtils.HEADER_TEXT.contains(module) ||
+ value.startsWith("#"))
+ map.put("#"+module+"#", value);
+ else
+ map.put("#"+module+"#", "#"+value);
+
+ } else {
+ map.put("#"+module+"#",
+ FormBuildUtils.getDefaultMap().get("#"+module+"#"));
+ }
+ }
+ }
+ preview = FormBuildUtils.customiceLayoutBKUSelection(preview, true, false, map);
+ }
+
+ } else {
+ preview = LanguageHelper.getErrorString("error.bkuformpreview.notpossible");
+
+ }
+
+ } catch (Exception e) {
+ log.warn("BKUSelection Preview can not be generated.", e);
+ preview = LanguageHelper.getErrorString("error.bkuformpreview.notpossible");
+
+ }
+ }
+
+ stream = new ByteArrayInputStream(preview.getBytes());
+
+ return Constants.STRUTS_SUCCESS;
+ }
+
private String saveOAConfigToDatabase(OnlineApplication dboa, boolean newentry) {
AuthComponentOA authoa = dboa.getAuthComponentOA();
@@ -715,17 +812,31 @@ ServletResponseAware {
bkuruls.setLocalBKU(generalOA.getBkuLocalURL());
bkuruls.setOnlineBKU(generalOA.getBkuOnlineURL());
}
-
- Mandates mandates = new Mandates();
- mandates.setProfiles(generalOA.getMandateProfiles());
- authoa.setMandates(mandates);
-
+
TemplatesType templates = authoa.getTemplates();
if (templates == null) {
templates = new TemplatesType();
authoa.setTemplates(templates);
}
+ BKUSelectionCustomizationType bkuselectioncustom = templates.getBKUSelectionCustomization();
+ if (bkuselectioncustom == null) {
+ bkuselectioncustom = new BKUSelectionCustomizationType();
+ templates.setBKUSelectionCustomization(bkuselectioncustom);
+ }
+
+ Mandates mandates = new Mandates();
+ if (generalOA.isUseMandates()) {
+ mandates.setProfiles(generalOA.getMandateProfiles());
+
+ } else {
+ mandates.setProfiles(new String());
+ }
+
+ authoa.setMandates(mandates);
+ bkuselectioncustom.setMandateLoginButton(MiscUtil.isNotEmpty(generalOA.getMandateProfiles()));
+ bkuselectioncustom.setOnlyMandateLoginAllowed(formOA.isOnlyMandateAllowed());
+
if (authUser.isAdmin()) {
templates.setAditionalAuthBlockText(generalOA.getAditionalAuthBlockText());
@@ -757,14 +868,7 @@ ServletResponseAware {
if (template != null && template.size() > 0)
template.clear();
}
-
-
- BKUSelectionCustomizationType bkuselectioncustom = templates.getBKUSelectionCustomization();
- if (bkuselectioncustom == null) {
- bkuselectioncustom = new BKUSelectionCustomizationType();
- templates.setBKUSelectionCustomization(bkuselectioncustom);
- }
-
+
bkuselectioncustom.setBackGroundColor(parseColor(formOA.getBackGroundColor()));
bkuselectioncustom.setFrontColor(parseColor(formOA.getFrontColor()));
@@ -779,11 +883,8 @@ ServletResponseAware {
if (MiscUtil.isNotEmpty(formOA.getAppletRedirectTarget()))
bkuselectioncustom.setAppletRedirectTarget(formOA.getAppletRedirectTarget());
- bkuselectioncustom.setFontType(formOA.getFontType());
-
- bkuselectioncustom.setMandateLoginButton(formOA.isShowMandateLoginButton());
- bkuselectioncustom.setOnlyMandateLoginAllowed(formOA.isOnlyMandateAllowed());
-
+ bkuselectioncustom.setFontType(formOA.getFontType());
+
}
//set default transformation if it is empty
@@ -1120,6 +1221,13 @@ ServletResponseAware {
public void setFormOA(FormularCustomization formOA) {
this.formOA = formOA;
}
+
+ /**
+ * @return the stream
+ */
+ public InputStream getStream() {
+ return stream;
+ }
}
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAGeneralConfigValidation.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAGeneralConfigValidation.java
index 87ac31e89..f3f96e7f2 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAGeneralConfigValidation.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAGeneralConfigValidation.java
@@ -131,12 +131,20 @@ public class OAGeneralConfigValidation {
//check Mandate Profiles
check = form.getMandateProfiles();
if (MiscUtil.isNotEmpty(check)) {
+
+ if (!form.isUseMandates()) {
+ log.info("MandateProfiles configured but useMandates is false.");
+ errors.add(LanguageHelper.getErrorString("validation.general.mandate.usemandate"));
+ }
+
if (ValidationHelper.containsPotentialCSSCharacter(check, true)) {
log.warn("MandateProfiles contains potentail XSS characters: " + check);
errors.add(LanguageHelper.getErrorString("validation.general.mandate.profiles",
new Object[] {ValidationHelper.getPotentialCSSCharacter(true)} ));
}
}
+
+
boolean businessservice = form.isBusinessService();
diff --git a/id/ConfigWebTool/src/main/resources/applicationResources.properties b/id/ConfigWebTool/src/main/resources/applicationResources.properties
index 103be82c4..cad135b95 100644
--- a/id/ConfigWebTool/src/main/resources/applicationResources.properties
+++ b/id/ConfigWebTool/src/main/resources/applicationResources.properties
@@ -26,6 +26,7 @@ error.login=Der Anmeldevorgang wurde abgebrochen. Bitte Versuchen sie es noch ei
error.mail.send=An die angegebene Mailadresse konnte keine Nachticht versendet werden.
error.mail.verification=Der Verifikationsvorgang wurde durch einen internen Fehler unterbrochen. Bitte Versuchen sie es noch einmal.
error.editoa.mailverification=Die Verwaltung von Online-Applikationen ist vor\u00FCbergehend deaktiviert, da die Mailadresse des Benutzeraccounts noch nicht verifiziert wurde.
+error.bkuformpreview.notpossible="Die Vorschau konnte nicht generiert werden da ein interner Fehler auftreten ist."
mail.userrequest.subject=Accountanforderung MOA-ID 2.x Konfigurationstool
@@ -162,6 +163,7 @@ webpages.oaconfig.general.bku.sltemplate.third=3. SecurityLayer Template
webpages.oaconfig.general.identification=Eindeutiger Identifikatior (PublicURLPrefix)
webpages.oaconfig.general.mandate.header=Vollmachten
webpages.oaconfig.general.mandate.profiles=Profile
+webpages.oaconfig.general.mandate.usemandate=Vollmachten (ja/nein)
webpages.oaconfig.general.friendlyname=Name der Online-Applikation
webpages.oaconfig.general.isbusinessservice=Privatwirtschaftliche Applikation
webpages.oaconfig.general.public.header=&Ouml;ffentlicher Bereich
@@ -192,10 +194,9 @@ webpages.oaconfig.menu.stork=STORK Konfiguration
webpages.oaconfig.protocols.header=Authentifizierungsprotokolle
-webpages.oaconfig.general.BKUSelection.button.show=Formularkonfiguration einblenden
-webpages.oaconfig.general.BKUSelection.button.hidden=Formularkonfiguration ausblenden
+webpages.oaconfig.general.BKUSelection.button.show=Login-Fenster Konfiguration einblenden
+webpages.oaconfig.general.BKUSelection.button.hidden=Login-Fenster Konfiguration ausblenden
webpages.oaconfig.general.BKUSelection.header=Formularkonfiguration
-webpages.oaconfig.general.BKUSelection.isMandateLoginCheckboxVisible=Vollmachtenanmeldung anzeigen
webpages.oaconfig.general.BKUSelection.isOnlyMandateLoginAllowed=Nur Vollmachtenanmeldung erlauben
webpages.oaconfig.general.BKUSelection.backgroundcolor=Hintergrundfarbe der BKU-Auswahl
webpages.oaconfig.general.BKUSelection.frontcolor=Vordergrundfarbe der BKU-Auswahl
@@ -207,6 +208,7 @@ webpages.oaconfig.general.BKUSelection.header.button.background.focus=Hintergrun
webpages.oaconfig.general.BKUSelection.header.button.front=Vordergrundfarbe der Schaltfl\u00E4chen
webpages.oaconfig.general.BKUSelection.redirectTarget=Targetparameter
webpages.oaconfig.general.BKUSelection.fonttype=Formularschrifttyp
+webpages.oaconfig.general.BKUSelection.fonttype.list=Formularschrifttypen
webpages.oaconfig.sso.header=Single Sign-On
webpages.oaconfig.sso.singlelogouturl=Single Log-Out URL
@@ -332,6 +334,7 @@ validation.general.sltemplate1.valid=Die erste SecurityLayer Template URL hat ke
validation.general.sltemplate2.valid=Die zweite SecurityLayer Template URL hat kein g\u00FCltiges Format.
validation.general.sltemplate3.valid=Die dritte SecurityLayer Template URL hat kein g\u00FCltiges Format.
validation.general.mandate.profiles=Die Liste von Vollmachtsprofilen enth\u00E4lt nicht erlaubte Zeichen. Folgende Zeichen sind nicht erlaubt\: {0}
+validation.general.mandate.usemandate=Die Konfiguration von Vollmachtsprofile ist nur mit aktivierten Vollmachten m\u00F6glich.
validation.general.target.empty=Der Target f\u00FCr die Online-Applikation ist leer.
validation.general.target.valid=Der Target f\u00FCr die Online-Applikation hat kein g\u00FCltiges Format.
validation.general.target.subsector.valid=Der Target-Subsektor hat kein g\u00FCltiges Format.
@@ -362,13 +365,13 @@ validation.saml1.providestammzahl=ProvideStammZahl kann nicht mit Applikationen
validation.general.bkuselection.specialfeatures.valid=Die speziellen Einstellungen f\u00FCr die BKU Auswahl (Vollmachtsanmeldung ausblenden / zwingend voraussetzen) k\u00F6nnen nicht in Kombination mit SSO verwendet werden.
validation.general.bkuselection.specialfeatures.combination=Eine zwingend erforderliche Vollmachtenanmeldung in Kombination mit einer ausgeblendeten Vollmachtenauswahlcheckbox ist nicht m\u00F6glich.
-validation.general.form.color.background=Die Hintergrundfarbe f\\u00FCr die BKU Auswahl enth\\u00E4lt keinen g\\u00FCltigen Hexadezimalwert. (z.B. \\#FFFFFF)
-validation.general.form.color.front=Die Vordergrundfarbe f\\u00FCr die BKU Auswahl enth\\u00E4lt keinen g\\u00FCltigen Hexadezimalwert. (z.B. \\#FFFFFF)
-validation.general.form.header.color.back=Die Hintergrundfarbe der BKU-Auswahl\\u00FCberschrift enth\\u00E4lt keinen g\\u00FCltigen Hexadezimalwert. (z.B. \\#FFFFFF)
-validation.general.form.header.color.front=Die Vordergrundfarbe der BKU-Auswahl\\u00FCberschrift enth\\u00E4lt keinen g\\u00FCltigen Hexadezimalwert. (z.B. \\#FFFFFF)
+validation.general.form.color.background=Die Hintergrundfarbe f\\u00FCr die BKU Auswahl enth\\u00E4lt keinen g\\u00FCltigen Hexadezimalwert. (z.B. \\\#FFFFFF)
+validation.general.form.color.front=Die Vordergrundfarbe f\\u00FCr die BKU Auswahl enth\\u00E4lt keinen g\\u00FCltigen Hexadezimalwert. (z.B. \\\#FFFFFF)
+validation.general.form.header.color.back=Die Hintergrundfarbe der BKU-Auswahl\\u00FCberschrift enth\\u00E4lt keinen g\\u00FCltigen Hexadezimalwert. (z.B. \\\#FFFFFF)
+validation.general.form.header.color.front=Die Vordergrundfarbe der BKU-Auswahl\\u00FCberschrift enth\\u00E4lt keinen g\\u00FCltigen Hexadezimalwert. (z.B. \\\#FFFFFF)
validation.general.form.header.text=Die BKU-Auswahl\\u00FCberschrift enth\u00E4lt nicht erlaubte Zeichen. Folgende Zeichen sind nicht erlaubt\: {0}
-validation.general.form.button.color.back.focus=Die Hintergrundfarbe f\\u00FCr Focus der BKU-Auswahlbuttons enth\\u00E4lt keinen g\\u00FCltigen Hexadezimalwert. (z.B. \\#FFFFFF)
-validation.general.form.button.color.back=Die Hintergrundfarbe der BKU-Auswahlbuttons enth\\u00E4lt keinen g\\u00FCltigen Hexadezimalwert. (z.B. \\#FFFFFF)
-validation.general.form.button.color.front=Die Vordergrundfarbe der BKU-Auswahlbuttons enth\\u00E4lt keinen g\\u00FCltigen Hexadezimalwert. (z.B. \\#FFFFFF)
+validation.general.form.button.color.back.focus=Die Hintergrundfarbe f\\u00FCr Focus der BKU-Auswahlbuttons enth\\u00E4lt keinen g\\u00FCltigen Hexadezimalwert. (z.B. \\\#FFFFFF)
+validation.general.form.button.color.back=Die Hintergrundfarbe der BKU-Auswahlbuttons enth\\u00E4lt keinen g\\u00FCltigen Hexadezimalwert. (z.B. \\\#FFFFFF)
+validation.general.form.button.color.front=Die Vordergrundfarbe der BKU-Auswahlbuttons enth\\u00E4lt keinen g\\u00FCltigen Hexadezimalwert. (z.B. \\\#FFFFFF)
validation.general.form.appletredirecttarget=Der RedirectTarget beinhaltet einen ung\\u00FCltiten Wert.
validation.general.form.fonttype=Der BKU-Auswahl Schrifttyp enth\u00E4lt nicht erlaubte Zeichen. Folgende Zeichen sind nicht erlaubt\: {0} \ No newline at end of file
diff --git a/id/ConfigWebTool/src/main/resources/struts.xml b/id/ConfigWebTool/src/main/resources/struts.xml
index a0bf3f468..ee5baf8d6 100644
--- a/id/ConfigWebTool/src/main/resources/struts.xml
+++ b/id/ConfigWebTool/src/main/resources/struts.xml
@@ -135,6 +135,14 @@
<interceptor-ref name="defaultStack"/>
</action>
+ <action name="bkuFramePreview" method="bkuFramePreview" class="at.gv.egovernment.moa.id.configuration.struts.action.EditOAAction">
+ <result type="stream">
+ <param name="contentType">text/html</param>
+ <param name="inputName">stream</param>
+ </result>
+ <interceptor-ref name="defaultStack"/>
+ </action>
+
<action name="saveOA" method="saveOA" class="at.gv.egovernment.moa.id.configuration.struts.action.EditOAAction">
<result name="success" type="chain">${nextPage}</result>
<result name="error_validation">/jsp/editOAGeneral.jsp</result>
diff --git a/id/ConfigWebTool/src/main/webapp/css/colorpicker.css b/id/ConfigWebTool/src/main/webapp/css/colorpicker.css
new file mode 100644
index 000000000..0b3d5d936
--- /dev/null
+++ b/id/ConfigWebTool/src/main/webapp/css/colorpicker.css
@@ -0,0 +1,161 @@
+.colorpicker {
+ width: 356px;
+ height: 176px;
+ overflow: hidden;
+ position: absolute;
+ background: url(../images/colorpicker_background.png);
+ font-family: Arial, Helvetica, sans-serif;
+ display: none;
+}
+.colorpicker_color {
+ width: 150px;
+ height: 150px;
+ left: 14px;
+ top: 13px;
+ position: absolute;
+ background: #f00;
+ overflow: hidden;
+ cursor: crosshair;
+}
+.colorpicker_color div {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 150px;
+ height: 150px;
+ background: url(../images/colorpicker_overlay.png);
+}
+.colorpicker_color div div {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 11px;
+ height: 11px;
+ overflow: hidden;
+ background: url(../images/colorpicker_select.gif);
+ margin: -5px 0 0 -5px;
+}
+.colorpicker_hue {
+ position: absolute;
+ top: 13px;
+ left: 171px;
+ width: 35px;
+ height: 150px;
+ cursor: n-resize;
+}
+.colorpicker_hue div {
+ position: absolute;
+ width: 35px;
+ height: 9px;
+ overflow: hidden;
+ background: url(../images/colorpicker_indic.gif) left top;
+ margin: -4px 0 0 0;
+ left: 0px;
+}
+.colorpicker_new_color {
+ position: absolute;
+ width: 60px;
+ height: 30px;
+ left: 213px;
+ top: 13px;
+ background: #f00;
+}
+.colorpicker_current_color {
+ position: absolute;
+ width: 60px;
+ height: 30px;
+ left: 283px;
+ top: 13px;
+ background: #f00;
+}
+.colorpicker input {
+ background-color: transparent;
+ border: 1px solid transparent;
+ position: absolute;
+ font-size: 10px;
+ font-family: Arial, Helvetica, sans-serif;
+ color: #898989;
+ top: 4px;
+ right: 11px;
+ text-align: right;
+ margin: 0;
+ padding: 0;
+ height: 11px;
+}
+.colorpicker_hex {
+ position: absolute;
+ width: 72px;
+ height: 22px;
+ background: url(../images/colorpicker_hex.png) top;
+ left: 212px;
+ top: 142px;
+}
+.colorpicker_hex input {
+ right: 6px;
+}
+.colorpicker_field {
+ height: 22px;
+ width: 62px;
+ background-position: top;
+ position: absolute;
+}
+.colorpicker_field span {
+ position: absolute;
+ width: 12px;
+ height: 22px;
+ overflow: hidden;
+ top: 0;
+ right: 0;
+ cursor: n-resize;
+}
+.colorpicker_rgb_r {
+ background-image: url(../images/colorpicker_rgb_r.png);
+ top: 52px;
+ left: 212px;
+}
+.colorpicker_rgb_g {
+ background-image: url(../images/colorpicker_rgb_g.png);
+ top: 82px;
+ left: 212px;
+}
+.colorpicker_rgb_b {
+ background-image: url(../images/colorpicker_rgb_b.png);
+ top: 112px;
+ left: 212px;
+}
+.colorpicker_hsb_h {
+ background-image: url(../images/colorpicker_hsb_h.png);
+ top: 52px;
+ left: 282px;
+}
+.colorpicker_hsb_s {
+ background-image: url(../images/colorpicker_hsb_s.png);
+ top: 82px;
+ left: 282px;
+}
+.colorpicker_hsb_b {
+ background-image: url(../images/colorpicker_hsb_b.png);
+ top: 112px;
+ left: 282px;
+}
+.colorpicker_submit {
+ position: absolute;
+ width: 22px;
+ height: 22px;
+ background: url(../images/colorpicker_submit.png) top;
+ left: 322px;
+ top: 142px;
+ overflow: hidden;
+}
+.colorpicker_focus {
+ background-position: center;
+}
+.colorpicker_hex.colorpicker_focus {
+ background-position: bottom;
+}
+.colorpicker_submit.colorpicker_focus {
+ background-position: bottom;
+}
+.colorpicker_slider {
+ background-position: bottom;
+}
diff --git a/id/ConfigWebTool/src/main/webapp/css/index.css b/id/ConfigWebTool/src/main/webapp/css/index.css
index 911db5334..14591f1dc 100644
--- a/id/ConfigWebTool/src/main/webapp/css/index.css
+++ b/id/ConfigWebTool/src/main/webapp/css/index.css
@@ -147,6 +147,16 @@
margin-bottom: 50px;
}
+#formCustomValues {
+ float: left;
+}
+
+#formCustomPreview {
+ float: left;
+ margin-bottom: 25px;
+ margin-left: 25px;
+}
+
#mail_area input {
float: right;
}
@@ -230,7 +240,7 @@
}
.wwgrp {
- clear:both;
+ clear:left;
}
#oa_saml1_area .wwgrp {
@@ -258,7 +268,7 @@ div .wwgrp br {
}
.textfield_mail {
- width: 400px;
+ width: 300px;
}
.textfield_long {
diff --git a/id/ConfigWebTool/src/main/webapp/images/blank.gif b/id/ConfigWebTool/src/main/webapp/images/blank.gif
new file mode 100644
index 000000000..75b945d25
--- /dev/null
+++ b/id/ConfigWebTool/src/main/webapp/images/blank.gif
Binary files differ
diff --git a/id/ConfigWebTool/src/main/webapp/images/colorpicker_background.png b/id/ConfigWebTool/src/main/webapp/images/colorpicker_background.png
new file mode 100644
index 000000000..8401572f1
--- /dev/null
+++ b/id/ConfigWebTool/src/main/webapp/images/colorpicker_background.png
Binary files differ
diff --git a/id/ConfigWebTool/src/main/webapp/images/colorpicker_hex.png b/id/ConfigWebTool/src/main/webapp/images/colorpicker_hex.png
new file mode 100644
index 000000000..4e532d7c6
--- /dev/null
+++ b/id/ConfigWebTool/src/main/webapp/images/colorpicker_hex.png
Binary files differ
diff --git a/id/ConfigWebTool/src/main/webapp/images/colorpicker_hsb_b.png b/id/ConfigWebTool/src/main/webapp/images/colorpicker_hsb_b.png
new file mode 100644
index 000000000..dfac595d0
--- /dev/null
+++ b/id/ConfigWebTool/src/main/webapp/images/colorpicker_hsb_b.png
Binary files differ
diff --git a/id/ConfigWebTool/src/main/webapp/images/colorpicker_hsb_h.png b/id/ConfigWebTool/src/main/webapp/images/colorpicker_hsb_h.png
new file mode 100644
index 000000000..3977ed9f2
--- /dev/null
+++ b/id/ConfigWebTool/src/main/webapp/images/colorpicker_hsb_h.png
Binary files differ
diff --git a/id/ConfigWebTool/src/main/webapp/images/colorpicker_hsb_s.png b/id/ConfigWebTool/src/main/webapp/images/colorpicker_hsb_s.png
new file mode 100644
index 000000000..a2a699736
--- /dev/null
+++ b/id/ConfigWebTool/src/main/webapp/images/colorpicker_hsb_s.png
Binary files differ
diff --git a/id/ConfigWebTool/src/main/webapp/images/colorpicker_indic.gif b/id/ConfigWebTool/src/main/webapp/images/colorpicker_indic.gif
new file mode 100644
index 000000000..f9fa95e28
--- /dev/null
+++ b/id/ConfigWebTool/src/main/webapp/images/colorpicker_indic.gif
Binary files differ
diff --git a/id/ConfigWebTool/src/main/webapp/images/colorpicker_overlay.png b/id/ConfigWebTool/src/main/webapp/images/colorpicker_overlay.png
new file mode 100644
index 000000000..561cdd9c5
--- /dev/null
+++ b/id/ConfigWebTool/src/main/webapp/images/colorpicker_overlay.png
Binary files differ
diff --git a/id/ConfigWebTool/src/main/webapp/images/colorpicker_rgb_b.png b/id/ConfigWebTool/src/main/webapp/images/colorpicker_rgb_b.png
new file mode 100644
index 000000000..dfac595d0
--- /dev/null
+++ b/id/ConfigWebTool/src/main/webapp/images/colorpicker_rgb_b.png
Binary files differ
diff --git a/id/ConfigWebTool/src/main/webapp/images/colorpicker_rgb_g.png b/id/ConfigWebTool/src/main/webapp/images/colorpicker_rgb_g.png
new file mode 100644
index 000000000..72b32760a
--- /dev/null
+++ b/id/ConfigWebTool/src/main/webapp/images/colorpicker_rgb_g.png
Binary files differ
diff --git a/id/ConfigWebTool/src/main/webapp/images/colorpicker_rgb_r.png b/id/ConfigWebTool/src/main/webapp/images/colorpicker_rgb_r.png
new file mode 100644
index 000000000..4855fe03f
--- /dev/null
+++ b/id/ConfigWebTool/src/main/webapp/images/colorpicker_rgb_r.png
Binary files differ
diff --git a/id/ConfigWebTool/src/main/webapp/images/colorpicker_select.gif b/id/ConfigWebTool/src/main/webapp/images/colorpicker_select.gif
new file mode 100644
index 000000000..599f7f13a
--- /dev/null
+++ b/id/ConfigWebTool/src/main/webapp/images/colorpicker_select.gif
Binary files differ
diff --git a/id/ConfigWebTool/src/main/webapp/images/colorpicker_submit.png b/id/ConfigWebTool/src/main/webapp/images/colorpicker_submit.png
new file mode 100644
index 000000000..7f4c0825f
--- /dev/null
+++ b/id/ConfigWebTool/src/main/webapp/images/colorpicker_submit.png
Binary files differ
diff --git a/id/ConfigWebTool/src/main/webapp/images/custom_background.png b/id/ConfigWebTool/src/main/webapp/images/custom_background.png
new file mode 100644
index 000000000..cf55ffdd6
--- /dev/null
+++ b/id/ConfigWebTool/src/main/webapp/images/custom_background.png
Binary files differ
diff --git a/id/ConfigWebTool/src/main/webapp/images/custom_hex.png b/id/ConfigWebTool/src/main/webapp/images/custom_hex.png
new file mode 100644
index 000000000..888f44449
--- /dev/null
+++ b/id/ConfigWebTool/src/main/webapp/images/custom_hex.png
Binary files differ
diff --git a/id/ConfigWebTool/src/main/webapp/images/custom_hsb_b.png b/id/ConfigWebTool/src/main/webapp/images/custom_hsb_b.png
new file mode 100644
index 000000000..2f99dae8e
--- /dev/null
+++ b/id/ConfigWebTool/src/main/webapp/images/custom_hsb_b.png
Binary files differ
diff --git a/id/ConfigWebTool/src/main/webapp/images/custom_hsb_h.png b/id/ConfigWebTool/src/main/webapp/images/custom_hsb_h.png
new file mode 100644
index 000000000..a217e9218
--- /dev/null
+++ b/id/ConfigWebTool/src/main/webapp/images/custom_hsb_h.png
Binary files differ
diff --git a/id/ConfigWebTool/src/main/webapp/images/custom_hsb_s.png b/id/ConfigWebTool/src/main/webapp/images/custom_hsb_s.png
new file mode 100644
index 000000000..7826b4150
--- /dev/null
+++ b/id/ConfigWebTool/src/main/webapp/images/custom_hsb_s.png
Binary files differ
diff --git a/id/ConfigWebTool/src/main/webapp/images/custom_indic.gif b/id/ConfigWebTool/src/main/webapp/images/custom_indic.gif
new file mode 100644
index 000000000..222fb94cf
--- /dev/null
+++ b/id/ConfigWebTool/src/main/webapp/images/custom_indic.gif
Binary files differ
diff --git a/id/ConfigWebTool/src/main/webapp/images/custom_rgb_b.png b/id/ConfigWebTool/src/main/webapp/images/custom_rgb_b.png
new file mode 100644
index 000000000..80764e5d6
--- /dev/null
+++ b/id/ConfigWebTool/src/main/webapp/images/custom_rgb_b.png
Binary files differ
diff --git a/id/ConfigWebTool/src/main/webapp/images/custom_rgb_g.png b/id/ConfigWebTool/src/main/webapp/images/custom_rgb_g.png
new file mode 100644
index 000000000..fc9778be1
--- /dev/null
+++ b/id/ConfigWebTool/src/main/webapp/images/custom_rgb_g.png
Binary files differ
diff --git a/id/ConfigWebTool/src/main/webapp/images/custom_rgb_r.png b/id/ConfigWebTool/src/main/webapp/images/custom_rgb_r.png
new file mode 100644
index 000000000..91b0cd4c5
--- /dev/null
+++ b/id/ConfigWebTool/src/main/webapp/images/custom_rgb_r.png
Binary files differ
diff --git a/id/ConfigWebTool/src/main/webapp/images/custom_submit.png b/id/ConfigWebTool/src/main/webapp/images/custom_submit.png
new file mode 100644
index 000000000..cd202cd93
--- /dev/null
+++ b/id/ConfigWebTool/src/main/webapp/images/custom_submit.png
Binary files differ
diff --git a/id/ConfigWebTool/src/main/webapp/images/select.png b/id/ConfigWebTool/src/main/webapp/images/select.png
new file mode 100644
index 000000000..21213bfd5
--- /dev/null
+++ b/id/ConfigWebTool/src/main/webapp/images/select.png
Binary files differ
diff --git a/id/ConfigWebTool/src/main/webapp/images/select2.png b/id/ConfigWebTool/src/main/webapp/images/select2.png
new file mode 100644
index 000000000..2cd2cabeb
--- /dev/null
+++ b/id/ConfigWebTool/src/main/webapp/images/select2.png
Binary files differ
diff --git a/id/ConfigWebTool/src/main/webapp/images/slider.png b/id/ConfigWebTool/src/main/webapp/images/slider.png
new file mode 100644
index 000000000..8b03da96e
--- /dev/null
+++ b/id/ConfigWebTool/src/main/webapp/images/slider.png
Binary files differ
diff --git a/id/ConfigWebTool/src/main/webapp/js/colorpicker.js b/id/ConfigWebTool/src/main/webapp/js/colorpicker.js
new file mode 100644
index 000000000..45f56ced7
--- /dev/null
+++ b/id/ConfigWebTool/src/main/webapp/js/colorpicker.js
@@ -0,0 +1,484 @@
+/**
+ *
+ * Color picker
+ * Author: Stefan Petre www.eyecon.ro
+ *
+ * Dual licensed under the MIT and GPL licenses
+ *
+ */
+(function ($) {
+ var ColorPicker = function () {
+ var
+ ids = {},
+ inAction,
+ charMin = 65,
+ visible,
+ tpl = '<div class="colorpicker"><div class="colorpicker_color"><div><div></div></div></div><div class="colorpicker_hue"><div></div></div><div class="colorpicker_new_color"></div><div class="colorpicker_current_color"></div><div class="colorpicker_hex"><input type="text" maxlength="6" size="6" /></div><div class="colorpicker_rgb_r colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_rgb_g colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_rgb_b colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_h colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_s colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_b colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_submit"></div></div>',
+ defaults = {
+ eventName: 'click',
+ onShow: function () {},
+ onBeforeShow: function(){},
+ onHide: function () {},
+ onChange: function () {},
+ onSubmit: function () {},
+ color: 'ff0000',
+ livePreview: true,
+ flat: false
+ },
+ fillRGBFields = function (hsb, cal) {
+ var rgb = HSBToRGB(hsb);
+ $(cal).data('colorpicker').fields
+ .eq(1).val(rgb.r).end()
+ .eq(2).val(rgb.g).end()
+ .eq(3).val(rgb.b).end();
+ },
+ fillHSBFields = function (hsb, cal) {
+ $(cal).data('colorpicker').fields
+ .eq(4).val(hsb.h).end()
+ .eq(5).val(hsb.s).end()
+ .eq(6).val(hsb.b).end();
+ },
+ fillHexFields = function (hsb, cal) {
+ $(cal).data('colorpicker').fields
+ .eq(0).val(HSBToHex(hsb)).end();
+ },
+ setSelector = function (hsb, cal) {
+ $(cal).data('colorpicker').selector.css('backgroundColor', '#' + HSBToHex({h: hsb.h, s: 100, b: 100}));
+ $(cal).data('colorpicker').selectorIndic.css({
+ left: parseInt(150 * hsb.s/100, 10),
+ top: parseInt(150 * (100-hsb.b)/100, 10)
+ });
+ },
+ setHue = function (hsb, cal) {
+ $(cal).data('colorpicker').hue.css('top', parseInt(150 - 150 * hsb.h/360, 10));
+ },
+ setCurrentColor = function (hsb, cal) {
+ $(cal).data('colorpicker').currentColor.css('backgroundColor', '#' + HSBToHex(hsb));
+ },
+ setNewColor = function (hsb, cal) {
+ $(cal).data('colorpicker').newColor.css('backgroundColor', '#' + HSBToHex(hsb));
+ },
+ keyDown = function (ev) {
+ var pressedKey = ev.charCode || ev.keyCode || -1;
+ if ((pressedKey > charMin && pressedKey <= 90) || pressedKey == 32) {
+ return false;
+ }
+ var cal = $(this).parent().parent();
+ if (cal.data('colorpicker').livePreview === true) {
+ change.apply(this);
+ }
+ },
+ change = function (ev) {
+ var cal = $(this).parent().parent(), col;
+ if (this.parentNode.className.indexOf('_hex') > 0) {
+ cal.data('colorpicker').color = col = HexToHSB(fixHex(this.value));
+ } else if (this.parentNode.className.indexOf('_hsb') > 0) {
+ cal.data('colorpicker').color = col = fixHSB({
+ h: parseInt(cal.data('colorpicker').fields.eq(4).val(), 10),
+ s: parseInt(cal.data('colorpicker').fields.eq(5).val(), 10),
+ b: parseInt(cal.data('colorpicker').fields.eq(6).val(), 10)
+ });
+ } else {
+ cal.data('colorpicker').color = col = RGBToHSB(fixRGB({
+ r: parseInt(cal.data('colorpicker').fields.eq(1).val(), 10),
+ g: parseInt(cal.data('colorpicker').fields.eq(2).val(), 10),
+ b: parseInt(cal.data('colorpicker').fields.eq(3).val(), 10)
+ }));
+ }
+ if (ev) {
+ fillRGBFields(col, cal.get(0));
+ fillHexFields(col, cal.get(0));
+ fillHSBFields(col, cal.get(0));
+ }
+ setSelector(col, cal.get(0));
+ setHue(col, cal.get(0));
+ setNewColor(col, cal.get(0));
+ cal.data('colorpicker').onChange.apply(cal, [col, HSBToHex(col), HSBToRGB(col)]);
+ },
+ blur = function (ev) {
+ var cal = $(this).parent().parent();
+ cal.data('colorpicker').fields.parent().removeClass('colorpicker_focus');
+ },
+ focus = function () {
+ charMin = this.parentNode.className.indexOf('_hex') > 0 ? 70 : 65;
+ $(this).parent().parent().data('colorpicker').fields.parent().removeClass('colorpicker_focus');
+ $(this).parent().addClass('colorpicker_focus');
+ },
+ downIncrement = function (ev) {
+ var field = $(this).parent().find('input').focus();
+ var current = {
+ el: $(this).parent().addClass('colorpicker_slider'),
+ max: this.parentNode.className.indexOf('_hsb_h') > 0 ? 360 : (this.parentNode.className.indexOf('_hsb') > 0 ? 100 : 255),
+ y: ev.pageY,
+ field: field,
+ val: parseInt(field.val(), 10),
+ preview: $(this).parent().parent().data('colorpicker').livePreview
+ };
+ $(document).bind('mouseup', current, upIncrement);
+ $(document).bind('mousemove', current, moveIncrement);
+ },
+ moveIncrement = function (ev) {
+ ev.data.field.val(Math.max(0, Math.min(ev.data.max, parseInt(ev.data.val + ev.pageY - ev.data.y, 10))));
+ if (ev.data.preview) {
+ change.apply(ev.data.field.get(0), [true]);
+ }
+ return false;
+ },
+ upIncrement = function (ev) {
+ change.apply(ev.data.field.get(0), [true]);
+ ev.data.el.removeClass('colorpicker_slider').find('input').focus();
+ $(document).unbind('mouseup', upIncrement);
+ $(document).unbind('mousemove', moveIncrement);
+ return false;
+ },
+ downHue = function (ev) {
+ var current = {
+ cal: $(this).parent(),
+ y: $(this).offset().top
+ };
+ current.preview = current.cal.data('colorpicker').livePreview;
+ $(document).bind('mouseup', current, upHue);
+ $(document).bind('mousemove', current, moveHue);
+ },
+ moveHue = function (ev) {
+ change.apply(
+ ev.data.cal.data('colorpicker')
+ .fields
+ .eq(4)
+ .val(parseInt(360*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.y))))/150, 10))
+ .get(0),
+ [ev.data.preview]
+ );
+ return false;
+ },
+ upHue = function (ev) {
+ fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
+ fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
+ $(document).unbind('mouseup', upHue);
+ $(document).unbind('mousemove', moveHue);
+ return false;
+ },
+ downSelector = function (ev) {
+ var current = {
+ cal: $(this).parent(),
+ pos: $(this).offset()
+ };
+ current.preview = current.cal.data('colorpicker').livePreview;
+ $(document).bind('mouseup', current, upSelector);
+ $(document).bind('mousemove', current, moveSelector);
+ },
+ moveSelector = function (ev) {
+ change.apply(
+ ev.data.cal.data('colorpicker')
+ .fields
+ .eq(6)
+ .val(parseInt(100*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.pos.top))))/150, 10))
+ .end()
+ .eq(5)
+ .val(parseInt(100*(Math.max(0,Math.min(150,(ev.pageX - ev.data.pos.left))))/150, 10))
+ .get(0),
+ [ev.data.preview]
+ );
+ return false;
+ },
+ upSelector = function (ev) {
+ fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
+ fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
+ $(document).unbind('mouseup', upSelector);
+ $(document).unbind('mousemove', moveSelector);
+ return false;
+ },
+ enterSubmit = function (ev) {
+ $(this).addClass('colorpicker_focus');
+ },
+ leaveSubmit = function (ev) {
+ $(this).removeClass('colorpicker_focus');
+ },
+ clickSubmit = function (ev) {
+ var cal = $(this).parent();
+ var col = cal.data('colorpicker').color;
+ cal.data('colorpicker').origColor = col;
+ setCurrentColor(col, cal.get(0));
+ cal.data('colorpicker').onSubmit(col, HSBToHex(col), HSBToRGB(col), cal.data('colorpicker').el);
+ },
+ show = function (ev) {
+ var cal = $('#' + $(this).data('colorpickerId'));
+ cal.data('colorpicker').onBeforeShow.apply(this, [cal.get(0)]);
+ var pos = $(this).offset();
+ var viewPort = getViewport();
+ var top = pos.top + this.offsetHeight;
+ var left = pos.left;
+ if (top + 176 > viewPort.t + viewPort.h) {
+ top -= this.offsetHeight + 176;
+ }
+ if (left + 356 > viewPort.l + viewPort.w) {
+ left -= 356;
+ }
+ cal.css({left: left + 'px', top: top + 'px'});
+ if (cal.data('colorpicker').onShow.apply(this, [cal.get(0)]) != false) {
+ cal.show();
+ }
+ $(document).bind('mousedown', {cal: cal}, hide);
+ return false;
+ },
+ hide = function (ev) {
+ if (!isChildOf(ev.data.cal.get(0), ev.target, ev.data.cal.get(0))) {
+ if (ev.data.cal.data('colorpicker').onHide.apply(this, [ev.data.cal.get(0)]) != false) {
+ ev.data.cal.hide();
+ }
+ $(document).unbind('mousedown', hide);
+ }
+ },
+ isChildOf = function(parentEl, el, container) {
+ if (parentEl == el) {
+ return true;
+ }
+ if (parentEl.contains) {
+ return parentEl.contains(el);
+ }
+ if ( parentEl.compareDocumentPosition ) {
+ return !!(parentEl.compareDocumentPosition(el) & 16);
+ }
+ var prEl = el.parentNode;
+ while(prEl && prEl != container) {
+ if (prEl == parentEl)
+ return true;
+ prEl = prEl.parentNode;
+ }
+ return false;
+ },
+ getViewport = function () {
+ var m = document.compatMode == 'CSS1Compat';
+ return {
+ l : window.pageXOffset || (m ? document.documentElement.scrollLeft : document.body.scrollLeft),
+ t : window.pageYOffset || (m ? document.documentElement.scrollTop : document.body.scrollTop),
+ w : window.innerWidth || (m ? document.documentElement.clientWidth : document.body.clientWidth),
+ h : window.innerHeight || (m ? document.documentElement.clientHeight : document.body.clientHeight)
+ };
+ },
+ fixHSB = function (hsb) {
+ return {
+ h: Math.min(360, Math.max(0, hsb.h)),
+ s: Math.min(100, Math.max(0, hsb.s)),
+ b: Math.min(100, Math.max(0, hsb.b))
+ };
+ },
+ fixRGB = function (rgb) {
+ return {
+ r: Math.min(255, Math.max(0, rgb.r)),
+ g: Math.min(255, Math.max(0, rgb.g)),
+ b: Math.min(255, Math.max(0, rgb.b))
+ };
+ },
+ fixHex = function (hex) {
+ var len = 6 - hex.length;
+ if (len > 0) {
+ var o = [];
+ for (var i=0; i<len; i++) {
+ o.push('0');
+ }
+ o.push(hex);
+ hex = o.join('');
+ }
+ return hex;
+ },
+ HexToRGB = function (hex) {
+ var hex = parseInt(((hex.indexOf('#') > -1) ? hex.substring(1) : hex), 16);
+ return {r: hex >> 16, g: (hex & 0x00FF00) >> 8, b: (hex & 0x0000FF)};
+ },
+ HexToHSB = function (hex) {
+ return RGBToHSB(HexToRGB(hex));
+ },
+ RGBToHSB = function (rgb) {
+ var hsb = {
+ h: 0,
+ s: 0,
+ b: 0
+ };
+ var min = Math.min(rgb.r, rgb.g, rgb.b);
+ var max = Math.max(rgb.r, rgb.g, rgb.b);
+ var delta = max - min;
+ hsb.b = max;
+ if (max != 0) {
+
+ }
+ hsb.s = max != 0 ? 255 * delta / max : 0;
+ if (hsb.s != 0) {
+ if (rgb.r == max) {
+ hsb.h = (rgb.g - rgb.b) / delta;
+ } else if (rgb.g == max) {
+ hsb.h = 2 + (rgb.b - rgb.r) / delta;
+ } else {
+ hsb.h = 4 + (rgb.r - rgb.g) / delta;
+ }
+ } else {
+ hsb.h = -1;
+ }
+ hsb.h *= 60;
+ if (hsb.h < 0) {
+ hsb.h += 360;
+ }
+ hsb.s *= 100/255;
+ hsb.b *= 100/255;
+ return hsb;
+ },
+ HSBToRGB = function (hsb) {
+ var rgb = {};
+ var h = Math.round(hsb.h);
+ var s = Math.round(hsb.s*255/100);
+ var v = Math.round(hsb.b*255/100);
+ if(s == 0) {
+ rgb.r = rgb.g = rgb.b = v;
+ } else {
+ var t1 = v;
+ var t2 = (255-s)*v/255;
+ var t3 = (t1-t2)*(h%60)/60;
+ if(h==360) h = 0;
+ if(h<60) {rgb.r=t1; rgb.b=t2; rgb.g=t2+t3}
+ else if(h<120) {rgb.g=t1; rgb.b=t2; rgb.r=t1-t3}
+ else if(h<180) {rgb.g=t1; rgb.r=t2; rgb.b=t2+t3}
+ else if(h<240) {rgb.b=t1; rgb.r=t2; rgb.g=t1-t3}
+ else if(h<300) {rgb.b=t1; rgb.g=t2; rgb.r=t2+t3}
+ else if(h<360) {rgb.r=t1; rgb.g=t2; rgb.b=t1-t3}
+ else {rgb.r=0; rgb.g=0; rgb.b=0}
+ }
+ return {r:Math.round(rgb.r), g:Math.round(rgb.g), b:Math.round(rgb.b)};
+ },
+ RGBToHex = function (rgb) {
+ var hex = [
+ rgb.r.toString(16),
+ rgb.g.toString(16),
+ rgb.b.toString(16)
+ ];
+ $.each(hex, function (nr, val) {
+ if (val.length == 1) {
+ hex[nr] = '0' + val;
+ }
+ });
+ return hex.join('');
+ },
+ HSBToHex = function (hsb) {
+ return RGBToHex(HSBToRGB(hsb));
+ },
+ restoreOriginal = function () {
+ var cal = $(this).parent();
+ var col = cal.data('colorpicker').origColor;
+ cal.data('colorpicker').color = col;
+ fillRGBFields(col, cal.get(0));
+ fillHexFields(col, cal.get(0));
+ fillHSBFields(col, cal.get(0));
+ setSelector(col, cal.get(0));
+ setHue(col, cal.get(0));
+ setNewColor(col, cal.get(0));
+ };
+ return {
+ init: function (opt) {
+ opt = $.extend({}, defaults, opt||{});
+ if (typeof opt.color == 'string') {
+ opt.color = HexToHSB(opt.color);
+ } else if (opt.color.r != undefined && opt.color.g != undefined && opt.color.b != undefined) {
+ opt.color = RGBToHSB(opt.color);
+ } else if (opt.color.h != undefined && opt.color.s != undefined && opt.color.b != undefined) {
+ opt.color = fixHSB(opt.color);
+ } else {
+ return this;
+ }
+ return this.each(function () {
+ if (!$(this).data('colorpickerId')) {
+ var options = $.extend({}, opt);
+ options.origColor = opt.color;
+ var id = 'collorpicker_' + parseInt(Math.random() * 1000);
+ $(this).data('colorpickerId', id);
+ var cal = $(tpl).attr('id', id);
+ if (options.flat) {
+ cal.appendTo(this).show();
+ } else {
+ cal.appendTo(document.body);
+ }
+ options.fields = cal
+ .find('input')
+ .bind('keyup', keyDown)
+ .bind('change', change)
+ .bind('blur', blur)
+ .bind('focus', focus);
+ cal
+ .find('span').bind('mousedown', downIncrement).end()
+ .find('>div.colorpicker_current_color').bind('click', restoreOriginal);
+ options.selector = cal.find('div.colorpicker_color').bind('mousedown', downSelector);
+ options.selectorIndic = options.selector.find('div div');
+ options.el = this;
+ options.hue = cal.find('div.colorpicker_hue div');
+ cal.find('div.colorpicker_hue').bind('mousedown', downHue);
+ options.newColor = cal.find('div.colorpicker_new_color');
+ options.currentColor = cal.find('div.colorpicker_current_color');
+ cal.data('colorpicker', options);
+ cal.find('div.colorpicker_submit')
+ .bind('mouseenter', enterSubmit)
+ .bind('mouseleave', leaveSubmit)
+ .bind('click', clickSubmit);
+ fillRGBFields(options.color, cal.get(0));
+ fillHSBFields(options.color, cal.get(0));
+ fillHexFields(options.color, cal.get(0));
+ setHue(options.color, cal.get(0));
+ setSelector(options.color, cal.get(0));
+ setCurrentColor(options.color, cal.get(0));
+ setNewColor(options.color, cal.get(0));
+ if (options.flat) {
+ cal.css({
+ position: 'relative',
+ display: 'block'
+ });
+ } else {
+ $(this).bind(options.eventName, show);
+ }
+ }
+ });
+ },
+ showPicker: function() {
+ return this.each( function () {
+ if ($(this).data('colorpickerId')) {
+ show.apply(this);
+ }
+ });
+ },
+ hidePicker: function() {
+ return this.each( function () {
+ if ($(this).data('colorpickerId')) {
+ $('#' + $(this).data('colorpickerId')).hide();
+ }
+ });
+ },
+ setColor: function(col) {
+ if (typeof col == 'string') {
+ col = HexToHSB(col);
+ } else if (col.r != undefined && col.g != undefined && col.b != undefined) {
+ col = RGBToHSB(col);
+ } else if (col.h != undefined && col.s != undefined && col.b != undefined) {
+ col = fixHSB(col);
+ } else {
+ return this;
+ }
+ return this.each(function(){
+ if ($(this).data('colorpickerId')) {
+ var cal = $('#' + $(this).data('colorpickerId'));
+ cal.data('colorpicker').color = col;
+ cal.data('colorpicker').origColor = col;
+ fillRGBFields(col, cal.get(0));
+ fillHSBFields(col, cal.get(0));
+ fillHexFields(col, cal.get(0));
+ setHue(col, cal.get(0));
+ setSelector(col, cal.get(0));
+ setCurrentColor(col, cal.get(0));
+ setNewColor(col, cal.get(0));
+ }
+ });
+ }
+ };
+ }();
+ $.fn.extend({
+ ColorPicker: ColorPicker.init,
+ ColorPickerHide: ColorPicker.hidePicker,
+ ColorPickerShow: ColorPicker.showPicker,
+ ColorPickerSetColor: ColorPicker.setColor
+ });
+})(jQuery) \ No newline at end of file
diff --git a/id/ConfigWebTool/src/main/webapp/js/common.js b/id/ConfigWebTool/src/main/webapp/js/common.js
index d32350ce1..305e4d1ee 100644
--- a/id/ConfigWebTool/src/main/webapp/js/common.js
+++ b/id/ConfigWebTool/src/main/webapp/js/common.js
@@ -53,6 +53,7 @@ function oaFormCustom() {
$('#formcustom_area').css('display', "block");
$('#formcustom_button_show').css('display', "none");
$('#formcustom_button_hidden').css('display', "block");
+ $("#formCustomPreview>iframe").attr("src", "./bkuFramePreview.action");
}
}
function editOA(oaid){
@@ -135,6 +136,11 @@ function sendVerificationMail() {
},
});
}
+function updateBKUFormPreview(module) {
+ var value = $("#"+module).val();
+
+ $("#formCustomPreview>iframe").attr("src", "./bkuFramePreview.action?module="+module+"&value="+value.replace("#",""));
+}
function userOnLoad() {
UseUserNamePassword();
return true;
@@ -145,5 +151,18 @@ function oaOnLoad() {
oaLegacyService();
AdminTarget();
oaTargetSubSector();
+
+ $(".colorfield").each(
+ function() {
+ $(this).ColorPicker({
+ color : $(this).val(),
+ onSubmit : function(hsb, hex, rgb, el) {
+ $(el).val(hex);
+ updateBKUFormPreview($(el).attr("id"));
+ }
+ });
+ }
+ );
+
return true;
} \ No newline at end of file
diff --git a/id/ConfigWebTool/src/main/webapp/jsp/editOAGeneral.jsp b/id/ConfigWebTool/src/main/webapp/jsp/editOAGeneral.jsp
index f7a722893..e8bb346a6 100644
--- a/id/ConfigWebTool/src/main/webapp/jsp/editOAGeneral.jsp
+++ b/id/ConfigWebTool/src/main/webapp/jsp/editOAGeneral.jsp
@@ -7,9 +7,12 @@
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<link rel="stylesheet" type="text/css" href="../css/index.css">
+ <link rel="stylesheet" media="screen" type="text/css" href="../css/colorpicker.css" />
+
<title><%=LanguageHelper.getGUIString("title", request) %></title>
<script type="text/javascript" src="../js/common.js"></script>
<script src="../js/jquery.js"></script>
+ <script type="text/javascript" src="../js/colorpicker.js"></script>
</head>
@@ -244,12 +247,28 @@
<div class="oa_config_block">
<h3><%=LanguageHelper.getGUIString("webpages.oaconfig.general.mandate.header", request) %></h3>
+
+ <s:checkbox name="generalOA.useMandates"
+ value="%{generalOA.useMandates}"
+ labelposition="left"
+ key="webpages.oaconfig.general.mandate.usemandate"
+ cssClass="checkbox">
+ </s:checkbox>
+
<s:textfield name="generalOA.mandateProfiles"
value="%{generalOA.mandateProfiles}"
labelposition="left"
key="webpages.oaconfig.general.mandate.profiles"
cssClass="textfield_long">
</s:textfield>
+
+ <s:checkbox name="formOA.onlyMandateAllowed"
+ value="%{formOA.onlyMandateAllowed}"
+ labelposition="left"
+ key="webpages.oaconfig.general.BKUSelection.isOnlyMandateLoginAllowed"
+ cssClass="checkbox">
+ </s:checkbox>
+
</div>
<div class="oa_config_block">
@@ -326,13 +345,13 @@
key="webpages.oaconfig.saml1.provideAuthBlock"
cssClass="checkbox">
</s:checkbox>
+ <br>
<s:checkbox name="saml1OA.provideIdentityLink"
value="%{saml1OA.provideIdentityLink}"
labelposition="left"
key="webpages.oaconfig.saml1.provideIdentityLink"
cssClass="checkbox">
- </s:checkbox>
- <br>
+ </s:checkbox>
<s:checkbox name="saml1OA.provideCertificate"
value="%{saml1OA.provideCertificate}"
labelposition="left"
@@ -417,85 +436,111 @@
<div id="formcustom_area" class="oa_protocol_area">
<h4><%=LanguageHelper.getGUIString("webpages.oaconfig.general.BKUSelection.header", request) %></h4>
-
- <s:checkbox name="formOA.showMandateLoginButton"
- value="%{formOA.showMandateLoginButton}"
- labelposition="left"
- key="webpages.oaconfig.general.BKUSelection.isMandateLoginCheckboxVisible"
- cssClass="checkbox">
- </s:checkbox>
- <s:checkbox name="formOA.onlyMandateAllowed"
- value="%{formOA.onlyMandateAllowed}"
- labelposition="left"
- key="webpages.oaconfig.general.BKUSelection.isOnlyMandateLoginAllowed"
- cssClass="checkbox">
- </s:checkbox>
-
- <s:textfield name="formOA.backGroundColor"
- value="%{formOA.backGroundColor}"
- labelposition="left"
- key="webpages.oaconfig.general.BKUSelection.backgroundcolor"
- cssClass="textfield_middle">
- </s:textfield>
- <s:textfield name="formOA.frontColor"
- value="%{formOA.frontColor}"
- labelposition="left"
- key="webpages.oaconfig.general.BKUSelection.frontcolor"
- cssClass="textfield_middle">
- </s:textfield>
-
- <s:textfield name="formOA.header_BackGroundColor"
- value="%{formOA.header_BackGroundColor}"
- labelposition="left"
- key="webpages.oaconfig.general.BKUSelection.header.backgroundcolor"
- cssClass="textfield_middle">
- </s:textfield>
- <s:textfield name="formOA.header_FrontColor"
- value="%{formOA.header_FrontColor}"
- labelposition="left"
- key="webpages.oaconfig.general.BKUSelection.header.frontcolor"
- cssClass="textfield_middle">
- </s:textfield>
- <s:textfield name="formOA.header_text"
- value="%{formOA.header_text}"
- labelposition="left"
- key="webpages.oaconfig.general.BKUSelection.header.text"
- cssClass="textfield_middle">
- </s:textfield>
-
- <s:textfield name="formOA.button_BackGroundColor"
- value="%{formOA.button_BackGroundColor}"
- labelposition="left"
- key="webpages.oaconfig.general.BKUSelection.header.button.background"
- cssClass="textfield_middle">
- </s:textfield>
- <s:textfield name="formOA.button_BackGroundColorFocus"
- value="%{formOA.button_BackGroundColorFocus}"
- labelposition="left"
- key="webpages.oaconfig.general.BKUSelection.header.button.background.focus"
- cssClass="textfield_middle">
- </s:textfield>
- <s:textfield name="formOA.button_FrontColor"
- value="%{formOA.button_FrontColor}"
- labelposition="left"
- key="webpages.oaconfig.general.BKUSelection.header.button.front"
- cssClass="textfield_middle">
- </s:textfield>
-
- <s:select list="formOA.appletRedirectTargetList"
- key="webpages.oaconfig.general.BKUSelection.redirectTarget"
- labelposition="left"
- cssClass="selectfield"
- value="%{formOA.appletRedirectTarget}"
- name="formOA.appletRedirectTarget">
- </s:select>
- <s:textfield name="formOA.fontType"
- value="%{formOA.fontType}"
- labelposition="left"
- key="webpages.oaconfig.general.BKUSelection.fonttype"
- cssClass="textfield_long">
- </s:textfield>
+
+ <div id="formCustomValues">
+ <s:textfield name="formOA.backGroundColor"
+ value="%{formOA.backGroundColor}"
+ labelposition="left"
+ key="webpages.oaconfig.general.BKUSelection.backgroundcolor"
+ cssClass="textfield_middle colorfield"
+ onchange='updateBKUFormPreview("MAIN_BACKGOUNDCOLOR")'
+ id="MAIN_BACKGOUNDCOLOR">
+ </s:textfield>
+ <s:textfield name="formOA.frontColor"
+ value="%{formOA.frontColor}"
+ labelposition="left"
+ key="webpages.oaconfig.general.BKUSelection.frontcolor"
+ cssClass="textfield_middle colorfield"
+ onchange='updateBKUFormPreview("MAIN_COLOR")'
+ id="MAIN_COLOR">
+ </s:textfield>
+
+ <s:textfield name="formOA.header_BackGroundColor"
+ value="%{formOA.header_BackGroundColor}"
+ labelposition="left"
+ key="webpages.oaconfig.general.BKUSelection.header.backgroundcolor"
+ cssClass="textfield_middle colorfield"
+ onchange='updateBKUFormPreview("HEADER_BACKGROUNDCOLOR")'
+ id="HEADER_BACKGROUNDCOLOR">
+ </s:textfield>
+ <s:textfield name="formOA.header_FrontColor"
+ value="%{formOA.header_FrontColor}"
+ labelposition="left"
+ key="webpages.oaconfig.general.BKUSelection.header.frontcolor"
+ cssClass="textfield_middle colorfield"
+ onchange='updateBKUFormPreview("HEADER_COLOR")'
+ id="HEADER_COLOR">
+ </s:textfield>
+ <s:textfield name="formOA.header_text"
+ value="%{formOA.header_text}"
+ labelposition="left"
+ key="webpages.oaconfig.general.BKUSelection.header.text"
+ cssClass="textfield_middle"
+ onchange='updateBKUFormPreview("HEADER_TEXT")'
+ id="HEADER_TEXT">
+ </s:textfield>
+
+ <%-- <s:textfield name="formOA.button_BackGroundColor"
+ value="%{formOA.button_BackGroundColor}"
+ labelposition="left"
+ key="webpages.oaconfig.general.BKUSelection.header.button.background"
+ cssClass="textfield_middle colorfield"
+ onchange='updateBKUFormPreview("BUTTON_BACKGROUNDCOLOR")'
+ id="BUTTON_BACKGROUNDCOLOR">
+ </s:textfield>
+ <s:textfield name="formOA.button_BackGroundColorFocus"
+ value="%{formOA.button_BackGroundColorFocus}"
+ labelposition="left"
+ key="webpages.oaconfig.general.BKUSelection.header.button.background.focus"
+ cssClass="textfield_middle colorfield"
+ onchange='updateBKUFormPreview("BUTTON_BACKGROUNDCOLOR_FOCUS")'
+ id="BUTTON_BACKGROUNDCOLOR_FOCUS">
+ </s:textfield>
+ <s:textfield name="formOA.button_FrontColor"
+ value="%{formOA.button_FrontColor}"
+ labelposition="left"
+ key="webpages.oaconfig.general.BKUSelection.header.button.front"
+ cssClass="textfield_middle colorfield"
+ onchange='updateBKUFormPreview("BUTTON_COLOR")'
+ id="BUTTON_COLOR">
+ </s:textfield> --%>
+
+ <s:select list="formOA.appletRedirectTargetList"
+ key="webpages.oaconfig.general.BKUSelection.redirectTarget"
+ labelposition="left"
+ cssClass="selectfield"
+ value="%{formOA.appletRedirectTarget}"
+ name="formOA.appletRedirectTarget">
+ </s:select>
+
+ <s:select list="formOA.fontTypeList"
+ key="webpages.oaconfig.general.BKUSelection.fonttype.list"
+ labelposition="left"
+ cssClass="selectfield"
+ value="%{formOA.fontType}"
+ name="formOA.fontTypeListValue"
+ id="fontTypeList"
+ onchange='$("#FONTTYPE").val($("#fontTypeList").val());updateBKUFormPreview("FONTTYPE");'>
+ </s:select>
+
+ <s:textfield name="formOA.fontType"
+ value="%{formOA.fontType}"
+ labelposition="left"
+ key="webpages.oaconfig.general.BKUSelection.fonttype"
+ cssClass="textfield_mail"
+ onchange='updateBKUFormPreview("FONTTYPE")'
+ id="FONTTYPE">
+ </s:textfield>
+ </div>
+ <div id="formCustomPreview">
+ <iframe scrolling="none"
+ title="BKUForm Preview"
+ height="220"
+ width="250">
+ </iframe>
+ </div>
+
</div>
</s:if>