Skip to content

Commit

Permalink
improved operation result message for assigning a role operation
Browse files Browse the repository at this point in the history
  • Loading branch information
KaterynaHonchar committed Jun 3, 2016
1 parent 60aa5fb commit e18f74e
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 1 deletion.
Expand Up @@ -43,12 +43,12 @@
import com.evolveum.midpoint.web.component.assignment.AssignmentEditorDto;
import com.evolveum.midpoint.web.component.assignment.MultipleAssignmentSelectorPanel;
import com.evolveum.midpoint.web.component.breadcrumbs.Breadcrumb;
import com.evolveum.midpoint.web.page.admin.dto.ObjectViewDto;
import com.evolveum.midpoint.web.page.admin.home.PageDashboard;
import com.evolveum.midpoint.web.page.admin.home.dto.MyPasswordsDto;
import com.evolveum.midpoint.web.page.admin.users.dto.UserDtoStatus;
import com.evolveum.midpoint.web.security.SecurityUtils;
import com.evolveum.midpoint.xml.ns._public.common.common_3.*;
import org.apache.commons.lang.StringUtils;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.model.Model;
Expand All @@ -73,11 +73,13 @@ public class PageRequestRole extends PageSelf {

private LoadableModel<List<AssignmentEditorDto>> assignmentsModel;
private PrismObject<UserType> user;
private OperationResult backgroundTaskOperationResult = null;

private static final Trace LOGGER = TraceManager.getTrace(PageRequestRole.class);
private static final String DOT_CLASS = PageRequestRole.class.getName() + ".";
private static final String OPERATION_LOAD_USER = DOT_CLASS + "loadUser";
protected static final String OPERATION_SAVE = DOT_CLASS + "save";
protected static final String OPERATION_WF_TASK_CREATED = "com.evolveum.midpoint.wf.impl.WfHook.invoke";

public PageRequestRole() {
assignmentsModel = new LoadableModel<List<AssignmentEditorDto>>(false) {
Expand Down Expand Up @@ -197,6 +199,11 @@ private void onSavePerformed(AjaxRequestTarget target) {
result.recomputeStatus();
}

findBackgroundTaskOperation(result);
if (backgroundTaskOperationResult != null
&& StringUtils.isNotEmpty(backgroundTaskOperationResult.getBackgroundTaskOid())){
result.setMessage(createStringResource("operation.com.evolveum.midpoint.web.page.self.PageRequestRole.taskCreated").getString());
}
if (!WebComponentUtil.isSuccessOrHandledError(result)) {
showResult(result);
target.add(getFeedbackPanel());
Expand All @@ -211,6 +218,26 @@ private void onSavePerformed(AjaxRequestTarget target) {
}
}

private void findBackgroundTaskOperation(OperationResult result){
if (backgroundTaskOperationResult != null) {
return;
} else {
List<OperationResult> subresults = result.getSubresults();
if (subresults == null || subresults.size() == 0) {
return;
}
for (OperationResult subresult : subresults) {
if (subresult.getOperation().equals(OPERATION_WF_TASK_CREATED)) {
backgroundTaskOperationResult = subresult;
return;
} else {
findBackgroundTaskOperation(subresult);
}
}
}
return;
}

protected ContainerDelta handleAssignmentDeltas(ObjectDelta<UserType> focusDelta,
List<AssignmentEditorDto> assignments, PrismContainerDefinition def) throws SchemaException {
ContainerDelta assDelta = new ContainerDelta(new ItemPath(), def.getName(), def, getPrismContext());
Expand Down
Expand Up @@ -2924,6 +2924,7 @@ operation.com.evolveum.midpoint.task.api.Task.listSubtasksDeeply=List subtasks d
operation.com.evolveum.midpoint.task.api.Task.listSubtasksRaw=List subtasks raw (Task)
operation.com.evolveum.midpoint.web.page.self.PageSelfCredentials.savePassword=Password is successfully changed
operation.com.evolveum.midpoint.web.page.self.PageRequestRole.save=Changes were successfully saved
operation.com.evolveum.midpoint.web.page.self.PageRequestRole.taskCreated=The process of assigning a role is waiting for the approval.
PageError.button.home=Home
PageResource.tab.connector=Connector
PageResource.tab.connector.connectorLabel=Connector
Expand Down
Expand Up @@ -2915,6 +2915,7 @@ operation.com.evolveum.midpoint.task.api.Task.listSubtasksDeeply=List subtasks d
operation.com.evolveum.midpoint.task.api.Task.listSubtasksRaw=List subtasks raw (Task)
operation.com.evolveum.midpoint.web.page.self.PageSelfCredentials.savePassword=Password is successfully changed
operation.com.evolveum.midpoint.web.page.self.PageRequestRole.save=Changes were successfully saved
operation.com.evolveum.midpoint.web.page.self.PageRequestRole.taskCreated=The process of assigning a role is waiting for the approval.
PageError.button.home=Home
PageResource.tab.content.account=Accounts
PageResource.tab.content.entitlement=Entitlements
Expand Down

0 comments on commit e18f74e

Please sign in to comment.