Skip to content

Commit

Permalink
MID-8687:fix for breadcrumb when create object and use wizard for par…
Browse files Browse the repository at this point in the history
…t of configuration
  • Loading branch information
skublik committed Mar 31, 2023
1 parent ff14358 commit 4f6d6d3
Show file tree
Hide file tree
Showing 5 changed files with 32 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -850,6 +850,19 @@ private RestartResponseException createRestartResponseExceptionWithBreadcrumb(in
}

public void redirectBackToBreadcrumb(Breadcrumb breadcrumb) {

removeAllAfterBreadcrumb(breadcrumb);

WebPage page = breadcrumb.redirect();
if (page instanceof PageBase) {
PageBase base = (PageBase) page;
base.setBreadcrumbs(breadcrumbs);
}

setResponsePage(page);
}

private void removeAllAfterBreadcrumb(Breadcrumb breadcrumb) {
Validate.notNull(breadcrumb, "Breadcrumb must not be null");

boolean found = false;
Expand All @@ -865,13 +878,16 @@ public void redirectBackToBreadcrumb(Breadcrumb breadcrumb) {
found = true;
}
}
WebPage page = breadcrumb.redirect();
if (page instanceof PageBase) {
PageBase base = (PageBase) page;
base.setBreadcrumbs(breadcrumbs);
}
}

setResponsePage(page);
protected void removeLastBreadcrumb() {
List<Breadcrumb> breadcrumbs = getBreadcrumbs();
if (canRedirectBack(DEFAULT_BREADCRUMB_STEP)) {
Breadcrumb breadcrumb = breadcrumbs.get(breadcrumbs.size() - DEFAULT_BREADCRUMB_STEP);
removeAllAfterBreadcrumb(breadcrumb);
} else {
clearBreadcrumbs();
}
}

protected void setTimeZone() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public WizardPanelHelper(

public WizardPanelHelper(
@NotNull AHD resourceModel,
@NotNull IModel<PrismContainerValueWrapper<C>> valueModel) {
IModel<PrismContainerValueWrapper<C>> valueModel) {
this.detailsModel = resourceModel;
this.valueModel = valueModel;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -340,13 +340,16 @@ public OperationResult onSaveObjectPerformed(AjaxRequestTarget target) {
OperationResult result = new OperationResult(OPERATION_SAVE);
saveOrPreviewPerformed(target, result, false);
if (!result.isError()) {
WebComponentUtil.createToastForUpdateObject(target, getType());
if (!isEditObject()) {
removeLastBreadcrumb();
String oid = getPrismObject().getOid();
PageParameters parameters = new PageParameters();
parameters.add(OnePageParameterEncoder.PARAMETER, oid);
Class<? extends PageBase> page = WebComponentUtil.getObjectDetailsPage(getType());
navigateToNext(page, parameters);
WebComponentUtil.createToastForCreateObject(target, getType());
} else {
WebComponentUtil.createToastForUpdateObject(target, getType());
}
}
return result;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,4 +92,9 @@ protected boolean checkMandatory(ItemWrapper itemWrapper) {
}
return itemWrapper.isMandatory();
}

@Override
protected boolean isExitButtonVisible() {
return true;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -47,11 +47,6 @@ private List<WizardStep> createBasicSteps() {
public VisibleEnableBehaviour getBackBehaviour() {
return VisibleEnableBehaviour.ALWAYS_INVISIBLE;
}

@Override
protected boolean isExitButtonVisible() {
return true;
}
});

steps.add(new AccessApplicationRoleStepPanel(getHelper().getDetailsModel()){
Expand Down

0 comments on commit 4f6d6d3

Please sign in to comment.