Merged V3.2E to HEAD

17495: Changed xforms-samples name to wcm-sample
   17496: Minor fixes for day and week views when rendering new events
   17497: *RECORD ONLY* Added Enterprise logo local copy.
   17498: ETHREEOH-2933 - User can see contents of the moderated site if user is not a member of the site
          - Site containers are now private and non member's can't see content.
          - fix only applies to new moderated sites.
   17499: ETHREEOH-2322 - Office Plugin: filename overlaps the plugin UI if longer than 40 characters without spaces
   17500: Temorary build fix for site visibility
   17508: ETHREEOH-1268 - Pages and Components show varying degrees of success handling "site not found" errors.
   17509: Fix for ETHREEOH1733 - Wrong display of multi day events in Share
   17514: View In Browser action for document list and document details actions.
   17515: Merged DEV-TEMPORARY to V3.2
      17471: ETHREEOH-3193: 'capitalize' in output path pattern works differently for templates (vs. XSDs)
   17516: Missing css file from Edit Offline changes. Also "Checked out on/by" text changed to "Editing started on/by". Tags now comma separated
   17517: Merged DEV-TEMPORARY to V3.2
      17474: ETHREEOH-1211: Can't See Images in TinyMCE
   17518: Office add-in: ETHREEOH-3361 - Workflow name is visible only before symbol &, ETHREEOH-2735 - Total number of founded items is not shown
   17519: 3.2E help links
   17520: 3.2E help links, plus ETHREEOH-1536 - Incorrect "insert into current document" function work for unsupported files in MS Office Addin
   17522: Fix for ETHREEOH-3257 - Event becomes All day again after editing it to not All day
   17526: Fix for unreported issue when rendering an edited event after the view is filtered via tag component causes an script error
   17528: Fixed ETHREEOH-3364 " Admin Console - Group Search needs to show searching message and disable further requests while search is running"
          - Disabling search button & message displaying "Searching..." after 2 seconds for long searches for the following components:
             * Admin Console: Users - search user, add group
             * Admin Console: Groups - search group, add group, add user
             * Site: Members: People - search members, add people
             * Site: Members: Groups - search membergroups, add group
             * Site: Members: Pending invites - search invites
             * Site: Doclib: Assign Workflow - add users
             * People Finder 
             * Site Finder
          - All component listed above uses max search result except the following where webscript services lacks support for it:
             * Admin Console: Users - add group
             * Admin Console: Groups - search group, add group
             * Site: Members: Pending invites - search invites
          - Bugfix: When minSearchTermLength is set to 0:
             * Group Admin Console: switched to browse view
             * User Admin Console: didnt do a search
          - Bugfix: For some components minSearchTermLength & maxSearchResults were brought in as strings causing the global search's max result to be 1001 instead of 101

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@18126 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Kevin Roast
2010-01-19 11:50:05 +00:00
parent 97f06f3773
commit 189422edce
17 changed files with 72 additions and 74 deletions

View File

@@ -11,7 +11,7 @@ office.title.document_tags=Document Tags
# Help # Help
office.help.title=Online Help office.help.title=Online Help
office.help.url=http://www.alfresco.com/help/32/labs/msaddin/ office.help.url=http://www.alfresco.com/help/32/enterprise/msaddin/
# Headers and Subheaders # Headers and Subheaders
office.header.my_checked_out_documents=My Checked Out Documents office.header.my_checked_out_documents=My Checked Out Documents

View File

@@ -11,7 +11,7 @@ office.title.document_tags=Dokumente Tags
# Help # Help
office.help.title=Online-Hilfe office.help.title=Online-Hilfe
office.help.url=http://www.alfresco.com/help/32/labs/msaddin/ office.help.url=http://www.alfresco.com/help/32/enterprise/msaddin/
# Headers and Subheaders # Headers and Subheaders
office.header.my_checked_out_documents=Meine ausgecheckten Dokumente office.header.my_checked_out_documents=Meine ausgecheckten Dokumente

View File

@@ -72,7 +72,7 @@
<allow-guest-config>false</allow-guest-config> <allow-guest-config>false</allow-guest-config>
<!-- the URL to the client Help file --> <!-- the URL to the client Help file -->
<help-url>http://www.alfresco.com/help/32/labs/ecmexplorerhelp/</help-url> <help-url>http://www.alfresco.com/help/32/enterprise/ecmexplorerhelp/</help-url>
<!-- the type of edit link to use, NOTE: inline editable will always take precedence --> <!-- the type of edit link to use, NOTE: inline editable will always take precedence -->
<!-- can be: http|webdav|cifs --> <!-- can be: http|webdav|cifs -->

View File

@@ -489,6 +489,7 @@ public class CreateWebContentWizard extends CreateContentWizard
{ {
// get the parent path of the location to save the content // get the parent path of the location to save the content
String fileName = this.getFileName(); String fileName = this.getFileName();
String contentName = fileName;
if (logger.isDebugEnabled()) if (logger.isDebugEnabled())
logger.debug("saving file content to " + fileName); logger.debug("saving file content to " + fileName);
@@ -579,7 +580,7 @@ public class CreateWebContentWizard extends CreateContentWizard
{ {
try try
{ {
path = ret.getOutputPathForRendition(this.formInstanceData, cwd); path = ret.getOutputPathForRendition(this.formInstanceData, cwd, contentName);
if (logger.isDebugEnabled()) if (logger.isDebugEnabled())
logger.debug("About to render path: " + path); logger.debug("About to render path: " + path);

View File

@@ -258,7 +258,7 @@ import org.xml.sax.SAXException;
try try
{ {
renditionLockedBefore = false; renditionLockedBefore = false;
path = ret.getOutputPathForRendition(this, originalParentAvmPath); path = ret.getOutputPathForRendition(this, originalParentAvmPath, getName());
if (logger.isDebugEnabled()) if (logger.isDebugEnabled())
logger.debug("regenerating rendition of " + this.getPath() + logger.debug("regenerating rendition of " + this.getPath() +

View File

@@ -72,10 +72,11 @@ public interface RenderingEngineTemplate
* @param formInstanceData the form instance data to use for * @param formInstanceData the form instance data to use for
* processing the pattern. * processing the pattern.
* @param currentAVMPath the current path where the form is being created. * @param currentAVMPath the current path where the form is being created.
* @param name the name which is used in a pattern
* @return the output path for the rendition. * @return the output path for the rendition.
*/ */
public String getOutputPathForRendition(final FormInstanceData formInstanceData, public String getOutputPathForRendition(final FormInstanceData formInstanceData,
final String currentAVMPath); final String currentAVMPath, final String name);
/** /**
* Returns the mimetype to use when generating content for this * Returns the mimetype to use when generating content for this

View File

@@ -214,10 +214,11 @@ public class RenderingEngineTemplateImpl
* *
* @param formInstanceData the form instance data to use for the rendition path. * @param formInstanceData the form instance data to use for the rendition path.
* @param currentAVMPath the current path in which the form is being created. * @param currentAVMPath the current path in which the form is being created.
* @param name the name which is used in a pattern
* *
* @return the output path to use for renditions. * @return the output path to use for renditions.
*/ */
public String getOutputPathForRendition(final FormInstanceData formInstanceData, final String currentAVMPath) public String getOutputPathForRendition(final FormInstanceData formInstanceData, final String currentAVMPath, final String name)
{ {
final ServiceRegistry sr = this.getServiceRegistry(); final ServiceRegistry sr = this.getServiceRegistry();
final AVMService avmService = sr.getAVMLockingAwareService(); final AVMService avmService = sr.getAVMLockingAwareService();
@@ -234,8 +235,7 @@ public class RenderingEngineTemplateImpl
: null); : null);
root.put("webapp", webappName); root.put("webapp", webappName);
final String formInstanceDataName = formInstanceData.getName(); root.put("name", name);
root.put("name", formInstanceDataName.replaceAll("(.+)\\..*", "$1"));
root.put("extension", root.put("extension",
sr.getMimetypeService().getExtension(this.getMimetypeForRendition())); sr.getMimetypeService().getExtension(this.getMimetypeForRendition()));
Document formInstanceDataDocument = null; Document formInstanceDataDocument = null;
@@ -268,7 +268,7 @@ public class RenderingEngineTemplateImpl
{ {
logger.error(te.getMessage(), te); logger.error(te.getMessage(), te);
throw new AlfrescoRuntimeException("Error processing output path pattern " + outputPathPattern + throw new AlfrescoRuntimeException("Error processing output path pattern " + outputPathPattern +
" for " + formInstanceDataName + " for " + name +
" in webapp " + webappName + " in webapp " + webappName +
":\n" + te.getMessage(), ":\n" + te.getMessage(),
te); te);

View File

@@ -70,6 +70,13 @@ input.button {
overflow-x: hidden; overflow-x: hidden;
} }
.ellipsis {
margin: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.tabBar { .tabBar {
float: left; float: left;
width: 100%; width: 100%;

View File

@@ -1,7 +1,8 @@
.header { .header {
padding: 5px 0px 0px 4px;
margin: 0px 0px 0px -1px;
height: 16px; height: 16px;
margin: 0px 0px 0px -1px;
padding: 5px 0px 0px 4px;
width: 260px;
} }
.tabBar .help { .tabBar .help {
@@ -9,9 +10,9 @@
} }
.toggle { .toggle {
left: -3px;
margin-top: 0px; margin-top: 0px;
position: relative; position: relative;
left: -3px;
} }
.containerBig, .containerBigAlt, .containerMedium, .containerSmall, .containerSearchTerms, .containerSearchResults, .containerTabMedium, #currentSpaceInfo, #myAlfrescoActions, #navigationActions, #documentActions { .containerBig, .containerBigAlt, .containerMedium, .containerSmall, .containerSearchTerms, .containerSearchResults, .containerTabMedium, #currentSpaceInfo, #myAlfrescoActions, #navigationActions, #documentActions {
@@ -24,4 +25,8 @@
.tabBarInline, .tabHeader, .taggedFound { .tabBarInline, .tabHeader, .taggedFound {
margin: 0px 1px; margin: 0px 1px;
}
.taskResources {
width: 268px;
} }

View File

@@ -57,7 +57,7 @@ function alfresco_TinyMCE_urlconverter_callback(href, element, onsave)
} }
// handle URL issue with IE (WCM-1134) // handle URL issue with IE (WCM-1134)
if (tinyMCE.isMSIE) if (navigator.appName == "Microsoft Internet Explorer" || tinyMCE.isMSIE)
{ {
var server = document.location.protocol + "//" + document.location.host; var server = document.location.protocol + "//" + document.location.host;
if (href.startsWith(server)) if (href.startsWith(server))

View File

@@ -967,9 +967,21 @@ alfresco.xforms.RichTextEditor = alfresco.xforms.Widget.extend({
$each(this.widget.getElementsByTagName("img"), $each(this.widget.getElementsByTagName("img"),
function(img, index) function(img, index)
{ {
if (img.getAttribute("src") && img.getAttribute("src").match("^/"))
var href = img.getAttribute("src");
//Fix for ETHREEOH-1211
if (navigator.appName == "Microsoft Internet Explorer" || tinyMCE.isMSIE)
{ {
img.setAttribute("src", alfresco.constants.AVM_WEBAPP_URL + img.getAttribute("src")); var server = document.location.protocol + "//" + document.location.host;
if (href.startsWith(server))
{
href = href.substring(server.length);
}
}
if (href && href.match("^/"))
{
img.setAttribute("src", alfresco.constants.AVM_WEBAPP_URL + href);
} }
}); });
@@ -4755,7 +4767,6 @@ alfresco.constants.TINY_MCE_DEFAULT_SETTINGS =
height: -1, height: -1,
auto_resize: false, auto_resize: false,
force_p_newlines: false, force_p_newlines: false,
forced_root_block:false,
encoding: "UTF-8", encoding: "UTF-8",
entity_encoding: "raw", entity_encoding: "raw",
add_unload_trigger: false, add_unload_trigger: false,

View File

@@ -236,7 +236,7 @@ var OpenOffice = new Class(
with (this) with (this)
{ {
var newUrl = params.folderPath + "callexternal?extcall=&action=" + methodName var newUrl = params.folderPath + "callexternal?extcall=&action=" + methodName
+ "&path=" + path + "&ts=" + new Date().getTime() + "&path=" + encodeURIComponent(path) + "&ts=" + new Date().getTime()
+ (params.ticket != "" ? "&ticket=" + params.ticket : ""); + (params.ticket != "" ? "&ticket=" + params.ticket : "");
logDebug('doExternalCall', 'url=' + newUrl); logDebug('doExternalCall', 'url=' + newUrl);
$("if_externalComponenetMethodCall").src = newUrl; $("if_externalComponenetMethodCall").src = newUrl;
@@ -249,7 +249,7 @@ var OpenOffice = new Class(
with (this) with (this)
{ {
var newUrl = params.folderPath + "callexternal?extcall=&action=" + methodName var newUrl = params.folderPath + "callexternal?extcall=&action=" + methodName
+ "&path=" + path + "&filename=" + filename + "&ts=" + new Date().getTime() + "&path=" + encodeURIComponent(path) + "&filename=" + encodeURIComponent(filename) + "&ts=" + new Date().getTime()
+ (params.ticket != "" ? "&ticket=" + params.ticket : ""); + (params.ticket != "" ? "&ticket=" + params.ticket : "");
logDebug('doExternalCallEx', 'url=' + newUrl); logDebug('doExternalCallEx', 'url=' + newUrl);
$("if_externalComponenetMethodCall").src = newUrl; $("if_externalComponenetMethodCall").src = newUrl;

View File

@@ -51,7 +51,7 @@ var OfficeMyAlfresco =
// register 'click' event for each task // register 'click' event for each task
task.addEvent('click', function(e) task.addEvent('click', function(e)
{ {
window.location.href = window.serviceContextPath + "/office/myTasks" + OfficeAddin.defaultQuery + "&t=" + task.id; window.location.href = window.serviceContextPath + "/office/myTasks" + OfficeAddin.defaultQuery + "&t=" + encodeURIComponent(task.id);
}); });
}); });

View File

@@ -40,7 +40,7 @@ var OfficeMyTasks =
} }
}); });
} }
if ($('wrkDueDate')) if ($('wrkDueDate'))
{ {
var dueDate = new DatePicker($('wrkDueDate'), var dueDate = new DatePicker($('wrkDueDate'),
@@ -118,7 +118,10 @@ var OfficeMyTasks =
// highlight the item title // highlight the item title
task.addClass('taskItemSelected'); task.addClass('taskItemSelected');
OfficeAddin.showStatusText("Loading task...", "ajax_anim.gif", false); if (!window.queryObject.st)
{
OfficeAddin.showStatusText("Loading task...", "ajax_anim.gif", false);
}
// ajax call to load task details // ajax call to load task details
var actionURL = window.serviceContextPath + "/office/myTasksDetail" + OfficeAddin.defaultQuery + "&t=" + task.id.replace(/\./, "$"); var actionURL = window.serviceContextPath + "/office/myTasksDetail" + OfficeAddin.defaultQuery + "&t=" + task.id.replace(/\./, "$");
@@ -128,7 +131,10 @@ var OfficeMyTasks =
headers: {'If-Modified-Since': 'Sat, 1 Jan 2000 00:00:00 GMT'}, headers: {'If-Modified-Since': 'Sat, 1 Jan 2000 00:00:00 GMT'},
onComplete: function(textResponse, xmlResponse) onComplete: function(textResponse, xmlResponse)
{ {
OfficeAddin.hideStatusText(); if (!window.queryObject.st)
{
OfficeAddin.hideStatusText();
}
$("taskDetails").innerHTML = textResponse; $("taskDetails").innerHTML = textResponse;
} }
}).request(); }).request();
@@ -221,15 +227,15 @@ var OfficeMyTasks =
} }
OfficeAddin.showStatusText("Starting workflow...", "ajax_anim.gif", false); OfficeAddin.showStatusText("Starting workflow...", "ajax_anim.gif", false);
var actionURL = commandURL + "?a=workflow&n=" + Doc; var actionURL = commandURL + "?a=workflow&n=" + encodeURIComponent(Doc);
actionURL += "&wt=" + wrkType; actionURL += "&wt=" + encodeURIComponent(wrkType);
actionURL += "&at=" + wrkAssignTo; actionURL += "&at=" + encodeURIComponent(wrkAssignTo);
// Date supplied? // Date supplied?
if (wrkDueDate !== "") if (wrkDueDate !== "")
{ {
actionURL += "&dd=" + wrkDueDate; actionURL += "&dd=" + encodeURIComponent(wrkDueDate);
} }
actionURL += "&desc=" + wrkDescription; actionURL += "&desc=" + encodeURIComponent(wrkDescription);
var myAjax = new Ajax(actionURL, var myAjax = new Ajax(actionURL,
{ {
method: 'get', method: 'get',
@@ -253,7 +259,7 @@ var OfficeMyTasks =
}, },
/* AJAX call to perform server-side actions */ /* AJAX call to perform server-side actions */
runAction: function(useTemplate, action, nodeId, confirmMsg) runTaskAction: function(useTemplate, action, nodeId, confirmMsg)
{ {
// Re-select a selected task after reload // Re-select a selected task after reload
var taskSel = $E('#taskList .taskItemSelected'), var taskSel = $E('#taskList .taskItemSelected'),

View File

@@ -295,12 +295,12 @@ var OfficeNavigation =
saveOK: function() saveOK: function()
{ {
// Shortcut for double-event firing issue // Shortcut for double-event firing issue
if (this.popupPanel === null) if (this.popupPanel === null)
{ {
return; return;
} }
var filename = $('saveFilename').value.trim(), var filename = $('saveFilename').value.trim(),
currentPath = this.popupPanel.currentPath, currentPath = this.popupPanel.currentPath,
cancelSave = false; cancelSave = false;

View File

@@ -16,7 +16,7 @@ var OfficeAddin =
window.serviceContextPath = OfficeAddin.getServiceContextPath(); window.serviceContextPath = OfficeAddin.getServiceContextPath();
/* Update needed after page load? */ /* Update needed after page load? */
if(this.queryObject.st) if (this.queryObject.st)
{ {
var objResponse = Json.evaluate(this.queryObject.st), var objResponse = Json.evaluate(this.queryObject.st),
imgSuccess = (objResponse.statusCode ? "action_successful.gif" : "action_failed.gif"), imgSuccess = (objResponse.statusCode ? "action_successful.gif" : "action_failed.gif"),
@@ -72,10 +72,10 @@ var OfficeAddin =
}); });
if (fadeOut) if (fadeOut)
{ {
fx.onComplete = function() fx.chain(function()
{ {
OfficeAddin.hideStatusText.delay(OfficeAddin.STATUS_FADE); OfficeAddin.hideStatusText.delay(OfficeAddin.STATUS_FADE);
}; });
} }
var fxBackground = (typeof colBackground == "undefined") ? "#ffffcc" : colBackground; var fxBackground = (typeof colBackground == "undefined") ? "#ffffcc" : colBackground;
fx.start(fxBackground, "#ffffff"); fx.start(fxBackground, "#ffffff");
@@ -103,7 +103,7 @@ var OfficeAddin =
}, },
runAction: function(httpMethod, useTemplate, action, nodeId, confirmMsg, inParams, outParams) runAction: function(httpMethod, useTemplate, action, nodeId, confirmMsg, inParams, outParams)
{ {
if ((confirmMsg !== null) && (confirmMsg !== "")) if (confirmMsg && confirmMsg !== "")
{ {
if (!window.confirm(confirmMsg)) if (!window.confirm(confirmMsg))
{ {
@@ -259,33 +259,4 @@ var OfficeAddin =
} }
}; };
function htmlWordWrap(elementId, lineWidth, sentence) window.addEvent('domready', OfficeAddin.init);
{
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);

View File

@@ -29,13 +29,9 @@ var OfficeSearch =
{ {
strFound = "No items found"; strFound = "No items found";
} }
else if (shownResults < totalResults)
{
strFound = "Showing first " + shownResults + " of " + totalResults + " total items found";
}
else else
{ {
strFound = "Showing all " + shownResults + " items found"; strFound = shownResults + " items found";
} }
$('itemsFound').innerHTML = strFound; $('itemsFound').innerHTML = strFound;
}, },