Skip to content
This repository has been archived by the owner on Apr 8, 2019. It is now read-only.

Commit

Permalink
GTNPORTAL-2748: update some of the responsive portlets.
Browse files Browse the repository at this point in the history
  • Loading branch information
mwringe committed Dec 10, 2012
1 parent 2666577 commit 97bc119
Show file tree
Hide file tree
Showing 6 changed files with 63 additions and 40 deletions.
Expand Up @@ -28,12 +28,16 @@
import java.util.Comparator;
import java.util.List;
import java.util.Locale;
import java.util.ResourceBundle;

import org.exoplatform.container.ExoContainerContext;
import org.exoplatform.portal.Constants;
import org.exoplatform.portal.application.PortalRequestContext;
import org.exoplatform.portal.webui.util.Util;
import org.exoplatform.services.organization.OrganizationService;
import org.exoplatform.services.organization.UserProfile;
import org.exoplatform.services.resources.LocaleConfig;
import org.exoplatform.services.resources.LocaleConfigService;
import org.exoplatform.services.resources.LocaleContextInfo;
import org.exoplatform.services.resources.ResourceBundleService;

/**
Expand All @@ -44,12 +48,13 @@ public class FooterBean
{
LocaleConfigService localeService;
ResourceBundleService resourceBundleService;

OrganizationService organizationService;

public FooterBean()
{
localeService = (LocaleConfigService)ExoContainerContext.getCurrentContainer().getComponentInstanceOfType(LocaleConfigService.class);
resourceBundleService = (ResourceBundleService)ExoContainerContext.getCurrentContainer().getComponentInstanceOfType(ResourceBundleService.class);
organizationService = (OrganizationService)ExoContainerContext.getCurrentContainer().getComponentInstanceOfType(OrganizationService.class);
}

public Locale getCurrentLocale()
Expand All @@ -58,9 +63,7 @@ public Locale getCurrentLocale()
}

public List<Locale> getLanguages()
{
Locale currentLocale = Util.getPortalRequestContext().getLocale();

{
Collection<LocaleConfig> localeConfigs = localeService.getLocalConfigs();

List<Locale> locales = new ArrayList<Locale>();
Expand All @@ -75,13 +78,32 @@ public List<Locale> getLanguages()

private class LocaleComparator implements Comparator<Locale>
{

@Override
public int compare(Locale firstLocale, Locale secondLocale)
{
return (firstLocale.getDisplayName(getCurrentLocale()).compareTo(secondLocale.getDisplayName(getCurrentLocale())));
}

}

public void setUserLanguage(String username, String language) throws Exception
{
UserProfile userProfile = organizationService.getUserProfileHandler().findUserProfileByName(username);
if (userProfile != null && userProfile.getUserInfoMap() != null)
{
//Only save if user's locale has not been set
String currLocale = userProfile.getUserInfoMap().get(Constants.USER_LANGUAGE);
if (currLocale == null || currLocale.trim().equals(""))
{
userProfile.getUserInfoMap().put(Constants.USER_LANGUAGE, language);
organizationService.getUserProfileHandler().saveUserProfile(userProfile, false);
}
}
}

public void setLanguage(String language)
{
PortalRequestContext prc = PortalRequestContext.getCurrentInstance();
prc.setLocale(localeService.getLocaleConfig(language).getLocale());
}
}

Expand Up @@ -32,35 +32,48 @@
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;

import org.exoplatform.container.ExoContainerContext;
import org.exoplatform.portal.application.PortalRequestContext;
import org.exoplatform.services.resources.LocaleConfigService;

/**
* @author <a href="mailto:mwringe@redhat.com">Matt Wringe</a>
* @version $Revision$
*/
public class FooterPortlet extends GenericPortlet
{

FooterBean footerBean;

public FooterPortlet()
{
footerBean = new FooterBean();
}

@Override
protected void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException
{
{
request.setAttribute("footer", footerBean); //add the footerBean to the request
PortletRequestDispatcher prd = getPortletContext().getRequestDispatcher("/jsp/footer.jsp");
prd.include(request, response);
}

@Override
public void processAction(ActionRequest request, ActionResponse response) throws PortletException, IOException
{
// FIXME processAction
//super.processAction(request, response);
String language = (request.getParameter("languageSelect"));

LocaleConfigService localeService = (LocaleConfigService)ExoContainerContext.getCurrentContainer().getComponentInstanceOfType(LocaleConfigService.class);

PortalRequestContext prc = PortalRequestContext.getCurrentInstance();
prc.setLocale(localeService.getLocaleConfig(language).getLocale());
if (language != null)
{
footerBean.setLanguage(language);
if (request.getRemoteUser() != null)
{
try
{
footerBean.setUserLanguage(request.getRemoteUser(), language);
}
catch (Exception e)
{
throw new PortletException("Error trying to update the user's language preference", e);
}
}
}
}

}
Expand Down
@@ -1,5 +0,0 @@
copyrightText=Copyright &copy; 2009-2012. All rights reserved,
RedHatInc=Red Hat, Inc
and=and
eXoPlatformSAS=eXo Platform SAS
contactUs=Contact Us
Expand Up @@ -36,4 +36,7 @@
border: 0;
font-size: 1em;
background-color: transparent;
apperance: none;
-webkit-appearance: none;
-moz-appearance: none;
}
22 changes: 6 additions & 16 deletions portlet/responsive/footer/src/main/webapp/jsp/footer.jsp
Expand Up @@ -3,7 +3,7 @@
<%@ page import="java.util.List" %>
<%@ page import="java.util.ResourceBundle" %>
<portlet:defineObjects/>
<jsp:useBean id="footer" class="org.gatein.portlet.responsive.footer.FooterBean"/>
<jsp:useBean id="footer" class="org.gatein.portlet.responsive.footer.FooterBean" scope="request"/>

<%
Locale locale = renderRequest.getLocale();
Expand All @@ -13,20 +13,13 @@ List<Locale> languages = footer.getLanguages();
%>

<div class="gtnResponsiveFooterPortlet">
<div class="gtn_CopyrightInfo"><%= resourceBundle.getString("copyrightText")%>
<a href="http://www.redhat.com/"><%= resourceBundle.getString("RedHatInc") %></a>
<%= resourceBundle.getString("and") %>
<a href="http://www.exoplatform.com/"><%= resourceBundle.getString("eXoPlatformSAS")%></a>
</div>

<div class="gtn_options">
<ul>
<li><a href="http://www.gatein.org">gatein.org</a></li>
<li><a href="#"><%= resourceBundle.getString("contactUs") %></a></li>
<li>
<portlet:actionURL var="setLanguageURL"/>
<form action="<%= setLanguageURL %>" method="POST" name="languageForm">
<select id="grf_languageSelect" name="languageSelect" onchange="document.languageForm.submit()">
<select id="<portlet:namespace/>_languageSelect" name="languageSelect" onchange="document.languageForm.submit()">

<% for (Locale language : languages)
{
Expand All @@ -42,25 +35,22 @@ List<Locale> languages = footer.getLanguages();
if (!language.equals(locale))
{
%>
<option value="<%= language.getLanguage() %>"><%= languageName + " - " + languageNameinLanguage %></option>
<option value="<%= language.getLanguage()%>"><%= languageName + "-" + languageNameinLanguage %></option>
<% }
else
{ %>
<option value="<%= language.getLanguage() %>" selected="selected"><%= languageName %></option>
<option value="<%= language.getLanguage()%>" selected="selected" class="selected"><%= languageName %></option>
<% }
}
%>
</select>
<!-- <input type="submit" name="languageSelect"> -->
</form>
</li>
</ul>
</div>
</div>

<script type="text/javascript">
var GRHLanguageSelect = document.getElementById("grf_languageSelect");
GRHLanguageSelect.style.width = GRHLanguageSelect.options[GRHLanguageSelect.selectedIndex].text.length + "em";
var languageSelect = document.getElementById("<portlet:namespace/>_languageSelect");
languageSelect.style.width = languageSelect.options[languageSelect.selectedIndex].text.length + "em";
</script>
2 changes: 1 addition & 1 deletion portlet/responsive/header/src/main/webapp/jsp/header.jsp
Expand Up @@ -22,7 +22,7 @@
<ul>
<li><a onclick="<%=signinAction%>"><%=resourceBundle.getString("label.Signin")%></a></li>
<li><a href="<%=registerAction%>"><%=resourceBundle.getString("label.Register")%></a></li>
<li><a onclick="<%=changeLanguageAction%>"><%=resourceBundle.getString("label.ChangeLanguage")%></a></li>
<%-- <li><a onclick="<%=changeLanguageAction%>"><%=resourceBundle.getString("label.ChangeLanguage")%></a></li> --%>
</ul>
</div>
<div class="grh_clear"></div>
Expand Down

0 comments on commit 97bc119

Please sign in to comment.