diff --git a/config/alfresco/templates/webscripts/org/alfresco/portlets/myspaces_get_html.ftl b/config/alfresco/templates/webscripts/org/alfresco/portlets/myspaces_get_html.ftl
index 1d8eee4500..e3d0587857 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/portlets/myspaces_get_html.ftl
+++ b/config/alfresco/templates/webscripts/org/alfresco/portlets/myspaces_get_html.ftl
@@ -86,6 +86,7 @@
+
<#-- populated via an AJAX call to 'myspacespanel' webscript -->
<#-- resolved path, filter and home.noderef required as arguments -->
@@ -151,6 +152,17 @@ a.spacefilterLinkSelected:link, a.spacefilterLinkSelected:visited
visibility: hidden;
}
+#spacePanelOverlay
+{
+ background-image: url(${url.context}/images/icons/ajax_anim.gif);
+ background-position: center;
+ background-repeat: no-repeat;
+ position: absolute;
+ height: 320px;
+ width: 720px;
+ overflow: hidden;
+}
+
.spaceRow
{
padding-top: 4px;
diff --git a/config/alfresco/web-client-config-actions.xml b/config/alfresco/web-client-config-actions.xml
index 920faa52f1..62fd36f397 100644
--- a/config/alfresco/web-client-config-actions.xml
+++ b/config/alfresco/web-client-config-actions.xml
@@ -42,68 +42,6 @@
-
-
-
- Write
-
- org.alfresco.web.action.evaluator.MakeMultilingualEvaluator
- make_multilingual
- make_multilingual_tooltip
- /images/icons/make_ml.gif
- dialog:makeMultilingual
-
- #{actionContext.id}
-
-
-
-
-
-
- Write
-
- org.alfresco.web.action.evaluator.AddTranslationEvaluator
- add_translation
- add_translation_tooltip
- /images/icons/add_tranlsation.gif
- #{AddTranslationDialog.start}
- addTranslation
-
- #{actionContext.id}
-
-
-
-
-
-
- Write
-
- org.alfresco.web.action.evaluator.AddTranslationEvaluator
- add_translation_wc
- add_translation_wc_tooltip
- /images/icons/add_tranlsation_wc.gif
- dialog:addTranslationWithoutContent
-
- #{actionContext.id}
-
-
-
-
-
-
- Read
-
- org.alfresco.web.action.evaluator.MultilingualDetailsEvaluator
- manage_multilingual_details
- manage_multilingual_details_tooltip
- /images/icons/multilingual_details.gif
- #{BrowseBean.setupContentAction}
- dialog:showMLContainerDetails
-
- #{actionContext.id}
-
-
-
@@ -633,6 +571,68 @@
/images/icons/reset.gif
#{NavigatorPluginBean.reset}
+
+
+
+
+ Write
+
+ org.alfresco.web.action.evaluator.MakeMultilingualEvaluator
+ make_multilingual
+ make_multilingual_tooltip
+ /images/icons/make_ml.gif
+ dialog:makeMultilingual
+
+ #{actionContext.id}
+
+
+
+
+
+
+ Write
+
+ org.alfresco.web.action.evaluator.AddTranslationEvaluator
+ add_translation
+ add_translation_tooltip
+ /images/icons/add_tranlsation.gif
+ #{AddTranslationDialog.start}
+ addTranslation
+
+ #{actionContext.id}
+
+
+
+
+
+
+ Write
+
+ org.alfresco.web.action.evaluator.AddTranslationEvaluator
+ add_translation_wc
+ add_translation_wc_tooltip
+ /images/icons/add_tranlsation_wc.gif
+ dialog:addTranslationWithoutContent
+
+ #{actionContext.id}
+
+
+
+
+
+
+ Read
+
+ org.alfresco.web.action.evaluator.MultilingualDetailsEvaluator
+ manage_multilingual_details
+ manage_multilingual_details_tooltip
+ /images/icons/multilingual_details.gif
+ #{BrowseBean.setupContentAction}
+ dialog:showMLContainerDetails
+
+ #{actionContext.id}
+
+
@@ -747,19 +747,11 @@
-
-
+
-
-
-
-
-
-
-
diff --git a/config/alfresco/web-client-config-forum-actions.xml b/config/alfresco/web-client-config-forum-actions.xml
index 9b00e7a83a..af2aa3e377 100644
--- a/config/alfresco/web-client-config-forum-actions.xml
+++ b/config/alfresco/web-client-config-forum-actions.xml
@@ -20,7 +20,7 @@
- org.alfresco.web.action.evaluator.CutNodeEvaluator
+ org.alfresco.web.action.evaluator.DiscussionCutEvaluator
Delete
@@ -36,7 +36,7 @@
- org.alfresco.web.action.evaluator.DiscussionCutCopyEvaluator
+ org.alfresco.web.action.evaluator.DiscussionCopyEvaluator
copy
/images/icons/copy.gif
#{ClipboardBean.copyNode}
diff --git a/source/java/org/alfresco/web/action/evaluator/AddTranslationEvaluator.java b/source/java/org/alfresco/web/action/evaluator/AddTranslationEvaluator.java
index 0679956109..b08ee43708 100644
--- a/source/java/org/alfresco/web/action/evaluator/AddTranslationEvaluator.java
+++ b/source/java/org/alfresco/web/action/evaluator/AddTranslationEvaluator.java
@@ -43,28 +43,24 @@ import org.alfresco.web.bean.repository.Node;
*/
public class AddTranslationEvaluator implements ActionEvaluator
{
+ public boolean evaluate(Node node)
+ {
+ FacesContext fc = FacesContext.getCurrentInstance();
- public boolean evaluate(Node node)
- {
- FacesContext fc = FacesContext.getCurrentInstance();
-
- MultilingualContentService mlservice =
- (MultilingualContentService) FacesHelper.getManagedBean(fc, "MultilingualContentService");
-
- UserPreferencesBean userprefs =
- (UserPreferencesBean) FacesHelper.getManagedBean(fc, "UserPreferencesBean");
-
- // the number of translation of this document
- int availableTranslationCount = mlservice.getTranslations(node.getNodeRef()).size();
- // the total number of available languages for the translation
- int contentFilterLanguagesCount = userprefs.getContentFilterLanguages(false).length;
-
- return (
- node.isLocked() == false &&
- node.hasAspect(ContentModel.ASPECT_WORKING_COPY) == false &&
- node.hasAspect(ContentModel.ASPECT_MULTILINGUAL_DOCUMENT) == true &&
- availableTranslationCount < contentFilterLanguagesCount
- );
- }
+ MultilingualContentService mlservice =
+ (MultilingualContentService) FacesHelper.getManagedBean(fc, "MultilingualContentService");
-}
+ UserPreferencesBean userprefs =
+ (UserPreferencesBean) FacesHelper.getManagedBean(fc, "UserPreferencesBean");
+
+ // the number of translation of this document
+ int availableTranslationCount = mlservice.getTranslations(node.getNodeRef()).size();
+ // the total number of available languages for the translation
+ int contentFilterLanguagesCount = userprefs.getContentFilterLanguages(false).length;
+
+ return (node.isLocked() == false &&
+ node.hasAspect(ContentModel.ASPECT_WORKING_COPY) == false &&
+ node.hasAspect(ContentModel.ASPECT_MULTILINGUAL_DOCUMENT) == true &&
+ availableTranslationCount < contentFilterLanguagesCount);
+ }
+}
\ No newline at end of file
diff --git a/source/java/org/alfresco/web/action/evaluator/CutNodeEvaluator.java b/source/java/org/alfresco/web/action/evaluator/CutNodeEvaluator.java
index 10adf61ca8..efe667181b 100644
--- a/source/java/org/alfresco/web/action/evaluator/CutNodeEvaluator.java
+++ b/source/java/org/alfresco/web/action/evaluator/CutNodeEvaluator.java
@@ -40,20 +40,22 @@ import org.alfresco.web.bean.repository.Node;
*
* @author yanipig
*/
-public class CutNodeEvaluator extends DiscussionCutCopyEvaluator
+public class CutNodeEvaluator implements ActionEvaluator
{
-
public boolean evaluate(Node node)
- {
- boolean eval = super.evaluate(node);
-
- if(eval == true)
- {
- eval = !node.getAspects().contains(ContentModel.ASPECT_MULTILINGUAL_DOCUMENT);
- }
-
- return eval;
-
- }
+ {
+ boolean eval = true;
+ // impossible to cut/copy a translation without content.
+ if (node.getAspects().contains(ContentModel.ASPECT_MULTILINGUAL_EMPTY_TRANSLATION))
+ {
+ eval = false;
+ }
+ else
+ {
+ eval = !node.getAspects().contains(ContentModel.ASPECT_MULTILINGUAL_DOCUMENT);
+ }
+
+ return eval;
+ }
}
diff --git a/source/java/org/alfresco/web/action/evaluator/DeleteDocEvaluator.java b/source/java/org/alfresco/web/action/evaluator/DeleteDocEvaluator.java
index 500c05e2b0..8fc5d75f95 100644
--- a/source/java/org/alfresco/web/action/evaluator/DeleteDocEvaluator.java
+++ b/source/java/org/alfresco/web/action/evaluator/DeleteDocEvaluator.java
@@ -44,33 +44,32 @@ public class DeleteDocEvaluator implements ActionEvaluator
*/
public boolean evaluate(Node node)
{
- boolean isPivot = false;
-
- // special case for multilingual documents
- if(node.getAspects().contains(ContentModel.ASPECT_MULTILINGUAL_DOCUMENT))
- {
- FacesContext fc = FacesContext.getCurrentInstance();
-
- MultilingualContentService mlservice =
+ boolean isPivot = false;
+
+ // special case for multilingual documents
+ if (node.getAspects().contains(ContentModel.ASPECT_MULTILINGUAL_DOCUMENT))
+ {
+ FacesContext fc = FacesContext.getCurrentInstance();
+
+ MultilingualContentService mlservice =
(MultilingualContentService) FacesHelper.getManagedBean(fc, "MultilingualContentService");
-
- // if the translation is the last translation, user can delete it
- if(mlservice.getTranslations(node.getNodeRef()).size() == 1)
- {
- isPivot = false;
- }
- // Else if the node is the pivot language, user can't delete it
- else if( mlservice.getPivotTranslation(node.getNodeRef()).getId()
- .equalsIgnoreCase(node.getNodeRef().getId()))
- {
- isPivot = true;
- }
- // finally, the node is not the pivot translation, user can delete it
- }
-
- return (node.isLocked() == false &&
+
+ // if the translation is the last translation, user can delete it
+ if (mlservice.getTranslations(node.getNodeRef()).size() == 1)
+ {
+ isPivot = false;
+ }
+ // Else if the node is the pivot language, user can't delete it
+ else if (mlservice.getPivotTranslation(node.getNodeRef()).getId()
+ .equalsIgnoreCase(node.getNodeRef().getId()))
+ {
+ isPivot = true;
+ }
+ // finally, the node is not the pivot translation, user can delete it
+ }
+
+ return (node.isLocked() == false &&
node.hasAspect(ContentModel.ASPECT_WORKING_COPY) == false &&
- isPivot == false
- );
+ isPivot == false);
}
}
\ No newline at end of file
diff --git a/source/java/org/alfresco/web/action/evaluator/DiscussionCutCopyEvaluator.java b/source/java/org/alfresco/web/action/evaluator/DiscussionCopyEvaluator.java
similarity index 92%
rename from source/java/org/alfresco/web/action/evaluator/DiscussionCutCopyEvaluator.java
rename to source/java/org/alfresco/web/action/evaluator/DiscussionCopyEvaluator.java
index 51c3b0235e..4505d6578f 100644
--- a/source/java/org/alfresco/web/action/evaluator/DiscussionCutCopyEvaluator.java
+++ b/source/java/org/alfresco/web/action/evaluator/DiscussionCopyEvaluator.java
@@ -36,13 +36,13 @@ import org.alfresco.web.bean.repository.Node;
import org.alfresco.web.bean.repository.Repository;
/**
- * Evaluates whether the cut or copy action should be visible.
+ * Evaluates whether the copy action should be visible.
*
* If the node is a discussion don't allow the action.
*
* @author gavinc
*/
-public class DiscussionCutCopyEvaluator implements ActionEvaluator
+public class DiscussionCopyEvaluator implements ActionEvaluator
{
/**
* @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node)
@@ -66,7 +66,7 @@ public class DiscussionCutCopyEvaluator implements ActionEvaluator
}
// impossible to copy a translation without content.
- if(result && node.getAspects().contains(ContentModel.ASPECT_MULTILINGUAL_EMPTY_TRANSLATION))
+ if (result && node.getAspects().contains(ContentModel.ASPECT_MULTILINGUAL_EMPTY_TRANSLATION))
{
result = false;
}
diff --git a/source/java/org/alfresco/web/action/evaluator/DiscussionCutEvaluator.java b/source/java/org/alfresco/web/action/evaluator/DiscussionCutEvaluator.java
new file mode 100644
index 0000000000..1d6906d77a
--- /dev/null
+++ b/source/java/org/alfresco/web/action/evaluator/DiscussionCutEvaluator.java
@@ -0,0 +1,70 @@
+/*
+ * 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.action.evaluator;
+
+import javax.faces.context.FacesContext;
+
+import org.alfresco.model.ContentModel;
+import org.alfresco.model.ForumModel;
+import org.alfresco.service.cmr.repository.ChildAssociationRef;
+import org.alfresco.service.cmr.repository.NodeService;
+import org.alfresco.service.namespace.QName;
+import org.alfresco.web.action.ActionEvaluator;
+import org.alfresco.web.bean.repository.Node;
+import org.alfresco.web.bean.repository.Repository;
+
+/**
+ * Evaluates whether the cut action should be visible.
+ *
+ * If the node is a discussion don't allow the action.
+ *
+ * @author gavinc
+ */
+public class DiscussionCutEvaluator extends CutNodeEvaluator
+{
+ /**
+ * @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node)
+ */
+ public boolean evaluate(Node node)
+ {
+ boolean result = super.evaluate(node);
+
+ // if the node in question is a forum...
+ if (result && node.getType().equals(ForumModel.TYPE_FORUM))
+ {
+ // get the association type
+ FacesContext context = FacesContext.getCurrentInstance();
+ NodeService nodeService = Repository.getServiceRegistry(context).getNodeService();
+
+ ChildAssociationRef parentAssoc = nodeService.getPrimaryParent(node.getNodeRef());
+ QName assocType = parentAssoc.getTypeQName();
+
+ // only allow the action if the association type is not the discussion assoc
+ result = (assocType.equals(ForumModel.ASSOC_DISCUSSION) == false);
+ }
+
+ return result;
+ }
+}
diff --git a/source/java/org/alfresco/web/action/evaluator/MakeMultilingualEvaluator.java b/source/java/org/alfresco/web/action/evaluator/MakeMultilingualEvaluator.java
index 856ce9aecf..da7169f965 100644
--- a/source/java/org/alfresco/web/action/evaluator/MakeMultilingualEvaluator.java
+++ b/source/java/org/alfresco/web/action/evaluator/MakeMultilingualEvaluator.java
@@ -41,22 +41,19 @@ import org.alfresco.web.bean.repository.Node;
*/
public class MakeMultilingualEvaluator implements ActionEvaluator
{
+ public boolean evaluate(Node node)
+ {
+ FacesContext fc = FacesContext.getCurrentInstance();
- public boolean evaluate(Node node)
- {
- FacesContext fc = FacesContext.getCurrentInstance();
-
- UserPreferencesBean userprefs =
- (UserPreferencesBean) FacesHelper.getManagedBean(fc, "UserPreferencesBean");
-
- // the total number of available languages for the translation have to be greather that 0
- int contentFilterLanguagesCount = userprefs.getContentFilterLanguages(false).length;
-
- return (node.isLocked() == false &&
- node.hasAspect(ContentModel.ASPECT_WORKING_COPY) == false &&
- node.hasAspect(ContentModel.ASPECT_MULTILINGUAL_DOCUMENT) == false &&
- contentFilterLanguagesCount > 0
- );
- }
+ UserPreferencesBean userprefs =
+ (UserPreferencesBean) FacesHelper.getManagedBean(fc, "UserPreferencesBean");
-}
+ // the total number of available languages for the translation have to be greather that 0
+ int contentFilterLanguagesCount = userprefs.getContentFilterLanguages(false).length;
+
+ return (node.isLocked() == false &&
+ node.hasAspect(ContentModel.ASPECT_WORKING_COPY) == false &&
+ node.hasAspect(ContentModel.ASPECT_MULTILINGUAL_DOCUMENT) == false &&
+ contentFilterLanguagesCount > 0);
+ }
+}
\ No newline at end of file
diff --git a/source/java/org/alfresco/web/action/evaluator/MultilingualDetailsEvaluator.java b/source/java/org/alfresco/web/action/evaluator/MultilingualDetailsEvaluator.java
index 7c4409dd8a..1530ae79dd 100644
--- a/source/java/org/alfresco/web/action/evaluator/MultilingualDetailsEvaluator.java
+++ b/source/java/org/alfresco/web/action/evaluator/MultilingualDetailsEvaluator.java
@@ -37,12 +37,8 @@ import org.alfresco.web.bean.repository.Node;
*/
public class MultilingualDetailsEvaluator implements ActionEvaluator
{
-
- public boolean evaluate(Node node)
- {
- return (
- node.hasAspect(ContentModel.ASPECT_MULTILINGUAL_DOCUMENT) == true
- );
- }
-
+ public boolean evaluate(Node node)
+ {
+ return (node.hasAspect(ContentModel.ASPECT_MULTILINGUAL_DOCUMENT) == true);
+ }
}
diff --git a/source/java/org/alfresco/web/bean/BrowseBean.java b/source/java/org/alfresco/web/bean/BrowseBean.java
index d2b6f72d7f..adc04d6aca 100644
--- a/source/java/org/alfresco/web/bean/BrowseBean.java
+++ b/source/java/org/alfresco/web/bean/BrowseBean.java
@@ -52,7 +52,6 @@ import org.alfresco.service.cmr.repository.ContentData;
import org.alfresco.service.cmr.repository.InvalidNodeRefException;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.NodeService;
-import org.alfresco.service.cmr.repository.Path;
import org.alfresco.service.cmr.search.LimitBy;
import org.alfresco.service.cmr.search.ResultSet;
import org.alfresco.service.cmr.search.ResultSetRow;
@@ -1055,40 +1054,40 @@ public class BrowseBean implements IContextListener
return (content != null ? new Long(content.getSize()) : 0L);
}
};
-
- public NodePropertyResolver resolverLang = new NodePropertyResolver() {
- public Object get(Node node) {
-
- String lang = null;
-
- if(node.getAspects().contains(ContentModel.ASPECT_MULTILINGUAL_DOCUMENT))
- {
- Locale locale = (Locale) node.getProperties().get(ContentModel.PROP_LOCALE);
-
- // the content filter lang defined by the user
- String userLang = userPreferencesBean.getContentFilterLanguage();
- // the node lang
- String nodeLang = locale.getLanguage();
-
- // if filter equals all languages : display the lang for each translation
- if(nodeLang == null)
- {
- lang = nodeLang;
- }
-
- // if filter is different : display the lang
- else if (!nodeLang.equalsIgnoreCase(userLang))
- {
- lang = nodeLang;
- }
-
- // else if the filter is equal to the lang node : nothing to do [lang = null]
-
- }
- return lang;
+ public NodePropertyResolver resolverLang = new NodePropertyResolver() {
+ public Object get(Node node) {
+
+ String lang = null;
+
+ if (node.getAspects().contains(ContentModel.ASPECT_MULTILINGUAL_DOCUMENT))
+ {
+ Locale locale = (Locale) node.getProperties().get(ContentModel.PROP_LOCALE);
+
+ // the content filter lang defined by the user
+ String userLang = userPreferencesBean.getContentFilterLanguage();
+ // the node lang
+ String nodeLang = locale.getLanguage();
+
+ // if filter equals all languages : display the lang for each translation
+ if (nodeLang == null)
+ {
+ lang = nodeLang;
+ }
+
+ // if filter is different : display the lang
+ else if (!nodeLang.equalsIgnoreCase(userLang))
+ {
+ lang = nodeLang;
+ }
+
+ // else if the filter is equal to the lang node : nothing to do [lang = null]
}
- };
+
+ return lang;
+ }
+ };
+
// ------------------------------------------------------------------------------
// Navigation action event handlers
diff --git a/source/java/org/alfresco/web/bean/UserPreferencesBean.java b/source/java/org/alfresco/web/bean/UserPreferencesBean.java
index b16f0840c7..cd0ee165e2 100644
--- a/source/java/org/alfresco/web/bean/UserPreferencesBean.java
+++ b/source/java/org/alfresco/web/bean/UserPreferencesBean.java
@@ -53,9 +53,9 @@ import org.alfresco.web.config.LanguagesConfigElement;
public class UserPreferencesBean
{
private static final String PREF_STARTLOCATION = "start-location";
-
+
private static final String PREF_CONTENTFILTERLANGUAGE = "content-filter-language";
-
+
/**
* Remplacement message for set the filter at 'all languages'.
* Must be considered as a null value.
@@ -64,13 +64,13 @@ public class UserPreferencesBean
/** language locale selection */
private String language = null;
-
+
/** content language locale selection */
private String contentFilterLanguage = null;
-
+
/** the injected MultilingualContentService */
MultilingualContentService multilingualContentService;
-
+
/** the injected ContentFilterLanguagesService */
ContentFilterLanguagesService contentFilterLanguagesService;
@@ -82,28 +82,28 @@ public class UserPreferencesBean
*/
public SelectItem[] getLanguages()
{
- // Get the item selection list
- SelectItem[] items = getLanguageItems();
- // Change the current language
- if (this.language == null)
- {
- // first try to get the language that the current user is using
- Locale lastLocale = Application.getLanguage(FacesContext.getCurrentInstance());
- if (lastLocale != null)
- {
- this.language = lastLocale.toString();
- }
- // else we default to the first item in the list
- else if (items.length > 0)
- {
- this.language = (String) items[0].getValue();
- }
- else
- {
- throw new AlfrescoRuntimeException("The language list is empty");
- }
- }
- return items;
+ // Get the item selection list
+ SelectItem[] items = getLanguageItems();
+ // Change the current language
+ if (this.language == null)
+ {
+ // first try to get the language that the current user is using
+ Locale lastLocale = Application.getLanguage(FacesContext.getCurrentInstance());
+ if (lastLocale != null)
+ {
+ this.language = lastLocale.toString();
+ }
+ // else we default to the first item in the list
+ else if (items.length > 0)
+ {
+ this.language = (String) items[0].getValue();
+ }
+ else
+ {
+ throw new AlfrescoRuntimeException("The language list is empty");
+ }
+ }
+ return items;
}
/**
@@ -121,11 +121,11 @@ public class UserPreferencesBean
{
this.language = language;
Application.setLanguage(FacesContext.getCurrentInstance(), language);
-
+
// Set the current locale in the server
I18NUtil.setLocale(I18NUtil.parseLocale(language));
}
-
+
/**
* @return current content filter language, or null if all languages was selected
*/
@@ -133,61 +133,59 @@ public class UserPreferencesBean
{
if (this.contentFilterLanguage == null)
{
- Locale locale = (Locale) PreferencesService.getPreferences().getValue(PREF_CONTENTFILTERLANGUAGE);
- // Null means All Languages
- if (locale == null)
- {
- this.contentFilterLanguage = null;
- }
- else
- {
- this.contentFilterLanguage = locale.toString();
- }
+ Locale locale = (Locale) PreferencesService.getPreferences().getValue(PREF_CONTENTFILTERLANGUAGE);
+ // Null means All Languages
+ if (locale == null)
+ {
+ this.contentFilterLanguage = null;
+ }
+ else
+ {
+ this.contentFilterLanguage = locale.toString();
+ }
}
-
+
// set the content filter locale on the core
I18NUtil.setContentLocale(I18NUtil.parseLocale(this.contentFilterLanguage));
-
+
return this.contentFilterLanguage;
- //return (contentFilterLanguage.equals(MSG_CONTENTALLLANGUAGES)) ? "en" : contentFilterLanguage;
}
-
-
+
/**
* @param languageStr A valid locale string or {@link #MSG_CONTENTALLLANGUAGES}
*/
public void setContentFilterLanguage(String contentFilterLanguage)
{
this.contentFilterLanguage = contentFilterLanguage;
- Locale language = null;
- if (contentFilterLanguage.equals(MSG_CONTENTALLLANGUAGES))
- {
- // The generic "All Languages" was selected - persist this as a null
- this.contentFilterLanguage = null;
- }
- else
- {
- // It should be a proper locale string
- language = I18NUtil.parseLocale(contentFilterLanguage);
- }
- PreferencesService.getPreferences().setValue(PREF_CONTENTFILTERLANGUAGE, language);
-
- // set the content filter locale on the core
+ Locale language = null;
+ if (contentFilterLanguage.equals(MSG_CONTENTALLLANGUAGES))
+ {
+ // The generic "All Languages" was selected - persist this as a null
+ this.contentFilterLanguage = null;
+ }
+ else
+ {
+ // It should be a proper locale string
+ language = I18NUtil.parseLocale(contentFilterLanguage);
+ }
+ PreferencesService.getPreferences().setValue(PREF_CONTENTFILTERLANGUAGE, language);
+
+ // set the content filter locale on the core
I18NUtil.setContentLocale(language);
-
- // Ensure a refresh
- UIContextService.getInstance(FacesContext.getCurrentInstance()).notifyBeans();
+
+ // Ensure a refresh
+ UIContextService.getInstance(FacesContext.getCurrentInstance()).notifyBeans();
}
-
+
/**
* @return list of items for the content filtering language selection include the label 'all langaguages'
*/
public SelectItem[] getContentFilterLanguages()
{
- // Get the item selection list
+ // Get the item selection list
return getContentFilterLanguages(true);
}
-
+
/**
* @param includeAllLanguages if true, the list must include the label 'all languages'
* @return list of items for the content filtering language selection
@@ -196,68 +194,61 @@ public class UserPreferencesBean
{
FacesContext fc = FacesContext.getCurrentInstance();
ResourceBundle msg = Application.getBundle(fc);
-
+
// get the list of filter languages
List languages = contentFilterLanguagesService.getFilterLanguages();
-
+
// set the item selection list
SelectItem[] items = new SelectItem[(includeAllLanguages) ? languages.size() + 1 : languages.size()];
int idx = 0;
-
+
// include the item if needed
if (includeAllLanguages)
{
- String allLanguagesStr = msg.getString(MSG_CONTENTALLLANGUAGES);
- items[idx] = new SelectItem(MSG_CONTENTALLLANGUAGES, allLanguagesStr);
- idx++;
- }
-
- for(String lang : languages)
- {
- String label = contentFilterLanguagesService.getLabelByCode(lang);
-
- items[idx] = new SelectItem(
- lang,
- label);
-
+ String allLanguagesStr = msg.getString(MSG_CONTENTALLLANGUAGES);
+ items[idx] = new SelectItem(MSG_CONTENTALLLANGUAGES, allLanguagesStr);
idx++;
}
-
+
+ for (String lang : languages)
+ {
+ String label = contentFilterLanguagesService.getLabelByCode(lang);
+ items[idx++] = new SelectItem(lang, label);
+ idx++;
+ }
+
return items;
}
-
-
-
- /**
- * return the list of languages in which the given node hasn't be translated yet.
- *
+
+ /**
+ * return the list of languages in which the given node hasn't be translated yet.
+ *
* @param translation the translatable node ref
* @param returnTranslationLanguage if true, return the language of the given translation.
* @return the list of languages
*/
public SelectItem[] getAvailablesContentFilterLanguages(NodeRef translation, boolean returnTranslationLanguage)
- {
+ {
// get the list of missing translation of this node
List missingLocales = multilingualContentService.getMissingTranslations(translation, returnTranslationLanguage);
-
+
// set the item selection list
SelectItem[] items = new SelectItem[missingLocales.size()];
int idx = 0;
-
+
for(Locale locale : missingLocales)
{
String label = contentFilterLanguagesService.getLabelByCode(locale.getLanguage());
-
+
items[idx] = new SelectItem(
- locale.toString(),
- label);
+ locale.toString(),
+ label);
idx++;
}
-
+
return items;
}
-
-
+
/**
* Helper to return the available language items
*
@@ -270,7 +261,7 @@ public class UserPreferencesBean
Config config = Application.getConfigService(fc).getConfig("Languages");
LanguagesConfigElement langConfig = (LanguagesConfigElement)config.getConfigElement(
LanguagesConfigElement.CONFIG_ELEMENT_ID);
-
+
List languages = langConfig.getLanguages();
List items = new ArrayList(10);
@@ -280,10 +271,10 @@ public class UserPreferencesBean
String label = langConfig.getLabelForLanguage(locale);
items.add(new SelectItem(locale, label));
}
-
+
return items.toArray(new SelectItem[items.size()]);
}
-
+
/**
* @return the start location for this user (@see NavigationBean)
*/
@@ -297,7 +288,7 @@ public class UserPreferencesBean
}
return location;
}
-
+
/**
* @param location The current start location for this user (@see NavigationBean)
*/
@@ -305,7 +296,7 @@ public class UserPreferencesBean
{
PreferencesService.getPreferences().setValue(PREF_STARTLOCATION, location);
}
-
+
/**
* @return the list of available start locations
*/
@@ -314,34 +305,34 @@ public class UserPreferencesBean
FacesContext fc = FacesContext.getCurrentInstance();
NavigationBean navigator = (NavigationBean)FacesHelper.getManagedBean(fc, "NavigationBean");
ResourceBundle msg = Application.getBundle(fc);
-
+
List locations = new ArrayList(4);
-
+
// add My Alfresco location
locations.add(new SelectItem(
NavigationBean.LOCATION_MYALFRESCO, msg.getString(NavigationBean.MSG_MYALFRESCO)));
-
+
// add My Home location
locations.add(new SelectItem(
NavigationBean.LOCATION_HOME, msg.getString(NavigationBean.MSG_MYHOME)));
-
+
// add Company Home location if visible
if (navigator.getCompanyHomeVisible())
{
locations.add(new SelectItem(
NavigationBean.LOCATION_COMPANY, msg.getString(NavigationBean.MSG_COMPANYHOME)));
}
-
+
// add Guest Home location if visible
if (navigator.getGuestHomeVisible())
{
locations.add(new SelectItem(
NavigationBean.LOCATION_GUEST, msg.getString(NavigationBean.MSG_GUESTHOME)));
}
-
+
return locations.toArray(new SelectItem[locations.size()]);
}
-
+
/**
* @return true if the Guest user is allowed to configure the user preferences
*/
@@ -357,7 +348,7 @@ public class UserPreferencesBean
{
return multilingualContentService;
}
-
+
/**
* @param multilingualContentService the multilingualContentService to set
*/
diff --git a/source/web/css/main.css b/source/web/css/main.css
index aa60b873df..e8642edc95 100644
--- a/source/web/css/main.css
+++ b/source/web/css/main.css
@@ -500,14 +500,15 @@ a.topToolbarLinkHighlight, a.topToolbarLinkHighlight:link, a.topToolbarLinkHighl
.langCode
{
- color:#FFFFFF;
- padding-left:2px;
- padding-right:2px;
- letter-spacing:1px;
- border:1px solid #000000;
- background-color:#0000FF;
- font-weight:bolder;
- text-transform:uppercase;
+ color: #FFFFFF;
+ padding-left: 2px;
+ padding-right: 2px;
+ margin-left: 4px;
+ letter-spacing: 1px;
+ border: 1px solid #000000;
+ background-color: #0000FF;
+ font-weight: bolder;
+ text-transform: uppercase;
}
.userGroupPickerList
diff --git a/source/web/jsp/browse/browse.jsp b/source/web/jsp/browse/browse.jsp
index 2755dd44fb..593918a22d 100644
--- a/source/web/jsp/browse/browse.jsp
+++ b/source/web/jsp/browse/browse.jsp
@@ -422,8 +422,7 @@
-
-
+
@@ -436,8 +435,7 @@
-
-
+
@@ -450,8 +448,7 @@
-
-
+
diff --git a/source/web/jsp/ml/ml-container-details.jsp b/source/web/jsp/ml/ml-container-details.jsp
index 6a5cdfcef6..1ff0fcdf14 100644
--- a/source/web/jsp/ml/ml-container-details.jsp
+++ b/source/web/jsp/ml/ml-container-details.jsp
@@ -219,7 +219,7 @@
<%-- Document Actions --%>
-
+
diff --git a/source/web/scripts/ajax/myspaces.js b/source/web/scripts/ajax/myspaces.js
index d08889d3f5..ba47ac529e 100644
--- a/source/web/scripts/ajax/myspaces.js
+++ b/source/web/scripts/ajax/myspaces.js
@@ -40,6 +40,8 @@ var MySpaces = {
init: function()
{
MySpaces.parseSpacePanels();
+ // hide the ajax wait panel and show the main spaces panel
+ $('spacePanelOverlay').setStyle('visibility', 'hidden');
$('spacePanel').setStyle('visibility', 'visible');
},
@@ -324,6 +326,8 @@ var MySpaces = {
// empty the main panel div and restart by reloading the panel contents
var spacePanel = $('spacePanel');
spacePanel.setStyle('visibility', 'hidden');
+ // show the ajax wait panel
+ $('spacePanelOverlay').setStyle('visibility', 'visible');
spacePanel.empty();
spacePanel.removeEvents('mouseleave');
MySpaces.start();
diff --git a/source/web/scripts/ajax/summary-info.js b/source/web/scripts/ajax/summary-info.js
index 848b775477..049ab9471c 100644
--- a/source/web/scripts/ajax/summary-info.js
+++ b/source/web/scripts/ajax/summary-info.js
@@ -216,7 +216,7 @@ Alfresco.InfoPanel.prototype =
if (this.popupElement != null && this.visible == true)
{
// fade out and set the visiblilty flag on complete of the anim
- var fxAnim = new Fx.Style(this.popupElement, 'opacity',
+ /*var fxAnim = new Fx.Style(this.popupElement, 'opacity',
{
duration: 300,
transition: Fx.Transitions.linear,
@@ -225,7 +225,10 @@ Alfresco.InfoPanel.prototype =
this.element.panel.visible = false;
}
});
- fxAnim.start(1, 0);
+ fxAnim.start(1, 0);*/
+ this.popupElement.setStyle("opacity", 0);
+ this.popupElement.setStyle("display", "none");
+ this.popupElement.panel.visible = false;
}
}
}