diff options
| author | Thomas Lenz <tlenz@iaik.tugraz.at> | 2013-10-16 20:09:40 +0200 | 
|---|---|---|
| committer | Thomas Lenz <tlenz@iaik.tugraz.at> | 2013-10-16 20:09:40 +0200 | 
| commit | 8d417057d38d56510a1d3d2e39381a1df3dd96ee (patch) | |
| tree | 26e2d71409bdb10a5fefad1b538af583e984b776 /id/ConfigWebTool/src/main | |
| parent | a7c22b659f5bc760cb46d5892409dab12cc047d6 (diff) | |
| download | moa-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/main')
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=Ö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.gifBinary files differ new file mode 100644 index 000000000..75b945d25 --- /dev/null +++ b/id/ConfigWebTool/src/main/webapp/images/blank.gif diff --git a/id/ConfigWebTool/src/main/webapp/images/colorpicker_background.png b/id/ConfigWebTool/src/main/webapp/images/colorpicker_background.pngBinary files differ new file mode 100644 index 000000000..8401572f1 --- /dev/null +++ b/id/ConfigWebTool/src/main/webapp/images/colorpicker_background.png diff --git a/id/ConfigWebTool/src/main/webapp/images/colorpicker_hex.png b/id/ConfigWebTool/src/main/webapp/images/colorpicker_hex.pngBinary files differ new file mode 100644 index 000000000..4e532d7c6 --- /dev/null +++ b/id/ConfigWebTool/src/main/webapp/images/colorpicker_hex.png diff --git a/id/ConfigWebTool/src/main/webapp/images/colorpicker_hsb_b.png b/id/ConfigWebTool/src/main/webapp/images/colorpicker_hsb_b.pngBinary files differ new file mode 100644 index 000000000..dfac595d0 --- /dev/null +++ b/id/ConfigWebTool/src/main/webapp/images/colorpicker_hsb_b.png diff --git a/id/ConfigWebTool/src/main/webapp/images/colorpicker_hsb_h.png b/id/ConfigWebTool/src/main/webapp/images/colorpicker_hsb_h.pngBinary files differ new file mode 100644 index 000000000..3977ed9f2 --- /dev/null +++ b/id/ConfigWebTool/src/main/webapp/images/colorpicker_hsb_h.png diff --git a/id/ConfigWebTool/src/main/webapp/images/colorpicker_hsb_s.png b/id/ConfigWebTool/src/main/webapp/images/colorpicker_hsb_s.pngBinary files differ new file mode 100644 index 000000000..a2a699736 --- /dev/null +++ b/id/ConfigWebTool/src/main/webapp/images/colorpicker_hsb_s.png diff --git a/id/ConfigWebTool/src/main/webapp/images/colorpicker_indic.gif b/id/ConfigWebTool/src/main/webapp/images/colorpicker_indic.gifBinary files differ new file mode 100644 index 000000000..f9fa95e28 --- /dev/null +++ b/id/ConfigWebTool/src/main/webapp/images/colorpicker_indic.gif diff --git a/id/ConfigWebTool/src/main/webapp/images/colorpicker_overlay.png b/id/ConfigWebTool/src/main/webapp/images/colorpicker_overlay.pngBinary files differ new file mode 100644 index 000000000..561cdd9c5 --- /dev/null +++ b/id/ConfigWebTool/src/main/webapp/images/colorpicker_overlay.png diff --git a/id/ConfigWebTool/src/main/webapp/images/colorpicker_rgb_b.png b/id/ConfigWebTool/src/main/webapp/images/colorpicker_rgb_b.pngBinary files differ new file mode 100644 index 000000000..dfac595d0 --- /dev/null +++ b/id/ConfigWebTool/src/main/webapp/images/colorpicker_rgb_b.png diff --git a/id/ConfigWebTool/src/main/webapp/images/colorpicker_rgb_g.png b/id/ConfigWebTool/src/main/webapp/images/colorpicker_rgb_g.pngBinary files differ new file mode 100644 index 000000000..72b32760a --- /dev/null +++ b/id/ConfigWebTool/src/main/webapp/images/colorpicker_rgb_g.png diff --git a/id/ConfigWebTool/src/main/webapp/images/colorpicker_rgb_r.png b/id/ConfigWebTool/src/main/webapp/images/colorpicker_rgb_r.pngBinary files differ new file mode 100644 index 000000000..4855fe03f --- /dev/null +++ b/id/ConfigWebTool/src/main/webapp/images/colorpicker_rgb_r.png diff --git a/id/ConfigWebTool/src/main/webapp/images/colorpicker_select.gif b/id/ConfigWebTool/src/main/webapp/images/colorpicker_select.gifBinary files differ new file mode 100644 index 000000000..599f7f13a --- /dev/null +++ b/id/ConfigWebTool/src/main/webapp/images/colorpicker_select.gif diff --git a/id/ConfigWebTool/src/main/webapp/images/colorpicker_submit.png b/id/ConfigWebTool/src/main/webapp/images/colorpicker_submit.pngBinary files differ new file mode 100644 index 000000000..7f4c0825f --- /dev/null +++ b/id/ConfigWebTool/src/main/webapp/images/colorpicker_submit.png diff --git a/id/ConfigWebTool/src/main/webapp/images/custom_background.png b/id/ConfigWebTool/src/main/webapp/images/custom_background.pngBinary files differ new file mode 100644 index 000000000..cf55ffdd6 --- /dev/null +++ b/id/ConfigWebTool/src/main/webapp/images/custom_background.png diff --git a/id/ConfigWebTool/src/main/webapp/images/custom_hex.png b/id/ConfigWebTool/src/main/webapp/images/custom_hex.pngBinary files differ new file mode 100644 index 000000000..888f44449 --- /dev/null +++ b/id/ConfigWebTool/src/main/webapp/images/custom_hex.png diff --git a/id/ConfigWebTool/src/main/webapp/images/custom_hsb_b.png b/id/ConfigWebTool/src/main/webapp/images/custom_hsb_b.pngBinary files differ new file mode 100644 index 000000000..2f99dae8e --- /dev/null +++ b/id/ConfigWebTool/src/main/webapp/images/custom_hsb_b.png diff --git a/id/ConfigWebTool/src/main/webapp/images/custom_hsb_h.png b/id/ConfigWebTool/src/main/webapp/images/custom_hsb_h.pngBinary files differ new file mode 100644 index 000000000..a217e9218 --- /dev/null +++ b/id/ConfigWebTool/src/main/webapp/images/custom_hsb_h.png diff --git a/id/ConfigWebTool/src/main/webapp/images/custom_hsb_s.png b/id/ConfigWebTool/src/main/webapp/images/custom_hsb_s.pngBinary files differ new file mode 100644 index 000000000..7826b4150 --- /dev/null +++ b/id/ConfigWebTool/src/main/webapp/images/custom_hsb_s.png diff --git a/id/ConfigWebTool/src/main/webapp/images/custom_indic.gif b/id/ConfigWebTool/src/main/webapp/images/custom_indic.gifBinary files differ new file mode 100644 index 000000000..222fb94cf --- /dev/null +++ b/id/ConfigWebTool/src/main/webapp/images/custom_indic.gif diff --git a/id/ConfigWebTool/src/main/webapp/images/custom_rgb_b.png b/id/ConfigWebTool/src/main/webapp/images/custom_rgb_b.pngBinary files differ new file mode 100644 index 000000000..80764e5d6 --- /dev/null +++ b/id/ConfigWebTool/src/main/webapp/images/custom_rgb_b.png diff --git a/id/ConfigWebTool/src/main/webapp/images/custom_rgb_g.png b/id/ConfigWebTool/src/main/webapp/images/custom_rgb_g.pngBinary files differ new file mode 100644 index 000000000..fc9778be1 --- /dev/null +++ b/id/ConfigWebTool/src/main/webapp/images/custom_rgb_g.png diff --git a/id/ConfigWebTool/src/main/webapp/images/custom_rgb_r.png b/id/ConfigWebTool/src/main/webapp/images/custom_rgb_r.pngBinary files differ new file mode 100644 index 000000000..91b0cd4c5 --- /dev/null +++ b/id/ConfigWebTool/src/main/webapp/images/custom_rgb_r.png diff --git a/id/ConfigWebTool/src/main/webapp/images/custom_submit.png b/id/ConfigWebTool/src/main/webapp/images/custom_submit.pngBinary files differ new file mode 100644 index 000000000..cd202cd93 --- /dev/null +++ b/id/ConfigWebTool/src/main/webapp/images/custom_submit.png diff --git a/id/ConfigWebTool/src/main/webapp/images/select.png b/id/ConfigWebTool/src/main/webapp/images/select.pngBinary files differ new file mode 100644 index 000000000..21213bfd5 --- /dev/null +++ b/id/ConfigWebTool/src/main/webapp/images/select.png diff --git a/id/ConfigWebTool/src/main/webapp/images/select2.png b/id/ConfigWebTool/src/main/webapp/images/select2.pngBinary files differ new file mode 100644 index 000000000..2cd2cabeb --- /dev/null +++ b/id/ConfigWebTool/src/main/webapp/images/select2.png diff --git a/id/ConfigWebTool/src/main/webapp/images/slider.png b/id/ConfigWebTool/src/main/webapp/images/slider.pngBinary files differ new file mode 100644 index 000000000..8b03da96e --- /dev/null +++ b/id/ConfigWebTool/src/main/webapp/images/slider.png 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> | 
