mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Merged V2.2 to HEAD
7575: Permission changes for AVM. 7577: Incorporated most of the feedback provided by Kevin C earlier today 7578: Removed directory not removed by patch 7579: EmailServer bug fixes AR-1902: Double posts when emailing to a document AR-1904: Attachments via email should be allowed on forum posts AR-1903: (Partial Fix) Text attachments should be treated the same way as other attachments 7583: Fixed WCM-961 & WCM-962: Added confirm dialog for 'Delete All Deployment Reports' and 'Release Server' actions git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@8434 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -129,6 +129,7 @@ new_category_description=Enter information about the new Category then click Cre
|
||||
status_message_default=No messages.
|
||||
no_icons_found=No icons found
|
||||
required_field=Required Field
|
||||
no_data=--
|
||||
|
||||
# UI Component messages
|
||||
yes=Yes
|
||||
@@ -1140,6 +1141,11 @@ pending_promote=Submit Now
|
||||
pending_abort=Abort Submission
|
||||
task_done_resubmit_all=Task Done & Re-Submit All
|
||||
delete_all_deploy_reports=Delete All Deploy Reports
|
||||
delete_reports_info=To remove all deployment reports in the web project, click Yes.
|
||||
delete_reports_confirm=Are you sure you want to delete all deployment reports across all sandboxes in this webproject?
|
||||
release_server_title=Release Test Server
|
||||
release_server_info=To release the test server from this sandbox, click Yes.
|
||||
release_server_confirm=Are you sure you want to release the test server allocated to this sandbox?
|
||||
|
||||
# Website actions and dialog messages
|
||||
title_import_content=Web Project Bulk Import
|
||||
@@ -1247,6 +1253,7 @@ deploy_server_allocated=Allocated
|
||||
deploy_server_source_path=Source Path
|
||||
deploy_server_excludes=Excludes
|
||||
deploy_server_target_name=Target Name
|
||||
deploy_server_include_auto_deploy=Include In Auto Deploy
|
||||
deploy_automatically=Auto Deploy
|
||||
deploy_automatically_info=This will deploy the changes from this submission upon approval.
|
||||
deploy_attempt_date=Attempt Date
|
||||
@@ -1264,6 +1271,8 @@ edit_alf_deploy_server_info=Edit details of the Alfresco Server Receiver
|
||||
edit_file_deploy_server_info=Edit details of the File System Receiver
|
||||
reason=Reason
|
||||
snapshot=Snapshot
|
||||
current_working_version=current working version
|
||||
review_sandbox=Review Sandbox
|
||||
content_launch=Content Launch
|
||||
launch_date=Launch Date
|
||||
expiration_date_header=Content Expiration
|
||||
|
@@ -282,6 +282,14 @@
|
||||
icon="/images/icons/deploy_large.gif" title-id="monitor_deployment_title"
|
||||
description-id="monitor_deployment_desc" show-ok-button="false" />
|
||||
|
||||
<dialog name="deleteDeploymentReports" page="/jsp/dialog/delete.jsp"
|
||||
managed-bean="DeleteDeploymentReportsDialog" icon="/images/icons/delete_large.gif"
|
||||
title-id="delete_all_deploy_reports" description-id="delete_reports_info" />
|
||||
|
||||
<dialog name="releaseTestServer" page="/jsp/dialog/delete.jsp"
|
||||
managed-bean="ReleaseTestServerDialog" icon="/images/icons/deploy_server_large.gif"
|
||||
title-id="release_server_title" description-id="release_server_info" />
|
||||
|
||||
<dialog name="linkValidation" page="/jsp/wcm/link-validation.jsp"
|
||||
managed-bean="LinkValidationDialog"
|
||||
icon="/images/icons/link_validation_report_large.gif"
|
||||
|
@@ -286,7 +286,7 @@
|
||||
</permissions>
|
||||
<label-id>delete_all_deploy_reports</label-id>
|
||||
<image>/images/icons/delete_deploy_reports.gif</image>
|
||||
<action>#{AVMBrowseBean.deleteAllDeploymentReports}</action>
|
||||
<action>dialog:deleteDeploymentReports</action>
|
||||
<action-listener>#{BrowseBean.setupSpaceAction}</action-listener>
|
||||
<params>
|
||||
<param name="id">#{actionContext.id}</param>
|
||||
|
@@ -50,8 +50,6 @@ import org.alfresco.repo.avm.AVMNodeConverter;
|
||||
import org.alfresco.repo.avm.actions.AVMRevertStoreAction;
|
||||
import org.alfresco.repo.avm.actions.AVMUndoSandboxListAction;
|
||||
import org.alfresco.repo.domain.PropertyValue;
|
||||
import org.alfresco.repo.transaction.RetryingTransactionHelper;
|
||||
import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;
|
||||
import org.alfresco.sandbox.SandboxConstants;
|
||||
import org.alfresco.service.cmr.action.Action;
|
||||
import org.alfresco.service.cmr.action.ActionService;
|
||||
@@ -60,7 +58,6 @@ import org.alfresco.service.cmr.avm.AVMService;
|
||||
import org.alfresco.service.cmr.avm.AVMStoreDescriptor;
|
||||
import org.alfresco.service.cmr.avmsync.AVMDifference;
|
||||
import org.alfresco.service.cmr.avmsync.AVMSyncService;
|
||||
import org.alfresco.service.cmr.repository.ChildAssociationRef;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
import org.alfresco.service.cmr.repository.NodeService;
|
||||
import org.alfresco.service.cmr.repository.StoreRef;
|
||||
@@ -71,7 +68,6 @@ import org.alfresco.service.cmr.search.SearchParameters;
|
||||
import org.alfresco.service.cmr.search.SearchService;
|
||||
import org.alfresco.service.cmr.workflow.WorkflowService;
|
||||
import org.alfresco.service.namespace.QName;
|
||||
import org.alfresco.service.namespace.RegexQNamePattern;
|
||||
import org.alfresco.util.Pair;
|
||||
import org.alfresco.util.VirtServerUtils;
|
||||
import org.alfresco.web.app.Application;
|
||||
@@ -1422,125 +1418,6 @@ public class AVMBrowseBean implements IContextListener
|
||||
AVMUtil.updateVServerWebapp(webappPath, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Releases the test server allocated to the store
|
||||
*/
|
||||
public void releaseTestServer(ActionEvent event)
|
||||
{
|
||||
UIActionLink link = (UIActionLink)event.getComponent();
|
||||
Map<String, String> params = link.getParameterMap();
|
||||
String store = params.get("store");
|
||||
|
||||
if (store != null)
|
||||
{
|
||||
UserTransaction tx = null;
|
||||
try
|
||||
{
|
||||
FacesContext context = FacesContext.getCurrentInstance();
|
||||
tx = Repository.getUserTransaction(context, false);
|
||||
tx.begin();
|
||||
|
||||
NodeRef testServer = DeploymentUtil.findAllocatedTestServer(store);
|
||||
if (testServer != null)
|
||||
{
|
||||
getNodeService().setProperty(testServer,
|
||||
WCMAppModel.PROP_DEPLOYSERVERALLOCATEDTO, null);
|
||||
|
||||
if (logger.isDebugEnabled())
|
||||
logger.debug("Released test server '" + testServer + "' from store: " + store);
|
||||
}
|
||||
|
||||
tx.commit();
|
||||
}
|
||||
catch (Throwable err)
|
||||
{
|
||||
Utils.addErrorMessage(MessageFormat.format(Application.getMessage(
|
||||
FacesContext.getCurrentInstance(), Repository.ERROR_GENERIC), err.getMessage()), err);
|
||||
try { if (tx != null) {tx.rollback();} } catch (Exception tex) {}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes all deploymentreport nodes associated with the web project
|
||||
*/
|
||||
public String deleteAllDeploymentReports()
|
||||
{
|
||||
FacesContext context = FacesContext.getCurrentInstance();
|
||||
RetryingTransactionHelper txnHelper = Repository.getRetryingTransactionHelper(context);
|
||||
RetryingTransactionCallback<String> callback = new RetryingTransactionCallback<String>()
|
||||
{
|
||||
@SuppressWarnings("unchecked")
|
||||
public String execute() throws Throwable
|
||||
{
|
||||
// just in case there are any left, iterate through any old deploymentreport
|
||||
// associations from the current web project and delete them.
|
||||
List<ChildAssociationRef> deployReportRefs = nodeService.getChildAssocs(
|
||||
getWebsite().getNodeRef(), WCMAppModel.ASSOC_DEPLOYMENTREPORT,
|
||||
RegexQNamePattern.MATCH_ALL);
|
||||
int count = deployReportRefs.size();
|
||||
for (ChildAssociationRef ref : deployReportRefs)
|
||||
{
|
||||
NodeRef report = ref.getChildRef();
|
||||
if (report != null)
|
||||
{
|
||||
// remove the node
|
||||
nodeService.deleteNode(report);
|
||||
}
|
||||
}
|
||||
|
||||
// iterate through all deploymentattempt associations from the current
|
||||
// web project and delete them.
|
||||
List<ChildAssociationRef> deployAttemptRefs = nodeService.getChildAssocs(
|
||||
getWebsite().getNodeRef(), WCMAppModel.ASSOC_DEPLOYMENTATTEMPT,
|
||||
RegexQNamePattern.MATCH_ALL);
|
||||
count += deployAttemptRefs.size();
|
||||
for (ChildAssociationRef ref : deployAttemptRefs)
|
||||
{
|
||||
NodeRef attempt = ref.getChildRef();
|
||||
if (attempt != null)
|
||||
{
|
||||
// remove the node
|
||||
nodeService.deleteNode(attempt);
|
||||
}
|
||||
}
|
||||
|
||||
// remove the old properties in case they are still present
|
||||
nodeService.removeProperty(getWebsite().getNodeRef(),
|
||||
WCMAppModel.PROP_DEPLOYTO);
|
||||
nodeService.removeProperty(getWebsite().getNodeRef(),
|
||||
WCMAppModel.PROP_SELECTEDDEPLOYTO);
|
||||
nodeService.removeProperty(getWebsite().getNodeRef(),
|
||||
WCMAppModel.PROP_SELECTEDDEPLOYVERSION);
|
||||
|
||||
// remove the hasBeenDeployed object from the session so it gets
|
||||
// re-evaluated (and disappears)
|
||||
Map request = FacesContext.getCurrentInstance().
|
||||
getExternalContext().getRequestMap();
|
||||
request.remove(REQUEST_BEEN_DEPLOYED_RESULT);
|
||||
|
||||
if (logger.isDebugEnabled())
|
||||
logger.debug("Removed " + count + " previous deployment attempts");
|
||||
|
||||
return null;
|
||||
}
|
||||
};
|
||||
|
||||
try
|
||||
{
|
||||
// Execute
|
||||
txnHelper.doInTransaction(callback);
|
||||
}
|
||||
catch (Exception err)
|
||||
{
|
||||
Utils.addErrorMessage(MessageFormat.format(Application.getMessage(
|
||||
FacesContext.getCurrentInstance(), Repository.ERROR_GENERIC),
|
||||
err.getMessage()), err);
|
||||
}
|
||||
|
||||
return "browseWebsite";
|
||||
}
|
||||
|
||||
/**
|
||||
* Undo changes to a single node
|
||||
*/
|
||||
|
@@ -956,12 +956,12 @@ public final class AVMUtil
|
||||
}
|
||||
|
||||
// Component Separator.
|
||||
/*package*/ static final String STORE_SEPARATOR = "--";
|
||||
public static final String STORE_SEPARATOR = "--";
|
||||
|
||||
// names of the stores representing the layers for an AVM website
|
||||
//XXXarielb this should be private
|
||||
/*package*/ final static String STORE_WORKFLOW = "workflow";
|
||||
private final static String STORE_PREVIEW = "preview";
|
||||
public final static String STORE_WORKFLOW = "workflow";
|
||||
public final static String STORE_PREVIEW = "preview";
|
||||
|
||||
// servlet default webapp
|
||||
// Note: this webapp is mapped to the URL path ""
|
||||
|
@@ -0,0 +1,160 @@
|
||||
/*
|
||||
* Copyright (C) 2005-2007 Alfresco Software Limited.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
* As a special exception to the terms and conditions of version 2.0 of
|
||||
* the GPL, you may redistribute this Program in connection with Free/Libre
|
||||
* and Open Source Software ("FLOSS") applications as described in Alfresco's
|
||||
* FLOSS exception. You should have recieved a copy of the text describing
|
||||
* the FLOSS exception, and it is also available here:
|
||||
* http://www.alfresco.com/legal/licensing"
|
||||
*/
|
||||
package org.alfresco.web.bean.wcm;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.faces.context.FacesContext;
|
||||
|
||||
import org.alfresco.model.WCMAppModel;
|
||||
import org.alfresco.service.cmr.repository.ChildAssociationRef;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
import org.alfresco.service.cmr.repository.NodeService;
|
||||
import org.alfresco.service.namespace.RegexQNamePattern;
|
||||
import org.alfresco.web.app.AlfrescoNavigationHandler;
|
||||
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 "Delete Deployment Reports" dialog
|
||||
*
|
||||
* @author gavinc
|
||||
*/
|
||||
public class DeleteDeploymentReportsDialog extends BaseDialogBean
|
||||
{
|
||||
protected AVMBrowseBean avmBrowseBean;
|
||||
|
||||
private static final long serialVersionUID = -3702005115210010993L;
|
||||
|
||||
private static final Log logger = LogFactory.getLog(DeleteDeploymentReportsDialog.class);
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
// Dialog implementation
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
protected String finishImpl(FacesContext context, String outcome)
|
||||
throws Exception
|
||||
{
|
||||
// get the node service and the website we are deleting reports for
|
||||
NodeService nodeService = this.getNodeService();
|
||||
NodeRef websiteRef = this.avmBrowseBean.getWebsite().getNodeRef();
|
||||
|
||||
// just in case there are any left, iterate through any old deploymentreport
|
||||
// associations from the current web project and delete them.
|
||||
List<ChildAssociationRef> deployReportRefs = nodeService.getChildAssocs(
|
||||
websiteRef, WCMAppModel.ASSOC_DEPLOYMENTREPORT,
|
||||
RegexQNamePattern.MATCH_ALL);
|
||||
int count = deployReportRefs.size();
|
||||
for (ChildAssociationRef ref : deployReportRefs)
|
||||
{
|
||||
NodeRef report = ref.getChildRef();
|
||||
if (report != null)
|
||||
{
|
||||
// remove the node
|
||||
nodeService.deleteNode(report);
|
||||
}
|
||||
}
|
||||
|
||||
// iterate through all deploymentattempt associations from the current
|
||||
// web project and delete them.
|
||||
List<ChildAssociationRef> deployAttemptRefs = nodeService.getChildAssocs(
|
||||
websiteRef, WCMAppModel.ASSOC_DEPLOYMENTATTEMPT,
|
||||
RegexQNamePattern.MATCH_ALL);
|
||||
count += deployAttemptRefs.size();
|
||||
for (ChildAssociationRef ref : deployAttemptRefs)
|
||||
{
|
||||
NodeRef attempt = ref.getChildRef();
|
||||
if (attempt != null)
|
||||
{
|
||||
// remove the node
|
||||
nodeService.deleteNode(attempt);
|
||||
}
|
||||
}
|
||||
|
||||
// remove the old properties in case they are still present
|
||||
nodeService.removeProperty(websiteRef,
|
||||
WCMAppModel.PROP_DEPLOYTO);
|
||||
nodeService.removeProperty(websiteRef,
|
||||
WCMAppModel.PROP_SELECTEDDEPLOYTO);
|
||||
nodeService.removeProperty(websiteRef,
|
||||
WCMAppModel.PROP_SELECTEDDEPLOYVERSION);
|
||||
|
||||
// remove the hasBeenDeployed object from the session so it gets
|
||||
// re-evaluated (and disappears)
|
||||
Map request = FacesContext.getCurrentInstance().
|
||||
getExternalContext().getRequestMap();
|
||||
request.remove(AVMBrowseBean.REQUEST_BEEN_DEPLOYED_RESULT);
|
||||
|
||||
if (logger.isDebugEnabled())
|
||||
logger.debug("Removed " + count + " previous deployment attempts");
|
||||
|
||||
// close dialog and refresh website view
|
||||
return AlfrescoNavigationHandler.CLOSE_DIALOG_OUTCOME +
|
||||
AlfrescoNavigationHandler.OUTCOME_SEPARATOR + "browseWebsite";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getFinishButtonDisabled()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getFinishButtonLabel()
|
||||
{
|
||||
return Application.getMessage(FacesContext.getCurrentInstance(), "yes");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getCancelButtonLabel()
|
||||
{
|
||||
return Application.getMessage(FacesContext.getCurrentInstance(), "no");
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
// Bean Getters and Setters
|
||||
|
||||
/**
|
||||
* @param avmBrowseBean The AVM BrowseBean to set
|
||||
*/
|
||||
public void setAvmBrowseBean(AVMBrowseBean avmBrowseBean)
|
||||
{
|
||||
this.avmBrowseBean = avmBrowseBean;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the confirmation to display to the user before deleting the reports.
|
||||
*
|
||||
* @return The message to display
|
||||
*/
|
||||
public String getConfirmMessage()
|
||||
{
|
||||
return Application.getMessage(FacesContext.getCurrentInstance(), "delete_reports_confirm");
|
||||
}
|
||||
}
|
@@ -0,0 +1,118 @@
|
||||
/*
|
||||
* Copyright (C) 2005-2007 Alfresco Software Limited.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
* As a special exception to the terms and conditions of version 2.0 of
|
||||
* the GPL, you may redistribute this Program in connection with Free/Libre
|
||||
* and Open Source Software ("FLOSS") applications as described in Alfresco's
|
||||
* FLOSS exception. You should have recieved a copy of the text describing
|
||||
* the FLOSS exception, and it is also available here:
|
||||
* http://www.alfresco.com/legal/licensing"
|
||||
*/
|
||||
package org.alfresco.web.bean.wcm;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import javax.faces.context.FacesContext;
|
||||
|
||||
import org.alfresco.model.WCMAppModel;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
import org.alfresco.web.app.AlfrescoNavigationHandler;
|
||||
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 "Release Test Server" dialog
|
||||
*
|
||||
* @author gavinc
|
||||
*/
|
||||
public class ReleaseTestServerDialog extends BaseDialogBean
|
||||
{
|
||||
protected String store;
|
||||
|
||||
private static final long serialVersionUID = -3702005115210010993L;
|
||||
|
||||
private static final Log logger = LogFactory.getLog(ReleaseTestServerDialog.class);
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
// Dialog implementation
|
||||
|
||||
@Override
|
||||
public void init(Map<String, String> parameters)
|
||||
{
|
||||
super.init(parameters);
|
||||
|
||||
this.store = parameters.get("store");
|
||||
|
||||
if (this.store == null || this.store.length() == 0)
|
||||
{
|
||||
throw new IllegalArgumentException("store parameter is mandatory");
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
protected String finishImpl(FacesContext context, String outcome)
|
||||
throws Exception
|
||||
{
|
||||
NodeRef testServer = DeploymentUtil.findAllocatedTestServer(this.store);
|
||||
if (testServer != null)
|
||||
{
|
||||
getNodeService().setProperty(testServer,
|
||||
WCMAppModel.PROP_DEPLOYSERVERALLOCATEDTO, null);
|
||||
|
||||
if (logger.isDebugEnabled())
|
||||
logger.debug("Released test server '" + testServer + "' from store: " + this.store);
|
||||
}
|
||||
|
||||
// close dialog and refresh website view
|
||||
return AlfrescoNavigationHandler.CLOSE_DIALOG_OUTCOME +
|
||||
AlfrescoNavigationHandler.OUTCOME_SEPARATOR + "browseWebsite";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getFinishButtonDisabled()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getFinishButtonLabel()
|
||||
{
|
||||
return Application.getMessage(FacesContext.getCurrentInstance(), "yes");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getCancelButtonLabel()
|
||||
{
|
||||
return Application.getMessage(FacesContext.getCurrentInstance(), "no");
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
// Bean Getters and Setters
|
||||
|
||||
/**
|
||||
* Returns the confirmation to display to the user before deleting the reports.
|
||||
*
|
||||
* @return The message to display
|
||||
*/
|
||||
public String getConfirmMessage()
|
||||
{
|
||||
return Application.getMessage(FacesContext.getCurrentInstance(), "release_server_confirm");
|
||||
}
|
||||
}
|
@@ -371,9 +371,16 @@ public class UIDeploymentReports extends SelfRenderingComponent
|
||||
out.write("</nobr></td><td>");
|
||||
out.write(attempt.getServers());
|
||||
out.write("</td><td>");
|
||||
if (attempt.getVersion() != null)
|
||||
Integer version = attempt.getVersion();
|
||||
if (version != null)
|
||||
{
|
||||
out.write(attempt.getVersion().toString());
|
||||
out.write(version.toString());
|
||||
if (version.intValue() == -1)
|
||||
{
|
||||
out.write(" (");
|
||||
out.write(bundle.getString("current_working_version"));
|
||||
out.write(")");
|
||||
}
|
||||
}
|
||||
out.write("</td></tr>");
|
||||
}
|
||||
@@ -527,6 +534,7 @@ public class UIDeploymentReports extends SelfRenderingComponent
|
||||
content = reader.getContentString();
|
||||
if (content != null)
|
||||
{
|
||||
content = Utils.encode(content);
|
||||
content = StringUtils.replace(content, "\r\n", "<br/>");
|
||||
}
|
||||
else
|
||||
@@ -673,7 +681,7 @@ public class UIDeploymentReports extends SelfRenderingComponent
|
||||
out.write("<div id='");
|
||||
out.write(serverId.toString());
|
||||
out.write("-deployment-details' style='display: none; border: 1px dotted #eee; margin-left: 14px; margin-top: 4px; padding:3px;'>");
|
||||
out.write(Utils.encode(content));
|
||||
out.write(content);
|
||||
out.write("</div>");
|
||||
}
|
||||
out.write("\n<div style='padding-top:6px;'></div>\n");
|
||||
|
@@ -48,6 +48,7 @@ import org.alfresco.repo.avm.actions.AVMDeployWebsiteAction;
|
||||
import org.alfresco.web.app.Application;
|
||||
import org.alfresco.web.app.servlet.FacesHelper;
|
||||
import org.alfresco.web.bean.repository.Repository;
|
||||
import org.alfresco.web.bean.wcm.AVMUtil;
|
||||
import org.alfresco.web.bean.wcm.DeploymentServerConfig;
|
||||
import org.alfresco.web.ui.common.ComponentConstants;
|
||||
import org.alfresco.web.ui.common.PanelGenerator;
|
||||
@@ -76,10 +77,11 @@ public class UIDeploymentServers extends UIInput
|
||||
private static final String MSG_SOURCE = "deploy_server_source_path";
|
||||
private static final String MSG_TARGET = "deploy_server_target_name";
|
||||
private static final String MSG_EXCLUDES = "deploy_server_excludes";
|
||||
private static final String MSG_AUTO_DEPLOY = "deploy_automatically";
|
||||
private static final String MSG_INCLUDE_AUTO_DEPLOY = "deploy_server_include_auto_deploy";
|
||||
private static final String MSG_EDIT = "edit_deploy_server";
|
||||
private static final String MSG_DELETE = "delete_deploy_server";
|
||||
private static final String MSG_NO_DEPLOY_SERVERS = "no_deploy_servers";
|
||||
private static final String MSG_NO_DATA = "no_data";
|
||||
|
||||
private List<DeploymentServerConfig> servers;
|
||||
private DeploymentServerConfig currentServer;
|
||||
@@ -319,6 +321,7 @@ public class UIDeploymentServers extends UIInput
|
||||
{
|
||||
String contextPath = context.getExternalContext().getRequestContextPath();
|
||||
ResourceBundle bundle = Application.getBundle(context);
|
||||
String noData = bundle.getString(MSG_NO_DATA);
|
||||
|
||||
String serverName = (String)server.getProperties().get(DeploymentServerConfig.PROP_NAME);
|
||||
if (serverName == null || serverName.length() == 0)
|
||||
@@ -358,6 +361,10 @@ public class UIDeploymentServers extends UIInput
|
||||
{
|
||||
out.write((String)server.getProperties().get(DeploymentServerConfig.PROP_PORT));
|
||||
}
|
||||
else
|
||||
{
|
||||
out.write(noData);
|
||||
}
|
||||
out.write("</td></tr>");
|
||||
|
||||
out.write("<tr><td align='right'>");
|
||||
@@ -384,6 +391,10 @@ public class UIDeploymentServers extends UIInput
|
||||
{
|
||||
out.write(Utils.encode((String)server.getProperties().get(DeploymentServerConfig.PROP_URL)));
|
||||
}
|
||||
else
|
||||
{
|
||||
out.write(noData);
|
||||
}
|
||||
out.write("</td></tr>");
|
||||
|
||||
out.write("<tr><td align='right'>");
|
||||
@@ -393,6 +404,10 @@ public class UIDeploymentServers extends UIInput
|
||||
{
|
||||
out.write(Utils.encode((String)server.getProperties().get(DeploymentServerConfig.PROP_USER)));
|
||||
}
|
||||
else
|
||||
{
|
||||
out.write(noData);
|
||||
}
|
||||
out.write("</td></tr></table></td>");
|
||||
out.write("<td valign='top'><table cellpadding='3' cellspacing='0' class='deployConfigServerDetailsRightCol'>");
|
||||
|
||||
@@ -403,6 +418,10 @@ public class UIDeploymentServers extends UIInput
|
||||
{
|
||||
out.write(Utils.encode((String)server.getProperties().get(DeploymentServerConfig.PROP_SOURCE_PATH)));
|
||||
}
|
||||
else
|
||||
{
|
||||
out.write(noData);
|
||||
}
|
||||
out.write("</td></tr>");
|
||||
|
||||
out.write("<tr><td align='right'><nobr>");
|
||||
@@ -412,6 +431,10 @@ public class UIDeploymentServers extends UIInput
|
||||
{
|
||||
out.write(Utils.encode((String)server.getProperties().get(DeploymentServerConfig.PROP_EXCLUDES)));
|
||||
}
|
||||
else
|
||||
{
|
||||
out.write(noData);
|
||||
}
|
||||
out.write("</td></tr>");
|
||||
|
||||
if (WCMAppModel.CONSTRAINT_FILEDEPLOY.equals(server.getDeployType()))
|
||||
@@ -423,6 +446,10 @@ public class UIDeploymentServers extends UIInput
|
||||
{
|
||||
out.write(Utils.encode((String)server.getProperties().get(DeploymentServerConfig.PROP_TARGET_NAME)));
|
||||
}
|
||||
else
|
||||
{
|
||||
out.write(noData);
|
||||
}
|
||||
out.write("</td></tr>");
|
||||
}
|
||||
|
||||
@@ -430,7 +457,7 @@ public class UIDeploymentServers extends UIInput
|
||||
server.getProperties().get(DeploymentServerConfig.PROP_TYPE)))
|
||||
{
|
||||
out.write("<tr><td align='right'><nobr>");
|
||||
out.write(bundle.getString(MSG_AUTO_DEPLOY));
|
||||
out.write(bundle.getString(MSG_INCLUDE_AUTO_DEPLOY));
|
||||
out.write(":</nobr></td><td>");
|
||||
if (server.getProperties().get(DeploymentServerConfig.PROP_ON_APPROVAL) != null)
|
||||
{
|
||||
@@ -459,9 +486,22 @@ public class UIDeploymentServers extends UIInput
|
||||
DeploymentServerConfig.PROP_ALLOCATED_TO);
|
||||
out.write("<span title='");
|
||||
out.write(allocatedToTip);
|
||||
out.write("'>");
|
||||
out.write("'><nobr>");
|
||||
out.write(bundle.getString("yes"));
|
||||
out.write("</span>");
|
||||
out.write(" (");
|
||||
if (allocatedToTip.indexOf(
|
||||
AVMUtil.STORE_SEPARATOR + AVMUtil.STORE_WORKFLOW + "-") != -1)
|
||||
{
|
||||
out.write(bundle.getString("review_sandbox"));
|
||||
}
|
||||
else
|
||||
{
|
||||
String username = allocatedToTip.substring(
|
||||
allocatedToTip.indexOf(AVMUtil.STORE_SEPARATOR) +
|
||||
AVMUtil.STORE_SEPARATOR.length());
|
||||
out.write(username);
|
||||
}
|
||||
out.write(")</nobr></span>");
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -716,9 +756,7 @@ public class UIDeploymentServers extends UIInput
|
||||
}
|
||||
|
||||
// create the auto deploy checkbox
|
||||
out.write("<tr><td align='right'><span id='autoDeployLabel'>");
|
||||
out.write(bundle.getString(MSG_AUTO_DEPLOY));
|
||||
out.write(":</td><td>");
|
||||
out.write("<tr><td align='right'></td><td>");
|
||||
UIComponent auto = context.getApplication().createComponent(
|
||||
UISelectBoolean.COMPONENT_TYPE);
|
||||
FacesHelper.setupComponentId(context, auto, "autoDeployCheckbox");
|
||||
@@ -728,6 +766,8 @@ public class UIDeploymentServers extends UIInput
|
||||
auto.setValueBinding("value", vbAuto);
|
||||
this.getChildren().add(auto);
|
||||
Utils.encodeRecursive(context, auto);
|
||||
out.write("<span id='autoDeployLabel'> ");
|
||||
out.write(bundle.getString(MSG_INCLUDE_AUTO_DEPLOY));
|
||||
out.write("</td></tr>");
|
||||
|
||||
// create and add the cancel button
|
||||
|
@@ -46,8 +46,6 @@ import javax.transaction.UserTransaction;
|
||||
|
||||
import org.alfresco.model.WCMAppModel;
|
||||
import org.alfresco.repo.avm.AVMNodeConverter;
|
||||
import org.alfresco.repo.domain.PropertyValue;
|
||||
import org.alfresco.sandbox.SandboxConstants;
|
||||
import org.alfresco.service.cmr.avm.AVMNodeDescriptor;
|
||||
import org.alfresco.service.cmr.avm.AVMService;
|
||||
import org.alfresco.service.cmr.avmsync.AVMDifference;
|
||||
@@ -65,8 +63,8 @@ import org.alfresco.web.app.servlet.FacesHelper;
|
||||
import org.alfresco.web.bean.BrowseBean;
|
||||
import org.alfresco.web.bean.repository.Repository;
|
||||
import org.alfresco.web.bean.repository.User;
|
||||
import org.alfresco.web.bean.wcm.AVMUtil;
|
||||
import org.alfresco.web.bean.wcm.AVMNode;
|
||||
import org.alfresco.web.bean.wcm.AVMUtil;
|
||||
import org.alfresco.web.bean.wcm.DeploymentUtil;
|
||||
import org.alfresco.web.bean.wcm.WebProject;
|
||||
import org.alfresco.web.config.ClientConfigElement;
|
||||
@@ -491,7 +489,8 @@ public class UIUserSandboxes extends SelfRenderingComponent implements Serializa
|
||||
{
|
||||
UIActionLink releaseServer = createAction(context, mainStore, username,
|
||||
ACT_SANDBOX_RELEASE_SERVER, "/images/icons/release_server.gif",
|
||||
"#{AVMBrowseBean.releaseTestServer}", null, null, null, false);
|
||||
"#{DialogManager.setupParameters}", "dialog:releaseTestServer",
|
||||
null, null, false);
|
||||
menu.getChildren().add(releaseServer);
|
||||
}
|
||||
|
||||
|
@@ -4081,6 +4081,36 @@
|
||||
</managed-property>
|
||||
</managed-bean>
|
||||
|
||||
<managed-bean>
|
||||
<description>
|
||||
The bean that backs up the Delete Deployment Reports Dialog
|
||||
</description>
|
||||
<managed-bean-name>DeleteDeploymentReportsDialog</managed-bean-name>
|
||||
<managed-bean-class>org.alfresco.web.bean.wcm.DeleteDeploymentReportsDialog</managed-bean-class>
|
||||
<managed-bean-scope>session</managed-bean-scope>
|
||||
<managed-property>
|
||||
<property-name>nodeService</property-name>
|
||||
<value>#{NodeService}</value>
|
||||
</managed-property>
|
||||
<managed-property>
|
||||
<property-name>avmBrowseBean</property-name>
|
||||
<value>#{AVMBrowseBean}</value>
|
||||
</managed-property>
|
||||
</managed-bean>
|
||||
|
||||
<managed-bean>
|
||||
<description>
|
||||
The bean that backs up the Release Test Server Dialog
|
||||
</description>
|
||||
<managed-bean-name>ReleaseTestServerDialog</managed-bean-name>
|
||||
<managed-bean-class>org.alfresco.web.bean.wcm.ReleaseTestServerDialog</managed-bean-class>
|
||||
<managed-bean-scope>session</managed-bean-scope>
|
||||
<managed-property>
|
||||
<property-name>nodeService</property-name>
|
||||
<value>#{NodeService}</value>
|
||||
</managed-property>
|
||||
</managed-bean>
|
||||
|
||||
<managed-bean>
|
||||
<description>
|
||||
The bean that backs up the Link Validation Dialog
|
||||
|
@@ -766,6 +766,11 @@ a.sidebarButtonLink, a.sidebarButtonLink:link, a.sidebarButtonLink:visited
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
#autoDeployLabel
|
||||
{
|
||||
vertical-align: 3px;
|
||||
}
|
||||
|
||||
.deployNoConfigServers
|
||||
{
|
||||
margin: 26px 5px 16px 3px;
|
||||
|
@@ -36,7 +36,7 @@
|
||||
|
||||
<h:panelGroup id="panel-facets">
|
||||
<f:facet name="title">
|
||||
<a:actionLink id="back-to-last-report" value="#{msg.last_deploy_report}" showLink="false"
|
||||
<a:actionLink id="back-to-last-report" value="#{msg.last_deploy_report}"
|
||||
rendered="#{DialogManager.bean.attempt != null}"
|
||||
image="/images/icons/deployment_report.gif"
|
||||
actionListener="#{DialogManager.bean.showLastReport}" />
|
||||
|
@@ -66,11 +66,9 @@
|
||||
<f:facet name="title">
|
||||
<h:panelGroup id="resources-actions" styleClass="deployReviewTaskActions">
|
||||
<a:actionLink id="resources-action1" value="#{msg.sandbox_deploy}" image="/images/icons/deploy.gif"
|
||||
action="#{DialogManager.bean.deploy}" showLink="false"
|
||||
rendered="#{DialogManager.bean.testServersAvailable}" />
|
||||
action="#{DialogManager.bean.deploy}" rendered="#{DialogManager.bean.testServersAvailable}" />
|
||||
<a:actionLink id="resources-action2" value="#{msg.deployment_report_action}" image="/images/icons/deployment_report.gif"
|
||||
action="#{DialogManager.bean.viewDeployReport}" showLink="false"
|
||||
rendered="#{DialogManager.bean.deployAttempted}" />
|
||||
action="#{DialogManager.bean.viewDeployReport}" rendered="#{DialogManager.bean.deployAttempted}" />
|
||||
</h:panelGroup>
|
||||
</f:facet>
|
||||
</h:panelGroup>
|
||||
|
@@ -176,7 +176,7 @@ Alfresco.deployServerTypeChanged = function()
|
||||
}
|
||||
else
|
||||
{
|
||||
autoDeployLabel.style.display = "block";
|
||||
autoDeployLabel.style.display = "inline";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -190,7 +190,7 @@ Alfresco.deployServerTypeChanged = function()
|
||||
}
|
||||
else
|
||||
{
|
||||
autoDeployCheckbox.style.display = "block";
|
||||
autoDeployCheckbox.style.display = "inline";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user