diff --git a/config/alfresco/web-client-config.xml b/config/alfresco/web-client-config.xml
index 26ad5a7155..1153ef1020 100644
--- a/config/alfresco/web-client-config.xml
+++ b/config/alfresco/web-client-config.xml
@@ -63,6 +63,9 @@
myalfresco
+
+ false
+
http://www.alfresco.org/help/webclient
diff --git a/source/java/org/alfresco/web/bean/UserPreferencesBean.java b/source/java/org/alfresco/web/bean/UserPreferencesBean.java
index 143005658d..04a34128cc 100644
--- a/source/java/org/alfresco/web/bean/UserPreferencesBean.java
+++ b/source/java/org/alfresco/web/bean/UserPreferencesBean.java
@@ -239,4 +239,12 @@ public class UserPreferencesBean
return locations.toArray(new SelectItem[locations.size()]);
}
+
+ /**
+ * @return true if the Guest user is allowed to configure the user preferences
+ */
+ public boolean getAllowGuestConfig()
+ {
+ return Application.getClientConfig(FacesContext.getCurrentInstance()).getAllowGuestConfig();
+ }
}
diff --git a/source/java/org/alfresco/web/config/ClientConfigElement.java b/source/java/org/alfresco/web/config/ClientConfigElement.java
index 40dc3e323b..c534861dc5 100644
--- a/source/java/org/alfresco/web/config/ClientConfigElement.java
+++ b/source/java/org/alfresco/web/config/ClientConfigElement.java
@@ -59,6 +59,7 @@ public class ClientConfigElement extends ConfigElementAdapter
private ExpiringValueCache wcmDomain = new ExpiringValueCache(1000*10L);
private ExpiringValueCache wcmPort = new ExpiringValueCache(1000*10L);
private String defaultHomeSpacePath = "/app:company_home";
+ private boolean allowGuestConfig = false;
/**
* Default Constructor
@@ -180,6 +181,11 @@ public class ClientConfigElement extends ConfigElementAdapter
combinedElement.setInitialLocation(newElement.getInitialLocation());
}
+ if (newElement.getAllowGuestConfig() != combinedElement.getAllowGuestConfig())
+ {
+ combinedElement.setAllowGuestConfig(newElement.getAllowGuestConfig());
+ }
+
return combinedElement;
}
@@ -480,4 +486,14 @@ public class ClientConfigElement extends ConfigElementAdapter
}
return value;
}
+
+ /*package*/ void setAllowGuestConfig(boolean allow)
+ {
+ this.allowGuestConfig = allow;
+ }
+
+ public boolean getAllowGuestConfig()
+ {
+ return this.allowGuestConfig;
+ }
}
diff --git a/source/java/org/alfresco/web/config/ClientElementReader.java b/source/java/org/alfresco/web/config/ClientElementReader.java
index b4a642582b..82c8a35d95 100644
--- a/source/java/org/alfresco/web/config/ClientElementReader.java
+++ b/source/java/org/alfresco/web/config/ClientElementReader.java
@@ -43,6 +43,7 @@ public class ClientElementReader implements ConfigElementReader
public static final String ELEMENT_AJAX_ENABLED = "ajax-enabled";
public static final String ELEMENT_INITIALLOCATION = "initial-location";
public static final String ELEMENT_DEFAULTHOMESPACEPATH = "default-home-space-path";
+ public static final String ELEMENT_GUESTCONFIG = "allow-guest-config";
/**
* @see org.alfresco.config.xml.elementreader.ConfigElementReader#parse(org.dom4j.Element)
@@ -169,6 +170,14 @@ public class ClientElementReader implements ConfigElementReader
{
configElement.setDefaultHomeSpacePath(defaultHomeSpacePath.getTextTrim());
}
+
+ // get allow Guest to configure start location preferences
+ Element guestConfigElement = element.element(ELEMENT_GUESTCONFIG);
+ if (guestConfigElement != null)
+ {
+ boolean allow = Boolean.parseBoolean(guestConfigElement.getTextTrim());
+ configElement.setAllowGuestConfig(allow);
+ }
}
return configElement;
diff --git a/source/web/jsp/users/user-console.jsp b/source/web/jsp/users/user-console.jsp
index 55910bc70b..c7ec44524c 100644
--- a/source/web/jsp/users/user-console.jsp
+++ b/source/web/jsp/users/user-console.jsp
@@ -135,7 +135,7 @@
-