Merged V4.2-BUG-FIX (4.2.1) to HEAD (Cloud/4.3)

56634: Merged V4.2.0 (4.2) to V4.2-BUG-FIX (4.2.1)
      56458: Fix for ALF-20277 - Impossible to login to Alfresco JSF client when alfresco is read only.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@56652 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Alan Davis
2013-10-14 17:32:24 +00:00
parent 559322dfa5
commit 6583a37b9f
3 changed files with 39 additions and 7 deletions

View File

@@ -423,7 +423,7 @@ public class LoginBean implements Serializable
// note: to enable MT runtime client config customization, need to re-init NavigationBean // note: to enable MT runtime client config customization, need to re-init NavigationBean
// in context of tenant login page // in context of tenant login page
this.navigator.initFromClientConfig(); this.navigator.initFromClientConfig();
if (NavigationBean.LOCATION_MYALFRESCO.equals(this.preferences.getStartLocation())) if (NavigationBean.LOCATION_MYALFRESCO.equals(this.preferences.getStartLocation()))
{ {
return "myalfresco"; return "myalfresco";

View File

@@ -203,7 +203,7 @@ public final class User implements SessionUser
} }
return this.preferences; return this.preferences;
} }
/** /**
* Get or create the node used to store user preferences. * Get or create the node used to store user preferences.
* Utilises the 'configurable' aspect on the Person linked to this user. * Utilises the 'configurable' aspect on the Person linked to this user.
@@ -267,7 +267,7 @@ public final class User implements SessionUser
} }
return prefRef; return prefRef;
} }
}); }, txService.isReadOnly());
} }
/** /**

View File

@@ -26,9 +26,8 @@ import java.util.ResourceBundle;
import javax.faces.context.FacesContext; import javax.faces.context.FacesContext;
import javax.faces.model.SelectItem; import javax.faces.model.SelectItem;
import javax.transaction.UserTransaction;
import org.springframework.extensions.config.Config;
import org.springframework.extensions.surf.util.I18NUtil;
import org.alfresco.service.cmr.ml.ContentFilterLanguagesService; import org.alfresco.service.cmr.ml.ContentFilterLanguagesService;
import org.alfresco.service.cmr.ml.MultilingualContentService; import org.alfresco.service.cmr.ml.MultilingualContentService;
import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeRef;
@@ -40,6 +39,8 @@ import org.alfresco.web.bean.NavigationBean;
import org.alfresco.web.bean.repository.PreferencesService; import org.alfresco.web.bean.repository.PreferencesService;
import org.alfresco.web.bean.repository.Repository; import org.alfresco.web.bean.repository.Repository;
import org.alfresco.web.config.LanguagesConfigElement; import org.alfresco.web.config.LanguagesConfigElement;
import org.springframework.extensions.config.Config;
import org.springframework.extensions.surf.util.I18NUtil;
/** /**
* Simple bean backing the user preferences settings. * Simple bean backing the user preferences settings.
@@ -113,7 +114,23 @@ public class UserPreferencesBean implements Serializable
{ {
if (this.contentFilterLanguage == null) if (this.contentFilterLanguage == null)
{ {
Locale locale = (Locale) PreferencesService.getPreferences().getValue(PREF_CONTENTFILTERLANGUAGE); Locale locale = null;
UserTransaction tx = null;
try
{
FacesContext context = FacesContext.getCurrentInstance();
tx = Repository.getUserTransaction(context, true);
tx.begin();
locale = (Locale) PreferencesService.getPreferences().getValue(PREF_CONTENTFILTERLANGUAGE);
tx.commit();
}
catch (Throwable err)
{
try { if (tx != null) {tx.rollback();} } catch (Exception tex) {}
}
// Null means All Languages // Null means All Languages
if (locale == null) if (locale == null)
{ {
@@ -260,7 +277,22 @@ public class UserPreferencesBean implements Serializable
*/ */
public String getStartLocation() public String getStartLocation()
{ {
String location = (String)PreferencesService.getPreferences().getValue(PREF_STARTLOCATION); String location = null;
UserTransaction tx = null;
try
{
FacesContext context = FacesContext.getCurrentInstance();
tx = Repository.getUserTransaction(context, true);
tx.begin();
location = (String)PreferencesService.getPreferences().getValue(PREF_STARTLOCATION);
tx.commit();
}
catch (Throwable err)
{
try { if (tx != null) {tx.rollback();} } catch (Exception tex) {}
}
if (location == null) if (location == null)
{ {
// default to value from client config // default to value from client config