Index: samigo-app/src/java/org/sakaiproject/tool/assessment/ui/listener/util/TimeUtil.java =================================================================== --- samigo-app/src/java/org/sakaiproject/tool/assessment/ui/listener/util/TimeUtil.java (revision 93828) +++ samigo-app/src/java/org/sakaiproject/tool/assessment/ui/listener/util/TimeUtil.java (working copy) @@ -34,6 +34,11 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; //import org.springframework.web.context.WebApplicationContext; +import org.sakaiproject.user.cover.PreferencesService; +import org.sakaiproject.user.api.Preferences; +import org.sakaiproject.user.api.PreferencesEdit; +import org.sakaiproject.entity.api.ResourceProperties; +import org.sakaiproject.tool.cover.SessionManager; import java.util.TimeZone; // need to move this out to support standalone, using spring injection @@ -53,11 +58,24 @@ private TimeZone m_server_timezone= null; public TimeUtil() { - m_client_timezone= TimeService.getLocalTimeZone(); + m_client_timezone= getUserPreferredTimeZone(); m_server_timezone= TimeZone.getDefault(); } + private TimeZone getUserPreferredTimeZone(){ + TimeZone m_timeZone = null; + String userId = SessionManager.getCurrentSessionUserId(); + Preferences prefs = (PreferencesEdit) PreferencesService.getPreferences(userId); + ResourceProperties props = prefs.getProperties(TimeService.APPLICATION_ID); + String timeZone = props.getProperty(TimeService.TIMEZONE_KEY); + if (timeZone != null && !timeZone.trim().equals("")) + m_timeZone = TimeZone.getTimeZone(timeZone); + else + m_timeZone = TimeZone.getDefault(); + return m_timeZone; + } + /** * Convert a String reprepsentation of date and time in the client TimeZone * to Date representation of date and time in server TimeZone