Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/Evolveum/midpoint
Browse files Browse the repository at this point in the history
  • Loading branch information
katkav committed Mar 12, 2020
2 parents 633e33b + f4a600b commit acc9284
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 3 deletions.
Expand Up @@ -32,6 +32,7 @@
import com.evolveum.midpoint.web.security.util.SecurityUtils;
import com.evolveum.midpoint.xml.ns._public.common.common_3.*;

import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.wicket.Component;
import org.apache.wicket.Page;
Expand Down Expand Up @@ -407,7 +408,7 @@ public int getRefreshInterval() {
}

protected void initOperationalButtons(RepeatingView repeatingView){
if (getObjectArchetypeRef() != null) {
if (getObjectArchetypeRef() != null && CollectionUtils.isNotEmpty(getArchetypeOidsListToAssign())) {
AjaxButton changeArchetype = new AjaxButton(repeatingView.newChildId(), createStringResource("PageAdminObjectDetails.button.changeArchetype")) {
@Override
public void onClick(AjaxRequestTarget target) {
Expand Down Expand Up @@ -526,7 +527,7 @@ protected ObjectQuery addFilterToContentQuery(ObjectQuery query){
if (query == null) {
query = getPrismContext().queryFactory().createQuery();
}
List<String> archetypeOidsList = getFilteredArchetypeOidsList();
List<String> archetypeOidsList = getArchetypeOidsListToAssign();
ObjectFilter filter = getPrismContext().queryFor(ArchetypeType.class)
.id(archetypeOidsList.toArray(new String[0]))
.buildFilter();
Expand All @@ -545,6 +546,18 @@ protected ObjectQuery addFilterToContentQuery(ObjectQuery query){

}

private List<String> getArchetypeOidsListToAssign(){
List<String> archetypeOidsList = getFilteredArchetypeOidsList();

ObjectReferenceType archetypeRef = getObjectArchetypeRef();
if (archetypeRef != null && StringUtils.isNotEmpty(archetypeRef.getOid())){
if (archetypeOidsList.contains(archetypeRef.getOid())){
archetypeOidsList.remove(archetypeRef.getOid());
}
}
return archetypeOidsList;
}

private List<String> getFilteredArchetypeOidsList(){
OperationResult result = new OperationResult(OPERATION_LOAD_FILTERED_ARCHETYPES);
PrismObject obj = getObjectWrapper().getObject();
Expand Down
Expand Up @@ -14,6 +14,7 @@
import com.evolveum.midpoint.prism.query.ObjectFilter;
import com.evolveum.midpoint.prism.query.ObjectQuery;
import com.evolveum.midpoint.schema.constants.ObjectTypes;
import com.evolveum.midpoint.schema.constants.SchemaConstants;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.schema.util.ObjectQueryUtil;
import com.evolveum.midpoint.task.api.Task;
Expand Down Expand Up @@ -247,7 +248,11 @@ private void initRelationPanel(WebMarkupContainer parametersPanel){

List<QName> assignableRelationsList = getAvailableRelationsList();
if (CollectionUtils.isNotEmpty(assignableRelationsList)){
getRoleCatalogStorage().setSelectedRelation(assignableRelationsList.get(0));
if (assignableRelationsList.contains(SchemaConstants.ORG_DEFAULT)){
getRoleCatalogStorage().setSelectedRelation(SchemaConstants.ORG_DEFAULT);
} else {
getRoleCatalogStorage().setSelectedRelation(assignableRelationsList.get(0));
}
}
relationContainer.add(new RelationDropDownChoicePanel(ID_RELATION, getRoleCatalogStorage().getSelectedRelation(),
assignableRelationsList, false){
Expand Down

0 comments on commit acc9284

Please sign in to comment.