Skip to content

Commit

Permalink
Merge branch 'master' of github.com:Evolveum/midpoint
Browse files Browse the repository at this point in the history
  • Loading branch information
semancik committed Jul 18, 2014
2 parents 9c61714 + 39877bf commit 87345af
Show file tree
Hide file tree
Showing 52 changed files with 1,261 additions and 258 deletions.
Expand Up @@ -16,6 +16,7 @@

package com.evolveum.midpoint.web.application;

import com.evolveum.midpoint.security.api.AuthorizationConstants;
import com.evolveum.midpoint.util.ClassPathUtil;
import com.evolveum.midpoint.util.DisplayableValue;
import com.evolveum.midpoint.util.logging.LoggingUtils;
Expand Down Expand Up @@ -187,6 +188,8 @@ private void loadActions(PageDescriptor descriptor) {
for (AuthorizationAction action : descriptor.action()) {
actions.add(new AuthorizationActionValue(action.actionUri(), action.label(), action.description()));
}
actions.add(new AuthorizationActionValue(AuthorizationConstants.AUTZ_GUI_ALL_URI,
AuthorizationConstants.AUTZ_GUI_ALL_LABEL, AuthorizationConstants.AUTZ_GUI_ALL_DESCRIPTION));
this.actions.put(url, actions.toArray(new DisplayableValue[actions.size()]));
}
}
Expand Down
Expand Up @@ -99,6 +99,10 @@ protected IModel<String> createTextNameModel() {
return createStringResource("BasicSearchPanel.textPlaceholder");
}

public Component getSearchButton(){
return get(ID_SEARCH);
}

protected void searchPerformed(AjaxRequestTarget target) {
}

Expand Down
Expand Up @@ -19,6 +19,7 @@
import com.evolveum.midpoint.model.api.ModelInteractionService;
import com.evolveum.midpoint.model.api.ModelService;
import com.evolveum.midpoint.model.api.TaskService;
import com.evolveum.midpoint.model.api.WorkflowService;
import com.evolveum.midpoint.prism.query.ObjectPaging;
import com.evolveum.midpoint.prism.query.ObjectQuery;
import com.evolveum.midpoint.prism.query.OrderDirection;
Expand All @@ -29,7 +30,6 @@
import com.evolveum.midpoint.web.page.PageBase;
import com.evolveum.midpoint.web.security.MidPointApplication;
import com.evolveum.midpoint.web.util.WebMiscUtil;
import com.evolveum.midpoint.wf.api.WorkflowManager;
import org.apache.commons.lang.Validate;
import org.apache.wicket.Component;
import org.apache.wicket.extensions.markup.html.repeater.data.sort.SortOrder;
Expand Down Expand Up @@ -89,9 +89,9 @@ protected ModelInteractionService getModelInteractionService() {
return application.getModelInteractionService();
}

protected WorkflowManager getWorkflowService() {
protected WorkflowService getWorkflowService() {
MidPointApplication application = (MidPointApplication) MidPointApplication.get();
return application.getWorkflowManager();
return application.getWorkflowService();
}

public List<T> getAvailableData() {
Expand Down
Expand Up @@ -24,6 +24,7 @@
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectFactory;
import com.evolveum.midpoint.xml.ns._public.common.common_3.OperationResultType;

import org.apache.commons.lang.StringEscapeUtils;
import org.apache.commons.lang.Validate;

import java.io.PrintWriter;
Expand All @@ -34,8 +35,6 @@
import java.util.List;
import java.util.Map;

import javax.xml.bind.JAXBException;

/**
* @author lazyman
*/
Expand Down Expand Up @@ -104,8 +103,10 @@ public OpResult(OperationResult result) {
OperationResultType resultType = result.createOperationResultType();
ObjectFactory of = new ObjectFactory();
xml = getPrismContext().serializeAtomicValue(of.createOperationResult(resultType), PrismContext.LANG_XML);
} catch (SchemaException ex) {
error("Can't create xml: " + ex);
} catch (SchemaException|RuntimeException ex) {
String m = "Can't create xml: " + ex;
error(m);
xml = "<?xml version='1.0'?><message>" + StringEscapeUtils.escapeXml(m) + "</message>";
}
}

Expand Down
Expand Up @@ -171,7 +171,7 @@ private List<PropertyWrapper> createProperties(PageBase pageBase) {
PrismObject<ResourceType> resource = resourceRef.getValue().getObject();

definition = pageBase.getModelInteractionService()
.getEditObjectClassDefinition(object.getObject(), resource).toResourceAttributeContainerDefinition();
.getEditObjectClassDefinition(object.getObject(), resource, AuthorizationPhaseType.REQUEST).toResourceAttributeContainerDefinition();

if (LOGGER.isTraceEnabled()) {
LOGGER.trace("Refined account def:\n{}", definition.debugDump());
Expand Down
Expand Up @@ -11,6 +11,7 @@
import com.evolveum.midpoint.web.component.prism.ContainerStatus;
import com.evolveum.midpoint.web.component.prism.ObjectWrapper;
import com.evolveum.midpoint.web.page.PageBase;
import com.evolveum.midpoint.xml.ns._public.common.common_3.AuthorizationPhaseType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ResourceType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ShadowType;
Expand All @@ -24,12 +25,13 @@ public static <O extends ObjectType> ObjectWrapper createObjectWrapper(String di

public static <O extends ObjectType> ObjectWrapper createObjectWrapper(String displayName, String description, PrismObject<O> object, ContainerStatus status, boolean delayContainerCreation, PageBase pageBase) {
try {
PrismContainerDefinition objectDefinitionForEditing = pageBase.getModelInteractionService().getEditObjectDefinition(object);

PrismContainerDefinition objectDefinitionForEditing = pageBase.getModelInteractionService().getEditObjectDefinition(object, AuthorizationPhaseType.REQUEST);
RefinedObjectClassDefinition objectClassDefinitionForEditing = null;
if (isShadow(object)) {
PrismReference resourceRef = object.findReference(ShadowType.F_RESOURCE_REF);
PrismObject<ResourceType> resource = resourceRef.getValue().getObject();
objectClassDefinitionForEditing = pageBase.getModelInteractionService().getEditObjectClassDefinition((PrismObject<ShadowType>) object, resource);
objectClassDefinitionForEditing = pageBase.getModelInteractionService().getEditObjectClassDefinition((PrismObject<ShadowType>) object, resource, AuthorizationPhaseType.REQUEST);
}

ObjectWrapper wrapper = new ObjectWrapper(displayName, description, object, objectDefinitionForEditing, objectClassDefinitionForEditing, status, delayContainerCreation, pageBase);
Expand All @@ -39,6 +41,7 @@ public static <O extends ObjectType> ObjectWrapper createObjectWrapper(String di
}
}


private static boolean isShadow(PrismObject object){
return (object.getCompileTimeClass() != null && ShadowType.class.isAssignableFrom(object
.getCompileTimeClass()))
Expand Down
Expand Up @@ -24,6 +24,7 @@
import com.evolveum.midpoint.model.api.ModelInteractionService;
import com.evolveum.midpoint.model.api.ModelService;
import com.evolveum.midpoint.model.api.TaskService;
import com.evolveum.midpoint.model.api.WorkflowService;
import com.evolveum.midpoint.prism.Objectable;
import com.evolveum.midpoint.prism.PrismContext;
import com.evolveum.midpoint.prism.PrismObject;
Expand Down Expand Up @@ -68,6 +69,8 @@ public abstract class PageBase extends PageTemplate {
private ModelDiagnosticService modelDiagnosticService;
@SpringBean(name = "taskManager")
private TaskManager taskManager;
@SpringBean(name = "modelController")
private WorkflowService workflowService;
@SpringBean(name = "workflowManager")
private WorkflowManager workflowManager;
@SpringBean(name = "midpointConfiguration")
Expand Down Expand Up @@ -102,6 +105,10 @@ protected TaskManager getTaskManager() {
return taskManager;
}

protected WorkflowService getWorkflowService() {
return workflowService;
}

protected WorkflowManager getWorkflowManager() {
return workflowManager;
}
Expand Down
Expand Up @@ -70,43 +70,44 @@ protected List<MenuBarItem> createMenuItems() {

// todo fix with visible behaviour [lazyman]
if (WebMiscUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_DASHBOARD_URL,
AuthorizationConstants.AUTZ_UI_HOME_ALL_URL)) {
AuthorizationConstants.AUTZ_UI_HOME_ALL_URL, AuthorizationConstants.AUTZ_GUI_ALL_URI)) {
items.add(createHomeItems());
}

if (WebMiscUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_USERS_URL,
AuthorizationConstants.AUTZ_UI_USERS_ALL_URL)) {
AuthorizationConstants.AUTZ_UI_USERS_ALL_URL, AuthorizationConstants.AUTZ_GUI_ALL_URI)) {
items.add(createUsersItems());
}

if (WebMiscUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_ROLES_URL,
AuthorizationConstants.AUTZ_UI_ROLES_ALL_URL)) {
AuthorizationConstants.AUTZ_UI_ROLES_ALL_URL, AuthorizationConstants.AUTZ_GUI_ALL_URI)) {
items.add(createRolesItems());
}

if (WebMiscUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_RESOURCES_URL,
AuthorizationConstants.AUTZ_UI_RESOURCES_ALL_URL)) {
AuthorizationConstants.AUTZ_UI_RESOURCES_ALL_URL, AuthorizationConstants.AUTZ_GUI_ALL_URI)) {
items.add(createResourcesItems());
}

if (WebMiscUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_WORK_ITEMS_URL,
AuthorizationConstants.AUTZ_UI_WORK_ITEMS_ALL_URL)) {
AuthorizationConstants.AUTZ_UI_WORK_ITEMS_ALL_URL, AuthorizationConstants.AUTZ_GUI_ALL_URI)) {
if (getWorkflowManager().isEnabled()) {
items.add(createWorkItemsItems());
}
}

if (WebMiscUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_TASKS_URL,
AuthorizationConstants.AUTZ_UI_TASKS_ALL_URL)) {
AuthorizationConstants.AUTZ_UI_TASKS_ALL_URL, AuthorizationConstants.AUTZ_GUI_ALL_URI)) {
items.add(createServerTasksItems());
}

if (WebMiscUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_REPORTS_URL)) {
if (WebMiscUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_REPORTS_URL,
AuthorizationConstants.AUTZ_GUI_ALL_URI)) {
items.add(createReportsItems());
}

if (WebMiscUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_CONFIGURATION_URL,
AuthorizationConstants.AUTZ_UI_CONFIGURATION_ALL_URL)) {
AuthorizationConstants.AUTZ_UI_CONFIGURATION_ALL_URL, AuthorizationConstants.AUTZ_GUI_ALL_URI)) {
items.add(createConfigurationItems());
}

Expand Down
Expand Up @@ -68,17 +68,36 @@ <h3><wicket:message key="PageAccounts.summary"/></h3>
</tr>
</tbody>
</table>
</form>

<h3><wicket:message key="PageAccounts.shadows"/></h3>
<div wicket:id="accountsContainer">
<div wicket:id="accounts"/>
<h3><wicket:message key="PageAccounts.shadows"/></h3>

<form class="form-inline pull-right search-form" wicket:id="searchForm" >
<div class="form-group">
<label class="sr-only"><wicket:message key="PageAccounts.accounts.kind" /></label>
<select class="form-control input-sm" wicket:id="kindSearch" />
</div>

<div class="form-group">
<label class="sr-only"><wicket:message key="PageAccounts.accounts.intent" /></label>
<select class="form-control input-sm" wicket:id="intentSearch" />
</div>

<div class="form-group">
<label class="sr-only"><wicket:message key="PageAccounts.accounts.objectClass" /></label>
<input class="form-control input-sm" wicket:id="objectClassSearch" size="45"/>
</div>

<wicket:remove>
<!-- todo improve this, it's just a left-over from old gui -->
</wicket:remove>
<div wicket:id="basicSearch" />
</form>

<form class="form-horizontal" wicket:id="accountForm">
<div wicket:id="accountsContainer" class="clearfix">
<div wicket:id="accounts"/>
</div>

<hr/>

<div class="main-button-bar">
<a class="btn btn-primary" wicket:id="clearExport">
<wicket:message key="PageAccounts.button.clearExportFolder"/></a>
Expand All @@ -89,6 +108,7 @@ <h3><wicket:message key="PageAccounts.shadows"/></h3>
</span>
</div>
</form>

</wicket:extend>
</body>
</html>

0 comments on commit 87345af

Please sign in to comment.