Skip to content

Commit

Permalink
Request a role tab panel: Parameters panel is added
Browse files Browse the repository at this point in the history
  • Loading branch information
KaterynaHonchar committed Feb 25, 2016
1 parent 53c1371 commit fe577f5
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 26 deletions.
Expand Up @@ -24,25 +24,39 @@

<form wicket:id="form">
<div class="row">
<div class="col-md-10">
<div class="col-md-12">
<div class="col-md-4">
<label class="control-label">
<wicket:message key="MultipleAssignmentSelectorPanel.availableRoles"/>
</label>
<div wicket:id="availableAssignments"/>
</div>
<div class="col-md-4" style="margin-top: 60px;">
<div class="form-group" wicket:id="tenantEditor"></div>
<div class="form-group" wicket:id="orgEditor"></div>
<div class="centre">
<button wicket:id="add" type="button" class="btn btn-default btn-sm vertical-button-group"><i class="fa fa-long-arrow-right"></i></button>
<div class="col-md-4" style="margin-top: 100px;">
<div class="centre" style="width: 80%; min-height:140px;">
<div class="box box-default collapsed-box">
<div class="box-header with-border">
<label class="control-label">
<wicket:message key="MultipleAssignmentSelectorPanel.parameters"/>
</label>
<div class="box-tools pull-right">
<button type="button" class="btn btn-box-tool" data-widget="collapse"><i
class="fa fa-plus"></i>
</button>
</div>
</div>
<div class="box-body">
<div wicket:id="tenantEditor"></div>
<div wicket:id="orgEditor"></div>
</div>
</div>
</div>
<!--</div>-->
<!--<div class="form-group">-->
<div class="centre">
<button wicket:id="remove" type="button" class="btn btn-default btn-sm vertical-button-group"><i class="fa fa-long-arrow-left"></i></button>
<div class="centre" style="width: 80%;">
<button wicket:id="add" type="button" class="btn btn-default btn-sm vertical-button-group" style="width: 100%;"><i class="fa fa-long-arrow-right"></i></button>
</div>
<!--</div>-->
<div class="centre" style="width: 80%;">
<button wicket:id="remove" type="button" class="btn btn-default btn-sm vertical-button-group" style="width: 100%;"><i class="fa fa-long-arrow-left"></i></button>
</div>

</div>
<div class="col-md-4">
<label class="control-label">
Expand Down
Expand Up @@ -16,15 +16,11 @@

package com.evolveum.midpoint.web.component.assignment;

import com.ctc.wstx.util.StringUtil;
import com.evolveum.midpoint.gui.api.component.BasePanel;
import com.evolveum.midpoint.gui.api.model.LoadableModel;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.gui.api.util.WebModelServiceUtils;
import com.evolveum.midpoint.prism.PrismObject;
import com.evolveum.midpoint.prism.query.*;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.util.exception.SchemaException;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
import com.evolveum.midpoint.web.component.data.BaseSortableDataProvider;
Expand All @@ -33,8 +29,6 @@
import com.evolveum.midpoint.web.component.form.multivalue.GenericMultiValueLabelEditPanel;
import com.evolveum.midpoint.web.component.util.ListDataProvider;
import com.evolveum.midpoint.web.component.util.SelectableBean;
import com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour;
import com.evolveum.midpoint.web.page.admin.configuration.component.ChooseTypePanel;
import com.evolveum.midpoint.web.page.admin.dto.ObjectViewDto;
import com.evolveum.midpoint.web.page.admin.users.component.*;
import com.evolveum.midpoint.web.page.admin.users.dto.OrgTableDto;
Expand All @@ -48,9 +42,7 @@
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.list.ListItem;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.PropertyModel;

import javax.xml.namespace.QName;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
Expand All @@ -72,7 +64,7 @@ public class MultipleAssignmentSelectorPanel<F extends FocusType> extends BasePa
private static final String ID_ORG_EDITOR = "orgEditor";

private static final String LABEL_SIZE = "col-md-4";
private static final String INPUT_SIZE = "col-md-6";
private static final String INPUT_SIZE = "col-md-10";


private static final String DOT_CLASS = MultipleAssignmentSelectorPanel.class.getName();
Expand Down Expand Up @@ -154,20 +146,24 @@ private void addToAssignmentsModel(AjaxRequestTarget target, MultipleAssignmentS
List<AssignmentEditorDto> fromProviderList = from.getProvider().getAvailableData();
List<AssignmentEditorDto> listToBeAdded = new ArrayList<>();
List<AssignmentEditorDto> assignmentsList = assignmentsModel.getObject();
if (tenantEditorObject != null && StringUtils.isNotEmpty(tenantEditorObject.get(0).getOid())) {
if (tenantEditorObject != null && StringUtils.isNotEmpty(tenantEditorObject.get(0).getOid()) ||
orgEditorObject != null && StringUtils.isNotEmpty(orgEditorObject.get(0).getOid())) {
setTenantAndOrgToAssignmentsList(fromProviderList);
}
for (AssignmentEditorDto dto : fromProviderList) {
if (dto.isSelected()) {
boolean toBeAdded = true;
for (AssignmentEditorDto assignmentDto : assignmentsList) {
if (assignmentDto.getTargetRef().getOid().equals(dto.getTargetRef().getOid())) {
if (assignmentDto.getStatus().equals(UserDtoStatus.DELETE)) {
assignmentDto.setStatus(UserDtoStatus.MODIFY);
if (areEqualReferenceObjects(assignmentDto.getTenantRef(), dto.getTenantRef()) &&
areEqualReferenceObjects(assignmentDto.getOrgRef(), dto.getOrgRef())){
if (assignmentDto.getStatus().equals(UserDtoStatus.DELETE)) {
assignmentDto.setStatus(UserDtoStatus.MODIFY);
}
assignmentDto.setTenantRef(dto.getTenantRef());
assignmentDto.setOrgRef(dto.getOrgRef());
toBeAdded = false;
}
assignmentDto.setTenantRef(dto.getTenantRef());
assignmentDto.setOrgRef(dto.getOrgRef());
toBeAdded = false;
}
}
if (toBeAdded) {
Expand Down Expand Up @@ -519,4 +515,9 @@ private WebMarkupContainer getTenantEditorContainer (){
private WebMarkupContainer getOrgUnitEditorContainer (){
return (WebMarkupContainer) get(ID_FORM).get(ID_ORG_EDITOR);
}

private boolean areEqualReferenceObjects(ObjectViewDto<OrgType> objRef1, ObjectViewDto<OrgType> objRef2){
return (objRef1 == null && objRef2 == null) ||
(objRef1 != null && objRef2 != null && objRef1.getOid().equals(objRef2.getOid()));
}
}
Expand Up @@ -2164,6 +2164,7 @@ pageUser.title.selectAssignable=Select object(s)
pageUser.title.selectResource=Select resource(s)
pageUser.userDetails=User details
MultipleAssignmentSelectorPanel.availableRoles=Available roles
MultipleAssignmentSelectorPanel.parameters=Parameters
MultipleAssignmentSelectorPanel.currentRoles=Current roles
MultipleAssignmentSelector.filterByUser=Filter by user
MultipleAssignmentSelector.tenant=Tenant
Expand Down

0 comments on commit fe577f5

Please sign in to comment.