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 Apr 6, 2016
2 parents d3bc9c7 + 79985c3 commit acc55ec
Show file tree
Hide file tree
Showing 16 changed files with 636 additions and 12 deletions.
Expand Up @@ -74,6 +74,8 @@
import com.evolveum.midpoint.web.page.admin.server.PageTaskAdd;
import com.evolveum.midpoint.web.page.admin.server.PageTaskEdit;
import com.evolveum.midpoint.web.page.admin.server.PageTasks;
import com.evolveum.midpoint.web.page.admin.services.PageService;
import com.evolveum.midpoint.web.page.admin.services.PageServices;
import com.evolveum.midpoint.web.page.admin.users.PageOrgTree;
import com.evolveum.midpoint.web.page.admin.users.PageOrgUnit;
import com.evolveum.midpoint.web.page.admin.users.PageUser;
Expand Down Expand Up @@ -914,6 +916,12 @@ protected List<SideBarMenuItem> createMenuItems() {
AuthorizationConstants.AUTZ_GUI_ALL_DEPRECATED_URL)) {
items.add(createRolesItems());
}

if (WebComponentUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_SERVICE_URL,
AuthorizationConstants.AUTZ_UI_SERVICES_ALL_URL, AuthorizationConstants.AUTZ_GUI_ALL_URL,
AuthorizationConstants.AUTZ_GUI_ALL_DEPRECATED_URL)) {
items.add(createServicesItems());
}

if (WebComponentUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_RESOURCES_URL,
AuthorizationConstants.AUTZ_UI_RESOURCES_ALL_URL, AuthorizationConstants.AUTZ_GUI_ALL_URL,
Expand Down Expand Up @@ -1382,6 +1390,20 @@ private MainMenuItem createRolesItems() {

return item;
}

private MainMenuItem createServicesItems() {
MainMenuItem item = new MainMenuItem("fa fa-street-view", createStringResource("PageAdmin.menu.top.services"),
null);

List<MenuItem> submenu = item.getItems();

MenuItem list = new MenuItem(createStringResource("PageAdmin.menu.top.services.list"), PageServices.class);
submenu.add(list);
createFocusPageNewEditMenu(submenu, "PageAdmin.menu.top.services.new", "PageAdmin.menu.top.services.edit",
PageService.class);

return item;
}

protected PrismObject<UserType> loadUserSelf(PageBase page) {
Task task = createSimpleTask(OPERATION_LOAD_USER);
Expand Down
Expand Up @@ -741,6 +741,10 @@ public static String createOrgIcon(PrismObject<OrgType> object) {
return "fa fa-building";
}

public static String createServiceIcon(PrismObject<ServiceType> object) {
return "fa fa-building";
}

public static String createResourceIcon(PrismObject<ResourceType> object) {
return "fa fa-laptop";
}
Expand Down
Expand Up @@ -44,6 +44,7 @@
import com.evolveum.midpoint.xml.ns._public.common.common_3.OrgType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ResourceType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.RoleType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ServiceType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ShadowKindType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.TaskType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.UserType;
Expand Down Expand Up @@ -102,6 +103,8 @@ public static <O extends ObjectType> List<IColumn> getDefaultColumns(Class<O> ty
return getDefaultRoleColumns();
} else if (OrgType.class.equals(type)) {
return getDefaultOrgColumns();
} else if (ServiceType.class.equals(type)) {
return getDefaultServiceColumns();
} else if (type.equals(TaskType.class)) {
return getDefaultTaskColumns();
} else if (type.equals(ResourceType.class)) {
Expand Down Expand Up @@ -240,6 +243,28 @@ public String getObject() {

return columns;
}

public static <T extends ObjectType> List<IColumn> getDefaultServiceColumns() {
List<IColumn> columns = new ArrayList<IColumn>();
columns.add(new IconColumn<SelectableBean<T>>(createStringResource("userBrowserDialog.type")) {

@Override
protected IModel<String> createIconModel(final IModel<SelectableBean<T>> rowModel) {
return new AbstractReadOnlyModel<String>() {

@Override
public String getObject() {
T user = rowModel.getObject().getValue();
return WebComponentUtil.createServiceIcon(user.asPrismContainer());
}
};
}
});

columns.addAll(getDefaultAbstractRoleColumns());

return columns;
}

public static <T extends ObjectType> List<IColumn> getDefaultOrgColumns() {
List<IColumn> columns = new ArrayList<IColumn>();
Expand Down
@@ -0,0 +1,33 @@
/*
* Copyright (c) 2010-2015 Evolveum
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package com.evolveum.midpoint.web.page.admin.services;


import com.evolveum.midpoint.security.api.AuthorizationConstants;
import com.evolveum.midpoint.web.page.admin.PageAdmin;

/**
* @author lazyman
*/
public class PageAdminServices extends PageAdmin {

public static final String AUTH_SERVICES_ALL = AuthorizationConstants.AUTZ_UI_SERVICES_ALL_URL;
public static final String AUTH_SERVICES_ALL_LABEL = "PageAdminServices.auth.servicesAll.label";
public static final String AUTH_SERVICES_ALL_DESCRIPTION = "PageAdminServices.auth.servicesAll.description";


}
@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright (c) 2010-2013 Evolveum
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
<body>
<wicket:extend>
<wicket:child />

<!-- <div wicket:id="assignmentsPreviewPopup" /> -->
<!--<form wicket:id="mainForm" autocomplete="off" class="form-horizontal">-->
<!---->
<!--<div wicket:id="summaryPanel"/>-->

<!--<div wicket:id="tabPanel" class="nav-tabs-custom" />-->

<!--<div style="margin: 20px 0;" class="form-group" wicket:id="executeOptions" />-->

<!--<div wicket:id="progressPanel">[Status indicator here]</div>-->

<!--<div class="main-button-bar">-->
<!--<span class="button-group">-->
<!--<a class="btn btn-default" wicket:id="back"/>-->
<!--</span>-->
<!--&lt;!&ndash; todo implement previes &ndash;&gt;-->
<!---->
<!--<a class="btn btn-primary" wicket:id="save"/>-->
<!--<a class="btn btn-danger" wicket:id="abort"/>-->
<!--</div>-->
<!--</form>-->

</wicket:extend>
</body>
</html>
@@ -0,0 +1,72 @@
package com.evolveum.midpoint.web.page.admin.services;

import org.apache.wicket.request.mapper.parameter.PageParameters;

import com.evolveum.midpoint.gui.api.page.PageBase;
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.application.AuthorizationAction;
import com.evolveum.midpoint.web.application.PageDescriptor;
import com.evolveum.midpoint.web.component.FocusSummaryPanel;
import com.evolveum.midpoint.web.component.objectdetails.AbstractObjectMainPanel;
import com.evolveum.midpoint.web.component.objectdetails.AbstractRoleMainPanel;
import com.evolveum.midpoint.web.component.progress.ProgressReportingAwarePage;
import com.evolveum.midpoint.web.page.admin.PageAdminAbstractRole;
import com.evolveum.midpoint.web.page.admin.users.component.ServiceSummaryPanel;
import com.evolveum.midpoint.web.util.OnePageParameterEncoder;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ServiceType;

@PageDescriptor(url = "/admin/service", encoder = OnePageParameterEncoder.class, action = {
@AuthorizationAction(actionUri = PageAdminServices.AUTH_SERVICES_ALL, label = PageAdminServices.AUTH_SERVICES_ALL_LABEL, description = PageAdminServices.AUTH_SERVICES_ALL_DESCRIPTION),
@AuthorizationAction(actionUri = AuthorizationConstants.AUTZ_UI_SERVICE_URL, label = "PageService.auth.role.label", description = "PageService.auth.role.description") })
public class PageService extends PageAdminAbstractRole<ServiceType> implements ProgressReportingAwarePage{

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

public PageService() {
initialize(null);
}

public PageService(final PrismObject<ServiceType> unitToEdit) {
initialize(unitToEdit);
}

public PageService(PageParameters parameters, PageBase previousPage) {
getPageParameters().overwriteWith(parameters);
setPreviousPage(previousPage);
initialize(null);
}

@Override
protected ServiceType createNewObject() {
return new ServiceType();
}

@Override
protected Class<ServiceType> getCompileTimeClass() {
return ServiceType.class;
}

@Override
protected Class getRestartResponsePage() {
return PageServices.class;
}

@Override
protected FocusSummaryPanel<ServiceType> createSummaryPanel() {
return new ServiceSummaryPanel(ID_SUMMARY_PANEL, getObjectModel());
}

@Override
protected AbstractObjectMainPanel<ServiceType> createMainPanel(String id) {
return new AbstractRoleMainPanel<ServiceType>(id, getObjectModel(), getAssignmentsModel(), getProjectionModel(), getInducementsModel(), this);
}

@Override
public PageBase getDefaultBackPage() {
return new PageServices();
}

}
@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright (c) 2010-2013 Evolveum
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
<body>
<wicket:extend>
<!-- <div wicket:id="confirmDeletePopup" /> -->

<form wicket:id="mainForm" class="form-inline">
<div wicket:id="table"/>
</form>

<!-- <wicket:fragment wicket:id="tableHeader"> -->
<!-- <div class="pull-left" wicket:id="executeOptions"/> -->

<!-- <form class="form-inline pull-right search-form" wicket:id="searchForm"> -->
<!-- <div wicket:id="search"/> -->
<!-- </form> -->
<!-- </wicket:fragment> -->
</wicket:extend>
</body>
</html>

0 comments on commit acc55ec

Please sign in to comment.