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 Dec 3, 2019
2 parents 0754799 + b6b2c91 commit 19303f5
Show file tree
Hide file tree
Showing 5 changed files with 39 additions and 15 deletions.
Expand Up @@ -10,9 +10,12 @@
import java.util.List;
import java.util.function.Supplier;

import com.evolveum.midpoint.prism.polystring.PolyString;
import com.evolveum.midpoint.schema.GetOperationOptions;
import com.evolveum.midpoint.schema.SelectorOptions;
import com.evolveum.midpoint.web.component.data.column.PolyStringPropertyColumn;
import com.evolveum.midpoint.web.component.util.SerializableSupplier;
import com.evolveum.prism.xml.ns._public.types_3.PolyStringType;
import org.apache.commons.lang3.StringUtils;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.extensions.markup.html.repeater.data.table.DataTable;
Expand All @@ -28,6 +31,7 @@
import com.evolveum.midpoint.web.component.util.SelectableBean;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.PropertyModel;
import org.jetbrains.annotations.NotNull;

public abstract class PopupObjectListPanel<O extends ObjectType> extends ObjectListPanel<O> {
Expand Down Expand Up @@ -83,6 +87,17 @@ protected IColumn<SelectableBean<O>, String> createNameColumn(IModel<String> col
(StringUtils.isEmpty(itemPath) ? "name" : itemPath)) {
private static final long serialVersionUID = 1L;

@Override
protected IModel createLinkModel(IModel<SelectableBean<O>> rowModel) {
IModel linkModel = new PropertyModel(rowModel, getPropertyExpression());
if (linkModel.getObject() != null && linkModel.getObject() instanceof PolyStringType){
return Model.of(getPageBase().getLocalizationService().translate(
PolyString.toPolyString((PolyStringType)linkModel.getObject()),
getPageBase().getLocale(), true));
}
return linkModel;
}

@Override
public void onClick(AjaxRequestTarget target, IModel<SelectableBean<O>> rowModel) {
O object = rowModel.getObject().getValue();
Expand All @@ -93,11 +108,14 @@ public void onClick(AjaxRequestTarget target, IModel<SelectableBean<O>> rowModel
}

else {
return new PropertyColumn(
columnNameModel == null ? createStringResource("userBrowserDialog.name") : columnNameModel,
StringUtils.isEmpty(itemPath) ? ObjectType.F_NAME.getLocalPart() : itemPath,
SelectableBean.F_VALUE + "." +
(StringUtils.isEmpty(itemPath) ? "name" : itemPath));
if (StringUtils.isEmpty(itemPath) || ObjectType.F_NAME.getLocalPart().equals(itemPath)){
return new PolyStringPropertyColumn<SelectableBean<O>>(columnNameModel == null ? createStringResource("userBrowserDialog.name") : columnNameModel,
ObjectType.F_NAME.getLocalPart(), "value.name");
} else {
return new PropertyColumn(
columnNameModel == null ? createStringResource("userBrowserDialog.name") : columnNameModel,
itemPath,SelectableBean.F_VALUE + "." + itemPath);
}
}
}

Expand Down
Expand Up @@ -264,11 +264,11 @@ public static <T extends ObjectType> List<IColumn<SelectableBean<T>, String>> ge

List<ColumnTypeDto<String>> columnsDefs = Arrays.asList(
new ColumnTypeDto<String>("UserType.givenName", UserType.F_GIVEN_NAME.getLocalPart(),
SelectableBean.F_VALUE + ".givenName.orig", false, true),
SelectableBean.F_VALUE + ".givenName", false, true),
new ColumnTypeDto<String>("UserType.familyName", UserType.F_FAMILY_NAME.getLocalPart(),
SelectableBean.F_VALUE + ".familyName.orig", false, true),
SelectableBean.F_VALUE + ".familyName", false, true),
new ColumnTypeDto<String>("UserType.fullName", UserType.F_FULL_NAME.getLocalPart(),
SelectableBean.F_VALUE + ".fullName.orig", false, true),
SelectableBean.F_VALUE + ".fullName", false, true),
new ColumnTypeDto<String>("UserType.emailAddress", UserType.F_EMAIL_ADDRESS.getLocalPart(),
SelectableBean.F_VALUE + ".emailAddress", false)

Expand Down
Expand Up @@ -19,7 +19,7 @@
* @author honchar
*
*/
public class PolyStringPropertyColumn<T extends Object> extends PropertyColumn<T, String> {
public class PolyStringPropertyColumn<T> extends PropertyColumn<T, String> {
private static final long serialVersionUID = 1L;

public PolyStringPropertyColumn(IModel<String> displayModel, String sortProperty, String propertyExpression) {
Expand Down
Expand Up @@ -19,6 +19,7 @@
import com.evolveum.midpoint.model.api.AssignmentCandidatesSpecification;
import com.evolveum.midpoint.model.api.AssignmentObjectRelation;
import com.evolveum.midpoint.prism.PrismObject;
import com.evolveum.midpoint.prism.polystring.PolyString;
import com.evolveum.midpoint.prism.query.QueryFactory;
import com.evolveum.midpoint.prism.query.builder.S_FilterEntryOrEmpty;
import com.evolveum.midpoint.schema.constants.RelationTypes;
Expand Down Expand Up @@ -1002,12 +1003,12 @@ public void populateItem(Item<ICellPopulator<SelectableBean<ObjectType>>> cellIt
SelectableBean<ObjectType> bean = rowModel.getObject();
ObjectType object = bean.getValue();
cellItem.add(new Label(componentId,
getMemberObjectDisplayName(object)));
getMemberObjectDisplayName(object, true)));
}

@Override
public IModel<String> getDataModel(IModel<SelectableBean<ObjectType>> rowModel) {
return Model.of(getMemberObjectDisplayName(rowModel.getObject().getValue()));
return Model.of(getMemberObjectDisplayName(rowModel.getObject().getValue(), true));
}

};
Expand Down Expand Up @@ -1064,14 +1065,19 @@ protected boolean isRelationColumnVisible(){


private String getMemberObjectDisplayName(ObjectType object){
return getMemberObjectDisplayName(object, false);
}

private String getMemberObjectDisplayName(ObjectType object, boolean translate){
if (object == null){
return "";
}
if (object instanceof UserType) {
return WebComponentUtil.getOrigStringFromPoly(((UserType) object).getFullName());
return getPageBase().getLocalizationService().translate(PolyString.toPolyString(((UserType) object).getFullName()),
getPageBase().getLocale(), true);
} else if (object instanceof AbstractRoleType) {
return WebComponentUtil
.getOrigStringFromPoly(((AbstractRoleType) object).getDisplayName());
return getPageBase().getLocalizationService().translate(PolyString.toPolyString(((AbstractRoleType) object).getDisplayName()),
getPageBase().getLocale(), true);
} else {
return "";
}
Expand Down
Expand Up @@ -4,4 +4,4 @@ base_url=http://localhost:8180/midpoint
webdriver=webdriver.chrome.driver
webdriverLocation=/opt/chromedriver
# By default if no value is specified for headless start then the value is: false
headlessStart=false
headlessStart=true

0 comments on commit 19303f5

Please sign in to comment.