Skip to content

Commit

Permalink
MID-3738 error page logout button added
Browse files Browse the repository at this point in the history
  • Loading branch information
1azyman committed Sep 13, 2018
1 parent 6c07715 commit a852445
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 0 deletions.
Expand Up @@ -35,6 +35,13 @@ <h3>
<div class="main-button-bar">
<a class="btn btn-primary" wicket:id="home" />
<a class="btn btn-primary" wicket:id="back" />

<wicket:enclosure>
<form method="post" action="j_spring_security_logout" style="display: inline; margin-left: 20px;">
<div wicket:id="csrfField"/>
<input type="submit" class="btn btn-default btn-flat" wicket:message="value:PageError.logout"/>
</form>
</wicket:enclosure>
</div>

</div>
Expand Down
Expand Up @@ -21,9 +21,14 @@
import com.evolveum.midpoint.util.logging.TraceManager;
import com.evolveum.midpoint.web.application.PageDescriptor;
import com.evolveum.midpoint.web.component.AjaxButton;
import com.evolveum.midpoint.web.component.util.VisibleBehaviour;
import com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour;
import com.evolveum.midpoint.web.security.SecurityUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.head.OnDomReadyHeaderItem;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.model.AbstractReadOnlyModel;
import org.apache.wicket.model.IModel;
Expand All @@ -47,6 +52,7 @@ public class PageError extends PageBase {
private static final String ID_ERROR_MESSAGE = "errorMessage";
private static final String ID_BACK = "back";
private static final String ID_HOME = "home";
private static final String ID_CSRF_FIELD = "csrfField";

private static final Trace LOGGER = TraceManager.getTrace(PageError.class);

Expand Down Expand Up @@ -138,6 +144,10 @@ public void onClick(AjaxRequestTarget target) {
}
};
add(home);

WebMarkupContainer csrfField = SecurityUtils.createHiddenInputForCsrf(ID_CSRF_FIELD);
csrfField.add(new VisibleBehaviour(() -> SecurityUtils.getPrincipalUser() != null));
add(csrfField);
}

private int getCode() {
Expand All @@ -151,6 +161,13 @@ protected void configureResponse(WebResponse response) {
response.setStatus(getCode());
}

@Override
public void renderHead(IHeaderResponse response) {
super.renderHead(response);

response.render(OnDomReadyHeaderItem.forScript("$('div.content-wrapper').css('margin-left', '0');"));
}

@Override
public boolean isVersioned() {
return false;
Expand Down

0 comments on commit a852445

Please sign in to comment.