From 9b47676741db48e76c4b7b77be54b50ecc40b6e0 Mon Sep 17 00:00:00 2001 From: Kevin Roast Date: Fri, 1 Dec 2006 13:53:38 +0000 Subject: [PATCH] . Edit Web Project wizard - Settings for Forms, Rendering Engines (templates), workflows and workflow config can be modified for a website - DNS name and Default Webapp cannot be changed at present - Fix to saving of workflow names against web project model - Users for a website are not managed in the Edit Web Project Wizard - instead use the Delete Sandbox and Invite Web Project users actions . Preview Snapshot against previous version UI action removed (not being implemented in the vserver for GA) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4485 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- config/alfresco/messages/webclient.properties | 6 +- config/alfresco/web-client-config-dialogs.xml | 12 + .../web-client-config-wcm-actions.xml | 15 ++ config/alfresco/web-client-config-wizards.xml | 32 ++- .../web/bean/wcm/CreateWebsiteWizard.java | 54 +++- .../web/bean/wcm/EditWebsiteWizard.java | 249 ++++++++++++++++++ .../ui/wcm/component/UISandboxSnapshots.java | 7 +- source/web/WEB-INF/faces-config-beans.xml | 92 +++++++ source/web/images/icons/edit_website.gif | Bin 0 -> 601 bytes .../web/images/icons/edit_website_large.gif | Bin 0 -> 1407 bytes .../jsp/wcm/create-website-wizard/details.jsp | 8 +- .../jsp/wcm/create-website-wizard/forms.jsp | 13 +- .../wcm/create-website-wizard/settings.jsp | 3 +- 13 files changed, 465 insertions(+), 26 deletions(-) create mode 100644 source/java/org/alfresco/web/bean/wcm/EditWebsiteWizard.java create mode 100644 source/web/images/icons/edit_website.gif create mode 100644 source/web/images/icons/edit_website_large.gif diff --git a/config/alfresco/messages/webclient.properties b/config/alfresco/messages/webclient.properties index 61e80b2bf6..e1a6e570b9 100644 --- a/config/alfresco/messages/webclient.properties +++ b/config/alfresco/messages/webclient.properties @@ -807,7 +807,7 @@ space_type_note=Note: If you can only see one type of space then other space typ template_space=Template Space select_template=Select the template you want to use. -# Create Website Wizard messages +# Create and Edit Website Wizard messages create_website=Create Web Project create_website_title=Create Web Project Wizard create_website_desc=This wizard helps you create a new web project space. @@ -852,6 +852,10 @@ create_website_step5_title=Step Five - Notify Users create_website_step5_desc=Notify the invited users. create_website_finish_instruction=To close this wizard and create your web project space click Finish. To review or change your selections click Back. create_website_summary_users=Users and Roles +edit_website_title=Edit Web Project Wizard +edit_website_desc=This wizard helps you modify the settings for a web project space. +edit_website_finish_instruction=To close this wizard and save the modified settings for your web project space click Finish. To review or change your selections click Back. +edit_website=Edit Web Project Settings # Invite web users wizard messages invite_website_users=Invite Web Project Users diff --git a/config/alfresco/web-client-config-dialogs.xml b/config/alfresco/web-client-config-dialogs.xml index d72309b06d..ca7717e5b1 100644 --- a/config/alfresco/web-client-config-dialogs.xml +++ b/config/alfresco/web-client-config-dialogs.xml @@ -165,6 +165,18 @@ + + + + + + diff --git a/config/alfresco/web-client-config-wcm-actions.xml b/config/alfresco/web-client-config-wcm-actions.xml index 905e9074d1..9ccb8a7f89 100644 --- a/config/alfresco/web-client-config-wcm-actions.xml +++ b/config/alfresco/web-client-config-wcm-actions.xml @@ -202,6 +202,20 @@ + + + + Write + + edit_website + /images/icons/edit_website.gif + wizard:editWebsite + #{BrowseBean.setupSpaceAction} + + #{actionContext.id} + + + @@ -284,6 +298,7 @@ + diff --git a/config/alfresco/web-client-config-wizards.xml b/config/alfresco/web-client-config-wizards.xml index ef59a73aa1..abff3b489f 100644 --- a/config/alfresco/web-client-config-wizards.xml +++ b/config/alfresco/web-client-config-wizards.xml @@ -5,7 +5,7 @@ - + @@ -47,6 +47,36 @@ + + + + + + + + + + + + + + + + formsList = null; + protected List formsList = null; /** list of form wrapper objects */ - private List forms = null; + protected List forms = null; /** Current form for dialog context */ - private FormWrapper actionForm = null; + protected FormWrapper actionForm = null; /** datamodel for table of selected workflows */ - private DataModel workflowsDataModel = null; + protected DataModel workflowsDataModel = null; /** transient list of workflow UIListItem objects */ - private List workflowsList = null; + protected List workflowsList = null; /** list of workflow wrapper objects */ - private List workflows = null; + protected List workflows = null; /** Current workflow for dialog context */ - private WorkflowWrapper actionWorkflow = null; + protected WorkflowWrapper actionWorkflow = null; // ------------------------------------------------------------------------------ @@ -146,6 +147,7 @@ public class CreateWebsiteWizard extends BaseWizardBean /** * @see org.alfresco.web.bean.dialog.BaseDialogBean#finishImpl(javax.faces.context.FacesContext, java.lang.String) */ + @Override protected String finishImpl(FacesContext context, String outcome) throws Exception { // create the website space in the correct parent folder @@ -209,7 +211,7 @@ public class CreateWebsiteWizard extends BaseWizardBean * * @param nodeRef NodeRef to the web project */ - private void saveWebProjectModel(NodeRef nodeRef) + protected void saveWebProjectModel(NodeRef nodeRef) { Map props = new HashMap(4, 1.0f); @@ -282,7 +284,7 @@ public class CreateWebsiteWizard extends BaseWizardBean for (WorkflowWrapper workflow : this.workflows) { props.clear(); - props.put(ContentModel.PROP_NAME, workflow.getName()); + props.put(WCMAppModel.PROP_WORKFLOW_NAME, workflow.getName()); NodeRef workflowRef = this.nodeService.createNode(nodeRef, WCMAppModel.ASSOC_WEBWORKFLOWDEFAULTS, WCMAppModel.ASSOC_WEBWORKFLOWDEFAULTS, @@ -355,6 +357,22 @@ public class CreateWebsiteWizard extends BaseWizardBean // ------------------------------------------------------------------------------ // Bean getters and setters + /** + * @return Returns the wizard Edit Mode. + */ + public boolean getEditMode() + { + return this.editMode; + } + + /** + * @param editMode The wizard Edit Mode to set. + */ + public void setEditMode(boolean editMode) + { + this.editMode = editMode; + } + /** * @return Returns the name. */ @@ -845,6 +863,18 @@ public class CreateWebsiteWizard extends BaseWizardBean } return this.templates; } + + /** + * @param template to add to the list of PresentationTemplate + */ + public void addTemplate(PresentationTemplate template) + { + if (this.templates == null) + { + this.templates = new ArrayList(4); + } + this.templates.add(template); + } /** * @param templates The presentation templates to set. diff --git a/source/java/org/alfresco/web/bean/wcm/EditWebsiteWizard.java b/source/java/org/alfresco/web/bean/wcm/EditWebsiteWizard.java new file mode 100644 index 0000000000..808ac81cb5 --- /dev/null +++ b/source/java/org/alfresco/web/bean/wcm/EditWebsiteWizard.java @@ -0,0 +1,249 @@ +/* + * 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. + */ +package org.alfresco.web.bean.wcm; + +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.Serializable; +import java.util.List; +import java.util.Map; + +import javax.faces.context.FacesContext; + +import org.alfresco.error.AlfrescoRuntimeException; +import org.alfresco.model.ContentModel; +import org.alfresco.model.WCMAppModel; +import org.alfresco.service.cmr.repository.ChildAssociationRef; +import org.alfresco.service.cmr.repository.ContentReader; +import org.alfresco.service.cmr.repository.ContentService; +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.bean.repository.Repository; +import org.alfresco.web.forms.Form; +import org.alfresco.web.forms.FormsService; +import org.alfresco.web.forms.RenderingEngineTemplate; + +/** + * Backing bean for the Edit Web Project wizard. + * + * @author Kevin Roast + */ +public class EditWebsiteWizard extends CreateWebsiteWizard +{ + // ------------------------------------------------------------------------------ + // Wizard implementation + + /** + * Initialises the wizard + */ + public void init(Map parameters) + { + super.init(parameters); + + // the editMode flag is used to disabled some wizard fields + this.editMode = true; + + NodeRef websiteRef = this.browseBean.getActionSpace().getNodeRef(); + if (websiteRef == null) + { + throw new IllegalArgumentException("Edit Web Project wizard requires action node context."); + } + loadWebProjectModel(websiteRef); + } + + /** + * Restore the forms, templates and workflows from the model for this web project + * + * @param nodeRef NodeRef to the web project + */ + private void loadWebProjectModel(NodeRef nodeRef) + { + // simple properties + this.name = (String)this.nodeService.getProperty(nodeRef, ContentModel.PROP_NAME); + this.title = (String)this.nodeService.getProperty(nodeRef, ContentModel.PROP_TITLE); + this.description = (String)this.nodeService.getProperty(nodeRef, ContentModel.PROP_DESCRIPTION); + this.dnsName = (String)this.nodeService.getProperty(nodeRef, WCMAppModel.PROP_AVMSTORE); + this.webapp = (String)this.nodeService.getProperty(nodeRef, WCMAppModel.PROP_DEFAULTWEBAPP); + + // load the form templates + List webFormRefs = this.nodeService.getChildAssocs( + nodeRef, WCMAppModel.ASSOC_WEBFORM, RegexQNamePattern.MATCH_ALL); + for (ChildAssociationRef ref : webFormRefs) + { + NodeRef formRef = ref.getChildRef(); + + String name = (String)this.nodeService.getProperty(formRef, WCMAppModel.PROP_FORMNAME); + Form formImpl = FormsService.getInstance().getForm(name); + if (formImpl != null) + { + 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)); + form.setFilenamePattern((String)this.nodeService.getProperty(formRef, WCMAppModel.PROP_FILENAMEPATTERN)); + + // the single workflow attached to the form + List workflowRefs = this.nodeService.getChildAssocs( + formRef, WCMAppModel.ASSOC_WORKFLOWDEFAULTS, RegexQNamePattern.MATCH_ALL); + if (workflowRefs.size() == 1) + { + NodeRef wfRef = workflowRefs.get(0).getChildRef(); + String wfName = (String)this.nodeService.getProperty(wfRef, WCMAppModel.PROP_WORKFLOW_NAME); + WorkflowDefinition wfDef = this.workflowService.getDefinitionByName("jbpm$" + wfName); + if (wfDef != null) + { + WorkflowWrapper wfWrapper = new WorkflowWrapper(wfName, wfDef.getTitle()); + wfWrapper.setParams((Map)deserializeWorkflowParams(wfRef)); + if (wfDef.startTaskDefinition != null) + { + wfWrapper.setType(wfDef.startTaskDefinition.metadata.getName()); + } + form.setWorkflow(wfWrapper); + } + } + + // the templates attached to the form + List engineTemplates = formImpl.getRenderingEngineTemplates(); + List templateRefs = this.nodeService.getChildAssocs( + formRef, WCMAppModel.ASSOC_WEBFORMTEMPLATE, RegexQNamePattern.MATCH_ALL); + for (ChildAssociationRef tChildRef : templateRefs) + { + NodeRef templateRef = tChildRef.getChildRef(); + NodeRef engineRef = (NodeRef)this.nodeService.getProperty(templateRef, WCMAppModel.PROP_ENGINE); + for (RenderingEngineTemplate ret : engineTemplates) + { + if (engineRef.equals(ret.getNodeRef())) + { + String filenamePattern = (String)this.nodeService.getProperty(templateRef, + WCMAppModel.PROP_FILENAMEPATTERN); + PresentationTemplate template = new PresentationTemplate(ret, filenamePattern); + form.addTemplate(template); + break; + } + } + } + + this.forms.add(form); + } + } + + // load the workflows associated with the website + List workflowRefs = this.nodeService.getChildAssocs( + nodeRef, WCMAppModel.ASSOC_WEBWORKFLOWDEFAULTS, RegexQNamePattern.MATCH_ALL); + for (ChildAssociationRef wChildRef : workflowRefs) + { + NodeRef wfRef = wChildRef.getChildRef(); + String wfName = (String)this.nodeService.getProperty(wfRef, WCMAppModel.PROP_WORKFLOW_NAME); + WorkflowDefinition wfDef = this.workflowService.getDefinitionByName("jbpm$" + wfName); + if (wfDef != null) + { + WorkflowWrapper wfWrapper = new WorkflowWrapper(wfName, wfDef.getTitle()); + wfWrapper.setParams((Map)deserializeWorkflowParams(wfRef)); + wfWrapper.setFilenamePattern((String)this.nodeService.getProperty( + wfRef, WCMAppModel.PROP_FILENAMEPATTERN)); + if (wfDef.startTaskDefinition != null) + { + wfWrapper.setType(wfDef.startTaskDefinition.metadata.getName()); + } + this.workflows.add(wfWrapper); + } + } + } + + /** + * @see org.alfresco.web.bean.dialog.BaseDialogBean#finishImpl(javax.faces.context.FacesContext, java.lang.String) + */ + @Override + protected String finishImpl(FacesContext context, String outcome) throws Exception + { + NodeRef nodeRef = this.browseBean.getActionSpace().getNodeRef(); + + // apply the name, title and description props + this.nodeService.setProperty(nodeRef, ContentModel.PROP_NAME, this.name); + this.nodeService.setProperty(nodeRef, ContentModel.PROP_TITLE, this.title); + this.nodeService.setProperty(nodeRef, ContentModel.PROP_DESCRIPTION, this.description); + + // clear the existing settings for forms, template and workflows - then the existing methods + // can be used to apply the modified and previous settings from scratch + clearWebProjectModel(nodeRef); + + // TODO: add the ability to change/rename the root webapp and DNS name for the website + + // persist the forms, templates, workflows and workflow defaults to the model for this web project + saveWebProjectModel(nodeRef); + + return AlfrescoNavigationHandler.CLOSE_WIZARD_OUTCOME; + } + + /** + * Cascade delete the existing Form and Workflow defs attached to the specified Web Project node + * + * @param nodeRef Web project node + */ + private void clearWebProjectModel(NodeRef nodeRef) + { + List webFormRefs = nodeService.getChildAssocs( + nodeRef, WCMAppModel.ASSOC_WEBFORM, RegexQNamePattern.MATCH_ALL); + for (ChildAssociationRef ref : webFormRefs) + { + // cascade delete will take case of child-child relationships + this.nodeService.removeChild(nodeRef, ref.getChildRef()); + } + + List wfRefs = nodeService.getChildAssocs( + nodeRef, WCMAppModel.ASSOC_WEBWORKFLOWDEFAULTS, RegexQNamePattern.MATCH_ALL); + for (ChildAssociationRef ref : wfRefs) + { + this.nodeService.removeChild(nodeRef, ref.getChildRef()); + } + } + + /** + * Deserialize the workflow params from a content stream + * + * @param workflowRef The noderef to write the property too + * + * @return Serializable workflow params + */ + private Serializable deserializeWorkflowParams(NodeRef workflowRef) + { + try + { + // restore the serialized Map from a binary content stream - like database blob! + Serializable params = null; + ContentService cs = Repository.getServiceRegistry(FacesContext.getCurrentInstance()).getContentService(); + ContentReader reader = cs.getReader(workflowRef, WCMAppModel.PROP_WORKFLOWDEFAULTS); + if (reader != null) + { + ObjectInputStream ois = new ObjectInputStream(reader.getContentInputStream()); + params = (Serializable)ois.readObject(); + ois.close(); + } + return params; + } + catch (IOException ioErr) + { + throw new AlfrescoRuntimeException("Unable to deserialize workflow default parameters: " + ioErr.getMessage()); + } + catch (ClassNotFoundException classErr) + { + throw new AlfrescoRuntimeException("Unable to deserialize workflow default parameters: " + classErr.getMessage()); + } + } +} diff --git a/source/java/org/alfresco/web/ui/wcm/component/UISandboxSnapshots.java b/source/java/org/alfresco/web/ui/wcm/component/UISandboxSnapshots.java index 840a96ee08..df89cc604c 100644 --- a/source/java/org/alfresco/web/ui/wcm/component/UISandboxSnapshots.java +++ b/source/java/org/alfresco/web/ui/wcm/component/UISandboxSnapshots.java @@ -234,12 +234,13 @@ public class UISandboxSnapshots extends SelfRenderingComponent requestMap.put(REQUEST_SNAPVERSION, Integer.toString(item.getVersionID())); Utils.encodeRecursive(context, action); requestMap.remove(REQUEST_SNAPVERSION); - out.write(" "); + //out.write(" "); - Utils.encodeRecursive(context, aquireAction( + // TODO: restore once preview of a store by version is implemented in vserver + /*Utils.encodeRecursive(context, aquireAction( context, sandbox, ACT_SNAPSHOT_PREVIEW, null, null, null)); - out.write(" "); + out.write(" ");*/ out.write(""); } diff --git a/source/web/WEB-INF/faces-config-beans.xml b/source/web/WEB-INF/faces-config-beans.xml index e26e48bdfe..a42d32fa47 100644 --- a/source/web/WEB-INF/faces-config-beans.xml +++ b/source/web/WEB-INF/faces-config-beans.xml @@ -2162,6 +2162,43 @@ + + + The bean that backs up the Edit Website Wizard + + EditWebsiteWizard + org.alfresco.web.bean.wcm.EditWebsiteWizard + session + + browseBean + #{BrowseBean} + + + nodeService + #{NodeService} + + + fileFolderService + #{FileFolderService} + + + navigator + #{NavigationBean} + + + searchService + #{SearchService} + + + avmService + #{AVMService} + + + workflowService + #{WorkflowService} + + + The bean that backs up the Import Website Dialog @@ -2634,6 +2671,61 @@ + + + The bean that backs up the Edit Form Template Details dialog + + EditFormDetailsDialog + org.alfresco.web.bean.wcm.FormDetailsDialog + session + + avmService + #{AVMService} + + + createWebsiteWizard + #{EditWebsiteWizard} + + + workflowService + #{WorkflowService} + + + + + + The bean that backs up the Edit Form Template Templates dialog + + EditFormTemplatesDialog + org.alfresco.web.bean.wcm.FormTemplatesDialog + session + + avmService + #{AVMService} + + + createWebsiteWizard + #{EditWebsiteWizard} + + + + + + The bean that backs up the Edit Form Template Workflow dialog + + EditFormWorkflowDialog + org.alfresco.web.bean.wcm.FormWorkflowDialog + session + + createWebsiteWizard + #{EditWebsiteWizard} + + + workflowService + #{WorkflowService} + + + diff --git a/source/web/images/icons/edit_website.gif b/source/web/images/icons/edit_website.gif new file mode 100644 index 0000000000000000000000000000000000000000..ebc366641f004c9e5d37a3dfff4a7cbd92e8f13a GIT binary patch literal 601 zcmZ?wbhEHb6krfwc*Xz%|NsAAwq)s!ZQIxN&42Xp(cwdf`}$`Er_~nCKfmh!&)=4o40SCzj*%i>66EgA3c2d;Qsx4=g*(pxpT*j zi>?1}1pU8X`2T75|BnafO{@HQ-tFfF@BeqR|391f|M~R)@3#DZziZyKn)_SK&Mq-Hr8i*%|45O^vVe(_WY7zip}gcJ$Ewj+R%OH}&`Qv@|w0 z*43?8x^(%{r9E9;T^$__b#*6?AAkAc#q(#+fKGq-;KAKHcW&OeasAr0YgeyczI5sA znKOqD9z3vr|GvF@ckkM@Vg35mt5z*vw(QfVPp@9Rdhp=Ety{M)U%q_i%$ZG_HmzU3 ze%`!!ot>Q>9Ub}k`574*z`z6tDzSv(PZmZ7h5`m1kOokkFtBfH2v4<&u#UEkNysYb z=?&tZFp)bwG_JQNm}k~(o+!!q%;_P#OP2DoCMG$#y7h$eZP>Vp-NV_XAWU%A?%f6g zTrBPd;mMqwM~@vdm6zu4i4+2cn3=w+jA4(B@Uc55HPmG_doxm=Jx?*$R#7tP4HP-{ z@tA^|vetAq(cgb8^yC!NVqPU3j5x@`k+LO0@xi6(+yct$3@@v>PxfXu$hh;Ot(T3* ZN00I2L*i+i}0yn9gSn9xF4FChmLCgRE literal 0 HcmV?d00001 diff --git a/source/web/images/icons/edit_website_large.gif b/source/web/images/icons/edit_website_large.gif new file mode 100644 index 0000000000000000000000000000000000000000..ee8cbcae6e8d50c361c6acd6bcaed8fe84a8e129 GIT binary patch literal 1407 zcmds$`CAfp0EaPs6qlus9jnwrGaogcE}f~>N}raLZE1(C9NC8cMj8@1HT zKd#pi;Gpk2(0>uABEb7wVB`@PeQc5(H%Yz*JqXYr29(#p`xr2E7ib@Vv1edB4@~3( zJsnI}ftfeJ*a+shVBsBDl!7INxWGYK?y6%Q(D8nrALE(~?aet(Jc4swCafmQuK{<0 zmgf66C0xnP)hQ~d_!MQYwBhAh=JT^G;?)LHq_`&OO~Gv@If0ym>K0UK-uHFAYt;^P zW~4vR9`zhW9G{d+*XL%(Le7jt{h*Gxs*gvqe+<*7qURa(W%gUSzqcwe?$f7F>+9=l zYil1re*Ey^gUMuCU0q#SSy^6QURqjOTwGjOSeT!mpPQSTot-rrjWaVd27_UGdU|SV zO0U;XPEJltOpK3@>vX!Yv9Zz7(UFmn;o)JeR;$ryhK7a)2M5(^wMwNL7#L70mHqww zeSLjBJv|DAqPx4htE)>cm&;@_sZ`q8*(s4o#A0zrM@M^myHF?;2n20yZ9E>2%jI%7 z95$QX+S=OE($d`A+|<<6*x1NovFhvVnM`I~U0rQ$ZB0$ht5>h8s;Vk0D=R80%FD|c z3`R*wNpW#8olY+*Dx%S76bhxVu#ik97Zeoa=jRiNL;``3o12@Gl9HU992*-O9UUDO z7WQu;|CRDTgtN)Q3<7C@z(2cv{saUHAaT}?h#D&A5!9&R(2=%#PNr?JcDVr!E&3+g zg=YPzhFW+ay#AK_bw+UB!3b`q^Cf|}U;;k{1&3&?TvY zPl3hM1d$K*>GLm*U%JG<` z#2!xazH^|#51kd_fPE~&d7OISV^FbfH%A(FITszd8EYl|b}fh2TW#yq+oc zUZn1EQanF_Z*Jp$3bH+H$0F1rM!h{UwZTk|v9NPZV+Y`vasles5X5zh<5XO_)mHC# zoU3`0Hu7n2i&;>5f+(GDyC0XvvGj+XZg+@NZ+FeuB8taAw<)L=fdsyp5OqP2%(nB) zjyJP8?TW literal 0 HcmV?d00001 diff --git a/source/web/jsp/wcm/create-website-wizard/details.jsp b/source/web/jsp/wcm/create-website-wizard/details.jsp index 18d85e7629..6359313c66 100644 --- a/source/web/jsp/wcm/create-website-wizard/details.jsp +++ b/source/web/jsp/wcm/create-website-wizard/details.jsp @@ -34,7 +34,6 @@ document.getElementById("wizard:wizard-body:name").focus(); document.getElementById("wizard").onsubmit = validate; document.getElementById("wizard:next-button").onclick = function() {finishButtonPressed = true; clear_wizard();} - document.getElementById("wizard:finish-button").onclick = function() {finishButtonPressed = true; clear_wizard();} checkButtonState(); } @@ -44,12 +43,10 @@ document.getElementById("wizard:wizard-body:dnsname").value.length < 2) { document.getElementById("wizard:next-button").disabled = true; - document.getElementById("wizard:finish-button").disabled = true; } else { document.getElementById("wizard:next-button").disabled = false; - document.getElementById("wizard:finish-button").disabled = false; } } @@ -116,7 +113,7 @@ + onkeyup="javascript:checkButtonState();" disabled="#{WizardManager.bean.editMode}" /> @@ -129,7 +126,8 @@ - + diff --git a/source/web/jsp/wcm/create-website-wizard/forms.jsp b/source/web/jsp/wcm/create-website-wizard/forms.jsp index 36a6d9fbaa..dcc7da8b2a 100644 --- a/source/web/jsp/wcm/create-website-wizard/forms.jsp +++ b/source/web/jsp/wcm/create-website-wizard/forms.jsp @@ -58,9 +58,16 @@ - - - + + + + + + + + + + - + +