aboutsummaryrefslogtreecommitdiff
path: root/id/ConfigWebTool/src
diff options
context:
space:
mode:
authorThomas Lenz <tlenz@iaik.tugraz.at>2013-09-26 08:05:52 +0200
committerThomas Lenz <tlenz@iaik.tugraz.at>2013-09-26 08:05:52 +0200
commit2c82d41a98e2617088cdcf3db72b40d9747ae292 (patch)
tree4ed7ddc991d3919cf8c17f36a53cae2d1c9c677e /id/ConfigWebTool/src
parent0773942456e68cf5560655b1bd782ab792c66251 (diff)
downloadmoa-id-spss-2c82d41a98e2617088cdcf3db72b40d9747ae292.tar.gz
moa-id-spss-2c82d41a98e2617088cdcf3db72b40d9747ae292.tar.bz2
moa-id-spss-2c82d41a98e2617088cdcf3db72b40d9747ae292.zip
Features:
-- Add additional parameters to customize BKUSelectionForm and SendAssertionForm -- change Target configuration -- insert some logging Bugfixes: -- Nullpointerexceptions in combination of an old userdatabase entry and a actual configuration tool version
Diffstat (limited to 'id/ConfigWebTool/src')
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/Constants.java3
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/auth/pvp2/Authenticate.java4
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/config/ConfigurationProvider.java1
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/data/oa/OAGeneralConfig.java80
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/filter/AuthenticationFilter.java12
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/EditOAAction.java184
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/IndexAction.java16
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/TargetValidator.java8
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/ValidationHelper.java24
-rw-r--r--id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAGeneralConfigValidation.java20
-rw-r--r--id/ConfigWebTool/src/main/resources/applicationResources.properties9
-rw-r--r--id/ConfigWebTool/src/main/webapp/js/common.js12
-rw-r--r--id/ConfigWebTool/src/main/webapp/jsp/editOAGeneral.jsp211
13 files changed, 419 insertions, 165 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 2705659cb..915ddf8ff 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
@@ -46,5 +46,8 @@ public class Constants {
public static final String IDENIFICATIONTYPE_ZVR = "ZVR";
public static final String IDENIFICATIONTYPE_BASEID = "urn:publicid:gv.at:baseid+";
+ public static final String IDENIFICATIONTYPE_BASEID_FN = IDENIFICATIONTYPE_BASEID + "X" + IDENIFICATIONTYPE_FN;
+ public static final String IDENIFICATIONTYPE_BASEID_ZVR = IDENIFICATIONTYPE_BASEID + "X" + IDENIFICATIONTYPE_ZVR;
+
public static final String PREFIX_WPBK = "urn:publicid:gv.at:wbpk+";
}
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/auth/pvp2/Authenticate.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/auth/pvp2/Authenticate.java
index ed496ae16..8b775f692 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/auth/pvp2/Authenticate.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/auth/pvp2/Authenticate.java
@@ -83,8 +83,8 @@ public class Authenticate extends HttpServlet {
try {
builder = factory.newDocumentBuilder();
} catch (ParserConfigurationException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
+ log.warn("PVP2 AuthenticationServlet can not be initialized.", e);
+
}
}
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 f08632d83..39d276701 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
@@ -100,7 +100,6 @@ public class ConfigurationProvider {
DefaultBootstrap.bootstrap();
log.info("OPENSAML initialized");
- //TODO: start CleanUP Thread
UserRequestCleaner.start();
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 2b4ea53c1..90c02e0e4 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
@@ -5,10 +5,10 @@ import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.Set;
import at.gv.egovernment.moa.id.commons.db.ConfigurationDBRead;
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.BKUURLS;
import at.gv.egovernment.moa.id.commons.db.dao.config.DefaultBKUs;
import at.gv.egovernment.moa.id.commons.db.dao.config.IdentificationNumber;
@@ -63,6 +63,10 @@ public class OAGeneralConfig {
private boolean isHideBPKAuthBlock = false;
+ private boolean showMandateLoginButton = true;
+ private boolean onlyMandateAllowed = false;
+ private String bkuSelectionBackGroundColor = null;
+
private Map<String, byte[]> transformations;
@@ -98,16 +102,13 @@ public class OAGeneralConfig {
identifier = dbOAConfig.getPublicURLPrefix();
String target_full = dbOAConfig.getTarget();
-
if (MiscUtil.isNotEmpty(target_full)) {
- String[] target_split = target_full.split("-");
-
if (TargetValidator.isValidTarget(target_full)) {
- target = dbOAConfig.getTarget();
- if (target_split.length > 1)
- target_subsector = target_split[1];
-
+ target = target_full;
+
} else {
+ String[] target_split = target_full.split("-");
+
if (TargetValidator.isValidTarget(target_split[0])) {
target = target_split[0];
if (target_split.length > 1)
@@ -196,6 +197,19 @@ public class OAGeneralConfig {
SLTemplates.add(el.getURL());
}
}
+
+ BKUSelectionCustomizationType bkuselectioncustom = templates.getBKUSelectionCustomization();
+ if (bkuselectioncustom != null) {
+
+ if (MiscUtil.isNotEmpty(bkuselectioncustom.getBackGroundColor()))
+ bkuSelectionBackGroundColor = bkuselectioncustom.getBackGroundColor();
+
+ if (bkuselectioncustom.isMandateLoginButton() != null)
+ showMandateLoginButton = bkuselectioncustom.isMandateLoginButton();
+
+ if (bkuselectioncustom.isOnlyMandateLoginAllowed() != null)
+ onlyMandateAllowed = bkuselectioncustom.isOnlyMandateLoginAllowed();
+ }
}
if (SLTemplates != null && SLTemplates.size() > 0)
@@ -211,7 +225,6 @@ public class OAGeneralConfig {
isHideBPKAuthBlock = dbOAConfig.isRemoveBPKFromAuthBlock();
-
}
public String getIdentifier() {
@@ -559,5 +572,54 @@ public class OAGeneralConfig {
public void setHideBPKAuthBlock(boolean isHideBPKAuthBlock) {
this.isHideBPKAuthBlock = isHideBPKAuthBlock;
}
+
+
+ /**
+ * @return the showMandateLoginButton
+ */
+ public boolean isShowMandateLoginButton() {
+ return showMandateLoginButton;
+ }
+
+
+ /**
+ * @param showMandateLoginButton the showMandateLoginButton to set
+ */
+ public void setShowMandateLoginButton(boolean showMandateLoginButton) {
+ this.showMandateLoginButton = showMandateLoginButton;
+ }
+
+
+ /**
+ * @return the onlyMandateAllowed
+ */
+ public boolean isOnlyMandateAllowed() {
+ return onlyMandateAllowed;
+ }
+
+
+ /**
+ * @param onlyMandateAllowed the onlyMandateAllowed to set
+ */
+ public void setOnlyMandateAllowed(boolean onlyMandateAllowed) {
+ this.onlyMandateAllowed = onlyMandateAllowed;
+ }
+
+
+ /**
+ * @return the bkuSelectionBackGroundColor
+ */
+ public String getBkuSelectionBackGroundColor() {
+ return bkuSelectionBackGroundColor;
+ }
+
+
+ /**
+ * @param bkuSelectionBackGroundColor the bkuSelectionBackGroundColor to set
+ */
+ public void setBkuSelectionBackGroundColor(String bkuSelectionBackGroundColor) {
+ this.bkuSelectionBackGroundColor = bkuSelectionBackGroundColor;
+ }
+
}
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/filter/AuthenticationFilter.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/filter/AuthenticationFilter.java
index 9f81e1212..e7e1beb45 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/filter/AuthenticationFilter.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/filter/AuthenticationFilter.java
@@ -147,24 +147,14 @@ public class AuthenticationFilter implements Filter{
}
} else {
- //check login Daten
-
- //loginPageForward = true;
-
-
if (MiscUtil.isNotEmpty(getAuthenticatedPage())) {
log.debug("Unable to find authentication data. Authenticated page is given so there is no need to save original request url. " + (loginPageForward ? "Forwarding" : "Redirecting") + " to login page \"" + loginPage + "\".");
-
-
}
else {
log.debug("Unable to find authentication data. Storing request url and " + (loginPageForward ? "forwarding" : "redirecting") + " to login page \"" + loginPage + "\".");
- // TODO: save HttpServletRequest
- // log.debug("new CustomHttpServletRequest(request).toString() =
- // {}", new
- // CustomHttpServletRequest(httpServletRequest).toString());
session.setAttribute(STORED_REQUEST_URL_ID, requestURL);
+
}
if (loginPageForward) {
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 e07a0ba77..1a8e0048b 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
@@ -18,6 +18,7 @@ import org.apache.struts2.interceptor.ServletResponseAware;
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;
+import at.gv.egovernment.moa.id.commons.db.dao.config.BKUSelectionCustomizationType;
import at.gv.egovernment.moa.id.commons.db.dao.config.BKUURLS;
import at.gv.egovernment.moa.id.commons.db.dao.config.IdentificationNumber;
import at.gv.egovernment.moa.id.commons.db.dao.config.MOAIDConfiguration;
@@ -72,8 +73,13 @@ ServletResponseAware {
private boolean newOA;
private String formID;
- private String nextPage;
+ private boolean onlyBusinessService = false;
+ private boolean subTargetSet = false;
+ private boolean deaktivededBusinessService = false;
+ private boolean isMetaDataRefreshRequired = false;
+ private String nextPage;
+
private OAGeneralConfig generalOA = new OAGeneralConfig();
private OAPVP2Config pvp2OA = new OAPVP2Config();
private OASAML1Config saml1OA = new OASAML1Config();
@@ -99,13 +105,15 @@ ServletResponseAware {
return Constants.STRUTS_ERROR;
}
oaid = Long.valueOf(oaidobj);
-
+
+ UserDatabase userdb = null;
OnlineApplication onlineapplication = null;;
+
if (authUser.isAdmin())
onlineapplication = ConfigurationDBRead.getOnlineApplication(oaid);
else {
- UserDatabase userdb = ConfigurationDBRead.getUserWithID(authUser.getUserID());
+ userdb = ConfigurationDBRead.getUserWithID(authUser.getUserID());
if (!authUser.isAdmin() && userdb.isIsMailAddressVerified() != null
&& !userdb.isIsMailAddressVerified()) {
@@ -113,6 +121,8 @@ ServletResponseAware {
addActionError(LanguageHelper.getErrorString("error.editoa.mailverification"));
}
+
+ //TODO: change to direct Database operation
List<OnlineApplication> oas = userdb.getOnlineApplication();
for (OnlineApplication oa : oas) {
if (oa.getHjid() == oaid) {
@@ -129,6 +139,7 @@ ServletResponseAware {
generalOA.parse(onlineapplication);
ssoOA.parse(onlineapplication);
saml1OA.parse(onlineapplication);
+
List<String> errors = pvp2OA.parse(onlineapplication);
if (errors.size() > 0) {
@@ -136,8 +147,13 @@ ServletResponseAware {
addActionError(el);
}
+ subTargetSet = MiscUtil.isNotEmpty(generalOA.getTarget_subsector());
+
+ //set UserSpezific OA Parameters
+ if (!authUser.isAdmin())
+ generateUserSpecificConfigurationOptions(userdb);
+
ConfigurationDBUtils.closeSession();
-
session.setAttribute(Constants.SESSION_OAID, oaid);
formID = Random.nextRandom();
@@ -165,14 +181,18 @@ ServletResponseAware {
authUser = (AuthenticatedUser) authUserObj;
UserDatabase userdb = ConfigurationDBRead.getUserWithID(authUser.getUserID());
+
if (!authUser.isAdmin() && userdb.isIsMailAddressVerified() != null
&& !userdb.isIsMailAddressVerified()) {
log.info("Online-Applikation managemant disabled. Mail address is not verified.");
addActionError(LanguageHelper.getErrorString("error.editoa.mailverification"));
}
+
+ //set UserSpezific OA Parameters
+ if (!authUser.isAdmin())
+ generateUserSpecificConfigurationOptions(userdb);
newOA = true;
-
formID = Random.nextRandom();
session.setAttribute(Constants.SESSION_FORMID, formID);
@@ -205,7 +225,8 @@ ServletResponseAware {
session.setAttribute(Constants.SESSION_FORMID, null);
UserDatabase userdb = ConfigurationDBRead.getUserWithID(authUser.getUserID());
- if (!authUser.isAdmin() && !userdb.isIsMailAddressVerified()) {
+ if (!authUser.isAdmin() &&
+ userdb.isIsMailAddressVerified() != null && !userdb.isIsMailAddressVerified()) {
log.info("Online-Applikation managemant disabled. Mail address is not verified.");
addActionError(LanguageHelper.getErrorString("error.editoa.mailverification"));
return Constants.STRUTS_SUCCESS;
@@ -265,7 +286,11 @@ ServletResponseAware {
}
}
}
-
+
+ //set UserSpezific OA Parameters
+ if (!authUser.isAdmin())
+ generateUserSpecificConfigurationOptions(userdb);
+
//check form
OAGeneralConfigValidation validatior_general = new OAGeneralConfigValidation();
OAPVP2ConfigValidation validatior_pvp2 = new OAPVP2ConfigValidation();
@@ -279,6 +304,13 @@ ServletResponseAware {
errors.addAll(validatior_sso.validate(ssoOA, authUser.isAdmin()));
errors.addAll(validator_stork.validate(storkOA));
+ //Do not allow SSO in combination with special BKUSelection features
+ if (ssoOA.isUseSSO() &&
+ ( generalOA.isOnlyMandateAllowed() || !generalOA.isShowMandateLoginButton()) ) {
+ log.warn("Special BKUSelection features can not be used in combination with SSO");
+ errors.add(LanguageHelper.getErrorString("validation.general.bkuselection.specialfeatures.valid"));
+ }
+
if (errors.size() > 0) {
log.info("OAConfiguration with ID " + generalOA.getIdentifier() + " has some errors.");
for (String el : errors)
@@ -289,7 +321,7 @@ ServletResponseAware {
return Constants.STRUTS_ERROR_VALIDATION;
} else {
-
+
boolean newentry = false;
if (onlineapplication == null) {
@@ -300,7 +332,8 @@ ServletResponseAware {
if (!authUser.isAdmin()) {
onlineapplication.setIsAdminRequired(true);
- }
+ } else
+ isMetaDataRefreshRequired = true;
} else {
@@ -321,6 +354,7 @@ ServletResponseAware {
&& onlineapplication.isIsAdminRequired()) ) {
onlineapplication.setIsAdminRequired(false);
+ isMetaDataRefreshRequired = true;
if (onlineapplication.getHjid() != null)
userdb = ConfigurationDBRead.getUsersWithOADBID(onlineapplication.getHjid());
@@ -342,9 +376,10 @@ ServletResponseAware {
if (pvp2OA.getMetaDataURL() != null) {
try {
- if (newentry || !pvp2OA.getMetaDataURL()
- .equals(onlineapplication.getAuthComponentOA().getOAPVP2().getMetadataURL())) {
+ if (isMetaDataRefreshRequired || !pvp2OA.getMetaDataURL().
+ equals(onlineapplication.getAuthComponentOA().getOAPVP2().getMetadataURL())) {
+ log.debug("Set PVP2 Metadata refresh flag.");
MOAIDConfiguration moaconfig = ConfigurationDBRead.getMOAIDConfiguration();
moaconfig.setPvp2RefreshItem(new Date());
ConfigurationDBUtils.saveOrUpdate(moaconfig);
@@ -576,7 +611,8 @@ ServletResponseAware {
dboa.setPublicURLPrefix(generalOA.getIdentifier());
- if (generalOA.isBusinessService()) {
+ if (generalOA.isBusinessService() || onlyBusinessService) {
+
dboa.setType(Constants.MOA_CONFIG_BUSINESSSERVICE);
String num = generalOA.getIdentificationNumber().replaceAll(" ", "");
@@ -609,37 +645,36 @@ ServletResponseAware {
dboa.setTargetFriendlyName(generalOA.getTargetFriendlyName());
} else {
- String target_full = generalOA.getTarget();
- String[] target_split = target_full.split("-");
- if (MiscUtil.isNotEmpty(generalOA.getTarget_subsector()))
- dboa.setTarget(target_split[0] + "-" + generalOA.getTarget_subsector());
+
+ String target = generalOA.getTarget();
+
+ if (MiscUtil.isNotEmpty(generalOA.getTarget_subsector()) && subTargetSet)
+ dboa.setTarget(target + "-" + generalOA.getTarget_subsector());
else
- dboa.setTarget(target_full);
+ dboa.setTarget(target);
- String targetname = TargetValidator.getTargetFriendlyName(target_full);
+ String targetname = TargetValidator.getTargetFriendlyName(target);
if (MiscUtil.isNotEmpty(targetname))
dboa.setTargetFriendlyName(targetname);
- else
- dboa.setTargetFriendlyName(TargetValidator.getTargetFriendlyName(target_split[0]));
+
}
} else {
+
if (MiscUtil.isNotEmpty(generalOA.getTarget())) {
- String target_full = generalOA.getTarget();
- String[] target_split = target_full.split("-");
- dboa.setTarget(target_split[0] + "-" + generalOA.getTarget_subsector());
- if (MiscUtil.isNotEmpty(generalOA.getTarget_subsector()))
- dboa.setTarget(target_split[0] + "-" + generalOA.getTarget_subsector());
+ String target = generalOA.getTarget();
+
+ if (MiscUtil.isNotEmpty(generalOA.getTarget_subsector()) && subTargetSet)
+ dboa.setTarget(target + "-" + generalOA.getTarget_subsector());
else
- dboa.setTarget(target_full);
+ dboa.setTarget(target);
- String targetname = TargetValidator.getTargetFriendlyName(target_full);
+ String targetname = TargetValidator.getTargetFriendlyName(target);
if (MiscUtil.isNotEmpty(targetname))
dboa.setTargetFriendlyName(targetname);
- else
- dboa.setTargetFriendlyName(TargetValidator.getTargetFriendlyName(target_split[0]));
+
}
}
}
@@ -693,6 +728,30 @@ ServletResponseAware {
if (template != null && template.size() > 0)
template.clear();
}
+
+
+ BKUSelectionCustomizationType bkuselectioncustom = templates.getBKUSelectionCustomization();
+ if (bkuselectioncustom == null) {
+ bkuselectioncustom = new BKUSelectionCustomizationType();
+ templates.setBKUSelectionCustomization(bkuselectioncustom);
+ }
+
+ if (MiscUtil.isNotEmpty(generalOA.getBkuSelectionBackGroundColor())) {
+ String value;
+ if (!generalOA.getBkuSelectionBackGroundColor().startsWith("#"))
+ value = "#" + generalOA.getBkuSelectionBackGroundColor();
+ else
+ value = generalOA.getBkuSelectionBackGroundColor();
+
+ bkuselectioncustom.setBackGroundColor(value);
+
+ } else {
+ bkuselectioncustom.setBackGroundColor("");
+ }
+
+ bkuselectioncustom.setMandateLoginButton(generalOA.isShowMandateLoginButton());
+ bkuselectioncustom.setOnlyMandateLoginAllowed(generalOA.isOnlyMandateAllowed());
+
}
//set default transformation if it is empty
@@ -784,6 +843,29 @@ ServletResponseAware {
return null;
}
+ private void generateUserSpecificConfigurationOptions(UserDatabase userdb) {
+
+ if (userdb.isIsMandateUser() != null && userdb.isIsMandateUser()) {
+ String bpk = userdb.getBpk();
+ if (bpk.startsWith(Constants.IDENIFICATIONTYPE_BASEID_FN) ||
+ bpk.startsWith(Constants.IDENIFICATIONTYPE_BASEID_ZVR)) {
+
+ onlyBusinessService = true;
+ generalOA.setBusinessService(true);
+
+ }
+
+ deaktivededBusinessService = true;
+ String[] split = bpk.split("\\+");
+ generalOA.setIdentificationType(split[1].substring(1));
+ generalOA.setIdentificationNumber(split[2]);
+
+ }
+
+
+
+ }
+
public String setGeneralOAConfig() {
return Constants.STRUTS_SUCCESS;
@@ -925,8 +1007,46 @@ ServletResponseAware {
public void setFormID(String formID) {
this.formID = formID;
}
-
-
-
+ /**
+ * @return the onlyBusinessService
+ */
+ public boolean isOnlyBusinessService() {
+ return onlyBusinessService;
+ }
+
+ /**
+ * @param onlyBusinessService the onlyBusinessService to set
+ */
+ public void setOnlyBusinessService(boolean onlyBusinessService) {
+ this.onlyBusinessService = onlyBusinessService;
+ }
+
+ /**
+ * @return the subTargetSet
+ */
+ public boolean isSubTargetSet() {
+ return subTargetSet;
+ }
+
+ /**
+ * @param subTargetSet the subTargetSet to set
+ */
+ public void setSubTargetSet(boolean subTargetSet) {
+ this.subTargetSet = subTargetSet;
+ }
+
+ /**
+ * @return the deaktivededBusinessService
+ */
+ public boolean isDeaktivededBusinessService() {
+ return deaktivededBusinessService;
+ }
+
+ /**
+ * @param deaktivededBusinessService the deaktivededBusinessService to set
+ */
+ public void setDeaktivededBusinessService(boolean deaktivededBusinessService) {
+ this.deaktivededBusinessService = deaktivededBusinessService;
+ }
}
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/IndexAction.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/IndexAction.java
index 5a88b1324..f07022394 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/IndexAction.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/struts/action/IndexAction.java
@@ -379,6 +379,11 @@ public class IndexAction extends ActionSupport implements ServletRequestAware,
return Constants.STRUTS_ERROR;
}
+ //TODO: maybe remove this default value in a later version
+ boolean ismandateuser = false;
+ if (dbuser.isIsMandateUser() != null)
+ ismandateuser = dbuser.isIsMandateUser();
+
authUser = new AuthenticatedUser(
dbuser.getHjid(),
dbuser.getGivenname(),
@@ -387,7 +392,7 @@ public class IndexAction extends ActionSupport implements ServletRequestAware,
dbuser.getUsername(),
true,
dbuser.isIsAdmin(),
- dbuser.isIsMandateUser(),
+ ismandateuser,
true);
Date date = DateTimeHelper.parseDateTime(dbuser.getLastLogin());
@@ -414,23 +419,24 @@ public class IndexAction extends ActionSupport implements ServletRequestAware,
}
log.info("PVP2 Assertion was maybe not well formed, because no Assertion element could be found.");
- addActionError(LanguageHelper.getErrorString("error.login"));
+ addActionError(LanguageHelper.getErrorString("error.login.internal"));
return Constants.STRUTS_ERROR;
} else {
log.info("Receive Error Assertion.");
+ addActionError(LanguageHelper.getErrorString("error.login"));
return Constants.STRUTS_ERROR;
}
} catch (Exception e) {
- log.warn("Only http POST Requests can be used", e);
- addActionError(LanguageHelper.getErrorString("error.login"));
+ log.warn("An internal error occurs.", e);
+ addActionError(LanguageHelper.getErrorString("error.login.internal"));
return Constants.STRUTS_ERROR;
}
} else {
log.info("Only http POST Requests can be used");
- addActionError(LanguageHelper.getErrorString("error.login"));
+ addActionError(LanguageHelper.getErrorString("error.login.internal"));
return Constants.STRUTS_ERROR;
}
}
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/TargetValidator.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/TargetValidator.java
index 65e8a549e..c30ee46b7 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/TargetValidator.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/TargetValidator.java
@@ -25,7 +25,7 @@ public class TargetValidator {
targetList.put("EF", "Ein- und Ausfuhr");
targetList.put("GH", "Gesundheit");
targetList.put("GS", "Gesellschaft und Soziales");
- targetList.put("GS-RE", "Restitution");
+// targetList.put("GS-RE", "Restitution");
targetList.put("JR", "Justiz/Zivilrechtswesen");
targetList.put("KL", "Kultus");
targetList.put("KU", "Kunst und Kultur");
@@ -35,8 +35,8 @@ public class TargetValidator {
targetList.put("SA", "Steuern und Abgaben");
targetList.put("SA", "Sport und Freizeit");
targetList.put("SO", "Sicherheit und Ordnung");
- targetList.put("SO-VR", "Vereinsregister");
- targetList.put("SR-RG", "Strafregister");
+// targetList.put("SO-VR", "Vereinsregister");
+// targetList.put("SR-RG", "Strafregister");
targetList.put("SV", "Sozialversicherung");
targetList.put("UW", "Umwelt");
targetList.put("VT", "Verkehr und Technik");
@@ -50,7 +50,7 @@ public class TargetValidator {
targetList.put("PV", "Personalverwaltung");
targetList.put("RD", "Zentraler Rechtsdienst");
targetList.put("VS", "Zentrale Durchführung von Verwaltungsstrafverfahren");
- targetList.put("VS-RG", "Zentrales Verwaltungsstrafregister");
+// targetList.put("VS-RG", "Zentrales Verwaltungsstrafregister");
targetList.put("ZU", "Zustellungen");
}
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/ValidationHelper.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/ValidationHelper.java
index eadf15f84..17da83286 100644
--- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/ValidationHelper.java
+++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/ValidationHelper.java
@@ -35,6 +35,9 @@ public class ValidationHelper {
private static final Logger log = Logger.getLogger(ValidationHelper.class);
+ private static final String TEMPLATE_DATEFORMAT = "dd.MM.yyyy";
+
+
public static boolean isPublicServiceAllowed(String identifier) {
SSLSocket socket = null;
@@ -216,7 +219,10 @@ public class ValidationHelper {
}
public static boolean isDateFormat(String dateString) {
- SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");
+ if (dateString.length() > TEMPLATE_DATEFORMAT.length())
+ return false;
+
+ SimpleDateFormat sdf = new SimpleDateFormat(TEMPLATE_DATEFORMAT);
try {
sdf.parse(dateString);
return true;
@@ -300,4 +306,20 @@ public class ValidationHelper {
return "; % \" ' ` < >";
}
+
+ public static boolean isValidHexValue(String param) {
+
+ try {
+ if (param.startsWith("#") && param.length() <= 7) {
+ Long test = Long.decode(param);
+ return true;
+ }
+
+ } catch (Exception e) {
+
+ }
+ return false;
+
+ }
+
}
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 99371a0e7..8ef7c44cf 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
@@ -6,11 +6,8 @@ import java.util.Map;
import org.apache.log4j.Logger;
-import at.gv.egovernment.moa.id.commons.db.dao.config.MOAKeyBoxSelector;
import at.gv.egovernment.moa.id.configuration.Constants;
-import at.gv.egovernment.moa.id.configuration.config.ConfigurationProvider;
import at.gv.egovernment.moa.id.configuration.data.oa.OAGeneralConfig;
-import at.gv.egovernment.moa.id.configuration.exception.ConfigurationException;
import at.gv.egovernment.moa.id.configuration.helper.LanguageHelper;
import at.gv.egovernment.moa.id.configuration.validation.CompanyNumberValidator;
import at.gv.egovernment.moa.id.configuration.validation.ValidationHelper;
@@ -35,6 +32,23 @@ public class OAGeneralConfigValidation {
new Object[] {ValidationHelper.getPotentialCSSCharacter(false)} ));
}
}
+
+ check = form.getBkuSelectionBackGroundColor();
+ if (MiscUtil.isNotEmpty(check)) {
+ if (!check.startsWith("#"))
+ check = "#" + check;
+
+ if (!ValidationHelper.isValidHexValue(check)) {
+ log.warn("BKUSelectionBackGroundColor is not a valid hex value " + check);
+ errors.add(LanguageHelper.getErrorString("validation.general.bkuselectioncolor.valid"));
+ }
+
+ }
+
+ if (form.isOnlyMandateAllowed() && !form.isShowMandateLoginButton()) {
+ log.warn("OnlyMandateAllowed in combination with hidden MandateLoginCheckbox is not possible.");
+ errors.add(LanguageHelper.getErrorString("validation.general.bkuselection.specialfeatures.combination"));
+ }
}
//Check BKU URLs
diff --git a/id/ConfigWebTool/src/main/resources/applicationResources.properties b/id/ConfigWebTool/src/main/resources/applicationResources.properties
index eaa9b981a..5e337c7a5 100644
--- a/id/ConfigWebTool/src/main/resources/applicationResources.properties
+++ b/id/ConfigWebTool/src/main/resources/applicationResources.properties
@@ -22,7 +22,7 @@ errors.importexport.export.noconfig=Die Konfiguration kann nicht exportiert werd
errors.edit.user.userid=Es wurde keine g\u00FCtige User ID \u00FCbergeben.
errors.edit.user.save=Der Benutzer konnte nicht in die Datenbank eingetragen werden.
errors.edit.user.notallowed=Das Bearbeiten fremder Benutzereinstellungen ist nur dem Admin erlaubt.
-error.login=Der Anmeldevorgang durch einen internen Fehler unterbrochen. Bitte Versuchen sie es noch einmal.
+error.login=Der Anmeldevorgang wurde abgebrochen. Bitte Versuchen sie es noch einmal.
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.
@@ -172,6 +172,7 @@ webpages.oaconfig.general.target.friendlyname.disabled=Bezeichnung des Bereichs
webpages.oaconfig.general.target.admin.disabled=Bereich (vom Administrator eingestellt)
webpages.oaconfig.general.target=Bereich (Target)
webpages.oaconfig.general.target.subsector=Sub-Bereich
+webpages.oaconfig.general.target.subsector.checkbox=Target verfeinern
webpages.oaconfig.general.business.header=Privatwirtschaftlicher Bereich
webpages.oaconfig.general.business.value=Identifikationsnummer
webpages.oaconfig.general.business.type=Type der Identifikationsnummer
@@ -181,6 +182,9 @@ webpages.oaconfig.general.aditional.iframe=B\u00FCrgerkartenauswahl im IFrame
webpages.oaconfig.general.aditional.useUTC=UTC Zeit verwenden
webpages.oaconfig.general.aditional.calculateHPI="TODO!"
webpages.oaconfig.general.isHideBPKAuthBlock=bPK/wbPK im AuthBlock ausblenden
+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.menu.saml1.show=SAML1 Konfiguration einblenden
webpages.oaconfig.menu.saml1.hidden=SAML1 Konfiguration ausblenden
@@ -299,6 +303,9 @@ validation.general.slrequest.filename.valid=Der Dateiname der angegebenen Securt
validation.general.slrequest.file.valid=Die angegebenen SecurtityLayer Transformation konnte nicht geladen werden.
validation.general.aditionalauthblocktext=Der Zusatztext f\u00FCr den AuthBlock enth\u00E4lt nicht erlaubte Zeichen. Folgende Zeichen sind nicht erlaubt\: {0}
+validation.general.bkuselectioncolor.valid=Die Hintergrundfarbe f\u00FCr die BKU Auswahl enth\u00E4lt keinen g\u00FCltigen Hexadezimalwert. (z.B. \#FFFFFF)
+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.bku.handy.empty=Die URL f\u00FCr die Handy-BKU ist leer.
validation.general.bku.handy.valid=Die URL f\u00FCr die Handy-BKU hat kein g\u00FCltiges Format.
validation.general.bku.local.empty=Die URL f\u00FCr die lokale BKU ist leer.
diff --git a/id/ConfigWebTool/src/main/webapp/js/common.js b/id/ConfigWebTool/src/main/webapp/js/common.js
index 0b69854da..ce2e51863 100644
--- a/id/ConfigWebTool/src/main/webapp/js/common.js
+++ b/id/ConfigWebTool/src/main/webapp/js/common.js
@@ -78,6 +78,17 @@ function HideAdminTarget() {
$('#adminTarget').removeAttr("checked");
$('#admin_target_area').css('display', "none");
}
+function oaTargetSubSector() {
+ if ($('#OAisTargetSubSector').attr('checked') == 'checked') {
+
+ $('#wwgrp_OAtarget_subsector').css('display', "block");
+
+ } else {
+
+ $('#wwgrp_OAtarget_subsector').css('display', "none");
+
+ }
+}
function UseUserNamePassword() {
if ($('#isusernamepasswordallowed').size() == 0) {
$('#usernamepassword_area').css('display', "none");
@@ -122,5 +133,6 @@ function oaOnLoad() {
oaSSOService();
oaLegacyService();
AdminTarget();
+ oaTargetSubSector();
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 68d47d6b8..6bca21435 100644
--- a/id/ConfigWebTool/src/main/webapp/jsp/editOAGeneral.jsp
+++ b/id/ConfigWebTool/src/main/webapp/jsp/editOAGeneral.jsp
@@ -64,121 +64,119 @@
key="webpages.oaconfig.general.isbusinessservice"
cssClass="checkbox"
onclick="oaBusinessService();"
- id="OAisbusinessservice">
+ id="OAisbusinessservice"
+ disabled="%{isOnlyBusinessService()}">
</s:checkbox>
</div>
<div id="oa_config_businessservice" class="oa_config_block">
<h3><%=LanguageHelper.getGUIString("webpages.oaconfig.general.business.header", request) %></h3>
-<%-- <s:select list="generalOA.identificationTypeList"
- key="webpages.oaconfig.general.business.type"
- labelposition="left"
- cssClass="selectfield"
- value="%{generalOA.identificationType}"
- name="generalOA.identificationType">
- </s:select> --%>
-
<s:select list="generalOA.identificationTypeList"
key="webpages.oaconfig.general.business.value"
labelposition="left"
cssClass="selectfield"
value="%{generalOA.identificationType}"
- name="generalOA.identificationType">
+ name="generalOA.identificationType"
+ disabled="%{isDeaktivededBusinessService()}">
</s:select>
-<%-- <s:textfield name="generalOA.identificationNumber"
- value="%{generalOA.identificationNumber}"
- labelposition="left"
- key="webpages.oaconfig.general.business.value"
- cssClass="selectfield">
- </s:textfield> --%>
-
<s:textfield name="generalOA.identificationNumber"
value="%{generalOA.identificationNumber}"
- cssClass="textfield_middle">
+ cssClass="textfield_middle"
+ disabled="%{isDeaktivededBusinessService()}">
</s:textfield>
</div>
- <div id="oa_config_publicservice" class="oa_config_block">
- <h3><%=LanguageHelper.getGUIString("webpages.oaconfig.general.public.header", request) %></h3>
-
- <s:if test="authUser.isAdmin()">
- <s:select list="generalOA.targetList"
- key="webpages.oaconfig.general.target"
- labelposition="left"
- cssClass="selectfield"
- value="%{generalOA.target}"
- name="generalOA.target"
- onchange="HideAdminTarget();">
- </s:select>
- </s:if>
- <s:else>
- <s:select list="generalOA.targetList"
- key="webpages.oaconfig.general.target"
- labelposition="left"
- cssClass="selectfield"
- value="%{generalOA.target}"
- name="generalOA.target">
- </s:select>
- </s:else>
-
- <s:textfield name="generalOA.target_subsector"
- value="%{generalOA.target_subsector}"
- labelposition="left"
- key="webpages.oaconfig.general.target.subsector"
- cssClass="selectfield">
- </s:textfield>
-
-
- <s:if test="authUser.isAdmin()">
- <s:checkbox
- name="generalOA.AdminTarget"
- value="%{generalOA.AdminTarget}"
- cssClass="checkbox"
- onclick="AdminTarget();"
- labelposition="left"
- key="webpages.oaconfig.general.target.admin.checkbox"
- id="adminTarget">
- </s:checkbox>
-
- <div id="admin_target_area">
- <s:textfield name="generalOA.target_admin"
- value="%{generalOA.target_admin}"
- labelposition="left"
- key="webpages.oaconfig.general.target.admin"
- cssClass="textfield_short">
- </s:textfield>
- <s:textfield name="generalOA.targetFriendlyName"
- value="%{generalOA.targetFriendlyName}"
- labelposition="left"
- key="webpages.oaconfig.general.target.friendlyname"
- cssClass="textfield_long">
- </s:textfield>
- </div>
- </s:if>
- <s:else>
- <s:if test="generalOA.target_admin neq null">
- <s:textfield name="generalOA.target_admin"
- value="%{generalOA.target_admin}"
- labelposition="left"
- key="webpages.oaconfig.general.target.admin.disabled"
- cssClass="textfield_short"
- disabled="true">
- </s:textfield>
+ <s:if test="!isOnlyBusinessService()">
+ <div id="oa_config_publicservice" class="oa_config_block">
+ <h3><%=LanguageHelper.getGUIString("webpages.oaconfig.general.public.header", request) %></h3>
+
+ <s:if test="authUser.isAdmin()">
+ <s:select list="generalOA.targetList"
+ key="webpages.oaconfig.general.target"
+ labelposition="left"
+ cssClass="selectfield"
+ value="%{generalOA.target}"
+ name="generalOA.target"
+ onchange="HideAdminTarget();">
+ </s:select>
</s:if>
-<%-- <s:if test="generalOA.targetFriendlyName neq null">
- <s:textfield name="generalOA.targetFriendlyName"
- value="%{generalOA.targetFriendlyName}"
- labelposition="left"
- key="webpages.oaconfig.general.target.friendlyname.disabled"
- cssClass="textfield_long">
- </s:textfield>
- </s:if> --%>
- </s:else>
-
-
- </div>
+ <s:else>
+ <s:select list="generalOA.targetList"
+ key="webpages.oaconfig.general.target"
+ labelposition="left"
+ cssClass="selectfield"
+ value="%{generalOA.target}"
+ name="generalOA.target">
+ </s:select>
+ </s:else>
+
+ <s:checkbox name="subTargetSet"
+ value="%{subTargetSet}"
+ labelposition="left"
+ key="webpages.oaconfig.general.target.subsector.checkbox"
+ cssClass="checkbox"
+ onclick="oaTargetSubSector();"
+ id="OAisTargetSubSector">
+ </s:checkbox>
+
+ <s:textfield name="generalOA.target_subsector"
+ value="%{generalOA.target_subsector}"
+ labelposition="left"
+ key="webpages.oaconfig.general.target.subsector"
+ cssClass="selectfield"
+ id="OAtarget_subsector">
+ </s:textfield>
+
+
+ <s:if test="authUser.isAdmin()">
+ <s:checkbox
+ name="generalOA.AdminTarget"
+ value="%{generalOA.AdminTarget}"
+ cssClass="checkbox"
+ onclick="AdminTarget();"
+ labelposition="left"
+ key="webpages.oaconfig.general.target.admin.checkbox"
+ id="adminTarget">
+ </s:checkbox>
+
+ <div id="admin_target_area">
+ <s:textfield name="generalOA.target_admin"
+ value="%{generalOA.target_admin}"
+ labelposition="left"
+ key="webpages.oaconfig.general.target.admin"
+ cssClass="textfield_short">
+ </s:textfield>
+ <s:textfield name="generalOA.targetFriendlyName"
+ value="%{generalOA.targetFriendlyName}"
+ labelposition="left"
+ key="webpages.oaconfig.general.target.friendlyname"
+ cssClass="textfield_long">
+ </s:textfield>
+ </div>
+ </s:if>
+ <s:else>
+ <s:if test="generalOA.target_admin neq null">
+ <s:textfield name="generalOA.target_admin"
+ value="%{generalOA.target_admin}"
+ labelposition="left"
+ key="webpages.oaconfig.general.target.admin.disabled"
+ cssClass="textfield_short"
+ disabled="true">
+ </s:textfield>
+ </s:if>
+ <%-- <s:if test="generalOA.targetFriendlyName neq null">
+ <s:textfield name="generalOA.targetFriendlyName"
+ value="%{generalOA.targetFriendlyName}"
+ labelposition="left"
+ key="webpages.oaconfig.general.target.friendlyname.disabled"
+ cssClass="textfield_long">
+ </s:textfield>
+ </s:if> --%>
+ </s:else>
+ </div>
+ </s:if>
<s:if test="authUser.isAdmin()">
<div class="oa_config_block">
@@ -396,6 +394,27 @@
key="webpages.oaconfig.general.aditional.authblocktext"
cssClass="textfield_large">
</s:textarea>
+
+ <s:textfield name="generalOA.bkuSelectionBackGroundColor"
+ value="%{generalOA.bkuSelectionBackGroundColor}"
+ labelposition="left"
+ key="webpages.oaconfig.general.BKUSelection.backgroundcolor"
+ cssClass="textfield_middle">
+ </s:textfield>
+
+ <s:checkbox name="generalOA.showMandateLoginButton"
+ value="%{generalOA.showMandateLoginButton}"
+ labelposition="left"
+ key="webpages.oaconfig.general.BKUSelection.isMandateLoginCheckboxVisible"
+ cssClass="checkbox">
+ </s:checkbox>
+
+ <s:checkbox name="generalOA.onlyMandateAllowed"
+ value="%{generalOA.onlyMandateAllowed}"
+ labelposition="left"
+ key="webpages.oaconfig.general.BKUSelection.isOnlyMandateLoginAllowed"
+ cssClass="checkbox">
+ </s:checkbox>
</s:if>
</div>