DM Forms - fix create/edit web project (when listing web forms) and UI tweaks for DM forms

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@7425 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Jan Vonka
2007-11-22 17:31:56 +00:00
parent a3325bff9e
commit b9d8bb4a51
8 changed files with 74 additions and 76 deletions

View File

@@ -95,8 +95,7 @@ public class CreateContentWizard extends BaseContentWizard
{
this.content = XMLUtil.toString(this.instanceDataDocument, true);
// TODO - first step in wizard should auto-select XML when form is selected
this.mimeType = MimetypeMap.MIMETYPE_XML; // override mimetype (in case is not set to XML)
this.mimeType = MimetypeMap.MIMETYPE_XML; // belts & braces - override mimetype (in case is not set to XML)
}
String result = super.finish();
@@ -130,6 +129,7 @@ public class CreateContentWizard extends BaseContentWizard
this.content = null;
this.inlineEdit = true;
this.mimeType = MimetypeMap.MIMETYPE_HTML;
this.formName = "";
this.instanceDataDocument = null;
if (this.formProcessorSession != null)
@@ -160,6 +160,24 @@ public class CreateContentWizard extends BaseContentWizard
return disabled;
}
@Override
public boolean getFinishButtonDisabled()
{
boolean disabled = false;
int step = Application.getWizardManager().getCurrentStep();
switch(step)
{
case 1:
{
disabled = (this.fileName == null || this.fileName.length() == 0);
break;
}
}
return disabled;
}
@Override
protected String doPostCommitProcessing(FacesContext context, String outcome)
{
@@ -257,8 +275,7 @@ public class CreateContentWizard extends BaseContentWizard
if (this.instanceDataDocument != null)
{
// TODO - first step in wizard should auto-select XML when form is selected
this.mimeType = MimetypeMap.MIMETYPE_XML; // override mimetype (in case it is not set to XML)
this.mimeType = MimetypeMap.MIMETYPE_XML; // belts & braces - override mimetype (in case is not set to XML)
}
// TODO: show first few lines of content here?

View File

@@ -24,78 +24,28 @@
*/
package org.alfresco.web.bean.content;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.Serializable;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.ResourceBundle;
import javax.faces.context.FacesContext;
import javax.faces.event.ValueChangeEvent;
import javax.faces.model.SelectItem;
import org.alfresco.config.Config;
import org.alfresco.config.ConfigElement;
import org.alfresco.config.ConfigService;
import org.alfresco.error.AlfrescoRuntimeException;
import org.alfresco.model.ContentModel;
import org.alfresco.model.WCMAppModel;
import org.alfresco.model.WCMWorkflowModel;
import org.alfresco.repo.avm.AVMNodeConverter;
import org.alfresco.repo.content.MimetypeMap;
import org.alfresco.repo.workflow.WorkflowModel;
import org.alfresco.service.cmr.avm.AVMExistsException;
import org.alfresco.service.cmr.avm.AVMNodeDescriptor;
import org.alfresco.service.cmr.avm.AVMService;
import org.alfresco.service.cmr.avm.locking.AVMLock;
import org.alfresco.service.cmr.avmsync.AVMDifference;
import org.alfresco.service.cmr.avmsync.AVMSyncService;
import org.alfresco.service.cmr.dictionary.DataTypeDefinition;
import org.alfresco.service.cmr.repository.ContentWriter;
import org.alfresco.service.cmr.repository.ChildAssociationRef;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.workflow.WorkflowDefinition;
import org.alfresco.service.cmr.workflow.WorkflowPath;
import org.alfresco.service.cmr.workflow.WorkflowService;
import org.alfresco.service.cmr.workflow.WorkflowTask;
import org.alfresco.service.cmr.workflow.WorkflowTaskState;
import org.alfresco.service.namespace.QName;
import org.alfresco.service.namespace.RegexQNamePattern;
import org.alfresco.web.app.Application;
import org.alfresco.web.bean.content.BaseContentWizard;
import org.alfresco.web.bean.repository.Node;
import org.alfresco.web.bean.repository.Repository;
import org.alfresco.web.data.IDataContainer;
import org.alfresco.web.data.QuickSort;
import org.alfresco.web.forms.Form;
import org.alfresco.web.forms.FormInstanceData;
import org.alfresco.web.forms.FormNotFoundException;
import org.alfresco.web.forms.FormProcessor;
import org.alfresco.web.forms.FormsService;
import org.alfresco.web.forms.RenderingEngineTemplate;
import org.alfresco.web.forms.Rendition;
import org.alfresco.web.forms.XMLUtil;
import org.alfresco.web.ui.common.Utils;
import org.alfresco.web.ui.common.component.UIListItem;
import org.alfresco.web.ui.wcm.component.UIUserSandboxes;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.w3c.dom.Document;
/**
* Bean implementation for the "Edit Content Wizard" dialog
*/
public class EditContentWizard extends CreateContentWizard
{
private static final Log LOGGER = LogFactory.getLog(EditContentWizard.class);
private NodeRef nodeRef;
private Form form;

View File

@@ -34,7 +34,6 @@ import java.util.List;
import java.util.Map;
import java.util.ResourceBundle;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import javax.faces.event.ValueChangeEvent;
@@ -237,12 +236,13 @@ public class CreateFormWizard
// get the node ref of the node that will contain the content
// TODO - need better way to determine WCM vs ECM context
// can create form from CreateWebProject Wizard, or from Forms DataDictionary space or Web Forms DataDictionary space
NodeRef contentFormsNodeRef = this.formsService.getWebContentFormsNodeRef();
if (this.navigator.getCurrentNode().getNodeRef().equals(this.formsService.getContentFormsNodeRef()))
NodeRef contentFormsNodeRef = null;
if (getIsWebForm() == true)
{
contentFormsNodeRef = this.formsService.getWebContentFormsNodeRef();
}
else
{
// ECM form, store in Forms DataDictionary space
contentFormsNodeRef = this.formsService.getContentFormsNodeRef();
}
@@ -1105,6 +1105,19 @@ public class CreateFormWizard
return this.defaultWorkflowChoices;
}
public boolean getIsWebForm()
{
boolean isWebForm = true;
// TODO - need better way to determine WCM vs ECM context
// can create form from CreateWebProject Wizard, or from Forms DataDictionary space or Web Forms DataDictionary space
if (this.navigator.getCurrentNode().getNodeRef().equals(this.formsService.getContentFormsNodeRef()))
{
// ECM form
isWebForm = false;
}
return isWebForm;
}
// ------------------------------------------------------------------------------
// Service Injection

View File

@@ -471,7 +471,7 @@ public class CreateWebsiteWizard extends BaseWizardBean
String name = (String)this.nodeService.getProperty(formRef, WCMAppModel.PROP_FORMNAME);
try
{
Form formImpl = this.formsService.getForm(name);
Form formImpl = this.formsService.getWebForm(name);
FormWrapper form = new FormWrapper(formImpl);
form.setTitle((String)this.nodeService.getProperty(formRef, ContentModel.PROP_TITLE));
form.setDescription((String)this.nodeService.getProperty(formRef, ContentModel.PROP_DESCRIPTION));

View File

@@ -42,12 +42,9 @@ import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.workflow.WorkflowDefinition;
import org.alfresco.service.namespace.QName;
import org.alfresco.service.namespace.RegexQNamePattern;
import org.alfresco.web.app.AlfrescoNavigationHandler;
import org.alfresco.web.forms.xforms.FormBuilderException;
import org.alfresco.web.forms.xforms.SchemaUtil;
import org.alfresco.web.forms.Form;
import org.alfresco.web.forms.FormsService;
import org.alfresco.web.forms.RenderingEngineTemplate;
import org.alfresco.web.forms.xforms.SchemaUtil;
import org.alfresco.web.ui.common.Utils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -137,7 +134,11 @@ public class EditFormWizard
this.renderingEngineTemplates.add(data);
}
this.removedRenderingEngineTemplates = null;
this.associatedWebProjects = this.formsService.getAssociatedWebProjects(form);
if (getIsWebForm() == true)
{
this.associatedWebProjects = this.formsService.getAssociatedWebProjects(form);
}
}
/**

View File

@@ -71,6 +71,19 @@
}
}
function formChanged()
{
if (document.getElementById("wizard:wizard-body:form-name").value != "")
{
document.getElementById("wizard:wizard-body:mime-type").disabled = true;
document.getElementById("wizard:wizard-body:mime-type").value = "text/xml";
}
else
{
document.getElementById("wizard:wizard-body:mime-type").disabled = false;
}
}
</script>
</f:verbatim>
@@ -95,14 +108,15 @@
<h:outputText value=""/>
<h:outputText value="#{msg.content_type}:"/>
<h:selectOneMenu value="#{WizardManager.bean.mimeType}"
<h:selectOneMenu id="mime-type" value="#{WizardManager.bean.mimeType}"
valueChangeListener="#{WizardManager.bean.createContentChanged}">
<f:selectItems value="#{WizardManager.bean.createMimeTypes}" />
</h:selectOneMenu>
<h:outputText value=""/>
<h:outputText value="#{msg.form}:"/>
<h:selectOneMenu value="#{WizardManager.bean.formName}">
<h:selectOneMenu id="form-name" value="#{WizardManager.bean.formName}"
onchange="formChanged();">
<f:selectItems value="#{WizardManager.bean.formsList}" />
</h:selectOneMenu>
</h:panelGrid>

View File

@@ -224,16 +224,20 @@
<h:graphicImage id="img_form_instance_data_output_path_pattern"
value="/images/icons/required_field.gif"
alt="#{msg.required_field}" />
alt="#{msg.required_field}"
rendered="#{WizardManager.bean.isWebForm == true}"/>
<h:outputText id="out_form_instance_data_output_path_pattern"
value="#{msg.output_path_pattern}:"/>
value="#{msg.output_path_pattern}:"
rendered="#{WizardManager.bean.isWebForm == true}"/>
<h:inputText id="form_instance_data_output_path_pattern"
disabled="#{WizardManager.bean.schemaFileName == null}"
value="#{WizardManager.bean.outputPathPatternForFormInstanceData}"
style="width:100%"/>
disabled="#{WizardManager.bean.schemaFileName == null}"
value="#{WizardManager.bean.outputPathPatternForFormInstanceData}"
style="width:100%"
rendered="#{WizardManager.bean.isWebForm == true}"/>
<h:graphicImage id="img_form_instance_data_output_path_pattern_help"
value="/images/icons/Help_icon.gif" style="cursor:help"
onclick="javascript:toggleOutputPathPatternHelp()" />
onclick="javascript:toggleOutputPathPatternHelp()"
rendered="#{WizardManager.bean.isWebForm == true}"/>
<h:column id="output_path_pattern_help_empty_col_1"/>
<h:column id="output_path_pattern_help_empty_col_2"/>

View File

@@ -60,7 +60,6 @@
</td>
</tr>
<tr><td>${msg.schema_root_element_name}:</td><td>${WizardManager.bean.schemaRootElementName}</td></tr>
<tr><td>${msg.output_path_pattern}:</td><td>${WizardManager.bean.outputPathPatternForFormInstanceData}</td></tr>
</tbody>
</table>
</jsp:attribute>