Skip to content

Commit

Permalink
running task template
Browse files Browse the repository at this point in the history
  • Loading branch information
KaterynaHonchar committed Aug 30, 2018
1 parent 332d91d commit cbeb1e4
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 4 deletions.
Expand Up @@ -24,7 +24,6 @@
import com.evolveum.midpoint.prism.path.ItemPath;
import com.evolveum.midpoint.schema.constants.ObjectTypes;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.schema.util.ObjectTypeUtil;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.web.component.data.column.InlineMenuButtonColumn;
import com.evolveum.midpoint.xml.ns._public.common.common_3.*;
Expand Down Expand Up @@ -77,6 +76,8 @@ public abstract class ObjectListPanel<O extends ObjectType> extends BasePanel<O>
private static final String ID_TABLE = "table";

private static final Trace LOGGER = TraceManager.getTrace(ObjectListPanel.class);
private static final String DOT_CLASS = ObjectListPanel.class.getName();
private static final String OPERATION_LOAD_CUSTOM_MENU_ITEMS = DOT_CLASS + "loadCustomMenuItems";

private ObjectTypes type;
private PageBase parentPage;
Expand Down Expand Up @@ -617,7 +618,8 @@ protected void getCustomActions(List<InlineMenuItem> actionsList){
if (actionsList == null){
actionsList = new ArrayList<>();
}
List<InlineMenuItem> customActions = WebComponentUtil.createMenuItemsFromActions(guiObjectListViewType.getAction());
List<InlineMenuItem> customActions = WebComponentUtil.createMenuItemsFromActions(guiObjectListViewType.getAction(),
OPERATION_LOAD_CUSTOM_MENU_ITEMS, parentPage);
if (customActions != null) {
actionsList.addAll(customActions);
}
Expand Down
Expand Up @@ -56,11 +56,13 @@
import com.evolveum.midpoint.schema.util.LocalizationUtil;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.util.*;
import com.evolveum.midpoint.util.exception.CommunicationException;
import com.evolveum.midpoint.util.exception.ObjectNotFoundException;
import com.evolveum.midpoint.web.component.data.SelectableBeanObjectDataProvider;
import com.evolveum.midpoint.web.component.menu.cog.InlineMenuItem;
import com.evolveum.midpoint.web.component.menu.cog.InlineMenuItemAction;
import com.evolveum.midpoint.web.component.prism.*;
import com.evolveum.midpoint.web.page.admin.reports.dto.ReportDeleteDialogDto;
import com.evolveum.midpoint.web.util.ObjectTypeGuiDescriptor;
import com.evolveum.midpoint.xml.ns._public.common.common_3.*;
import org.apache.commons.collections4.CollectionUtils;
Expand Down Expand Up @@ -2632,12 +2634,15 @@ public static LookupTableType createAppenderChoices(PageBase pageBase) {
return lookupTable;
}

public static List<InlineMenuItem> createMenuItemsFromActions(List<GuiActionType> actions){
public static List<InlineMenuItem> createMenuItemsFromActions(List<GuiActionType> actions, String operation, PageBase pageBase){
List<InlineMenuItem> menuItems = new ArrayList<>();
if (actions == null || actions.size() == 0){
return menuItems;
}
actions.forEach(action -> {
if (action.getTaskTemplateRef() == null || StringUtils.isEmpty(action.getTaskTemplateRef().getOid())){
return;
}
String label = action.getDisplay() != null && StringUtils.isNotEmpty(action.getDisplay().getLabel()) ?
action.getDisplay().getLabel() : action.getName();
new InlineMenuItem(Model.of(label)){
Expand All @@ -2650,7 +2655,14 @@ public InlineMenuItemAction initAction(){

@Override
public void onClick(AjaxRequestTarget target) {
//TODO run task from action
OperationResult result = new OperationResult(operation);
try {
pageBase.getModelInteractionService().submitTaskFromTemplate(action.getTaskTemplateRef().getOid(), new ArrayList<>(),
pageBase.createSimpleTask(operation), result);
} catch (Exception ex){
result.recordFatalError(result.getOperation(), ex);
target.add(pageBase.getFeedbackPanel());
}
}
};
}
Expand Down

0 comments on commit cbeb1e4

Please sign in to comment.