/* * Copyright (c) 2010-2016 Evolveum * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.evolveum.midpoint.web.page.admin.workflow; import com.evolveum.midpoint.gui.api.GuiStyleConstants; import com.evolveum.midpoint.gui.api.util.WebComponentUtil; import com.evolveum.midpoint.schema.util.WfContextUtil; import com.evolveum.midpoint.web.component.AbstractSummaryPanel; import com.evolveum.midpoint.web.component.DateLabelComponent; import com.evolveum.midpoint.web.component.util.SummaryTagSimple; import com.evolveum.midpoint.web.page.admin.workflow.dto.WorkItemDto; import com.evolveum.midpoint.xml.ns._public.common.common_3.UserType; import com.evolveum.midpoint.xml.ns._public.common.common_3.WorkItemType; import org.apache.wicket.model.AbstractReadOnlyModel; import org.apache.wicket.model.IModel; /** * @author mederly * */ public class WorkItemSummaryPanel extends AbstractSummaryPanel<WorkItemType> { private static final long serialVersionUID = -5077637168906420769L; private static final String ID_ASSIGNED_TAG = "assignedTag"; private final IModel<WorkItemDto> dtoModel; public WorkItemSummaryPanel(String id, IModel<WorkItemType> model, IModel<WorkItemDto> dtoModel) { super(id, model); this.dtoModel = dtoModel; initLayoutCommon(); SummaryTagSimple<WorkItemType> isAssignedTag = new SummaryTagSimple<WorkItemType>(ID_ASSIGNED_TAG, model) { @Override protected void initialize(WorkItemType workItem) { if (workItem.getAssigneeRef() != null) { setIconCssClass("fa fa-fw fa-lock"); setLabel(getString("WorkItemSummaryPanel.allocated")); } else { setIconCssClass("fa fa-fw fa-unlock"); setLabel(getString("WorkItemSummaryPanel.notAllocated")); } } }; addTag(isAssignedTag); } @Override protected String getIconCssClass() { return GuiStyleConstants.CLASS_OBJECT_WORK_ITEM_ICON; } @Override protected String getIconBoxAdditionalCssClass() { // TODO return "summary-panel-task"; // TODO } @Override protected String getBoxAdditionalCssClass() { // TODO return "summary-panel-task"; // TODO } @Override protected boolean isIdentifierVisible() { return false; } @Override protected String getTagBoxCssClass() { return "summary-tag-box"; } @Override protected IModel<String> getTitleModel() { return new AbstractReadOnlyModel<String>() { @Override public String getObject() { UserType requester = dtoModel.getObject().getRequester(); String displayName = WebComponentUtil.getDisplayName(requester.asPrismObject()); String name = WebComponentUtil.getName(requester.asPrismObject()); if (displayName != null) { return getString("TaskSummaryPanel.requestedByWithFullName", displayName, name); } else { return getString("TaskSummaryPanel.requestedBy", name); } } }; } @Override protected IModel<String> getTitle2Model() { return new AbstractReadOnlyModel<String>() { @Override public String getObject() { WorkItemType workItem = getModelObject(); return getString("TaskSummaryPanel.requestedOn", WebComponentUtil.getLocalizedDate(WfContextUtil.getWorkflowContext(workItem).getStartTimestamp(), DateLabelComponent.MEDIUM_MEDIUM_STYLE)); } }; } // @Override // protected IModel<String> getTitle3Model() { // return new AbstractReadOnlyModel<String>() { // @Override // public String getObject() { // WorkItemType workItem = getModelObject(); // return getString("WorkItemSummaryPanel.createdOn", // workItem.getWorkItemCreatedTimestamp()); // todo formatting // } // }; // } }