mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Merged V3.2 to HEAD
15897: Merged V3.1 to V3.2 14485: (RECORD ONLY) ETHREEOH-1937 14915: (RECORD ONLY) Fix for ETHREEOH-2011: chaining-authentication-context.xml.sample 14954: (RECORD ONLY) Fix merge error 14966: (RECORD ONLY) Merged V2.2 to V3.1 14131: *RECORD ONLY* 14605: Merged HEAD to V2.2 (workaround for ETWOTWO-1137) 14368: Fix for ETHREEOH-1936 14607: Fixed NPE in TextMiningContentTransformer: Lead-up to fix for ETWOTWO-1174 14992: (RECORD ONLY) Updated svn:mergeinfo for V2.1-A 15080: Applied suggested fix for ETHREEOH-2252: Emailed content created in wrong space 15131: Merged V2.1-A to V3.1 (ETHREEOH-2270) 13465: Fix for ADB-161 ACT 7870 - added 'xsd' to mimetype map. 15134: Merged V2.2 to V3.1 14332: (RECORD-ONLY) 14717: (RECORD-ONLY) 14745: (RECORD-ONLY) 14746: Fixed error relating to detection and clean-up of duplicate child associations 14759: Missed check-in: Set transactionService for post-transaction duplicate child assoc cleanup 14761: (RECORD-ONLY) 14885: (RECORD-ONLY) 14893: (RECORD-ONLY) 14903: (RECORD-ONLY) 15204: Fixed ETHREEOH-2303: FixNameCrcValuesPatch throws ConstraintViolationException during upgrade ... 15214: Fixed ETHREEOH-1861: Offline synchronization updates file content without any changes 15271: Applied patch fix: Imported users don't conform to case-sensitivity switch 15352: ETHREEOH-2322 15361: ETHREEOH-1112 15369: ETHREEOH-2448 15419: ETHREEOH-2479 15431: ETHREEOH-2520 and ETHREEOH-2521 15587: (RECORD ONLY) Moved Enterprise-only scripts to correct location 15616: Fix ETHREEOH-2581 - WCM layered folder - can't submit deleted file 15675: WCM fixes (ETHREEOH-2110 & ETHREEOH-2645) 15836: Check for null username in ContentUsage service getUserUsage() method 15840: (RECORD ONLY) Merged V3.2 to V3.1 14760: Fix for ALFCOM-586 - trims and ignores leading/trailing whitespace before validation in JSF client forms. 15841: Fixes for ETHREEOH-2702 and ETHREEOH-2687 15860: (RECORD ONLY) Added Oracle and MS SQL Server config 15891: Removed unused compiler directive ___________________________________________________________________ Modified: svn:mergeinfo Merged /alfresco/BRANCHES/DEV/BELARUS/ETHREEOH-2221:r14753 Merged /alfresco/BRANCHES/V2.1-A: lots Merged /alfresco/BRANCHES/V2.2:r14131,14332,14605,14607,14717,14745-14746,14759,14761,14885,14893,14903 Merged /alfresco/BRANCHES/V3.1:r14485,14915,14954,14966,14992,15080,15131,15134,15204,15214,15271,15352,15361,15369,15419,15431,15587,15616,15675,15818,15836,15840-15841,15860,15891 Merged /alfresco/BRANCHES/V3.2:r15897 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16886 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -1923,6 +1923,7 @@ error_delete_rule=Unable to delete Rule due to system error:
|
|||||||
error_actions=Failed to run Actions due to error: {0}
|
error_actions=Failed to run Actions due to error: {0}
|
||||||
error_rule=Failed to create Rule due to error: {0}
|
error_rule=Failed to create Rule due to error: {0}
|
||||||
error_space=Failed to create new space due to error: {0}
|
error_space=Failed to create new space due to error: {0}
|
||||||
|
error_content=Failed to create content due to error: {0}
|
||||||
error_person=Failed to create Person due to error: {0}
|
error_person=Failed to create Person due to error: {0}
|
||||||
error_delete_user=Failed to delete User due to error: {0}
|
error_delete_user=Failed to delete User due to error: {0}
|
||||||
error_remove_user=Failed to remove User due to error: {0}
|
error_remove_user=Failed to remove User due to error: {0}
|
||||||
|
@@ -260,7 +260,6 @@
|
|||||||
<action idref="cut_node" />
|
<action idref="cut_node" />
|
||||||
<action idref="copy_node" />
|
<action idref="copy_node" />
|
||||||
<action idref="delete_space" />
|
<action idref="delete_space" />
|
||||||
<action idref="import_space" />
|
|
||||||
<action idref="export_space" />
|
<action idref="export_space" />
|
||||||
<action idref="manage_space_users" />
|
<action idref="manage_space_users" />
|
||||||
<action idref="create_shortcut" />
|
<action idref="create_shortcut" />
|
||||||
@@ -298,7 +297,6 @@
|
|||||||
<action idref="copy_node" />
|
<action idref="copy_node" />
|
||||||
<action idref="paste_all" />
|
<action idref="paste_all" />
|
||||||
<action idref="manage_space_users" />
|
<action idref="manage_space_users" />
|
||||||
<action idref="import_space" />
|
|
||||||
<action idref="export_space" />
|
<action idref="export_space" />
|
||||||
</action-group>
|
</action-group>
|
||||||
|
|
||||||
|
@@ -218,6 +218,14 @@ public class ImportDialog extends BaseDialogBean
|
|||||||
return this.fileName;
|
return this.fileName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param fileName The name of the file
|
||||||
|
*/
|
||||||
|
public void setFileName(String fileName)
|
||||||
|
{
|
||||||
|
//do nothing required for JSF workflow
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the encoding to use for the export
|
* Returns the encoding to use for the export
|
||||||
*
|
*
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2005-2007 Alfresco Software Limited.
|
* Copyright (C) 2005-2009 Alfresco Software Limited.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
@@ -24,16 +24,20 @@
|
|||||||
*/
|
*/
|
||||||
package org.alfresco.web.bean.clipboard;
|
package org.alfresco.web.bean.clipboard;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import javax.faces.context.FacesContext;
|
import javax.faces.context.FacesContext;
|
||||||
import javax.transaction.UserTransaction;
|
import javax.transaction.UserTransaction;
|
||||||
|
|
||||||
|
import org.alfresco.model.WCMAppModel;
|
||||||
import org.alfresco.repo.avm.AVMNodeConverter;
|
import org.alfresco.repo.avm.AVMNodeConverter;
|
||||||
import org.alfresco.service.cmr.avm.AVMExistsException;
|
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.AVMService;
|
||||||
import org.alfresco.service.cmr.model.FileExistsException;
|
import org.alfresco.service.cmr.model.FileExistsException;
|
||||||
import org.alfresco.service.cmr.model.FileFolderService;
|
|
||||||
import org.alfresco.service.cmr.repository.CrossRepositoryCopyService;
|
import org.alfresco.service.cmr.repository.CrossRepositoryCopyService;
|
||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
|
import org.alfresco.service.cmr.repository.StoreRef;
|
||||||
import org.alfresco.web.app.Application;
|
import org.alfresco.web.app.Application;
|
||||||
import org.alfresco.web.app.servlet.FacesHelper;
|
import org.alfresco.web.app.servlet.FacesHelper;
|
||||||
import org.alfresco.web.bean.NavigationBean;
|
import org.alfresco.web.bean.NavigationBean;
|
||||||
@@ -98,8 +102,7 @@ public class AVMClipboardItem extends AbstractClipboardItem
|
|||||||
NodeRef destRef = AVMNodeConverter.ToNodeRef(-1, destPath);
|
NodeRef destRef = AVMNodeConverter.ToNodeRef(-1, destPath);
|
||||||
String sourcePath = AVMNodeConverter.ToAVMVersionPath(getNodeRef()).getSecond();
|
String sourcePath = AVMNodeConverter.ToAVMVersionPath(getNodeRef()).getSecond();
|
||||||
|
|
||||||
FileFolderService fileFolderService = getServiceRegistry().getFileFolderService();
|
//FileFolderService fileFolderService = getServiceRegistry().getFileFolderService();
|
||||||
AVMService avmService = getServiceRegistry().getAVMLockingAwareService();
|
|
||||||
|
|
||||||
// initial name to attempt the copy of the item with
|
// initial name to attempt the copy of the item with
|
||||||
String name = getName();
|
String name = getName();
|
||||||
@@ -131,7 +134,11 @@ public class AVMClipboardItem extends AbstractClipboardItem
|
|||||||
getNodeRef(),
|
getNodeRef(),
|
||||||
destRef,
|
destRef,
|
||||||
name);*/
|
name);*/
|
||||||
avmService.copy(-1, sourcePath, destPath, name);
|
getAvmService().copy(-1, sourcePath, destPath, name);
|
||||||
|
|
||||||
|
// ETHREEOH-2110
|
||||||
|
AVMNodeDescriptor desc = getAvmService().lookup(-1, destPath + "/" + name);
|
||||||
|
recursiveFormCheck(desc);
|
||||||
|
|
||||||
// if we get here without an exception, the clipboard copy operation was successful
|
// if we get here without an exception, the clipboard copy operation was successful
|
||||||
operationComplete = true;
|
operationComplete = true;
|
||||||
@@ -147,7 +154,7 @@ public class AVMClipboardItem extends AbstractClipboardItem
|
|||||||
getNodeRef(),
|
getNodeRef(),
|
||||||
destRef,
|
destRef,
|
||||||
name);*/
|
name);*/
|
||||||
avmService.rename(AVMNodeConverter.SplitBase(sourcePath)[0], getName(),
|
getAvmService().rename(AVMNodeConverter.SplitBase(sourcePath)[0], getName(),
|
||||||
destPath, name);
|
destPath, name);
|
||||||
|
|
||||||
// if we get here without an exception, the clipboard move operation was successful
|
// if we get here without an exception, the clipboard move operation was successful
|
||||||
@@ -221,6 +228,14 @@ public class AVMClipboardItem extends AbstractClipboardItem
|
|||||||
// inter-store copy operation
|
// inter-store copy operation
|
||||||
crossRepoCopyService.copy(getNodeRef(), destRef, name);
|
crossRepoCopyService.copy(getNodeRef(), destRef, name);
|
||||||
|
|
||||||
|
if (destRef.getStoreRef().getProtocol().equals(StoreRef.PROTOCOL_AVM))
|
||||||
|
{
|
||||||
|
// ETHREEOH-2110
|
||||||
|
String destPath = AVMNodeConverter.ToAVMVersionPath(destRef).getSecond();
|
||||||
|
AVMNodeDescriptor desc = getAvmService().lookup(-1, destPath + "/" + name);
|
||||||
|
recursiveFormCheck(desc);
|
||||||
|
}
|
||||||
|
|
||||||
// if we get here without an exception, the clipboard copy operation was successful
|
// if we get here without an exception, the clipboard copy operation was successful
|
||||||
operationComplete = true;
|
operationComplete = true;
|
||||||
}
|
}
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2005-2007 Alfresco Software Limited.
|
* Copyright (C) 2005-2009 Alfresco Software Limited.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
@@ -25,13 +25,17 @@
|
|||||||
package org.alfresco.web.bean.clipboard;
|
package org.alfresco.web.bean.clipboard;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import javax.faces.context.FacesContext;
|
import javax.faces.context.FacesContext;
|
||||||
|
|
||||||
import org.alfresco.model.ApplicationModel;
|
import org.alfresco.model.ApplicationModel;
|
||||||
import org.alfresco.model.ContentModel;
|
import org.alfresco.model.ContentModel;
|
||||||
|
import org.alfresco.model.WCMAppModel;
|
||||||
import org.alfresco.repo.search.QueryParameterDefImpl;
|
import org.alfresco.repo.search.QueryParameterDefImpl;
|
||||||
import org.alfresco.service.ServiceRegistry;
|
import org.alfresco.service.ServiceRegistry;
|
||||||
|
import org.alfresco.service.cmr.avm.AVMNodeDescriptor;
|
||||||
|
import org.alfresco.service.cmr.avm.AVMService;
|
||||||
import org.alfresco.service.cmr.dictionary.DataTypeDefinition;
|
import org.alfresco.service.cmr.dictionary.DataTypeDefinition;
|
||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
import org.alfresco.service.cmr.search.QueryParameterDefinition;
|
import org.alfresco.service.cmr.search.QueryParameterDefinition;
|
||||||
@@ -64,6 +68,22 @@ abstract class AbstractClipboardItem implements ClipboardItem
|
|||||||
private QName type;
|
private QName type;
|
||||||
private String icon;
|
private String icon;
|
||||||
|
|
||||||
|
transient protected AVMService avmService;
|
||||||
|
|
||||||
|
public void setAvmService(AVMService avmService)
|
||||||
|
{
|
||||||
|
this.avmService = avmService;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected AVMService getAvmService()
|
||||||
|
{
|
||||||
|
if (avmService == null)
|
||||||
|
{
|
||||||
|
avmService = getServiceRegistry().getAVMLockingAwareService();
|
||||||
|
}
|
||||||
|
return avmService;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
@@ -173,4 +193,27 @@ abstract class AbstractClipboardItem implements ClipboardItem
|
|||||||
return (nodeRefs.size() != 0);
|
return (nodeRefs.size() != 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void recursiveFormCheck(AVMNodeDescriptor desc)
|
||||||
|
{
|
||||||
|
if (desc.isFile())
|
||||||
|
{
|
||||||
|
String filePath = desc.getPath();
|
||||||
|
if (avmService.hasAspect(-1, filePath, WCMAppModel.ASPECT_FORM_INSTANCE_DATA))
|
||||||
|
{
|
||||||
|
avmService.removeAspect(filePath, WCMAppModel.ASPECT_FORM_INSTANCE_DATA);
|
||||||
|
}
|
||||||
|
if (avmService.hasAspect(-1, filePath, WCMAppModel.ASPECT_RENDITION))
|
||||||
|
{
|
||||||
|
avmService.removeAspect(filePath, WCMAppModel.ASPECT_RENDITION);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Map<String, AVMNodeDescriptor> listing = getAvmService().getDirectoryListing(desc);
|
||||||
|
for (Map.Entry<String, AVMNodeDescriptor> entry : listing.entrySet())
|
||||||
|
{
|
||||||
|
recursiveFormCheck(entry.getValue());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2005-2007 Alfresco Software Limited.
|
* Copyright (C) 2005-2009 Alfresco Software Limited.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
@@ -34,6 +34,7 @@ import javax.transaction.UserTransaction;
|
|||||||
import org.alfresco.model.ApplicationModel;
|
import org.alfresco.model.ApplicationModel;
|
||||||
import org.alfresco.model.ContentModel;
|
import org.alfresco.model.ContentModel;
|
||||||
import org.alfresco.repo.avm.AVMNodeConverter;
|
import org.alfresco.repo.avm.AVMNodeConverter;
|
||||||
|
import org.alfresco.service.cmr.avm.AVMNodeDescriptor;
|
||||||
import org.alfresco.service.cmr.dictionary.DictionaryService;
|
import org.alfresco.service.cmr.dictionary.DictionaryService;
|
||||||
import org.alfresco.service.cmr.ml.MultilingualContentService;
|
import org.alfresco.service.cmr.ml.MultilingualContentService;
|
||||||
import org.alfresco.service.cmr.model.FileExistsException;
|
import org.alfresco.service.cmr.model.FileExistsException;
|
||||||
@@ -43,6 +44,7 @@ import org.alfresco.service.cmr.repository.CopyService;
|
|||||||
import org.alfresco.service.cmr.repository.CrossRepositoryCopyService;
|
import org.alfresco.service.cmr.repository.CrossRepositoryCopyService;
|
||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
import org.alfresco.service.cmr.repository.NodeService;
|
import org.alfresco.service.cmr.repository.NodeService;
|
||||||
|
import org.alfresco.service.cmr.repository.StoreRef;
|
||||||
import org.alfresco.service.namespace.QName;
|
import org.alfresco.service.namespace.QName;
|
||||||
import org.alfresco.web.app.Application;
|
import org.alfresco.web.app.Application;
|
||||||
import org.alfresco.web.app.servlet.FacesHelper;
|
import org.alfresco.web.app.servlet.FacesHelper;
|
||||||
@@ -345,7 +347,14 @@ public class WorkspaceClipboardItem extends AbstractClipboardItem
|
|||||||
|
|
||||||
// inter-store copy operation
|
// inter-store copy operation
|
||||||
crossRepoCopyService.copy(getNodeRef(), destRef, name);
|
crossRepoCopyService.copy(getNodeRef(), destRef, name);
|
||||||
|
|
||||||
|
if (destRef.getStoreRef().getProtocol().equals(StoreRef.PROTOCOL_AVM))
|
||||||
|
{
|
||||||
|
// ETHREEOH-2110
|
||||||
|
AVMNodeDescriptor desc = getAvmService().lookup(-1, destPath + "/" + name);
|
||||||
|
recursiveFormCheck(desc);
|
||||||
|
}
|
||||||
|
|
||||||
// if we get here without an exception, the clipboard copy operation was successful
|
// if we get here without an exception, the clipboard copy operation was successful
|
||||||
operationComplete = true;
|
operationComplete = true;
|
||||||
}
|
}
|
||||||
|
@@ -44,6 +44,7 @@ import org.alfresco.config.ConfigService;
|
|||||||
import org.alfresco.model.ContentModel;
|
import org.alfresco.model.ContentModel;
|
||||||
import org.alfresco.repo.content.MimetypeMap;
|
import org.alfresco.repo.content.MimetypeMap;
|
||||||
import org.alfresco.repo.content.filestore.FileContentReader;
|
import org.alfresco.repo.content.filestore.FileContentReader;
|
||||||
|
import org.alfresco.service.cmr.model.FileExistsException;
|
||||||
import org.alfresco.service.cmr.repository.ContentReader;
|
import org.alfresco.service.cmr.repository.ContentReader;
|
||||||
import org.alfresco.service.cmr.repository.datatype.DefaultTypeConverter;
|
import org.alfresco.service.cmr.repository.datatype.DefaultTypeConverter;
|
||||||
import org.alfresco.service.namespace.QName;
|
import org.alfresco.service.namespace.QName;
|
||||||
@@ -316,5 +317,22 @@ public class AddContentDialog extends BaseContentWizard
|
|||||||
|
|
||||||
return Application.getMessage(FacesContext.getCurrentInstance(), MSG_OK);
|
return Application.getMessage(FacesContext.getCurrentInstance(), MSG_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected String formatErrorMessage(Throwable exception)
|
||||||
|
{
|
||||||
|
if (exception instanceof FileExistsException)
|
||||||
|
{
|
||||||
|
return MessageFormat.format(Application.getMessage(
|
||||||
|
FacesContext.getCurrentInstance(), Repository.ERROR_EXISTS),
|
||||||
|
((FileExistsException)exception).getName());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return MessageFormat.format(Application.getMessage(
|
||||||
|
FacesContext.getCurrentInstance(), "error_content"),
|
||||||
|
exception.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -25,6 +25,7 @@
|
|||||||
package org.alfresco.web.bean.content;
|
package org.alfresco.web.bean.content;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.text.MessageFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@@ -41,11 +42,13 @@ import org.alfresco.config.ConfigElement;
|
|||||||
import org.alfresco.config.ConfigService;
|
import org.alfresco.config.ConfigService;
|
||||||
import org.alfresco.model.WCMAppModel;
|
import org.alfresco.model.WCMAppModel;
|
||||||
import org.alfresco.repo.content.MimetypeMap;
|
import org.alfresco.repo.content.MimetypeMap;
|
||||||
|
import org.alfresco.service.cmr.model.FileExistsException;
|
||||||
import org.alfresco.service.namespace.QName;
|
import org.alfresco.service.namespace.QName;
|
||||||
import org.alfresco.web.app.AlfrescoNavigationHandler;
|
import org.alfresco.web.app.AlfrescoNavigationHandler;
|
||||||
import org.alfresco.web.app.Application;
|
import org.alfresco.web.app.Application;
|
||||||
import org.alfresco.web.app.servlet.FacesHelper;
|
import org.alfresco.web.app.servlet.FacesHelper;
|
||||||
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.data.IDataContainer;
|
import org.alfresco.web.data.IDataContainer;
|
||||||
import org.alfresco.web.data.QuickSort;
|
import org.alfresco.web.data.QuickSort;
|
||||||
import org.alfresco.web.forms.Form;
|
import org.alfresco.web.forms.Form;
|
||||||
@@ -391,4 +394,22 @@ public class CreateContentWizard extends BaseContentWizard
|
|||||||
// clear the content as HTML is not compatible with the plain text box etc.
|
// clear the content as HTML is not compatible with the plain text box etc.
|
||||||
this.content = null;
|
this.content = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected String formatErrorMessage(Throwable exception)
|
||||||
|
{
|
||||||
|
if (exception instanceof FileExistsException)
|
||||||
|
{
|
||||||
|
return MessageFormat.format(Application.getMessage(
|
||||||
|
FacesContext.getCurrentInstance(), Repository.ERROR_EXISTS),
|
||||||
|
((FileExistsException)exception).getName());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return MessageFormat.format(Application.getMessage(
|
||||||
|
FacesContext.getCurrentInstance(), "error_content"),
|
||||||
|
exception.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -244,6 +244,8 @@ public class EditFormWizard
|
|||||||
|
|
||||||
assert retd != null;
|
assert retd != null;
|
||||||
assert retd.getNodeRef() != null;
|
assert retd.getNodeRef() != null;
|
||||||
|
this.getNodeService().removeAssociation(formNodeRef, retd.getNodeRef(),
|
||||||
|
WCMAppModel.ASSOC_RENDERING_ENGINE_TEMPLATES);
|
||||||
this.getNodeService().removeChild(formNodeRef, retd.getNodeRef());
|
this.getNodeService().removeChild(formNodeRef, retd.getNodeRef());
|
||||||
this.removeRenderingEngineTemplateFromWebProjects(formNodeRef, retd);
|
this.removeRenderingEngineTemplateFromWebProjects(formNodeRef, retd);
|
||||||
|
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2005-2007 Alfresco Software Limited.
|
* Copyright (C) 2005-2009 Alfresco Software Limited.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
@@ -24,8 +24,10 @@
|
|||||||
*/
|
*/
|
||||||
package org.alfresco.web.bean.wcm;
|
package org.alfresco.web.bean.wcm;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
import java.text.MessageFormat;
|
import java.text.MessageFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@@ -36,6 +38,7 @@ import org.alfresco.model.WCMAppModel;
|
|||||||
import org.alfresco.repo.domain.PropertyValue;
|
import org.alfresco.repo.domain.PropertyValue;
|
||||||
import org.alfresco.service.cmr.avm.AVMService;
|
import org.alfresco.service.cmr.avm.AVMService;
|
||||||
import org.alfresco.service.cmr.dictionary.DataTypeDefinition;
|
import org.alfresco.service.cmr.dictionary.DataTypeDefinition;
|
||||||
|
import org.alfresco.service.namespace.QName;
|
||||||
import org.alfresco.web.app.AlfrescoNavigationHandler;
|
import org.alfresco.web.app.AlfrescoNavigationHandler;
|
||||||
import org.alfresco.web.app.Application;
|
import org.alfresco.web.app.Application;
|
||||||
import org.alfresco.web.app.servlet.FacesHelper;
|
import org.alfresco.web.app.servlet.FacesHelper;
|
||||||
@@ -57,7 +60,7 @@ public class PromptForWebFormDialog extends BaseDialogBean
|
|||||||
{
|
{
|
||||||
private static final long serialVersionUID = 8062203927131257236L;
|
private static final long serialVersionUID = 8062203927131257236L;
|
||||||
|
|
||||||
private static final Log LOGGER = LogFactory.getLog(PromptForWebFormDialog.class);
|
private static final Log logger = LogFactory.getLog(PromptForWebFormDialog.class);
|
||||||
|
|
||||||
/** AVM service reference */
|
/** AVM service reference */
|
||||||
transient private AVMService avmService;
|
transient private AVMService avmService;
|
||||||
@@ -152,8 +155,12 @@ public class PromptForWebFormDialog extends BaseDialogBean
|
|||||||
{
|
{
|
||||||
final Form f = fid.getForm();
|
final Form f = fid.getForm();
|
||||||
this.formName = f.getName();
|
this.formName = f.getName();
|
||||||
// strange case... this should throw an exception if we're here...
|
|
||||||
LOGGER.debug(avmPath + ".getForm() did not throw a form not found. why are we here?");
|
if (logger.isDebugEnabled())
|
||||||
|
{
|
||||||
|
// strange case... this should throw an exception if we're here...
|
||||||
|
logger.debug(avmPath + ".getForm() did not throw a form not found. why are we here?");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
catch (final FormNotFoundException fnfe)
|
catch (final FormNotFoundException fnfe)
|
||||||
{
|
{
|
||||||
@@ -178,19 +185,31 @@ public class PromptForWebFormDialog extends BaseDialogBean
|
|||||||
protected String finishImpl(final FacesContext context, String outcome)
|
protected String finishImpl(final FacesContext context, String outcome)
|
||||||
throws Exception
|
throws Exception
|
||||||
{
|
{
|
||||||
LOGGER.debug("configuring " + this.getAvmNode().getPath() +
|
|
||||||
" to use form " + this.getFormName());
|
if (logger.isDebugEnabled())
|
||||||
|
{
|
||||||
this.getAvmService().setNodeProperty(this.getAvmNode().getPath(),
|
logger.debug("configuring " + this.getAvmNode().getPath() +
|
||||||
WCMAppModel.PROP_PARENT_FORM_NAME,
|
" to use form " + this.getFormName());
|
||||||
new PropertyValue(DataTypeDefinition.TEXT, this.getFormName()));
|
}
|
||||||
|
|
||||||
if (!this.getAvmService().hasAspect(this.getAvmNode().getVersion(),
|
if (!this.getAvmService().hasAspect(this.getAvmNode().getVersion(),
|
||||||
this.getAvmNode().getPath(),
|
this.getAvmNode().getPath(),
|
||||||
WCMAppModel.ASPECT_FORM_INSTANCE_DATA))
|
WCMAppModel.ASPECT_FORM_INSTANCE_DATA))
|
||||||
{
|
{
|
||||||
this.getAvmService().addAspect(this.getAvmNode().getPath(), WCMAppModel.ASPECT_FORM_INSTANCE_DATA);
|
String cwd = AVMUtil.getCorrespondingPathInPreviewStore(this.avmBrowseBean.getCurrentPath());
|
||||||
|
|
||||||
|
Map<QName, Serializable> props = new HashMap<QName, Serializable>(1, 1.0f);
|
||||||
|
props.put(WCMAppModel.PROP_PARENT_FORM_NAME, this.getFormName());
|
||||||
|
props.put(WCMAppModel.PROP_ORIGINAL_PARENT_PATH, cwd);
|
||||||
|
this.getNodeService().addAspect(this.getAvmNode().getNodeRef(), WCMAppModel.ASPECT_FORM_INSTANCE_DATA, props);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.getAvmService().setNodeProperty(this.getAvmNode().getPath(),
|
||||||
|
WCMAppModel.PROP_PARENT_FORM_NAME,
|
||||||
|
new PropertyValue(DataTypeDefinition.TEXT, this.getFormName()));
|
||||||
|
}
|
||||||
|
|
||||||
return outcome;
|
return outcome;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2005-2007 Alfresco Software Limited.
|
* Copyright (C) 2005-2009 Alfresco Software Limited.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License
|
* modify it under the terms of the GNU General Public License
|
||||||
@@ -283,8 +283,11 @@ public class RenderingEngineTemplateImpl
|
|||||||
RenderingEngine.RenderingException
|
RenderingEngine.RenderingException
|
||||||
{
|
{
|
||||||
final AVMService avmService = this.getServiceRegistry().getAVMLockingAwareService();
|
final AVMService avmService = this.getServiceRegistry().getAVMLockingAwareService();
|
||||||
final boolean isRegenerate = avmService.lookup(-1, renditionAvmPath) != null;
|
|
||||||
if (!isRegenerate)
|
boolean isRegenerate = true;
|
||||||
|
boolean exists = avmService.lookup(-1, renditionAvmPath) != null;
|
||||||
|
|
||||||
|
if (! exists)
|
||||||
{
|
{
|
||||||
final String parentAVMPath = AVMNodeConverter.SplitBase(renditionAvmPath)[0];
|
final String parentAVMPath = AVMNodeConverter.SplitBase(renditionAvmPath)[0];
|
||||||
AVMUtil.makeAllDirectories(parentAVMPath);
|
AVMUtil.makeAllDirectories(parentAVMPath);
|
||||||
@@ -292,18 +295,30 @@ public class RenderingEngineTemplateImpl
|
|||||||
AVMNodeConverter.SplitBase(renditionAvmPath)[1]);
|
AVMNodeConverter.SplitBase(renditionAvmPath)[1]);
|
||||||
|
|
||||||
if (LOGGER.isDebugEnabled())
|
if (LOGGER.isDebugEnabled())
|
||||||
|
{
|
||||||
LOGGER.debug("Created file node for file: " + renditionAvmPath);
|
LOGGER.debug("Created file node for file: " + renditionAvmPath);
|
||||||
|
}
|
||||||
avmService.addAspect(renditionAvmPath, WCMAppModel.ASPECT_FORM_INSTANCE_DATA);
|
|
||||||
avmService.addAspect(renditionAvmPath, ContentModel.ASPECT_TITLED);
|
avmService.addAspect(renditionAvmPath, ContentModel.ASPECT_TITLED);
|
||||||
avmService.addAspect(renditionAvmPath, WCMAppModel.ASPECT_RENDITION);
|
avmService.addAspect(renditionAvmPath, WCMAppModel.ASPECT_RENDITION);
|
||||||
|
|
||||||
|
isRegenerate = false;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// ETHREEOH-2110
|
||||||
|
if (! avmService.hasAspect(-1, renditionAvmPath, WCMAppModel.ASPECT_RENDITION))
|
||||||
|
{
|
||||||
|
avmService.addAspect(renditionAvmPath, WCMAppModel.ASPECT_RENDITION);
|
||||||
|
isRegenerate = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
final Rendition result = new RenditionImpl(-1,
|
final Rendition result = new RenditionImpl(-1,
|
||||||
renditionAvmPath,
|
renditionAvmPath,
|
||||||
this.getFormsService());
|
this.getFormsService());
|
||||||
this.render(formInstanceData, result);
|
this.render(formInstanceData, result);
|
||||||
|
|
||||||
if (!isRegenerate)
|
if (!isRegenerate)
|
||||||
{
|
{
|
||||||
final PropertyValue pv =
|
final PropertyValue pv =
|
||||||
|
@@ -371,7 +371,8 @@ public class UIGenericPicker extends UICommand
|
|||||||
|
|
||||||
// results list row
|
// results list row
|
||||||
out.write("<tr><td colspan=2>");
|
out.write("<tr><td colspan=2>");
|
||||||
out.write("<select size='8' style='min-width:");
|
out.write("<select size='8' style='");
|
||||||
|
out.write((currentResults != null && currentResults.length != 0) ? "min-width:" : "width:");
|
||||||
out.write(Integer.toString(getWidth()));
|
out.write(Integer.toString(getWidth()));
|
||||||
out.write("px;height:");
|
out.write("px;height:");
|
||||||
out.write(Integer.toString(getHeight()));
|
out.write(Integer.toString(getHeight()));
|
||||||
|
@@ -42,19 +42,19 @@
|
|||||||
|
|
||||||
// also check to see if a no parameters option has been selected, if it has, change
|
// also check to see if a no parameters option has been selected, if it has, change
|
||||||
// the explanation text and the button label
|
// the explanation text and the button label
|
||||||
var short_text = "</f:verbatim><a:outputText value='#{msg.click_add_to_list}' /><f:verbatim>";
|
var short_text = "</f:verbatim><h:outputText value='#{msg.click_add_to_list}' /><f:verbatim>";
|
||||||
var long_text = "</f:verbatim><a:outputText value='#{msg.click_set_and_add}' /><f:verbatim>";
|
var long_text = "</f:verbatim><h:outputText value='#{msg.click_set_and_add}' /><f:verbatim>";
|
||||||
var short_label = "</f:verbatim><a:outputText value='#{msg.add_to_list_button}' encodeForJavaScript='true' /><f:verbatim>";
|
var short_label = "</f:verbatim><h:outputText value='#{msg.add_to_list_button}' /><f:verbatim>";
|
||||||
var long_label = "</f:verbatim><a:outputText value='#{msg.set_and_add_button}' encodeForJavaScript='true' /><f:verbatim>";
|
var long_label = "</f:verbatim><h:outputText value='#{msg.set_and_add_button}' /><f:verbatim>";
|
||||||
|
|
||||||
if (inputField.value == "no-condition")
|
if (inputField.value == "no-condition")
|
||||||
{
|
{
|
||||||
document.getElementById("wizard:wizard-body:set-add-button").value = unescape(short_label);
|
document.getElementById("wizard:wizard-body:set-add-button").value = short_label;
|
||||||
document.getElementById("wizard:wizard-body:instruction-text").innerHTML = short_text;
|
document.getElementById("wizard:wizard-body:instruction-text").innerHTML = short_text;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
document.getElementById("wizard:wizard-body:set-add-button").value = unescape(long_label);
|
document.getElementById("wizard:wizard-body:set-add-button").value = long_label;
|
||||||
document.getElementById("wizard:wizard-body:instruction-text").innerHTML = long_text;
|
document.getElementById("wizard:wizard-body:instruction-text").innerHTML = long_text;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -207,7 +207,7 @@ if (fileUploaded)
|
|||||||
{
|
{
|
||||||
finishButtonPressed = false;
|
finishButtonPressed = false;
|
||||||
return validateName(document.getElementById("dialog:dialog-body:file-name"),
|
return validateName(document.getElementById("dialog:dialog-body:file-name"),
|
||||||
unescape('</f:verbatim><a:outputText id="text11" value="#{msg.validation_invalid_character}" encodeForJavaScript="true" /><f:verbatim>'), true);
|
unescape('</f:verbatim><h:outputText id="text11" value="#{msg.validation_invalid_character}" /><f:verbatim>'), true);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@@ -62,7 +62,7 @@
|
|||||||
{
|
{
|
||||||
finishButtonPressed = false;
|
finishButtonPressed = false;
|
||||||
return validateName(document.getElementById("wizard:wizard-body:file-name"),
|
return validateName(document.getElementById("wizard:wizard-body:file-name"),
|
||||||
unescape('</f:verbatim><a:outputText value="#{msg.validation_invalid_character}" encodeForJavaScript="true" /><f:verbatim>'),
|
unescape('</f:verbatim><h:outputText value="#{msg.validation_invalid_character}" /><f:verbatim>'),
|
||||||
true);
|
true);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@@ -61,7 +61,7 @@
|
|||||||
{
|
{
|
||||||
finishButtonPressed = false;
|
finishButtonPressed = false;
|
||||||
return validateName(document.getElementById("dialog:dialog-body:name"),
|
return validateName(document.getElementById("dialog:dialog-body:name"),
|
||||||
unescape('</f:verbatim><a:outputText value="#{msg.validation_invalid_character}" encodeForJavaScript="true" /><f:verbatim>'),
|
unescape('</f:verbatim><h:outputText value="#{msg.validation_invalid_character}" /><f:verbatim>'),
|
||||||
true);
|
true);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@@ -62,7 +62,7 @@
|
|||||||
{
|
{
|
||||||
finishButtonPressed = false;
|
finishButtonPressed = false;
|
||||||
return validateName(document.getElementById("dialog:dialog-body:name"),
|
return validateName(document.getElementById("dialog:dialog-body:name"),
|
||||||
unescape('</f:verbatim><a:outputText value="#{msg.validation_invalid_character}" encodeForJavaScript="true" /><f:verbatim>'),
|
unescape('</f:verbatim><h:outputText value="#{msg.validation_invalid_character}" /><f:verbatim>'),
|
||||||
true);
|
true);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@@ -214,7 +214,7 @@
|
|||||||
{
|
{
|
||||||
finishButtonPressed = false;
|
finishButtonPressed = false;
|
||||||
return validateName(document.getElementById("dialog:dialog-body:file-name"),
|
return validateName(document.getElementById("dialog:dialog-body:file-name"),
|
||||||
unescape('</f:verbatim><a:outputText id="text11" value="#{msg.validation_invalid_character}" encodeForJavaScript="true" /><f:verbatim>'), true);
|
unescape('</f:verbatim><h:outputText id="text11" value="#{msg.validation_invalid_character}" /><f:verbatim>'), true);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@@ -56,19 +56,19 @@
|
|||||||
|
|
||||||
// also check to see if the 'no-condition' option has been selected, if it has, change
|
// also check to see if the 'no-condition' option has been selected, if it has, change
|
||||||
// the explanation text and the button label
|
// the explanation text and the button label
|
||||||
var short_text = "<a:outputText value='#{msg.click_add_to_list}' />";
|
var short_text = "<h:outputText value='#{msg.click_add_to_list}' />";
|
||||||
var long_text = "<a:outputText value='#{msg.click_set_and_add}' />";
|
var long_text = "<h:outputText value='#{msg.click_set_and_add}' />";
|
||||||
var short_label = "<a:outputText value='#{msg.add_to_list_button}' encodeForJavaScript='true' />";
|
var short_label = "<h:outputText value='#{msg.add_to_list_button}' />";
|
||||||
var long_label = "<a:outputText value='#{msg.set_and_add_button}' encodeForJavaScript='true' />";
|
var long_label = "<h:outputText value='#{msg.set_and_add_button}' />";
|
||||||
|
|
||||||
if (inputField.value == "no-condition")
|
if (inputField.value == "no-condition")
|
||||||
{
|
{
|
||||||
document.getElementById("composite-condition:set-add-button").value = unescape(short_label);
|
document.getElementById("composite-condition:set-add-button").value = short_label;
|
||||||
document.getElementById("composite-condition:instruction-text").innerHTML = short_text;
|
document.getElementById("composite-condition:instruction-text").innerHTML = short_text;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
document.getElementById("composite-condition:set-add-button").value = unescape(long_label);
|
document.getElementById("composite-condition:set-add-button").value = long_label;
|
||||||
document.getElementById("composite-condition:instruction-text").innerHTML = long_text;
|
document.getElementById("composite-condition:instruction-text").innerHTML = long_text;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -42,19 +42,19 @@
|
|||||||
|
|
||||||
// also check to see if the 'no-condition' option has been selected, if it has, change
|
// also check to see if the 'no-condition' option has been selected, if it has, change
|
||||||
// the explanation text and the button label
|
// the explanation text and the button label
|
||||||
var short_text = "</f:verbatim><a:outputText value='#{msg.click_add_to_list}' /><f:verbatim>";
|
var short_text = "</f:verbatim><h:outputText value='#{msg.click_add_to_list}' /><f:verbatim>";
|
||||||
var long_text = "</f:verbatim><a:outputText value='#{msg.click_set_and_add}' /><f:verbatim>";
|
var long_text = "</f:verbatim><h:outputText value='#{msg.click_set_and_add}' /><f:verbatim>";
|
||||||
var short_label = "</f:verbatim><a:outputText value='#{msg.add_to_list_button}' encodeForJavaScript='true' /><f:verbatim>";
|
var short_label = "</f:verbatim><h:outputText value='#{msg.add_to_list_button}' /><f:verbatim>";
|
||||||
var long_label = "</f:verbatim><a:outputText value='#{msg.set_and_add_button}' encodeForJavaScript='true' /><f:verbatim>";
|
var long_label = "</f:verbatim><h:outputText value='#{msg.set_and_add_button}' /><f:verbatim>";
|
||||||
|
|
||||||
if (inputField.value == "no-condition")
|
if (inputField.value == "no-condition")
|
||||||
{
|
{
|
||||||
document.getElementById("wizard:wizard-body:set-add-button").value = unescape(short_label);
|
document.getElementById("wizard:wizard-body:set-add-button").value = short_label;
|
||||||
document.getElementById("wizard:wizard-body:instruction-text").innerHTML = short_text;
|
document.getElementById("wizard:wizard-body:instruction-text").innerHTML = short_text;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
document.getElementById("wizard:wizard-body:set-add-button").value = unescape(long_label);
|
document.getElementById("wizard:wizard-body:set-add-button").value = long_label;
|
||||||
document.getElementById("wizard:wizard-body:instruction-text").innerHTML = long_text;
|
document.getElementById("wizard:wizard-body:instruction-text").innerHTML = long_text;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -61,7 +61,7 @@
|
|||||||
{
|
{
|
||||||
finishButtonPressed = false;
|
finishButtonPressed = false;
|
||||||
return validateName(document.getElementById("dialog:dialog-body:name"),
|
return validateName(document.getElementById("dialog:dialog-body:name"),
|
||||||
unescape('</f:verbatim><a:outputText value="#{msg.validation_invalid_character}" encodeForJavaScript="true" /><f:verbatim>'),
|
unescape('</f:verbatim><h:outputText value="#{msg.validation_invalid_character}" /><f:verbatim>'),
|
||||||
true);
|
true);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@@ -84,7 +84,7 @@
|
|||||||
{
|
{
|
||||||
finishButtonPressed = false;
|
finishButtonPressed = false;
|
||||||
return validateName(document.getElementById("wizard:wizard-body:name"),
|
return validateName(document.getElementById("wizard:wizard-body:name"),
|
||||||
unescape('</f:verbatim><a:outputText value="#{msg.validation_invalid_character}" encodeForJavaScript="true" /><f:verbatim>'),
|
unescape('</f:verbatim><h:outputText value="#{msg.validation_invalid_character}" /><f:verbatim>'),
|
||||||
true);
|
true);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@@ -197,7 +197,7 @@
|
|||||||
{
|
{
|
||||||
finishButtonPressed = false;
|
finishButtonPressed = false;
|
||||||
return validateName(document.getElementById("dialog:dialog-body:file-name"),
|
return validateName(document.getElementById("dialog:dialog-body:file-name"),
|
||||||
unescape('</f:verbatim><a:outputText id="text11" value="#{msg.validation_invalid_character}" encodeForJavaScript="true" /><f:verbatim>'), true);
|
unescape('</f:verbatim><h:outputText id="text11" value="#{msg.validation_invalid_character}" /><f:verbatim>'), true);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@@ -60,7 +60,7 @@
|
|||||||
{
|
{
|
||||||
finishButtonPressed = false;
|
finishButtonPressed = false;
|
||||||
return validateName(document.getElementById("dialog:dialog-body:name"),
|
return validateName(document.getElementById("dialog:dialog-body:name"),
|
||||||
unescape('</f:verbatim><a:outputText value="#{msg.validation_invalid_character}" encodeForJavaScript="true" /><f:verbatim>'),
|
unescape('</f:verbatim><h:outputText value="#{msg.validation_invalid_character}" /><f:verbatim>'),
|
||||||
true);
|
true);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@@ -62,7 +62,7 @@
|
|||||||
{
|
{
|
||||||
finishButtonPressed = false;
|
finishButtonPressed = false;
|
||||||
return validateName(document.getElementById("wizard:wizard-body:file-name"),
|
return validateName(document.getElementById("wizard:wizard-body:file-name"),
|
||||||
unescape('</f:verbatim><a:outputText value="#{msg.validation_invalid_character}" encodeForJavaScript="true" /><f:verbatim>'),
|
unescape('</f:verbatim><h:outputText value="#{msg.validation_invalid_character}" /><f:verbatim>'),
|
||||||
true);
|
true);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@@ -60,7 +60,7 @@
|
|||||||
{
|
{
|
||||||
finishButtonPressed = false;
|
finishButtonPressed = false;
|
||||||
return validateName(document.getElementById("dialog:dialog-body:name"),
|
return validateName(document.getElementById("dialog:dialog-body:name"),
|
||||||
unescape('</f:verbatim><a:outputText value="#{msg.validation_invalid_character}" encodeForJavaScript="true" /><f:verbatim>'),
|
unescape('</f:verbatim><h:outputText value="#{msg.validation_invalid_character}" /><f:verbatim>'),
|
||||||
true);
|
true);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@@ -64,7 +64,7 @@
|
|||||||
{
|
{
|
||||||
finishButtonPressed = false;
|
finishButtonPressed = false;
|
||||||
var valid = validateName(document.getElementById("wizard:wizard-body:name"),
|
var valid = validateName(document.getElementById("wizard:wizard-body:name"),
|
||||||
unescape('</f:verbatim><a:outputText value="#{msg.validation_invalid_character}" encodeForJavaScript="true" /><f:verbatim>'),
|
unescape('</f:verbatim><h:outputText value="#{msg.validation_invalid_character}" /><f:verbatim>'),
|
||||||
true);
|
true);
|
||||||
if (valid == true)
|
if (valid == true)
|
||||||
{
|
{
|
||||||
|
@@ -259,4 +259,33 @@ var OfficeAddin =
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
window.addEvent('domready', OfficeAddin.init);
|
function htmlWordWrap(elementId, lineWidth, sentence)
|
||||||
|
{
|
||||||
|
if(!elementId || (elementId.length < 1) || !sentence || (sentence.length < 1) || (lineWidth <= 0))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var result = "";
|
||||||
|
var i = 0;
|
||||||
|
|
||||||
|
for(; (sentence.length - i) >= lineWidth; i += lineWidth)
|
||||||
|
{
|
||||||
|
result += sentence.substr(i, lineWidth) + "<br />";
|
||||||
|
}
|
||||||
|
if((sentence.length - i) > 0)
|
||||||
|
{
|
||||||
|
result += sentence.substr(i, (sentence.length - i));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
result = result.substr(0, (result.length - 6));
|
||||||
|
}
|
||||||
|
var nameElement = document.getElementById(elementId);
|
||||||
|
if(undefined != nameElement)
|
||||||
|
{
|
||||||
|
nameElement.innerHTML = result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
window.addEvent('domready', OfficeAddin.init);
|
||||||
|
Reference in New Issue
Block a user