From ffe0ee707300b809e6f3db15d9c40812579d8b0d Mon Sep 17 00:00:00 2001 From: Sabria Date: Tue, 21 Apr 2015 17:49:24 +0300 Subject: [PATCH] Password Reset improvements. Partial fix for MID-2319 --- .../admin/home/PageMyPasswordQuestions.java | 76 +++++++++++++++++++ 1 file changed, 76 insertions(+) diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/home/PageMyPasswordQuestions.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/home/PageMyPasswordQuestions.java index 68ba9230691..7554b78dc6d 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/home/PageMyPasswordQuestions.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/home/PageMyPasswordQuestions.java @@ -21,6 +21,7 @@ import org.apache.wicket.model.PropertyModel; import org.apache.wicket.util.string.StringValue; import org.aspectj.util.LangUtil.ProcessController.Thrown; +import org.eclipse.core.internal.runtime.PrintStackUtil; import ch.qos.logback.classic.Logger; @@ -225,9 +226,11 @@ public void initLayout(){ Task task = getPageBase().createSimpleTask(OPERATION_LOAD_QUESTION_POLICY); OperationResult subResult = result.createSubresult(OPERATION_LOAD_QUESTION_POLICY); + try{ PrismObject config = getPageBase().getModelService().getObject( SystemConfigurationType.class, SystemObjectsType.SYSTEM_CONFIGURATION.value(), null, task, result); + PrismObject securityPolicy = getModelService().getObject(SecurityPolicyType.class,config.asObjectable().getGlobalSecurityPolicyRef().getOid(), null, task, subResult); //Global Policy set question numbers questionNumber=securityPolicy.asObjectable().getCredentials().getSecurityQuestions().getQuestionNumber(); @@ -237,8 +240,81 @@ public void initLayout(){ // Actual Policy Question List + + + policyQuestionList = securityPolicy.asObjectable().getCredentials().getSecurityQuestions().getQuestion(); + }catch(Exception ex){ + ex.printStackTrace(); + System.out.println("Access"); + List userQuestionList= model.getObject().getSecurityAnswers(); + int panelNumber=0; + if(userQuestionList==null){ + PrismObject user = null; + + + + Collection options = SelectorOptions.createCollection(UserType.F_CREDENTIALS, + GetOperationOptions.createRetrieve(RetrieveOption.INCLUDE)); + Task taskTwo = createSimpleTask("LOAD USER WRAPPER"); + user = getModelService().getObject(UserType.class, SecurityUtils.getPrincipalUser().getOid(), options, taskTwo, result); + OperationResult parentResult = new OperationResult(OPERATION_LOAD_USER); + questionNumber = getModelInteractionService().getCredentialsPolicy(user, parentResult).getSecurityQuestions().getQuestionNumber(); + policyQuestionList=getModelInteractionService().getCredentialsPolicy(user, parentResult).getSecurityQuestions().getQuestion(); + for(int i=0;i userQuestionList= model.getObject().getSecurityAnswers();