Index: lams_admin/src/java/org/lamsfoundation/lams/admin/adminApplicationContext.xml
===================================================================
diff -u -rfcc5eca8a605afdc9e927366827553a7862000cd -rd5b05f6e239a87908856f9f4251a487158ed9ca8
--- lams_admin/src/java/org/lamsfoundation/lams/admin/adminApplicationContext.xml (.../adminApplicationContext.xml) (revision fcc5eca8a605afdc9e927366827553a7862000cd)
+++ lams_admin/src/java/org/lamsfoundation/lams/admin/adminApplicationContext.xml (.../adminApplicationContext.xml) (revision d5b05f6e239a87908856f9f4251a487158ed9ca8)
@@ -21,6 +21,9 @@
-
+
+
+
+
\ No newline at end of file
Index: lams_admin/src/java/org/lamsfoundation/lams/admin/service/ImportService.java
===================================================================
diff -u -ra1046dbdfb10ad1f7a61b8d50acbff46ac7c96ab -rd5b05f6e239a87908856f9f4251a487158ed9ca8
--- lams_admin/src/java/org/lamsfoundation/lams/admin/service/ImportService.java (.../ImportService.java) (revision a1046dbdfb10ad1f7a61b8d50acbff46ac7c96ab)
+++ lams_admin/src/java/org/lamsfoundation/lams/admin/service/ImportService.java (.../ImportService.java) (revision d5b05f6e239a87908856f9f4251a487158ed9ca8)
@@ -41,6 +41,7 @@
import org.lamsfoundation.lams.logevent.LogEvent;
import org.lamsfoundation.lams.logevent.service.ILogEventService;
import org.lamsfoundation.lams.themes.Theme;
+import org.lamsfoundation.lams.timezone.service.ITimezoneService;
import org.lamsfoundation.lams.usermanagement.AuthenticationMethod;
import org.lamsfoundation.lams.usermanagement.Organisation;
import org.lamsfoundation.lams.usermanagement.OrganisationState;
@@ -68,34 +69,11 @@
public class ImportService implements IImportService {
private static Logger log = Logger.getLogger(ImportService.class);
- public IUserManagementService service;
- public MessageService messageService;
- public ILogEventService logEventService;
+ private IUserManagementService service;
+ private MessageService messageService;
+ private ILogEventService logEventService;
+ private ITimezoneService timezoneService;
- public IUserManagementService getService() {
- return service;
- }
-
- public void setService(IUserManagementService service) {
- this.service = service;
- }
-
- public MessageService getMessageService() {
- return messageService;
- }
-
- public void setMessageService(MessageService messageService) {
- this.messageService = messageService;
- }
-
- public ILogEventService getLogEventService() {
- return logEventService;
- }
-
- public void setLogEventService(ILogEventService logEventService) {
- this.logEventService = logEventService;
- }
-
// spreadsheet column indexes for user spreadsheet
private static final short LOGIN = 0;
private static final short PASSWORD = 1;
@@ -612,7 +590,7 @@
user.setFax(parseStringCell(row.getCell(ImportService.FAX)));
user.setDisabledFlag(false);
user.setCreateDate(new Date());
- user.setTimeZone(user.getTimeZone());
+ user.setTimeZone(timezoneService.getServerTimezone().getTimezoneId());
user.setTutorialsDisabled(false);
user.setFirstLogin(true);
@@ -839,4 +817,24 @@
logEventService.logEvent(LogEvent.TYPE_USER_ORG_ADMIN, userDTO != null ? userDTO.getUserID() : null, null, null,
null, message);
}
+
+ // ---------------------------------------------------------------------
+ // Inversion of Control Methods - Method injection
+ // ---------------------------------------------------------------------
+
+ public void setService(IUserManagementService service) {
+ this.service = service;
+ }
+
+ public void setMessageService(MessageService messageService) {
+ this.messageService = messageService;
+ }
+
+ public void setLogEventService(ILogEventService logEventService) {
+ this.logEventService = logEventService;
+ }
+
+ public void setTimezoneService(ITimezoneService timezoneService) {
+ this.timezoneService = timezoneService;
+ }
}
Index: lams_central/src/java/org/lamsfoundation/lams/web/action/SignupAction.java
===================================================================
diff -u -r6af1dca405b378528e883a2853703bbf75e7d68c -rd5b05f6e239a87908856f9f4251a487158ed9ca8
--- lams_central/src/java/org/lamsfoundation/lams/web/action/SignupAction.java (.../SignupAction.java) (revision 6af1dca405b378528e883a2853703bbf75e7d68c)
+++ lams_central/src/java/org/lamsfoundation/lams/web/action/SignupAction.java (.../SignupAction.java) (revision d5b05f6e239a87908856f9f4251a487158ed9ca8)
@@ -15,8 +15,8 @@
import org.apache.struts.action.DynaActionForm;
import org.lamsfoundation.lams.signup.model.SignupOrganisation;
import org.lamsfoundation.lams.signup.service.ISignupService;
+import org.lamsfoundation.lams.timezone.service.ITimezoneService;
import org.lamsfoundation.lams.usermanagement.User;
-import org.lamsfoundation.lams.util.CommonConstants;
import org.lamsfoundation.lams.util.Configuration;
import org.lamsfoundation.lams.util.ConfigurationKeys;
import org.lamsfoundation.lams.util.Emailer;
@@ -31,15 +31,17 @@
private static Logger log = Logger.getLogger(SignupAction.class);
private static ISignupService signupService = null;
+ private static ITimezoneService timezoneService = null;
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response) {
- if (signupService == null) {
+ if (signupService == null || timezoneService == null) {
WebApplicationContext wac = WebApplicationContextUtils
.getRequiredWebApplicationContext(getServlet().getServletContext());
signupService = (ISignupService) wac.getBean("signupService");
+ timezoneService = (ITimezoneService) wac.getBean("timezoneService");
}
request.setAttribute("countryCodes", LanguageUtil.getCountryCodes(true));
@@ -71,7 +73,6 @@
HttpServletResponse response) {
try {
-
DynaActionForm signupForm = (DynaActionForm) form;
// validation
@@ -87,6 +88,7 @@
user.setLastName(signupForm.getString("lastName"));
user.setEmail(signupForm.getString("email"));
user.setCountry(signupForm.getString("country"));
+ user.setTimeZone(timezoneService.getServerTimezone().getTimezoneId());
String salt = HashUtil.salt();
user.setSalt(salt);
user.setPassword(HashUtil.sha256(signupForm.getString("password"), salt));
Index: lams_common/src/java/org/lamsfoundation/lams/integration/service/IntegrationService.java
===================================================================
diff -u -reb06cf9300f02897c13bd577689deacb2cf4b5fc -rd5b05f6e239a87908856f9f4251a487158ed9ca8
--- lams_common/src/java/org/lamsfoundation/lams/integration/service/IntegrationService.java (.../IntegrationService.java) (revision eb06cf9300f02897c13bd577689deacb2cf4b5fc)
+++ lams_common/src/java/org/lamsfoundation/lams/integration/service/IntegrationService.java (.../IntegrationService.java) (revision d5b05f6e239a87908856f9f4251a487158ed9ca8)
@@ -62,6 +62,7 @@
import org.lamsfoundation.lams.integration.util.LoginRequestDispatcher;
import org.lamsfoundation.lams.lesson.Lesson;
import org.lamsfoundation.lams.lesson.service.ILessonService;
+import org.lamsfoundation.lams.timezone.service.ITimezoneService;
import org.lamsfoundation.lams.tool.service.ILamsCoreToolService;
import org.lamsfoundation.lams.usermanagement.AuthenticationMethod;
import org.lamsfoundation.lams.usermanagement.Organisation;
@@ -96,6 +97,7 @@
private IUserManagementService service;
private ILessonService lessonService;
private ILamsCoreToolService toolService;
+ private ITimezoneService timezoneService;
/**
* Returns integration server or LTI tool consumer by its human-entered server key/server id.
@@ -468,6 +470,7 @@
user.setCreateDate(new Date());
user.setDisabledFlag(false);
user.setLocale(LanguageUtil.getSupportedLocale(userData[13], userData[12]));
+ user.setTimeZone(timezoneService.getServerTimezone().getTimezoneId());
user.setTheme(service.getDefaultTheme());
service.saveUser(user);
ExtUserUseridMap extUserUseridMap = new ExtUserUseridMap();
@@ -904,6 +907,10 @@
return (ExtCourseClassMap) list.get(0);
}
}
+
+ // ---------------------------------------------------------------------
+ // Inversion of Control Methods - Method injection
+ // ---------------------------------------------------------------------
public void setService(IUserManagementService service) {
this.service = service;
@@ -913,16 +920,16 @@
this.lessonService = lessonService;
}
- public ILessonService getLessonService() {
- return lessonService;
- }
-
public void setGradebookService(IGradebookService gradebookService) {
this.gradebookService = gradebookService;
}
public void setToolService(ILamsCoreToolService toolService) {
this.toolService = toolService;
}
+
+ public void setTimezoneService(ITimezoneService timezoneService) {
+ this.timezoneService = timezoneService;
+ }
}
\ No newline at end of file
Index: lams_common/src/java/org/lamsfoundation/lams/integrationContext.xml
===================================================================
diff -u -rde884cf8c730a25d2f2296f7a768d3fd45508c99 -rd5b05f6e239a87908856f9f4251a487158ed9ca8
--- lams_common/src/java/org/lamsfoundation/lams/integrationContext.xml (.../integrationContext.xml) (revision de884cf8c730a25d2f2296f7a768d3fd45508c99)
+++ lams_common/src/java/org/lamsfoundation/lams/integrationContext.xml (.../integrationContext.xml) (revision d5b05f6e239a87908856f9f4251a487158ed9ca8)
@@ -9,7 +9,8 @@
-
+
+
Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/ldapContext.xml
===================================================================
diff -u -ra6641bf9262a01d07740a517643f8fe187ec5b1f -rd5b05f6e239a87908856f9f4251a487158ed9ca8
--- lams_common/src/java/org/lamsfoundation/lams/usermanagement/ldapContext.xml (.../ldapContext.xml) (revision a6641bf9262a01d07740a517643f8fe187ec5b1f)
+++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/ldapContext.xml (.../ldapContext.xml) (revision d5b05f6e239a87908856f9f4251a487158ed9ca8)
@@ -7,6 +7,7 @@
+
Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/LdapService.java
===================================================================
diff -u -rfcc5eca8a605afdc9e927366827553a7862000cd -rd5b05f6e239a87908856f9f4251a487158ed9ca8
--- lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/LdapService.java (.../LdapService.java) (revision fcc5eca8a605afdc9e927366827553a7862000cd)
+++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/LdapService.java (.../LdapService.java) (revision d5b05f6e239a87908856f9f4251a487158ed9ca8)
@@ -46,6 +46,7 @@
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.lamsfoundation.lams.integration.security.RandomPasswordGenerator;
+import org.lamsfoundation.lams.timezone.service.ITimezoneService;
import org.lamsfoundation.lams.usermanagement.AuthenticationMethod;
import org.lamsfoundation.lams.usermanagement.Organisation;
import org.lamsfoundation.lams.usermanagement.OrganisationState;
@@ -67,21 +68,15 @@
private Logger log = Logger.getLogger(LdapService.class);
private IUserManagementService service;
+
+ private ITimezoneService timezoneService;
private static final int BULK_UPDATE_CREATED = 0;
private static final int BULK_UPDATE_UPDATED = 1;
private static final int BULK_UPDATE_DISABLED = 2;
- public IUserManagementService getService() {
- return service;
- }
-
- public void setService(IUserManagementService service) {
- this.service = service;
- }
-
@Override
public void updateLDAPUser(User user, Attributes attrs) {
HashMap map = getLDAPUserAttributes(attrs);
@@ -102,7 +97,7 @@
user.setMobilePhone(map.get("mobile"));
user.setLocale(getLocale(map.get("locale")));
user.setDisabledFlag(getDisabledBoolean(attrs));
- getService().saveUser(user);
+ service.saveUser(user);
}
// tries to match ldap attribute to a locale, otherwise returns server
@@ -159,7 +154,7 @@
user.setDisabledFlag(getDisabledBoolean(attrs));
user.setCreateDate(new Date());
user.setLocale(getLocale(map.get("locale")));
- user.setTimeZone(user.getTimeZone());
+ user.setTimeZone(timezoneService.getServerTimezone().getTimezoneId());
user.setTutorialsDisabled(false);
user.setFirstLogin(true);
service.saveUser(user);
@@ -583,12 +578,12 @@
// create, update, or disable this user
private int bulkUpdateLDAPUser(String login, Attributes attrs, boolean disabled) {
int returnCode = -1;
- User user = getService().getUserByLogin(login);
+ User user = service.getUserByLogin(login);
if (!disabled) {
if (user == null) {
log.info("Creating new user for LDAP username: " + login);
if (createLDAPUser(attrs)) {
- user = getService().getUserByLogin(login);
+ user = service.getUserByLogin(login);
returnCode = LdapService.BULK_UPDATE_CREATED;
} else {
log.error("Couldn't create new user for LDAP username: " + login);
@@ -603,7 +598,7 @@
} else {
// remove user from groups and set disabled flag
if (user != null) {
- getService().disableUser(user.getUserId());
+ service.disableUser(user.getUserId());
returnCode = LdapService.BULK_UPDATE_DISABLED;
}
}
@@ -622,5 +617,17 @@
}
return null;
}
+
+ // ---------------------------------------------------------------------
+ // Inversion of Control Methods - Method injection
+ // ---------------------------------------------------------------------
+ public void setService(IUserManagementService service) {
+ this.service = service;
+ }
+
+ public void setTimezoneService(ITimezoneService timezoneService) {
+ this.timezoneService = timezoneService;
+ }
+
}