Index: lams_admin/conf/language/lams/ApplicationResources.properties
===================================================================
diff -u -ra0e86d739df8fd8659a5676dddafcd6c87723baf -rb4c7cf180245db7c4d9d5c600eaf294a4c570286
--- lams_admin/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision a0e86d739df8fd8659a5676dddafcd6c87723baf)
+++ lams_admin/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision b4c7cf180245db7c4d9d5c600eaf294a4c570286)
@@ -376,7 +376,7 @@
sysadmin.lessonFinishUrl = Lesson finish callback URL
admin.servertimezone.server.timezone.management = Server timezone management
admin.servertimezone.title = Server timezone management
-admin.servertimezone.select.server.timezone = Select server timezone
+admin.servertimezone.select.server.timezone = Server timezone
admin.servertimezone.raw.offset = Raw offset: {0}
admin.servertimezone.dst.offset = DST offset: {0}
admin.servertimezone.name = Name: {0}
@@ -699,4 +699,4 @@
admin.user.add.to.lessons = Add user to existing lessons
ai.config.title = Artificial Intelligence
ai.config.link = AI management
-sysadmin.maintain.session.delete = Delete user session
+sysadmin.maintain.session.delete = Delete user session
\ No newline at end of file
Index: lams_admin/conf/language/lams/ApplicationResources_en_AU.properties
===================================================================
diff -u -ra0e86d739df8fd8659a5676dddafcd6c87723baf -rb4c7cf180245db7c4d9d5c600eaf294a4c570286
--- lams_admin/conf/language/lams/ApplicationResources_en_AU.properties (.../ApplicationResources_en_AU.properties) (revision a0e86d739df8fd8659a5676dddafcd6c87723baf)
+++ lams_admin/conf/language/lams/ApplicationResources_en_AU.properties (.../ApplicationResources_en_AU.properties) (revision b4c7cf180245db7c4d9d5c600eaf294a4c570286)
@@ -376,7 +376,7 @@
sysadmin.lessonFinishUrl = Lesson finish callback URL
admin.servertimezone.server.timezone.management = Server timezone management
admin.servertimezone.title = Server timezone management
-admin.servertimezone.select.server.timezone = Select server timezone
+admin.servertimezone.select.server.timezone = Server timezone
admin.servertimezone.raw.offset = Raw offset: {0}
admin.servertimezone.dst.offset = DST offset: {0}
admin.servertimezone.name = Name: {0}
@@ -699,4 +699,4 @@
admin.user.add.to.lessons = Add user to existing lessons
ai.config.title = Artificial Intelligence
ai.config.link = AI management
-sysadmin.maintain.session.delete = Delete user session
+sysadmin.maintain.session.delete = Delete user session
\ No newline at end of file
Index: lams_admin/src/java/org/lamsfoundation/lams/admin/adminApplicationContext.xml
===================================================================
diff -u -r01c2a55767c613282c319ed8b38a0c78712e3661 -rb4c7cf180245db7c4d9d5c600eaf294a4c570286
--- lams_admin/src/java/org/lamsfoundation/lams/admin/adminApplicationContext.xml (.../adminApplicationContext.xml) (revision 01c2a55767c613282c319ed8b38a0c78712e3661)
+++ lams_admin/src/java/org/lamsfoundation/lams/admin/adminApplicationContext.xml (.../adminApplicationContext.xml) (revision b4c7cf180245db7c4d9d5c600eaf294a4c570286)
@@ -23,8 +23,5 @@
@@ -83,7 +81,6 @@
private IUserManagementService service;
private MessageService messageService;
private ILogEventService logEventService;
- private ITimezoneService timezoneService;
// spreadsheet column indexes for user spreadsheet
private static final short LOGIN = 0;
@@ -708,26 +705,9 @@
user.setCreateDate(new Date());
user.setFirstLogin(true);
- // convert timezone like "Europe/Warsaw" to "Etc/GMT-1", if provided
String timeZoneColumn = parseStringCell(row.getCell(ImportService.TIME_ZONE));
- TimeZone javaTimeZone = TimeZone.getTimeZone(timeZoneColumn);
- Timezone userTimezone = timezoneService.getServerTimezone();
- if (javaTimeZone != null) {
- int offset = javaTimeZone.getRawOffset() / 3600000;
- String lamsTimezoneName = "Etc/GMT";
- if (offset > 0) {
- lamsTimezoneName += "-" + offset;
- } else if (offset < 0) {
- lamsTimezoneName += "+" + Math.abs(offset);
- }
- for (Timezone lamsTimezone : timezoneService.getDefaultTimezones()) {
- if (lamsTimezone.getTimezoneId().equalsIgnoreCase(lamsTimezoneName)) {
- userTimezone = lamsTimezone;
- break;
- }
- }
- }
- user.setTimeZone(userTimezone.getTimezoneId());
+ user.setTimeZone(
+ TimeZoneUtil.isTimezoneValid(timeZoneColumn) ? timeZoneColumn : TimeZoneUtil.getServerTimezone());
service.updatePassword(user, password);
@@ -972,8 +952,4 @@
public void setLogEventService(ILogEventService logEventService) {
this.logEventService = logEventService;
}
-
- public void setTimezoneService(ITimezoneService timezoneService) {
- this.timezoneService = timezoneService;
- }
}
\ No newline at end of file
Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/controller/AppAdminStartController.java
===================================================================
diff -u -r1e85a36d6397d66fa9cc46b334e2ef2bef8af4f6 -rb4c7cf180245db7c4d9d5c600eaf294a4c570286
--- lams_admin/src/java/org/lamsfoundation/lams/admin/web/controller/AppAdminStartController.java (.../AppAdminStartController.java) (revision 1e85a36d6397d66fa9cc46b334e2ef2bef8af4f6)
+++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/controller/AppAdminStartController.java (.../AppAdminStartController.java) (revision b4c7cf180245db7c4d9d5c600eaf294a4c570286)
@@ -22,10 +22,6 @@
package org.lamsfoundation.lams.admin.web.controller;
-import java.util.ArrayList;
-
-import javax.servlet.http.HttpServletRequest;
-
import org.lamsfoundation.lams.admin.AdminConstants;
import org.lamsfoundation.lams.admin.web.dto.LinkBean;
import org.lamsfoundation.lams.usermanagement.Role;
@@ -38,6 +34,9 @@
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
+import javax.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
+
/**
* @author jliew
*
@@ -67,7 +66,6 @@
if (request.isUserInRole(Role.APPADMIN) || request.isUserInRole(Role.SYSADMIN)) {
links = new ArrayList<>();
- links.add(new LinkBean("timezonemanagement/start.do", "admin.timezone.title"));
links.add(new LinkBean("loginmaintain.do", "appadmin.maintain.loginpage"));
links.add(new LinkBean("signupManagement/start.do", "admin.signup.title"));
links.add(new LinkBean("policyManagement/list.do", "admin.policies.title"));
@@ -124,4 +122,4 @@
return "appadmin";
}
-}
+}
\ No newline at end of file
Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/controller/ConfigController.java
===================================================================
diff -u -rc7c5d74f9c402bdab97bd3fd46436adbfa9202b8 -rb4c7cf180245db7c4d9d5c600eaf294a4c570286
--- lams_admin/src/java/org/lamsfoundation/lams/admin/web/controller/ConfigController.java (.../ConfigController.java) (revision c7c5d74f9c402bdab97bd3fd46436adbfa9202b8)
+++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/controller/ConfigController.java (.../ConfigController.java) (revision b4c7cf180245db7c4d9d5c600eaf294a4c570286)
@@ -22,12 +22,6 @@
*/
package org.lamsfoundation.lams.admin.web.controller;
-import java.util.LinkedHashMap;
-import java.util.Map;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
-
import org.apache.commons.lang.StringUtils;
import org.lamsfoundation.lams.admin.web.form.ConfigForm;
import org.lamsfoundation.lams.config.ConfigurationItem;
@@ -36,6 +30,7 @@
import org.lamsfoundation.lams.security.ISecurityService;
import org.lamsfoundation.lams.usermanagement.dto.UserDTO;
import org.lamsfoundation.lams.util.Configuration;
+import org.lamsfoundation.lams.util.ConfigurationKeys;
import org.lamsfoundation.lams.util.LanguageUtil;
import org.lamsfoundation.lams.util.MessageService;
import org.lamsfoundation.lams.web.filter.AuditLogFilter;
@@ -48,6 +43,12 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.TimeZone;
+
/**
* ConfigAction
*
@@ -81,6 +82,8 @@
smtpAuthTypes.put("ssl", "SSL");
request.setAttribute("smtpAuthTypes", smtpAuthTypes);
+ request.setAttribute("timezones", TimeZone.getAvailableIDs());
+
return "config/editconfig";
}
@@ -132,15 +135,18 @@
.append("\" from \"").append(currentValue).append("\" to \"").append(newValue)
.append("\", ");
}
+ if (key.equals(ConfigurationKeys.SERVER_TIMEZONE) && StringUtils.isBlank(newValue)) {
+ newValue = null;
+ }
Configuration.updateItem(key, newValue);
}
}
configuration.persistUpdate();
if (changeLog.length() > 0) {
// if there were any changes made, log it
- String changeLogString = changeLog.insert(0, "Configuration changed: ").substring(0,
- changeLog.length() - 2);
+ String changeLogString = changeLog.insert(0, "Configuration changed: ")
+ .substring(0, changeLog.length() - 2);
logEventService.logEvent(LogEvent.TYPE_CONFIG_CHANGE, getUserId(), null, null, null, changeLogString);
AuditLogFilter.log(AuditLogFilter.CONFIG_CHANGE_ACTION, changeLogString);
Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/controller/LtiConsumerManagementController.java
===================================================================
diff -u -r1e85a36d6397d66fa9cc46b334e2ef2bef8af4f6 -rb4c7cf180245db7c4d9d5c600eaf294a4c570286
--- lams_admin/src/java/org/lamsfoundation/lams/admin/web/controller/LtiConsumerManagementController.java (.../LtiConsumerManagementController.java) (revision 1e85a36d6397d66fa9cc46b334e2ef2bef8af4f6)
+++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/controller/LtiConsumerManagementController.java (.../LtiConsumerManagementController.java) (revision b4c7cf180245db7c4d9d5c600eaf294a4c570286)
@@ -1,35 +1,22 @@
package org.lamsfoundation.lams.admin.web.controller;
-import java.util.Collections;
-import java.util.List;
-import java.util.TimeZone;
-import java.util.TreeSet;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
-
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.lamsfoundation.lams.admin.web.form.LtiConsumerForm;
import org.lamsfoundation.lams.integration.ExtServer;
import org.lamsfoundation.lams.integration.service.IIntegrationService;
import org.lamsfoundation.lams.security.ISecurityService;
-import org.lamsfoundation.lams.timezone.Timezone;
-import org.lamsfoundation.lams.timezone.dto.TimezoneDTO;
-import org.lamsfoundation.lams.timezone.service.ITimezoneService;
-import org.lamsfoundation.lams.timezone.util.TimezoneIDComparator;
import org.lamsfoundation.lams.usermanagement.SupportedLocale;
import org.lamsfoundation.lams.usermanagement.dto.UserDTO;
import org.lamsfoundation.lams.usermanagement.service.IUserManagementService;
import org.lamsfoundation.lams.util.Configuration;
import org.lamsfoundation.lams.util.LanguageUtil;
import org.lamsfoundation.lams.util.MessageService;
import org.lamsfoundation.lams.util.WebUtil;
+import org.lamsfoundation.lams.web.filter.AuditLogFilter;
import org.lamsfoundation.lams.web.session.SessionManager;
import org.lamsfoundation.lams.web.util.AttributeNames;
-import org.lamsfoundation.lams.web.filter.AuditLogFilter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
@@ -39,6 +26,13 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+import java.util.Collections;
+import java.util.List;
+import java.util.TimeZone;
+
/**
* @author Andrey Balan
*/
@@ -52,8 +46,6 @@
@Autowired
private IUserManagementService userManagementService;
@Autowired
- private ITimezoneService timezoneService;
- @Autowired
private ISecurityService securityService;
@Autowired
@Qualifier("adminMessageService")
@@ -105,17 +97,7 @@
request.setAttribute("locales", locales);
request.setAttribute("countryCodes", LanguageUtil.getCountryCodes(false));
-
- List