diff --git a/config/alfresco/messages/webclient.properties b/config/alfresco/messages/webclient.properties index 05c97b8142..4945dd8b9a 100644 --- a/config/alfresco/messages/webclient.properties +++ b/config/alfresco/messages/webclient.properties @@ -958,6 +958,13 @@ completed_on=Completed on outcome=Outcome reassign=Reassign cancel_workflow=Cancel Workflow +cancel_workflow_info=To cancel this workflow, click OK. +cancel_workflow_confirm=Are you sure you want to cancel the \"{0}\" workflow? +error_cancel_workflow=Unable to cancel the workflow due to system error: +reassign_workitem_title=Reassign Work Item +reassign_workitem_desc=This dialog allows you to reassign a work item. +reassign_select_user=Select the user to assign the work item to, then press OK. +error_reassign_workitem=Unable to reassign the work item due to system error: # Admin Console messages title_admin_console=Administration Console diff --git a/config/alfresco/web-client-config-workflow.xml b/config/alfresco/web-client-config-workflow.xml index f6e3d58e64..a654a00cd2 100644 --- a/config/alfresco/web-client-config-workflow.xml +++ b/config/alfresco/web-client-config-workflow.xml @@ -42,9 +42,9 @@ - + start_workflow - /images/icons/create_forum.gif + /images/icons/new_workflow.gif wizard:startWorkflow #{WizardManager.setupParameters} @@ -52,21 +52,36 @@ - + reassign - /images/icons/recover.gif - null + /images/icons/reassign_workflow_item.gif + dialog:reassignWorkItem + #{DialogManager.setupParameters} + + #{actionContext.id} + - + cancel_workflow - /images/icons/reject.gif + /images/icons/cancel_workflow.gif + dialog:cancelWorkflow + #{DialogManager.setupParameters} + + #{actionContext.workflowInstanceId} + #{actionContext.workflowInstanceName} + + + + + add + /images/icons/add_item.gif null - + remove - /images/icons/delete.gif + /images/icons/remove_item.gif #{DialogManager.bean.removePackageItem} #{actionContext.id} @@ -74,19 +89,19 @@ - + - + - - + + - - + + @@ -95,17 +110,18 @@ - + - - + + + - - + + @@ -118,7 +134,7 @@ + icon="/images/icons/new_workflow_large.gif"> + managed-bean="ManageWorkItemDialog" icon="/images/icons/manage_workflow_item_large.gif" + title-id="manage_workitem_title" description-id="manage_workitem_desc" /> + + + + diff --git a/source/java/org/alfresco/web/bean/actions/BaseActionWizard.java b/source/java/org/alfresco/web/bean/actions/BaseActionWizard.java index 71fd02ae7b..219018ca69 100644 --- a/source/java/org/alfresco/web/bean/actions/BaseActionWizard.java +++ b/source/java/org/alfresco/web/bean/actions/BaseActionWizard.java @@ -196,7 +196,12 @@ public abstract class BaseActionWizard extends BaseWizardBean this.actions = new ArrayList(); for (ActionDefinition ruleActionDef : ruleActions) { - this.actions.add(new SelectItem(ruleActionDef.getName(), ruleActionDef.getTitle())); + String title = ruleActionDef.getTitle(); + if (title == null || title.length() == 0) + { + title = ruleActionDef.getName(); + } + this.actions.add(new SelectItem(ruleActionDef.getName(), title)); } // make sure the list is sorted by the label diff --git a/source/java/org/alfresco/web/bean/workflow/CancelWorkflowDialog.java b/source/java/org/alfresco/web/bean/workflow/CancelWorkflowDialog.java new file mode 100644 index 0000000000..c9c0b78964 --- /dev/null +++ b/source/java/org/alfresco/web/bean/workflow/CancelWorkflowDialog.java @@ -0,0 +1,106 @@ +package org.alfresco.web.bean.workflow; + +import java.text.MessageFormat; +import java.util.Map; + +import javax.faces.context.FacesContext; + +import org.alfresco.service.cmr.workflow.WorkflowService; +import org.alfresco.web.app.Application; +import org.alfresco.web.bean.dialog.BaseDialogBean; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +/** + * Bean implementation for the "Cancel Workflow" dialog + * + * @author gavinc + */ +public class CancelWorkflowDialog extends BaseDialogBean +{ + protected String workflowInstanceId; + protected WorkflowService workflowService; + + private static final Log logger = LogFactory.getLog(CancelWorkflowDialog.class); + + // ------------------------------------------------------------------------------ + // Dialog implementation + + @Override + public void init(Map parameters) + { + super.init(parameters); + + // make sure the workflow instance id has been passed + this.workflowInstanceId = this.parameters.get("workflow-instance-id"); + if (this.workflowInstanceId == null || this.workflowInstanceId.length() == 0) + { + throw new IllegalArgumentException("Cancel workflow dialog called without workflow instance id"); + } + } + + @Override + protected String finishImpl(FacesContext context, String outcome) + throws Exception + { + if (logger.isDebugEnabled()) + logger.debug("Cancelling workflow with id: " + this.workflowInstanceId); + + // cancel the workflow + this.workflowService.cancelWorkflow(this.workflowInstanceId); + + if (logger.isDebugEnabled()) + logger.debug("Cancelled workflow with id: " + this.workflowInstanceId); + + return outcome; + } + + @Override + protected String getErrorMessageId() + { + return "error_cancel_workflow"; + } + + @Override + public boolean getFinishButtonDisabled() + { + return false; + } + + // ------------------------------------------------------------------------------ + // Bean Getters and Setters + + /** + * Returns the confirmation to display to the user before deleting the content. + * + * @return The formatted message to display + */ + public String getConfirmMessage() + { + String confirmMsg = Application.getMessage(FacesContext.getCurrentInstance(), + "cancel_workflow_confirm"); + + return MessageFormat.format(confirmMsg, + new Object[] {this.parameters.get("workflow-instance-name")}); + } + + /** + * Returns the workflow service instance + * + * @return WorkflowService instance + */ + public WorkflowService getWorkflowService() + { + return workflowService; + } + + /** + * Sets the workflow service to use + * + * @param workflowService The WorkflowService instance + */ + public void setWorkflowService(WorkflowService workflowService) + { + this.workflowService = workflowService; + } +} diff --git a/source/java/org/alfresco/web/bean/workflow/ManageWorkItemDialog.java b/source/java/org/alfresco/web/bean/workflow/ManageWorkItemDialog.java index d9c88b7ee7..05842b6c22 100644 --- a/source/java/org/alfresco/web/bean/workflow/ManageWorkItemDialog.java +++ b/source/java/org/alfresco/web/bean/workflow/ManageWorkItemDialog.java @@ -313,6 +313,28 @@ public class ManageWorkItemDialog extends BaseDialogBean return this.workItemNode; } + /** + * Returns the action group the current task uses for the workflow package + * + * @return action group id + */ + public String getPackageActionGroup() + { + return (String)this.workItem.properties.get( + WorkflowModel.PROP_PACKAGE_ACTION_GROUP); + } + + /** + * Returns the action group the current task uses for each workflow package item + * + * @return action group id + */ + public String getPackageItemActionGroup() + { + return (String)this.workItem.properties.get( + WorkflowModel.PROP_PACKAGE_ITEM_ACTION_GROUP); + } + /** * Returns a list of resources associated with this work item * i.e. the children of the workflow package diff --git a/source/java/org/alfresco/web/bean/workflow/ReassignWorkItemDialog.java b/source/java/org/alfresco/web/bean/workflow/ReassignWorkItemDialog.java new file mode 100644 index 0000000000..67f682e244 --- /dev/null +++ b/source/java/org/alfresco/web/bean/workflow/ReassignWorkItemDialog.java @@ -0,0 +1,199 @@ +package org.alfresco.web.bean.workflow; + +import java.io.Serializable; +import java.text.MessageFormat; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.ResourceBundle; + +import javax.faces.component.UIComponent; +import javax.faces.context.FacesContext; +import javax.faces.model.SelectItem; +import javax.transaction.UserTransaction; + +import org.alfresco.model.ContentModel; +import org.alfresco.service.cmr.repository.NodeRef; +import org.alfresco.service.cmr.security.PersonService; +import org.alfresco.service.cmr.workflow.WorkflowService; +import org.alfresco.service.namespace.NamespaceService; +import org.alfresco.service.namespace.QName; +import org.alfresco.web.app.Application; +import org.alfresco.web.bean.dialog.BaseDialogBean; +import org.alfresco.web.bean.repository.Repository; +import org.alfresco.web.ui.common.SortableSelectItem; +import org.alfresco.web.ui.common.Utils; +import org.alfresco.web.ui.common.component.UIGenericPicker; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +/** + * Bean implementation for the "Reassign Work Item" dialog + * + * @author gavinc + */ +public class ReassignWorkItemDialog extends BaseDialogBean +{ + protected String workItemId; + + protected WorkflowService workflowService; + protected PersonService personService; + + private static final Log logger = LogFactory.getLog(ReassignWorkItemDialog.class); + + // ------------------------------------------------------------------------------ + // Dialog implementation + + @Override + public void init(Map parameters) + { + super.init(parameters); + + this.workItemId = this.parameters.get("workitem-id"); + if (this.workItemId == null || this.workItemId.length() == 0) + { + throw new IllegalArgumentException("Reassign workitem dialog called without task id"); + } + } + + @Override + protected String finishImpl(FacesContext context, String outcome) + throws Exception + { + if (logger.isDebugEnabled()) + logger.debug("Reassigning work item with id: " + this.workItemId); + + UIComponent picker = context.getViewRoot().findComponent("dialog:dialog-body:user-picker"); + + if (picker != null && picker instanceof UIGenericPicker) + { + UIGenericPicker userPicker = (UIGenericPicker)picker; + String[] user = userPicker.getSelectedResults(); + if (user != null && user.length > 0) + { + // create a map to hold the new owner property then update the task + String userName = user[0]; + Map params = new HashMap(1); + params.put(ContentModel.PROP_OWNER, userName); + this.workflowService.updateTask(this.workItemId, params, null, null); + } + else + { + if (logger.isWarnEnabled()) + logger.warn("Failed to find selected user, reassign was unsuccessful"); + } + } + else + { + if (logger.isWarnEnabled()) + logger.warn("Failed to find user-picker component, reassign was unsuccessful"); + } + + if (logger.isDebugEnabled()) + logger.debug("Reassigning work item with id: " + this.workItemId); + + return outcome; + } + + @Override + protected String getErrorMessageId() + { + return "error_reassign_workitem"; + } + + // ------------------------------------------------------------------------------ + // Bean Getters and Setters + + /** + * Property accessed by the Generic Picker component. + * + * @return the array of filter options to show in the users/groups picker + */ + public SelectItem[] getFilters() + { + ResourceBundle bundle = Application.getBundle(FacesContext.getCurrentInstance()); + return new SelectItem[] {new SelectItem("0", bundle.getString("users"))}; + } + + /** + * Query callback method executed by the Generic Picker component. + * This method is part of the contract to the Generic Picker, it is up to the backing bean + * to execute whatever query is appropriate and return the results. + * + * @param filterIndex Index of the filter drop-down selection + * @param contains Text from the contains textbox + * + * @return An array of SelectItem objects containing the results to display in the picker. + */ + public SelectItem[] pickerCallback(int filterIndex, String contains) + { + FacesContext context = FacesContext.getCurrentInstance(); + + SelectItem[] items; + + UserTransaction tx = null; + try + { + tx = Repository.getUserTransaction(context, true); + tx.begin(); + + // build xpath to match available User/Person objects + NodeRef peopleRef = personService.getPeopleContainer(); + // NOTE: see SearcherComponentTest + String xpath = "*[like(@" + NamespaceService.CONTENT_MODEL_PREFIX + ":" + "firstName, '%" + contains + "%', false)" + + " or " + "like(@" + NamespaceService.CONTENT_MODEL_PREFIX + ":" + "lastName, '%" + contains + "%', false)]"; + + List nodes = searchService.selectNodes( + peopleRef, + xpath, + null, + this.namespaceService, + false); + + items = new SelectItem[nodes.size()]; + for (int index=0; index(tasks.size()); for (WorkflowTask task : tasks) { - this.workItems.add(createWorkItem(task)); + Node node = createWorkItem(task); + this.workItems.add(node); + + if (logger.isDebugEnabled()) + logger.debug("Added to do work item: " + node); } // commit the changes @@ -117,7 +121,11 @@ public class WorkflowBean this.completedWorkItems = new ArrayList(tasks.size()); for (WorkflowTask task : tasks) { - this.completedWorkItems.add(createWorkItem(task)); + Node node = createWorkItem(task); + this.completedWorkItems.add(node); + + if (logger.isDebugEnabled()) + logger.debug("Added completed work item: " + node); } // commit the changes @@ -237,9 +245,10 @@ public class WorkflowBean node.getProperties().put("sourceSpaceId", context.getId()); } - // add the outcome label for any completed task + // add extra properties for completed tasks if (task.state.equals(WorkflowTaskState.COMPLETED)) { + // add the outcome label for any completed task String outcome = null; String transition = (String)task.properties.get(WorkflowModel.PROP_OUTCOME); if (transition != null) @@ -259,6 +268,10 @@ public class WorkflowBean node.getProperties().put("outcome", outcome); } } + + // add the workflow instance id and name this taks belongs to + node.getProperties().put("workflowInstanceId", task.path.instance.id); + node.getProperties().put("workflowInstanceName", task.path.instance.definition.title); } return node; diff --git a/source/java/org/alfresco/web/ui/common/component/UIGenericPicker.java b/source/java/org/alfresco/web/ui/common/component/UIGenericPicker.java index 582ae72d30..07a5ad9bb5 100644 --- a/source/java/org/alfresco/web/ui/common/component/UIGenericPicker.java +++ b/source/java/org/alfresco/web/ui/common/component/UIGenericPicker.java @@ -67,6 +67,7 @@ public class UIGenericPicker extends UICommand private Boolean showContains = null; private Boolean showAddButton = null; private Boolean filterRefresh = null; + private Boolean multiSelect = null; private String addButtonLabel; private Integer width = null; private Integer height = null; @@ -118,6 +119,7 @@ public class UIGenericPicker extends UICommand currentResults = (SelectItem[])values[11]; filters = (SelectItem[])values[12]; filterRefresh = (Boolean)values[13]; + multiSelect = (Boolean)values[14]; } /** @@ -125,7 +127,7 @@ public class UIGenericPicker extends UICommand */ public Object saveState(FacesContext context) { - Object values[] = new Object[14]; + Object values[] = new Object[15]; // standard component attributes are saved by the super class values[0] = super.saveState(context); values[1] = showFilter; @@ -141,6 +143,7 @@ public class UIGenericPicker extends UICommand values[11] = currentResults; values[12] = filters; values[13] = filterRefresh; + values[14] = multiSelect; return (values); } @@ -354,7 +357,14 @@ public class UIGenericPicker extends UICommand out.write(Integer.toString(getHeight())); out.write("px' name='"); out.write(clientId + FIELD_RESULTS); - out.write("' multiple>"); + out.write("' id='"); + out.write(clientId + FIELD_RESULTS); + out.write("'"); + if (getMultiSelect() == true) + { + out.write(" multiple"); + } + out.write(">"); // results if (currentResults != null) @@ -530,6 +540,28 @@ public class UIGenericPicker extends UICommand this.filterRefresh = Boolean.valueOf(filterRefresh); } + /** + * @return true if multi select should be enabled. + */ + public boolean getMultiSelect() + { + ValueBinding vb = getValueBinding("multiSelect"); + if (vb != null) + { + this.multiSelect = (Boolean)vb.getValue(getFacesContext()); + } + + return multiSelect != null ? multiSelect.booleanValue() : true; + } + + /** + * @param multiSelect Flag to determine whether multi select is enabled + */ + public void setMultiSelect(boolean multiSelect) + { + this.multiSelect = Boolean.valueOf(multiSelect); + } + /** * @return Returns the width. */ @@ -633,6 +665,7 @@ public class UIGenericPicker extends UICommand /** * Class representing the an action relevant to the Generic Selector component. */ + @SuppressWarnings("serial") public static class PickerEvent extends ActionEvent { public PickerEvent(UIComponent component, int action, int filterIndex, String contains, String[] results) diff --git a/source/java/org/alfresco/web/ui/common/tag/GenericPickerTag.java b/source/java/org/alfresco/web/ui/common/tag/GenericPickerTag.java index 24c3151c86..f88c181ae9 100644 --- a/source/java/org/alfresco/web/ui/common/tag/GenericPickerTag.java +++ b/source/java/org/alfresco/web/ui/common/tag/GenericPickerTag.java @@ -20,7 +20,6 @@ import javax.faces.FacesException; import javax.faces.component.UICommand; import javax.faces.component.UIComponent; import javax.faces.el.MethodBinding; -import javax.faces.el.ValueBinding; import org.alfresco.web.ui.common.component.UIGenericPicker; @@ -57,6 +56,7 @@ public class GenericPickerTag extends BaseComponentTag setBooleanProperty(component, "showContains", this.showContains); setBooleanProperty(component, "showAddButton", this.showAddButton); setBooleanProperty(component, "filterRefresh", this.filterRefresh); + setBooleanProperty(component, "multiSelect", this.multiSelect); setStringProperty(component, "addButtonLabel", this.addButtonLabel); setActionProperty((UICommand)component, this.action); setActionListenerProperty((UICommand)component, this.actionListener); @@ -94,6 +94,7 @@ public class GenericPickerTag extends BaseComponentTag this.queryCallback = null; this.filters = null; this.filterRefresh = null; + this.multiSelect = null; } /** @@ -205,8 +206,20 @@ public class GenericPickerTag extends BaseComponentTag { this.filterRefresh = filterRefresh; } + + /** + * Set the multiSelect + * + * @param mutliSelect the multiSelect + */ + public void setMultiSelect(String multiSelect) + { + this.multiSelect = multiSelect; + } - + /** the multiSelect */ + private String multiSelect; + /** the filterRefresh */ private String filterRefresh; diff --git a/source/web/WEB-INF/alfresco.tld b/source/web/WEB-INF/alfresco.tld index cf592f757b..cee3690833 100644 --- a/source/web/WEB-INF/alfresco.tld +++ b/source/web/WEB-INF/alfresco.tld @@ -1693,6 +1693,12 @@ false true + + + multiSelect + false + true + addButtonLabel diff --git a/source/web/WEB-INF/faces-config-beans.xml b/source/web/WEB-INF/faces-config-beans.xml index e961805352..95e5400be4 100644 --- a/source/web/WEB-INF/faces-config-beans.xml +++ b/source/web/WEB-INF/faces-config-beans.xml @@ -1781,6 +1781,92 @@ + + + The bean that backs up the Cancel Workflow Dialog + + CancelWorkflowDialog + org.alfresco.web.bean.workflow.CancelWorkflowDialog + session + + nodeService + #{NodeService} + + + fileFolderService + #{FileFolderService} + + + searchService + #{SearchService} + + + navigator + #{NavigationBean} + + + browseBean + #{BrowseBean} + + + dictionaryService + #{DictionaryService} + + + namespaceService + #{NamespaceService} + + + workflowService + #{WorkflowService} + + + + + + The bean that backs up the Reassign Work Item Dialog + + ReassignWorkItemDialog + org.alfresco.web.bean.workflow.ReassignWorkItemDialog + session + + nodeService + #{NodeService} + + + fileFolderService + #{FileFolderService} + + + searchService + #{SearchService} + + + navigator + #{NavigationBean} + + + browseBean + #{BrowseBean} + + + dictionaryService + #{DictionaryService} + + + namespaceService + #{NamespaceService} + + + workflowService + #{WorkflowService} + + + personService + #{PersonService} + + + WorkflowBean org.alfresco.web.bean.workflow.WorkflowBean diff --git a/source/web/images/icons/add_item.gif b/source/web/images/icons/add_item.gif new file mode 100644 index 0000000000..977e4ec117 Binary files /dev/null and b/source/web/images/icons/add_item.gif differ diff --git a/source/web/images/icons/add_item_large.gif b/source/web/images/icons/add_item_large.gif new file mode 100644 index 0000000000..d67e2b04b3 Binary files /dev/null and b/source/web/images/icons/add_item_large.gif differ diff --git a/source/web/images/icons/cancel_workflow.gif b/source/web/images/icons/cancel_workflow.gif new file mode 100644 index 0000000000..8728358b1f Binary files /dev/null and b/source/web/images/icons/cancel_workflow.gif differ diff --git a/source/web/images/icons/cancel_workflow_large.gif b/source/web/images/icons/cancel_workflow_large.gif new file mode 100644 index 0000000000..b8bbfb398e Binary files /dev/null and b/source/web/images/icons/cancel_workflow_large.gif differ diff --git a/source/web/images/icons/completed_workflow_item.gif b/source/web/images/icons/completed_workflow_item.gif new file mode 100644 index 0000000000..65970ff789 Binary files /dev/null and b/source/web/images/icons/completed_workflow_item.gif differ diff --git a/source/web/images/icons/completed_workflow_item_large.gif b/source/web/images/icons/completed_workflow_item_large.gif new file mode 100644 index 0000000000..d3014a8d8c Binary files /dev/null and b/source/web/images/icons/completed_workflow_item_large.gif differ diff --git a/source/web/images/icons/manage_workflow_item_large.gif b/source/web/images/icons/manage_workflow_item_large.gif new file mode 100644 index 0000000000..442c772fb6 Binary files /dev/null and b/source/web/images/icons/manage_workflow_item_large.gif differ diff --git a/source/web/images/icons/new_workflow.gif b/source/web/images/icons/new_workflow.gif new file mode 100644 index 0000000000..d37fe0bc94 Binary files /dev/null and b/source/web/images/icons/new_workflow.gif differ diff --git a/source/web/images/icons/new_workflow_large.gif b/source/web/images/icons/new_workflow_large.gif new file mode 100644 index 0000000000..9c7e869856 Binary files /dev/null and b/source/web/images/icons/new_workflow_large.gif differ diff --git a/source/web/images/icons/reassign_workflow_item.gif b/source/web/images/icons/reassign_workflow_item.gif new file mode 100644 index 0000000000..95f2962dc8 Binary files /dev/null and b/source/web/images/icons/reassign_workflow_item.gif differ diff --git a/source/web/images/icons/reassign_workflow_item_large.gif b/source/web/images/icons/reassign_workflow_item_large.gif new file mode 100644 index 0000000000..09c30fb95e Binary files /dev/null and b/source/web/images/icons/reassign_workflow_item_large.gif differ diff --git a/source/web/images/icons/remove_item.gif b/source/web/images/icons/remove_item.gif new file mode 100644 index 0000000000..b1b114165f Binary files /dev/null and b/source/web/images/icons/remove_item.gif differ diff --git a/source/web/images/icons/remove_item_large.gif b/source/web/images/icons/remove_item_large.gif new file mode 100644 index 0000000000..8417c4405b Binary files /dev/null and b/source/web/images/icons/remove_item_large.gif differ diff --git a/source/web/images/icons/workflow.gif b/source/web/images/icons/workflow.gif new file mode 100644 index 0000000000..000df7c04c Binary files /dev/null and b/source/web/images/icons/workflow.gif differ diff --git a/source/web/images/icons/workflow_item.gif b/source/web/images/icons/workflow_item.gif new file mode 100644 index 0000000000..6cee9ec039 Binary files /dev/null and b/source/web/images/icons/workflow_item.gif differ diff --git a/source/web/images/icons/workflow_item_large.gif b/source/web/images/icons/workflow_item_large.gif new file mode 100644 index 0000000000..bf5bd91084 Binary files /dev/null and b/source/web/images/icons/workflow_item_large.gif differ diff --git a/source/web/images/icons/workflow_large.gif b/source/web/images/icons/workflow_large.gif new file mode 100644 index 0000000000..183d71c2ca Binary files /dev/null and b/source/web/images/icons/workflow_large.gif differ diff --git a/source/web/jsp/workflow/cancel-workflow-dialog.jsp b/source/web/jsp/workflow/cancel-workflow-dialog.jsp new file mode 100644 index 0000000000..d14067c888 --- /dev/null +++ b/source/web/jsp/workflow/cancel-workflow-dialog.jsp @@ -0,0 +1,26 @@ +<%-- + Copyright (C) 2005 Alfresco, Inc. + + Licensed under the Mozilla Public License version 1.1 + with a permitted attribution clause. You may obtain a + copy of the License at + + http://www.alfresco.org/legal/license.txt + + 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. +--%> +<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %> +<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> +<%@ taglib uri="/WEB-INF/alfresco.tld" prefix="a" %> +<%@ taglib uri="/WEB-INF/repo.tld" prefix="r" %> + +<%@ page buffer="32kb" contentType="text/html;charset=UTF-8" %> +<%@ page isELIgnored="false" %> + + \ No newline at end of file diff --git a/source/web/jsp/workflow/manage-workitem-dialog.jsp b/source/web/jsp/workflow/manage-workitem-dialog.jsp index 77aae378b8..048aa785e4 100644 --- a/source/web/jsp/workflow/manage-workitem-dialog.jsp +++ b/source/web/jsp/workflow/manage-workitem-dialog.jsp @@ -90,7 +90,7 @@ - diff --git a/source/web/jsp/workflow/reassign-workitem-dialog.jsp b/source/web/jsp/workflow/reassign-workitem-dialog.jsp new file mode 100644 index 0000000000..0e14e13887 --- /dev/null +++ b/source/web/jsp/workflow/reassign-workitem-dialog.jsp @@ -0,0 +1,40 @@ +<%-- + Copyright (C) 2005 Alfresco, Inc. + + Licensed under the Mozilla Public License version 1.1 + with a permitted attribution clause. You may obtain a + copy of the License at + + http://www.alfresco.org/legal/license.txt + + 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. +--%> +<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %> +<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> +<%@ taglib uri="/WEB-INF/alfresco.tld" prefix="a" %> +<%@ taglib uri="/WEB-INF/repo.tld" prefix="r" %> + +<%@ page buffer="32kb" contentType="text/html;charset=UTF-8" %> +<%@ page isELIgnored="false" %> + + + + + + \ No newline at end of file diff --git a/source/web/jsp/workflow/start-workflow-wizard/workflow-options.jsp b/source/web/jsp/workflow/start-workflow-wizard/workflow-options.jsp index 145307dc11..969d4ef1bb 100644 --- a/source/web/jsp/workflow/start-workflow-wizard/workflow-options.jsp +++ b/source/web/jsp/workflow/start-workflow-wizard/workflow-options.jsp @@ -21,7 +21,7 @@ <%@ page import="org.alfresco.web.ui.common.PanelGenerator" %> - + <%PanelGenerator.generatePanelStart(out, request.getContextPath(), "yellowInner", "#ffffcc");%>
@@ -37,10 +37,14 @@ - + + - - + + + + + \ No newline at end of file diff --git a/source/web/jsp/workflow/workitems-completed-dashlet.jsp b/source/web/jsp/workflow/workitems-completed-dashlet.jsp index 67f437b03e..969aeb8bc8 100644 --- a/source/web/jsp/workflow/workitems-completed-dashlet.jsp +++ b/source/web/jsp/workflow/workitems-completed-dashlet.jsp @@ -14,7 +14,7 @@ - + @@ -66,7 +66,7 @@ - diff --git a/source/web/jsp/workflow/workitems-todo-dashlet.jsp b/source/web/jsp/workflow/workitems-todo-dashlet.jsp index d8b406c7df..1bae631b80 100644 --- a/source/web/jsp/workflow/workitems-todo-dashlet.jsp +++ b/source/web/jsp/workflow/workitems-todo-dashlet.jsp @@ -15,7 +15,7 @@ - @@ -82,7 +82,7 @@ -