Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
mederly committed Mar 17, 2023
2 parents f9acd67 + 57a9490 commit b61038f
Show file tree
Hide file tree
Showing 9 changed files with 105 additions and 105 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
<wicket:extend>
<form wicket:id="mainForm">
<div wicket:id="contentArea"></div>
<input wicket:id="submitRegistration" class="btn btn-primary login-panel-control" wicket:message="value:PageSelfRegistration.register"/>
</form>
<wicket:child/>
</wicket:extend>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
*/
package com.evolveum.midpoint.gui.impl.page.login;

import com.evolveum.midpoint.web.component.util.VisibleBehaviour;

import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.panel.Fragment;
Expand Down Expand Up @@ -34,8 +36,6 @@ public abstract class PageAbstractFlow extends PageRegistrationBase {
private static final String ID_MAIN_FORM = "mainForm";
private static final String ID_SUBMIT_REGISTRATION = "submitRegistration";

private static final String ID_BACK = "back";

private static final String ID_DYNAMIC_FORM = "dynamicForm";
protected static final String ID_CONTENT_AREA = "contentArea";

Expand All @@ -46,14 +46,14 @@ public abstract class PageAbstractFlow extends PageRegistrationBase {
protected static final String OPERATION_SAVE_USER = DOT_CLASS + "saveUser";

protected PageParameters pageParameters;
protected boolean isSubmitted = false;

public abstract void initializeModel();
public abstract IModel<UserType> getUserModel();
public abstract boolean isCustomFormDefined();
protected abstract WebMarkupContainer initStaticLayout();
protected abstract WebMarkupContainer initDynamicLayout();
protected abstract void submitRegistration(AjaxRequestTarget target);
protected abstract boolean isBackButtonVisible();
protected abstract ObjectReferenceType getCustomFormRef();

public PageAbstractFlow(PageParameters pageParameters) {
Expand Down Expand Up @@ -81,18 +81,22 @@ private void initLayout() {

fragment.setOutputMarkupId(true);
content.setOutputMarkupId(true);
initCaptchaAndButtons(fragment);
addOrReplaceCaptcha(fragment);
initButtons(mainForm);
fragment.add(content);
mainForm.add(fragment);

}

private void initCaptchaAndButtons(WebMarkupContainer content) {
private void addOrReplaceCaptcha(WebMarkupContainer content) {
CaptchaPanel captcha = new CaptchaPanel(ID_CAPTCHA, this);
captcha.setOutputMarkupId(true);
content.add(captcha);
captcha.add(new VisibleBehaviour(() -> !isSubmitted));
content.addOrReplace(captcha);
}

AjaxSubmitButton register = new AjaxSubmitButton(ID_SUBMIT_REGISTRATION, createStringResource("PageSelfRegistration.register")) {
private void initButtons(MidpointForm<?> mainForm) {
AjaxSubmitButton register = new AjaxSubmitButton(ID_SUBMIT_REGISTRATION) {

private static final long serialVersionUID = 1L;

Expand All @@ -102,33 +106,13 @@ protected void onError(AjaxRequestTarget target) {
}

protected void onSubmit(AjaxRequestTarget target) {

isSubmitted = true;
doRegistration(target);

}
};

content.add(register);

AjaxButton back = new AjaxButton(ID_BACK, createStringResource("PageSelfRegistration.back")) {

private static final long serialVersionUID = 1L;

@Override
public void onClick(AjaxRequestTarget target) {
setResponsePage(PageLogin.class);
}
};
back.add(new VisibleEnableBehaviour() {

private static final long serialVersionUID = 1L;

@Override
public boolean isVisible() {
return isBackButtonVisible();
}
});
content.add(back);
register.add(new VisibleBehaviour(() -> !isSubmitted));
mainForm.add(register);
}

private void doRegistration(AjaxRequestTarget target) {
Expand Down Expand Up @@ -174,12 +158,8 @@ private boolean validateCaptcha(AjaxRequestTarget target) {
}

protected void updateCaptcha(AjaxRequestTarget target) {

CaptchaPanel captcha = new CaptchaPanel(ID_CAPTCHA, this);
captcha.setOutputMarkupId(true);

Fragment fragment = (Fragment) get(createComponentPath(ID_MAIN_FORM, ID_CONTENT_AREA));
fragment.addOrReplace(captcha);
addOrReplaceCaptcha(fragment);
target.add(fragment);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,14 @@
<div class="card-header text-center">
<h1>midPoint</h1>
</div>
<div class="card-body">
<div class="card-body login-card-body justify-content-between">
<h4 class="login-box-msg" wicket:id="formTitle"></h4>
<p class="login-panel-description text-center" wicket:id="formDescription"></p>
<wicket:child />
</div>
<a class="text-center login-panel-control" style="display: inline-block;" wicket:id="back">
<i class="fas fa-arrow-left mr-2"></i>
</a>
<div class="card-footer login-footer" wicket:id="footerContainer">
<span class="pull-right hidden-xs" wicket:id="version">
<b><wicket:message key="PageTemplate.version"/></b> <wicket:message key="midpoint.system.build"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,24 @@

import com.evolveum.midpoint.gui.api.page.PageAdminLTE;

import com.evolveum.midpoint.web.component.AjaxButton;
import com.evolveum.midpoint.web.component.menu.top.LocaleTextPanel;

import com.evolveum.midpoint.web.component.util.VisibleBehaviour;

import com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour;

import org.apache.commons.lang3.StringUtils;
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.RestartResponseException;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.markup.html.TransparentWebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.spring.injection.annot.SpringBean;

import com.evolveum.midpoint.authentication.api.config.AuthenticationEvaluator;
import com.evolveum.midpoint.gui.api.page.PageBase;
import com.evolveum.midpoint.model.api.context.NonceAuthenticationContext;
import com.evolveum.midpoint.prism.PrismObject;
import com.evolveum.midpoint.schema.constants.SchemaConstants;
Expand All @@ -39,6 +48,9 @@ public class PageRegistrationBase extends PageAdminLTE {
protected static final String OPERATION_LOAD_DYNAMIC_FORM = DOT_CLASS + "loadDynamicForm";

private static final Trace LOGGER = TraceManager.getTrace(PageRegistrationBase.class);
private static final String ID_TITLE = "formTitle";
private static final String ID_DESCRIPTION = "formDescription";
private static final String ID_BACK = "back";

@SpringBean(name = "nonceAuthenticationEvaluator")
private AuthenticationEvaluator<NonceAuthenticationContext> authenticationEvaluator;
Expand All @@ -49,11 +61,52 @@ public class PageRegistrationBase extends PageAdminLTE {
public PageRegistrationBase() {
super(null);

initLayout();
}

private void initLayout() {
Label header = new Label(ID_TITLE, createStringResource("PageSelfRegistration.welcome.message"));
header.add(new VisibleBehaviour(() -> StringUtils.isNotEmpty(getTitleModel().getObject())));
header.setOutputMarkupId(true);
add(header);

Label description = new Label(ID_DESCRIPTION, getDescriptionModel());
description.add(new VisibleBehaviour(() -> StringUtils.isNotEmpty(getDescriptionModel().getObject())));
description.setOutputMarkupId(true);
add(description);

addBackButton();
addFeedbackPanel();

add(new LocaleTextPanel("locale"));
}

protected IModel<String> getTitleModel() {
return Model.of();
}

protected IModel<String> getDescriptionModel() {
return Model.of();
}

private void addBackButton() {
AjaxButton back = new AjaxButton(ID_BACK, createStringResource("PageEmailNonce.backButtonLabel")) {

private static final long serialVersionUID = 1L;

@Override
public void onClick(AjaxRequestTarget target) {
setResponsePage(getMidpointApplication().getHomePage());
}
};
back.add(new VisibleEnableBehaviour(this::isBackButtonVisible));
add(back);
}

protected boolean isBackButtonVisible() {
return true;
}

@Override
protected void addDefaultBodyStyle(TransparentWebMarkupContainer body) {
body.add(AttributeModifier.replace("class", "register-page"));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,21 +11,14 @@
<html xmlns:wicket="http://wicket.apache.org">
<body>
<wicket:extend>
<div class="card col-md-8">
<div style="text-align: center">
<div wicket:id="successPanel">
<i class="fa fa-check-circle fa-2x text-success"></i>
<h2 wicket:id="successLabel"/>
<a wicket:id="linkToLogin">
<wicket:message key="PageRegistrationConfirmation.continueToLogin"/>
</a>
</div>
<div wicket:id="errorPanel">
<i class="fa fa-times-circle fa-2x text-error"></i>
<h3 class="center" wicket:id="errorLabel"/>
</div>
<div wicket:id="successPanel" class="d-flex">
<i class="fa fa-check-circle fa-2x text-success justify-content-center"></i>
<h3 wicket:id="successLabel"/>
</div>
<div wicket:id="errorPanel" class="d-flex">
<i class="fa fa-times-circle fa-2x text-error"></i>
<h3 class="center" wicket:id="errorLabel"/>
</div>
</div>
</wicket:extend>
</body>
</html>
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,6 @@

<wicket:fragment wicket:id="staticContent">
<div wicket:id="staticForm">
<p class="login-box-msg" wicket:id="welcome"/>

<div>
<label wicket:id="additionalText"></label>
</div>

<div class="input-group mb-3">
<div wicket:id="firstName"/>
<div class="input-group-append">
Expand Down Expand Up @@ -54,32 +48,13 @@

</div>
<div wicket:id="captcha"/>
<div class="d-flex flex-row justify-content-between gap-2">
<a class="btn btn-default" wicket:id="back"/>
<a class="btn btn-primary" wicket:id="submitRegistration"/>
</div>
</wicket:fragment>

<wicket:fragment wicket:id="dynamicContent">
<div wicket:id="dynamicForm"/>
<div class="col-md-offset-6">
<div wicket:id="captcha"/>
</div>
<div class="row">
<div class="col-8">
<a class="btn btn-default" wicket:id="back"/>
</div>

<div class="col-4">
<a class="btn btn-primary btn-block" wicket:id="submitRegistration"/>
</div>
</div>
</wicket:fragment>

<wicket:fragment wicket:id="messageContent">
<div style="text-align: center">
<h2 wicket:id="registrationInfo"></h2>
</div>
</wicket:fragment>

</wicket:extend>
Expand Down

0 comments on commit b61038f

Please sign in to comment.