Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into feature/detaching
Browse files Browse the repository at this point in the history
# Conflicts:
#	gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/MainObjectListPanel.java
  • Loading branch information
katkav committed Mar 16, 2022
2 parents 06e8958 + fb2ecfb commit c855149
Show file tree
Hide file tree
Showing 45 changed files with 624 additions and 135 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -497,8 +497,8 @@ private void deleteConfirmedPerformed(AjaxRequestTarget target, IModel<Selectabl
ExecuteChangeOptionsDto executeOptions = getExecuteOptions();
ModelExecuteOptions options = executeOptions.createOptions(getPrismContext());
LOGGER.debug("Using options {}.", executeOptions);
getPageBase().getModelService().executeChanges(MiscUtil.createCollection(delta), options, task,
subResult);
getPageBase().getModelService()
.executeChanges(MiscUtil.createCollection(delta), options, task, subResult);
subResult.computeStatus();
} catch (Exception ex) {
subResult.recomputeStatus();
Expand Down Expand Up @@ -559,20 +559,20 @@ protected String getNothingSelectedMessage() {

public IModel<String> getConfirmationMessageModel(ColumnMenuAction action, String actionName){
if (action.getRowModel() == null) {
return createStringResource(getConfirmMessageKeyForSingleObject(),
actionName, TableUtil.getSelectedModels(getTable().getDataTable()).size() );
} else {
return createStringResource(getConfirmMessageKeyForMultiObject(),
actionName, ((ObjectType)((SelectableBean)action.getRowModel().getObject()).getValue()).getName());
actionName, getSelectedObjectsCount() );
} else {
return createStringResource(getConfirmMessageKeyForSingleObject(),
actionName, ((ObjectType)((SelectableBean<?>)action.getRowModel().getObject()).getValue()).getName());
}
}

protected String getConfirmMessageKeyForSingleObject() {
return null;
protected String getConfirmMessageKeyForMultiObject() {
throw new UnsupportedOperationException("getConfirmMessageKeyForMultiObject() not implemented for " + getClass());
}

protected String getConfirmMessageKeyForMultiObject() {
return null;
protected String getConfirmMessageKeyForSingleObject() {
throw new UnsupportedOperationException("getConfirmMessageKeyForSingleObject() not implemented for " + getClass());
}

public InlineMenuItem createDeleteInlineMenu() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -264,9 +264,11 @@ private ObjectDelta<AH> getObjectDelta(OperationResult result) throws SchemaExce
}

private ModelExecuteOptions createPreviewAssignmentsOptions() {
return getPageBase()
ModelExecuteOptions options = getPageBase()
.executeOptions()
.evaluateAllAssignmentRelationsOnRecompute();
options.getOrCreatePartialProcessing().outbound(PartialProcessingTypeType.SKIP);
return options;
}

private List<PrismContainerValueWrapper<AssignmentType>> loadEvaluatedAssignments(IModel<PrismContainerWrapper<AssignmentType>> parent)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -174,8 +174,8 @@ protected void onError(AjaxRequestTarget target) {
target.add(getPageBase().getFeedbackPanel());
}
};
save.add(new VisibleBehaviour(this::isSaveButtonVisible));
save.add(new EnableBehaviour(this::isSavePreviewButtonEnabled));
save.add(new VisibleBehaviour(this::isSaveButtonVisible));
save.titleAsLabel(true);
save.setOutputMarkupId(true);
save.add(AttributeAppender.append("class", "btn btn-success btn-sm"));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ protected FocusOperationalButtonsPanel<F> createButtonsPanel(String id, Loadable
protected void refresh(AjaxRequestTarget target) {
PageFocusDetails.this.refresh(target);
}

@Override
protected void savePerformed(AjaxRequestTarget target) {
PageFocusDetails.this.savePerformed(target);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,14 @@
package com.evolveum.midpoint.gui.impl.page.admin.focus.component;

import com.evolveum.midpoint.gui.api.GuiStyleConstants;
import com.evolveum.midpoint.gui.api.prism.ItemStatus;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.gui.api.util.WebModelServiceUtils;
import com.evolveum.midpoint.gui.impl.page.admin.AbstractObjectMainPanel;
import com.evolveum.midpoint.gui.impl.page.admin.assignmentholder.FocusDetailsModels;
import com.evolveum.midpoint.gui.impl.page.admin.org.PageOrgHistory;
import com.evolveum.midpoint.gui.impl.page.admin.role.PageRoleHistory;
import com.evolveum.midpoint.gui.impl.page.admin.service.PageServiceHistory;
import com.evolveum.midpoint.gui.impl.page.admin.user.PageUserHistory;
import com.evolveum.midpoint.prism.PrismContext;
import com.evolveum.midpoint.prism.PrismObject;
import com.evolveum.midpoint.prism.query.ObjectQuery;
Expand All @@ -28,11 +31,7 @@
import com.evolveum.midpoint.web.component.data.MultiButtonPanel;
import com.evolveum.midpoint.web.component.data.column.DoubleButtonColumn;
import com.evolveum.midpoint.web.component.util.SelectableBean;
import com.evolveum.midpoint.web.page.admin.orgs.PageOrgUnitHistory;
import com.evolveum.midpoint.web.page.admin.reports.component.AuditLogViewerPanel;
import com.evolveum.midpoint.web.page.admin.roles.PageRoleHistory;
import com.evolveum.midpoint.web.page.admin.services.PageServiceHistory;
import com.evolveum.midpoint.web.page.admin.users.PageUserHistory;
import com.evolveum.midpoint.web.page.admin.users.PageXmlDataReview;
import com.evolveum.midpoint.web.session.AuditLogStorage;
import com.evolveum.midpoint.web.session.SessionStorage;
Expand Down Expand Up @@ -171,7 +170,7 @@ protected void currentStateButtonClicked(AjaxRequestTarget target, PrismObject<F
} else if (RoleType.class.equals(objectClass)) {
getPageBase().navigateToNext(new PageRoleHistory((PrismObject<RoleType>) object, date));
} else if (OrgType.class.equals(objectClass)) {
getPageBase().navigateToNext(new PageOrgUnitHistory((PrismObject<OrgType>) object, date));
getPageBase().navigateToNext(new PageOrgHistory((PrismObject<OrgType>) object, date));
} else if (ServiceType.class.equals(objectClass)) {
getPageBase().navigateToNext(new PageServiceHistory((PrismObject<ServiceType>) object, date));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,16 @@ protected IColumn<SelectableBean<MessageTemplateType>, String> createCheckboxCol
protected List<InlineMenuItem> createInlineMenu() {
return Arrays.asList(createDeleteInlineMenu());
}

@Override
protected String getConfirmMessageKeyForMultiObject() {
return "pageMessageTemplates.message.confirmationMessageForMultipleObject";
}

@Override
protected String getConfirmMessageKeyForSingleObject() {
return "pageMessageTemplates.message.confirmationMessageForSingleObject";
}
};
table.setOutputMarkupId(true);
mainForm.add(table);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<!--
~ Copyright (c) 2010-2018 Evolveum
~
~ This work is dual-licensed under the Apache License 2.0
~ and European Union Public License. See LICENSE file for details.
-->
<!DOCTYPE html>
<html xmlns:wicket="http://wicket.apache.org">
<body>
<wicket:extend>
<wicket:child />
</wicket:extend>
</body>
</html>
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
/*
* Copyright (c) 2010-2018 Evolveum and contributors
*
* This work is dual-licensed under the Apache License 2.0
* and European Union Public License. See LICENSE file for details.
*/
package com.evolveum.midpoint.gui.impl.page.admin.org;

import com.evolveum.midpoint.gui.impl.page.admin.assignmentholder.FocusDetailsModels;

import org.apache.wicket.model.IModel;

import com.evolveum.midpoint.authentication.api.authorization.AuthorizationAction;
import com.evolveum.midpoint.authentication.api.authorization.PageDescriptor;
import com.evolveum.midpoint.authentication.api.authorization.Url;
import com.evolveum.midpoint.gui.api.model.LoadableModel;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.prism.PrismObject;
import com.evolveum.midpoint.security.api.AuthorizationConstants;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
import com.evolveum.midpoint.xml.ns._public.common.common_3.OrgType;

/**
* Created by honchar.
*/
@PageDescriptor(
urls = {
@Url(mountUrl = "/admin/orgUnitHistory", matchUrlForSecurity = "/admin/orgUnitHistory")
},
action = {
@AuthorizationAction(actionUri = AuthorizationConstants.AUTZ_UI_ORG_ALL_URL,
label = "PageAdminUsers.auth.orgAll.label",
description = "PageAdminUsers.auth.orgAll.description"),
@AuthorizationAction(actionUri = AuthorizationConstants.AUTZ_UI_ORG_UNIT_HISTORY_URL,
label = "PageOrgUnitHistory.auth.orgUnitHistory.label",
description = "PageOrgUnitHistory.auth.orgUnitHistory.description")})
public class PageOrgHistory extends PageOrg {
private static final long serialVersionUID = 1L;

private static final String DOT_CLASS = PageOrgHistory.class.getName() + ".";
private static final Trace LOGGER = TraceManager.getTrace(PageOrgHistory.class);
private String date = "";

public PageOrgHistory(final PrismObject<OrgType> org, String date) {
super(org);
this.date = date;
}

@Override
protected FocusDetailsModels<OrgType> createObjectDetailsModels(PrismObject<OrgType> object) {
return new FocusDetailsModels<OrgType>(createPrismObjectModel(object), this) {
private static final long serialVersionUID = 1L;

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

@Override
protected IModel<String> createPageTitleModel() {
return new LoadableModel<String>() {
private static final long serialVersionUID = 1L;

@Override
protected String load() {
String name = null;
if (getModelObjectType() != null) {
name = WebComponentUtil.getName(getModelObjectType());
}
return createStringResource("PageUserHistory.title", name, date).getObject();
}
};
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<!--
~ Copyright (c) 2010-2018 Evolveum
~
~ This work is dual-licensed under the Apache License 2.0
~ and European Union Public License. See LICENSE file for details.
-->
<!DOCTYPE html>
<html xmlns:wicket="http://wicket.apache.org">
<body>
<wicket:extend>
<wicket:child />
</wicket:extend>
</body>
</html>
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
/*
* Copyright (c) 2010-2018 Evolveum and contributors
*
* This work is dual-licensed under the Apache License 2.0
* and European Union Public License. See LICENSE file for details.
*/
package com.evolveum.midpoint.gui.impl.page.admin.role;

import com.evolveum.midpoint.gui.impl.page.admin.assignmentholder.FocusDetailsModels;
import com.evolveum.midpoint.gui.impl.page.admin.user.UserDetailsModel;
import com.evolveum.midpoint.xml.ns._public.common.common_3.UserType;

import org.apache.wicket.model.IModel;

import com.evolveum.midpoint.authentication.api.authorization.AuthorizationAction;
import com.evolveum.midpoint.authentication.api.authorization.PageDescriptor;
import com.evolveum.midpoint.authentication.api.authorization.Url;
import com.evolveum.midpoint.gui.api.model.LoadableModel;
import com.evolveum.midpoint.gui.api.prism.wrapper.PrismObjectWrapper;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.prism.PrismObject;
import com.evolveum.midpoint.security.api.AuthorizationConstants;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
import com.evolveum.midpoint.web.component.ObjectSummaryPanel;
import com.evolveum.midpoint.xml.ns._public.common.common_3.RoleType;

/**
* Created by honchar
*/
@PageDescriptor(
urls = {
@Url(mountUrl = "/admin/roleHistory")
},
action = {
@AuthorizationAction(actionUri = AuthorizationConstants.AUTZ_UI_ROLES_ALL_URL,
label = "PageAdminRoles.auth.roleAll.label",
description = "PageAdminRoles.auth.roleAll.description"),
@AuthorizationAction(actionUri = AuthorizationConstants.AUTZ_UI_ROLE_HISTORY_URL,
label = "PageRoleHistory.auth.roleHistory.label",
description = "PageRoleHistory.auth.roleHistory.description")})
public class PageRoleHistory extends PageRole {
private static final long serialVersionUID = 1L;

private static final String DOT_CLASS = PageRoleHistory.class.getName() + ".";
private static final Trace LOGGER = TraceManager.getTrace(PageRoleHistory.class);
private String date = "";

public PageRoleHistory(final PrismObject<RoleType> role, String date) {
super(role);
this.date = date;
}

@Override
protected FocusDetailsModels<RoleType> createObjectDetailsModels(PrismObject<RoleType> object) {
return new FocusDetailsModels<RoleType>(createPrismObjectModel(object), this) {
@Override
protected boolean isReadonly() {
return true;
}
};
}

@Override
protected IModel<String> createPageTitleModel() {
return new LoadableModel<String>() {
@Override
protected String load() {
String name = null;
if (getModelObjectType() != null) {
name = WebComponentUtil.getName(getModelObjectType());
}
return createStringResource("PageUserHistory.title", name, date).getObject();
}
};
}

}

Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<!--
~ Copyright (c) 2010-2018 Evolveum
~
~ This work is dual-licensed under the Apache License 2.0
~ and European Union Public License. See LICENSE file for details.
-->
<!DOCTYPE html>
<html xmlns:wicket="http://wicket.apache.org">
<body>
<wicket:extend>
<wicket:child />
</wicket:extend>
</body>
</html>

0 comments on commit c855149

Please sign in to comment.