Skip to content

Commit

Permalink
Merge branch 'master' into feature/schema-cleanup-4.4
Browse files Browse the repository at this point in the history
  • Loading branch information
semancik committed Sep 20, 2021
2 parents 5831547 + 9077ba9 commit 9a0f59e
Show file tree
Hide file tree
Showing 188 changed files with 4,796 additions and 1,414 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.model.api.AdminGuiConfigurationMergeManager;
import com.evolveum.midpoint.model.api.authentication.CompiledGuiProfile;
import com.evolveum.midpoint.model.api.authentication.GuiProfileCompilable;
Expand Down Expand Up @@ -64,6 +63,7 @@ public class DefaultGuiConfigurationCompiler implements GuiProfileCompilable {
"com.evolveum.midpoint.gui.impl.page.admin.cases.component",
"com.evolveum.midpoint.gui.impl.page.admin.user.component",
"com.evolveum.midpoint.gui.impl.page.admin.objectcollection.component",
"com.evolveum.midpoint.gui.impl.page.admin.objecttemplate.component",
"com.evolveum.midpoint.gui.impl.page.admin.archetype.component",
"com.evolveum.midpoint.gui.impl.page.admin.report.component"
};
Expand Down Expand Up @@ -212,19 +212,19 @@ private boolean isNotApplicableFor(Class<? extends ObjectType> objectType, Panel
if (panelInstance == null) {
return true;
}
if (panelInstance.applicableFor() == null) {
if (panelInstance.applicableForType() == null) {
return true;
}

if (ObjectType.class.equals(panelInstance.applicableFor())) {
if (ObjectType.class.equals(panelInstance.applicableForType())) {
return true;
}

if (panelInstance.notApplicableFor() != null && !panelInstance.notApplicableFor().equals(SystemConfigurationType.class)) {
return panelInstance.notApplicableFor().isAssignableFrom(objectType);
}

return !panelInstance.applicableFor().isAssignableFrom(objectType);
return !panelInstance.applicableForType().isAssignableFrom(objectType);
}

private boolean isSubPanel(PanelInstance panelInstance) {
Expand All @@ -244,8 +244,9 @@ private ContainerPanelConfigurationType compileContainerPanelConfiguration(Class
if (panelInstance.defaultPanel()) {
config.setDefault(true);
}
if (Arrays.stream(panelInstance.status()).filter(s -> ItemStatus.ADDED == s).count() == 1) {
config.setVisibleForAdd(true);

if (panelInstance.applicableForOperation().length == 1) {
config.setApplicableForOperation(panelInstance.applicableForOperation()[0]);
}

return config;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@

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

import com.evolveum.midpoint.xml.ns._public.common.common_3.OperationTypeType;

import org.apache.commons.lang3.StringUtils;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
Expand Down Expand Up @@ -120,7 +122,7 @@ protected List<ObjectOrdering> createObjectOrderings(SortParam<String> sortParam
}

protected List<CompiledObjectCollectionView> getAllApplicableArchetypeViews() {
return getPageBase().getCompiledGuiProfile().findAllApplicableArchetypeViews(WebComponentUtil.classToQName(getPageBase().getPrismContext(), getType()));
return getPageBase().getCompiledGuiProfile().findAllApplicableArchetypeViews(WebComponentUtil.classToQName(getPageBase().getPrismContext(), getType()), OperationTypeType.ADD);
}

public void clearCache() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -256,7 +256,7 @@ public final class WebComponentUtil {
OBJECT_DETAILS_PAGE_MAP_NEW.put(ArchetypeType.class, com.evolveum.midpoint.gui.impl.page.admin.archetype.PageArchetype.class);
OBJECT_DETAILS_PAGE_MAP_NEW.put(ShadowType.class, PageAccount.class);
OBJECT_DETAILS_PAGE_MAP_NEW.put(ObjectCollectionType.class, com.evolveum.midpoint.gui.impl.page.admin.objectcollection.PageObjectCollection.class);
OBJECT_DETAILS_PAGE_MAP_NEW.put(ObjectTemplateType.class, PageObjectTemplate.class);
OBJECT_DETAILS_PAGE_MAP_NEW.put(ObjectTemplateType.class, com.evolveum.midpoint.gui.impl.page.admin.objecttemplate.PageObjectTemplate.class);
}

static {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ public static DisplayType createDisplayType(String iconCssClass, String iconColo
public static DisplayType createDisplayType(String iconCssClass, String iconColor, PolyStringType label, PolyStringType title) {
DisplayType displayType = new DisplayType();
IconType icon = new IconType();
icon.setCssClass(iconCssClass);
icon.setCssClass(iconCssClass != null ? iconCssClass.trim() : iconCssClass);
icon.setColor(iconColor);
displayType.setIcon(icon);
displayType.setLabel(label);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,11 @@
xmlns:wicket="http://wicket.apache.org">
<body>
<wicket:panel>
<div style="border-bottom: 2px solid #ddd; padding-top: 20px;">
<wicket:child />
<div wicket:id="displayName"/>
<div class="top-level-prism-container">
<div wicket:id="details" class="nav-tabs-custom"> </div>
</div>
</div>
</wicket:panel>
</body>
</html>
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ public CompositedIcon(String basicIcon, List<LayerIcon> layerIcons, String basic
}

public String getBasicIcon() {
return basicIcon;
return basicIcon != null ? basicIcon.trim() : basicIcon;
}

public List<LayerIcon> getLayerIcons() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,8 +90,10 @@ public CompositedIconBuilder appendColorHtmlValue(String colorHtmlValue) {
return this;
}

public CompositedIconBuilder appendLayerIcon(String icon, CompositedIconCssStyle style) {
return appendLayerIcon(icon, style, "");
public CompositedIconBuilder appendLayerIcon(String icon, LayeredIconCssStyle style) {
IconType iconType = new IconType();
iconType.setCssClass(icon);
return appendLayerIcon(iconType, style);
}

public CompositedIconBuilder appendLayerIcon(String icon, CompositedIconCssStyle style, String additionalCssClass) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,6 @@

import java.util.List;

import com.evolveum.midpoint.gui.api.prism.ItemStatus;
import com.evolveum.midpoint.gui.api.util.WebDisplayTypeUtil;

import org.apache.commons.lang3.BooleanUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxLink;
Expand All @@ -26,13 +22,15 @@
import com.evolveum.midpoint.gui.api.GuiStyleConstants;
import com.evolveum.midpoint.gui.api.component.BasePanel;
import com.evolveum.midpoint.gui.api.model.ReadOnlyModel;
import com.evolveum.midpoint.gui.api.prism.ItemStatus;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.gui.impl.page.admin.ObjectDetailsModels;
import com.evolveum.midpoint.web.application.SimpleCounter;
import com.evolveum.midpoint.web.component.util.VisibleBehaviour;
import com.evolveum.midpoint.web.session.ObjectDetailsStorage;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ContainerPanelConfigurationType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.OperationTypeType;

public class DetailsNavigationPanel<O extends ObjectType> extends BasePanel<List<ContainerPanelConfigurationType>> {

Expand Down Expand Up @@ -223,7 +221,12 @@ private boolean isVisibleForAddApply(ContainerPanelConfigurationType config) {
if (status == ItemStatus.NOT_CHANGED) {
return true;
}
return ItemStatus.ADDED == status && BooleanUtils.isTrue(config.isVisibleForAdd());
return ItemStatus.ADDED == status && isAllowedForAdd(config);
}

private boolean isAllowedForAdd(ContainerPanelConfigurationType config) {
OperationTypeType applicableForOperation = config.getApplicableForOperation();
return applicableForOperation == null || OperationTypeType.ADD == applicableForOperation;
}

protected void onClickPerformed(ContainerPanelConfigurationType config, AjaxRequestTarget target) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -512,32 +512,19 @@ private void createFocusPageViewMenu(MainMenuItem mainMenuItem, String viewKey,

private MainMenuItem createArchetypesItems() {
MainMenuItem item = new MainMenuItem("PageAdmin.menu.top.archetypes", GuiStyleConstants.EVO_ARCHETYPE_TYPE_ICON);
item.addMenuItem(createObjectListPageMenuItem("PageAdmin.menu.top.archetypes.list", GuiStyleConstants.EVO_ARCHETYPE_TYPE_ICON, PageArchetypes.class));
addCollectionsMenuItems(item, ArchetypeType.COMPLEX_TYPE, PageArchetypes.class);

createFocusPageNewEditMenu(item, "PageAdmin.menu.top.archetypes.new",
"PageAdmin.menu.top.archetypes.edit", PageArchetype.class);

createBasicAssignmentHolderMenuItems(item, PageTypes.ARCHETYPE);
return item;
}

private MainMenuItem createObjectsCollectionItems() {
MainMenuItem item = new MainMenuItem("PageAdmin.menu.top.objectCollections", GuiStyleConstants.CLASS_OBJECT_COLLECTION_ICON
);
item.addMenuItem(createObjectListPageMenuItem("PageAdmin.menu.top.objectCollections.list", GuiStyleConstants.CLASS_OBJECT_COLLECTION_ICON, PageObjectCollections.class));
createFocusPageNewEditMenu(item, "PageAdmin.menu.top.objectCollections.new",
"PageAdmin.menu.top.objectCollections.edit", PageObjectCollection.class);

MainMenuItem item = new MainMenuItem("PageAdmin.menu.top.objectCollections", GuiStyleConstants.CLASS_OBJECT_COLLECTION_ICON);
createBasicAssignmentHolderMenuItems(item, PageTypes.OBJECT_COLLECTION);
return item;
}

private MainMenuItem createObjectTemplatesItems() {
MainMenuItem item = new MainMenuItem("PageAdmin.menu.top.objectTemplates", GuiStyleConstants.CLASS_OBJECT_TEMPLATE_ICON
);
item.addMenuItem(createObjectListPageMenuItem("PageAdmin.menu.top.objectTemplates.list", GuiStyleConstants.CLASS_OBJECT_TEMPLATE_ICON, PageObjectTemplates.class));
createFocusPageNewEditMenu(item, "PageAdmin.menu.top.objectTemplates.new",
"PageAdmin.menu.top.objectTemplates.edit", PageObjectTemplate.class);

MainMenuItem item = new MainMenuItem("PageAdmin.menu.top.objectTemplates", GuiStyleConstants.CLASS_OBJECT_TEMPLATE_ICON);
createBasicAssignmentHolderMenuItems(item, PageTypes.OBJECT_TEMPLATE);
return item;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@
import com.evolveum.midpoint.gui.api.GuiStyleConstants;
import com.evolveum.midpoint.gui.api.page.PageBase;
import com.evolveum.midpoint.gui.impl.page.admin.AbstractPageObjectDetails;
import com.evolveum.midpoint.gui.impl.page.admin.archetype.PageArchetype;
import com.evolveum.midpoint.gui.impl.page.admin.objectcollection.PageObjectCollection;
import com.evolveum.midpoint.gui.impl.page.admin.objecttemplate.PageObjectTemplate;
import com.evolveum.midpoint.gui.impl.page.admin.org.PageOrg;
import com.evolveum.midpoint.gui.impl.page.admin.report.PageReport;
import com.evolveum.midpoint.gui.impl.page.admin.resource.PageResource;
Expand All @@ -17,7 +20,10 @@
import com.evolveum.midpoint.gui.impl.page.admin.task.PageTask;
import com.evolveum.midpoint.gui.impl.page.admin.user.PageUser;
import com.evolveum.midpoint.web.page.admin.PageAdmin;
import com.evolveum.midpoint.web.page.admin.archetype.PageArchetypes;
import com.evolveum.midpoint.web.page.admin.cases.PageCases;
import com.evolveum.midpoint.web.page.admin.objectCollection.PageObjectCollections;
import com.evolveum.midpoint.web.page.admin.objectTemplate.PageObjectTemplates;
import com.evolveum.midpoint.web.page.admin.orgs.PageOrgUnit;
import com.evolveum.midpoint.web.page.admin.orgs.PageOrgs;
import com.evolveum.midpoint.web.page.admin.reports.PageReports;
Expand All @@ -41,6 +47,9 @@ public enum PageTypes {
TASK("tasks", GuiStyleConstants.CLASS_OBJECT_TASK_ICON, PageTasks.class, PageTask.class, com.evolveum.midpoint.web.page.admin.server.PageTask.class, TaskType.COMPLEX_TYPE),
RESOURCE("resources", GuiStyleConstants.CLASS_OBJECT_RESOURCE_ICON, PageResources.class, PageResource.class, PageResourceWizard.class, ResourceType.COMPLEX_TYPE),
CASE("cases", GuiStyleConstants.EVO_CASE_OBJECT_ICON, PageCases.class, null, null, CaseType.COMPLEX_TYPE),
ARCHETYPE("archetypes", GuiStyleConstants.EVO_ARCHETYPE_TYPE_ICON, PageArchetypes.class, PageArchetype.class, com.evolveum.midpoint.web.page.admin.archetype.PageArchetype.class, ArchetypeType.COMPLEX_TYPE),
OBJECT_COLLECTION("objectCollections", GuiStyleConstants.CLASS_OBJECT_COLLECTION_ICON, PageObjectCollections.class, PageObjectCollection.class, com.evolveum.midpoint.web.page.admin.objectCollection.PageObjectCollection.class, ObjectCollectionType.COMPLEX_TYPE),
OBJECT_TEMPLATE("objectTemplates", GuiStyleConstants.CLASS_OBJECT_TEMPLATE_ICON, PageObjectTemplates.class, PageObjectTemplate.class, com.evolveum.midpoint.web.page.admin.objectTemplate.PageObjectTemplate.class, ObjectTemplateType.COMPLEX_TYPE),
REPORT("reports", GuiStyleConstants.CLASS_REPORT_ICON, PageReports .class, PageReport.class, com.evolveum.midpoint.web.page.admin.reports.PageReport.class, ReportType.COMPLEX_TYPE);

private String identifier;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,9 @@
<html xmlns:wicket="http://wicket.apache.org">
<body>
<wicket:extend>
<div wicket:id="progressPanel"></div>
<div wicket:id="details">
<div wicket:id="detailsView"></div>

<wicket:fragment wicket:id="details">
<div class="row">
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
<div wicket:id="summary"></div>
Expand All @@ -19,21 +20,24 @@
<span wicket:id="buttons"/>
</div>

<div class="col-lg-9 col-md-10 col-sm-10 col-xs-10">
<div class="box">
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
<div class="box box-solid">
<div class="box-body">

<div wicket:id="mainPanel"></div>

<div class="row">
<div class="col-lg-3 col-md-2 col-sm-2 col-xs-2">
<div wicket:id="navigation"></div>
</div>
<div class="col-lg-9 col-md-10 col-sm-10 col-xs-10">
<div wicket:id="mainPanel"></div>
</div>
</div>
</div>
</div>
</div>
</form>
<div class="col-lg-3 col-md-2 col-sm-2 col-xs-2">
<div wicket:id="navigation"></div>
</div>

</div>
</div>
</wicket:fragment>
<wicket:child/>
</wicket:extend>
</body>
Expand Down

0 comments on commit 9a0f59e

Please sign in to comment.