mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
. Fix to issue saving modified workflow configuration overwriting old settings
- http://issues.alfresco.com/browse/WCM-219 . Fix to issue saving removed association(s) from worklow config - http://issues.alfresco.com/browse/WCM-141 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4837 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -473,9 +473,11 @@ public class CreateWebsiteWizard extends BaseWizardBean
|
|||||||
new String[] {buf.toString()});
|
new String[] {buf.toString()});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the invited users for the project - as UserWrapper instances
|
||||||
|
*/
|
||||||
public List<UserWrapper> getInvitedUsers()
|
public List<UserWrapper> getInvitedUsers()
|
||||||
{
|
{
|
||||||
|
|
||||||
final FacesContext fc = FacesContext.getCurrentInstance();
|
final FacesContext fc = FacesContext.getCurrentInstance();
|
||||||
List<UserGroupRole> invitedUserRoles = (List<UserGroupRole>)
|
List<UserGroupRole> invitedUserRoles = (List<UserGroupRole>)
|
||||||
getInviteUsersWizard().getUserRolesDataModel().getWrappedData();
|
getInviteUsersWizard().getUserRolesDataModel().getWrappedData();
|
||||||
@@ -497,6 +499,7 @@ public class CreateWebsiteWizard extends BaseWizardBean
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// ------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------
|
||||||
// Define Web Content Workflows page
|
// Define Web Content Workflows page
|
||||||
|
|
||||||
|
@@ -230,8 +230,13 @@ public class FormDetailsDialog extends BaseDialogBean
|
|||||||
}
|
}
|
||||||
if (this.workflowSelectedValue != null && this.workflowSelectedValue.length != 0)
|
if (this.workflowSelectedValue != null && this.workflowSelectedValue.length != 0)
|
||||||
{
|
{
|
||||||
WorkflowDefinition def = this.workflowService.getDefinitionByName(this.workflowSelectedValue[0]);
|
// test to make sure we don't lose the existing workflow configuration
|
||||||
form.setWorkflow(new CreateWebsiteWizard.WorkflowWrapper(def.getName(), def.getTitle(), def.getDescription()));
|
String wfSelected = this.workflowSelectedValue[0];
|
||||||
|
if (form.getWorkflow() == null || form.getWorkflow().getName().equals(wfSelected) == false)
|
||||||
|
{
|
||||||
|
WorkflowDefinition def = this.workflowService.getDefinitionByName(wfSelected);
|
||||||
|
form.setWorkflow(new CreateWebsiteWizard.WorkflowWrapper(def.getName(), def.getTitle(), def.getDescription()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return outcome;
|
return outcome;
|
||||||
}
|
}
|
||||||
|
@@ -18,6 +18,7 @@ package org.alfresco.web.bean.wcm;
|
|||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.text.MessageFormat;
|
import java.text.MessageFormat;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
@@ -26,6 +27,8 @@ import java.util.regex.PatternSyntaxException;
|
|||||||
import javax.faces.context.FacesContext;
|
import javax.faces.context.FacesContext;
|
||||||
|
|
||||||
import org.alfresco.error.AlfrescoRuntimeException;
|
import org.alfresco.error.AlfrescoRuntimeException;
|
||||||
|
import org.alfresco.service.cmr.repository.AssociationRef;
|
||||||
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
import org.alfresco.service.cmr.workflow.WorkflowDefinition;
|
import org.alfresco.service.cmr.workflow.WorkflowDefinition;
|
||||||
import org.alfresco.service.cmr.workflow.WorkflowService;
|
import org.alfresco.service.cmr.workflow.WorkflowService;
|
||||||
import org.alfresco.service.cmr.workflow.WorkflowTaskDefinition;
|
import org.alfresco.service.cmr.workflow.WorkflowTaskDefinition;
|
||||||
@@ -33,6 +36,7 @@ import org.alfresco.service.namespace.QName;
|
|||||||
import org.alfresco.web.app.Application;
|
import org.alfresco.web.app.Application;
|
||||||
import org.alfresco.web.bean.dialog.BaseDialogBean;
|
import org.alfresco.web.bean.dialog.BaseDialogBean;
|
||||||
import org.alfresco.web.bean.repository.Node;
|
import org.alfresco.web.bean.repository.Node;
|
||||||
|
import org.alfresco.web.bean.repository.Repository;
|
||||||
import org.alfresco.web.bean.repository.TransientNode;
|
import org.alfresco.web.bean.repository.TransientNode;
|
||||||
import org.alfresco.web.bean.workflow.WorkflowUtil;
|
import org.alfresco.web.bean.workflow.WorkflowUtil;
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
@@ -169,6 +173,26 @@ public class FormWorkflowDialog extends BaseDialogBean
|
|||||||
current.addAll((List)value);
|
current.addAll((List)value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// remove any deleted associations
|
||||||
|
Map<String, Map<String, AssociationRef>> assocs = this.workflowNode.getRemovedAssociations();
|
||||||
|
for (String assocName : assocs.keySet())
|
||||||
|
{
|
||||||
|
QName assocQName = Repository.resolveToQName(assocName);
|
||||||
|
|
||||||
|
// get the associations removed and create list of targets
|
||||||
|
if (params.containsKey(assocQName))
|
||||||
|
{
|
||||||
|
List current = (List)params.get(assocQName);
|
||||||
|
if (current != null)
|
||||||
|
{
|
||||||
|
Map<String, AssociationRef> removedAssocs = assocs.get(assocName);
|
||||||
|
for (AssociationRef assoc : removedAssocs.values())
|
||||||
|
{
|
||||||
|
current.remove(assoc.getTargetRef());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
wf.setParams(params);
|
wf.setParams(params);
|
||||||
}
|
}
|
||||||
wf.setType(this.workflowNode.getType());
|
wf.setType(this.workflowNode.getType());
|
||||||
|
@@ -102,7 +102,7 @@
|
|||||||
<c:when test="${r.workflow == null}">
|
<c:when test="${r.workflow == null}">
|
||||||
<span style="font-style:italic">${msg.none}</span>
|
<span style="font-style:italic">${msg.none}</span>
|
||||||
</c:when>
|
</c:when>
|
||||||
<c:otherwise>{r.workflow.title}</c:otherwise>
|
<c:otherwise>${r.workflow.title}</c:otherwise>
|
||||||
</c:choose>
|
</c:choose>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
Reference in New Issue
Block a user