Index: lams_admin/src/java/org/lamsfoundation/lams/admin/service/ImportService.java
===================================================================
diff -u -r9d6c499e9e59826c9683b30af19e580403aa8a41 -r9b9a8c320a611027445fe94db5cd458c2968700d
--- lams_admin/src/java/org/lamsfoundation/lams/admin/service/ImportService.java (.../ImportService.java) (revision 9d6c499e9e59826c9683b30af19e580403aa8a41)
+++ lams_admin/src/java/org/lamsfoundation/lams/admin/service/ImportService.java (.../ImportService.java) (revision 9b9a8c320a611027445fe94db5cd458c2968700d)
@@ -56,9 +56,8 @@
import org.lamsfoundation.lams.usermanagement.User;
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.ConfigurationKeys;
import org.lamsfoundation.lams.util.HashUtil;
+import org.lamsfoundation.lams.util.LangUtil;
import org.lamsfoundation.lams.util.MessageService;
import org.lamsfoundation.lams.util.audit.IAuditService;
import org.lamsfoundation.lams.web.session.SessionManager;
@@ -831,9 +830,7 @@
// set CSSThemeVisualElement to default flash theme if cell is empty
private CSSThemeVisualElement getFlashTheme(String flashId){
if (flashId==null || flashId=="") {
- String flashName = Configuration.get(ConfigurationKeys.DEFAULT_FLASH_THEME);
- List list = service.findByProperty(CSSThemeVisualElement.class, "name", flashName);
- return (list != null && list.size() > 0) ? (CSSThemeVisualElement) list.get(0) : null;
+ return service.getDefaultFlashTheme();
} else {
try {
return (CSSThemeVisualElement)service.findById(CSSThemeVisualElement.class, new Long(flashId));
@@ -846,9 +843,7 @@
// set CSSThemeVisualElement to default html theme if cell is empty
private CSSThemeVisualElement getHtmlTheme(String htmlId){
if (htmlId==null || htmlId=="") {
- String htmlName = Configuration.get(ConfigurationKeys.DEFAULT_HTML_THEME);
- List list = service.findByProperty(CSSThemeVisualElement.class, "name", htmlName);
- return (list != null && list.size() > 0) ? (CSSThemeVisualElement) list.get(0) : null;
+ return service.getDefaultHtmlTheme();
} else {
try {
return (CSSThemeVisualElement)service.findById(CSSThemeVisualElement.class, new Long(htmlId));
@@ -861,8 +856,7 @@
// set locale to default system locale if cell is empty
private SupportedLocale getLocale(String localeId){
if (localeId==null || localeId=="") {
- String defaultLocale = Configuration.get(ConfigurationKeys.SERVER_LANGUAGE);
- return service.getSupportedLocale(defaultLocale.substring(0, 2), defaultLocale.substring(3));
+ return LangUtil.getDefaultLocale();
} else {
try {
return (SupportedLocale)service.findById(SupportedLocale.class, new Integer(localeId));
Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/ServerSaveAction.java
===================================================================
diff -u -r9cfe1aa20b4cc43c571bda0f090c1a2114e20261 -r9b9a8c320a611027445fe94db5cd458c2968700d
--- lams_admin/src/java/org/lamsfoundation/lams/admin/web/ServerSaveAction.java (.../ServerSaveAction.java) (revision 9cfe1aa20b4cc43c571bda0f090c1a2114e20261)
+++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/ServerSaveAction.java (.../ServerSaveAction.java) (revision 9b9a8c320a611027445fe94db5cd458c2968700d)
@@ -48,8 +48,7 @@
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.ConfigurationKeys;
+import org.lamsfoundation.lams.util.LangUtil;
import org.lamsfoundation.lams.util.MessageService;
import org.lamsfoundation.lams.web.session.SessionManager;
import org.lamsfoundation.lams.web.util.AttributeNames;
@@ -106,8 +105,7 @@
org.setParentOrganisation(userService.getRootOrganisation());
org.setOrganisationType((OrganisationType)userService.findById(OrganisationType.class,OrganisationType.COURSE_TYPE));
org.setOrganisationState((OrganisationState)userService.findById(OrganisationState.class,OrganisationState.ACTIVE));
- String defaultLocale = Configuration.get(ConfigurationKeys.SERVER_LANGUAGE);
- SupportedLocale locale = userService.getSupportedLocale(defaultLocale.substring(0,2),defaultLocale.substring(3));
+ SupportedLocale locale = LangUtil.getDefaultLocale();
org.setLocale(locale);
userService.saveOrganisation(org, user.getUserID());
serverOrgMapForm.set("orgId", org.getOrganisationId());
Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserAction.java
===================================================================
diff -u -r4a2728da7ea82a98b92d3a8b08feb6efa4023b7d -r9b9a8c320a611027445fe94db5cd458c2968700d
--- lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserAction.java (.../UserAction.java) (revision 4a2728da7ea82a98b92d3a8b08feb6efa4023b7d)
+++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserAction.java (.../UserAction.java) (revision 9b9a8c320a611027445fe94db5cd458c2968700d)
@@ -28,7 +28,6 @@
import java.util.Collections;
import java.util.List;
-import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -50,8 +49,7 @@
import org.lamsfoundation.lams.usermanagement.UserOrganisation;
import org.lamsfoundation.lams.usermanagement.UserOrganisationRole;
import org.lamsfoundation.lams.usermanagement.service.IUserManagementService;
-import org.lamsfoundation.lams.util.Configuration;
-import org.lamsfoundation.lams.util.ConfigurationKeys;
+import org.lamsfoundation.lams.util.LangUtil;
import org.lamsfoundation.lams.util.MessageService;
import org.lamsfoundation.lams.util.WebUtil;
import org.lamsfoundation.lams.web.action.LamsDispatchAction;
@@ -140,9 +138,7 @@
request.setAttribute("globalRoles", getGlobalRoles(user));
} else { // create a user
try {
- String defaultLocale = Configuration.get(ConfigurationKeys.SERVER_LANGUAGE);
- log.debug("using defaultLocale: "+defaultLocale);
- SupportedLocale locale = service.getSupportedLocale(defaultLocale.substring(0,2),defaultLocale.substring(3));
+ SupportedLocale locale = LangUtil.getDefaultLocale();
userForm.set("localeId", locale.getLocaleId());
} catch(Exception e) {
log.debug(e);
Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/action/ImportV1ContentsSaveAction.java
===================================================================
diff -u -r9d6c499e9e59826c9683b30af19e580403aa8a41 -r9b9a8c320a611027445fe94db5cd458c2968700d
--- lams_admin/src/java/org/lamsfoundation/lams/admin/web/action/ImportV1ContentsSaveAction.java (.../ImportV1ContentsSaveAction.java) (revision 9d6c499e9e59826c9683b30af19e580403aa8a41)
+++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/action/ImportV1ContentsSaveAction.java (.../ImportV1ContentsSaveAction.java) (revision 9b9a8c320a611027445fe94db5cd458c2968700d)
@@ -45,7 +45,6 @@
import org.lamsfoundation.lams.admin.web.dto.V1OrganisationDTO;
import org.lamsfoundation.lams.admin.web.dto.V1UserDTO;
import org.lamsfoundation.lams.admin.web.form.ImportV1ContentsForm;
-import org.lamsfoundation.lams.themes.CSSThemeVisualElement;
import org.lamsfoundation.lams.usermanagement.AuthenticationMethod;
import org.lamsfoundation.lams.usermanagement.Organisation;
import org.lamsfoundation.lams.usermanagement.OrganisationState;
@@ -55,9 +54,8 @@
import org.lamsfoundation.lams.usermanagement.User;
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.ConfigurationKeys;
import org.lamsfoundation.lams.util.HashUtil;
+import org.lamsfoundation.lams.util.LangUtil;
import org.lamsfoundation.lams.util.MessageService;
import org.lamsfoundation.lams.web.session.SessionManager;
import org.lamsfoundation.lams.web.util.AttributeNames;
@@ -113,8 +111,7 @@
boolean onlyMembers = importV1ContentsForm.getOnlyMembers();
// default import options
- String defaultLocale = Configuration.get(ConfigurationKeys.SERVER_LANGUAGE);
- SupportedLocale locale = service.getSupportedLocale(defaultLocale.substring(0,2),defaultLocale.substring(3));
+ SupportedLocale locale = LangUtil.getDefaultLocale();
final OrganisationType courseType = (OrganisationType)service.findById(
OrganisationType.class, OrganisationType.COURSE_TYPE);
final OrganisationState activeState = (OrganisationState)service.findById(
@@ -244,18 +241,8 @@
newUser.setPassword(HashUtil.sha1(user.getLogin()));
newUser.setChangePassword(true);
- String flashName = Configuration.get(ConfigurationKeys.DEFAULT_FLASH_THEME);
- List list = service.findByProperty(CSSThemeVisualElement.class, "name", flashName);
- if (list!=null) {
- CSSThemeVisualElement flashTheme = (CSSThemeVisualElement)list.get(0);
- newUser.setFlashTheme(flashTheme);
- }
- String htmlName = Configuration.get(ConfigurationKeys.DEFAULT_HTML_THEME);
- list = service.findByProperty(CSSThemeVisualElement.class, "name", htmlName);
- if (list!=null) {
- CSSThemeVisualElement htmlTheme = (CSSThemeVisualElement)list.get(0);
- newUser.setHtmlTheme(htmlTheme);
- }
+ newUser.setFlashTheme(service.getDefaultFlashTheme());
+ newUser.setHtmlTheme(service.getDefaultHtmlTheme());
newUser.setDisabledFlag(false);
newUser.setCreateDate(new Date());
newUser.setAuthenticationMethod((AuthenticationMethod)service.findByProperty(AuthenticationMethod.class,
Index: lams_central/src/java/org/lamsfoundation/lams/webservice/RegisterServiceSoapBindingImpl.java
===================================================================
diff -u -r951a33cdabfc3a4c4c2f728d4b6871a98bea2bbc -r9b9a8c320a611027445fe94db5cd458c2968700d
--- lams_central/src/java/org/lamsfoundation/lams/webservice/RegisterServiceSoapBindingImpl.java (.../RegisterServiceSoapBindingImpl.java) (revision 951a33cdabfc3a4c4c2f728d4b6871a98bea2bbc)
+++ lams_central/src/java/org/lamsfoundation/lams/webservice/RegisterServiceSoapBindingImpl.java (.../RegisterServiceSoapBindingImpl.java) (revision 9b9a8c320a611027445fe94db5cd458c2968700d)
@@ -9,7 +9,6 @@
import java.util.Date;
import java.util.Iterator;
-import java.util.List;
import java.util.Set;
import javax.servlet.http.HttpServlet;
@@ -22,17 +21,14 @@
import org.lamsfoundation.lams.integration.service.IIntegrationService;
import org.lamsfoundation.lams.lesson.Lesson;
import org.lamsfoundation.lams.lesson.service.ILessonService;
-import org.lamsfoundation.lams.themes.CSSThemeVisualElement;
import org.lamsfoundation.lams.usermanagement.AuthenticationMethod;
import org.lamsfoundation.lams.usermanagement.Organisation;
import org.lamsfoundation.lams.usermanagement.Role;
-import org.lamsfoundation.lams.usermanagement.SupportedLocale;
import org.lamsfoundation.lams.usermanagement.User;
import org.lamsfoundation.lams.usermanagement.UserOrganisation;
import org.lamsfoundation.lams.usermanagement.UserOrganisationRole;
import org.lamsfoundation.lams.usermanagement.service.IUserManagementService;
-import org.lamsfoundation.lams.util.Configuration;
-import org.lamsfoundation.lams.util.ConfigurationKeys;
+import org.lamsfoundation.lams.util.LangUtil;
import org.springframework.web.context.support.WebApplicationContextUtils;
public class RegisterServiceSoapBindingImpl implements Register {
@@ -80,19 +76,9 @@
AuthenticationMethod.class, AuthenticationMethod.DB));
user.setCreateDate(new Date());
user.setDisabledFlag(false);
- user.setLocale(getLocale());
- String flashName = Configuration.get(ConfigurationKeys.DEFAULT_FLASH_THEME);
- List list = service.findByProperty(CSSThemeVisualElement.class, "name", flashName);
- if (list != null && list.size() > 0) {
- CSSThemeVisualElement flashTheme = (CSSThemeVisualElement) list.get(0);
- user.setFlashTheme(flashTheme);
- }
- String htmlName = Configuration.get(ConfigurationKeys.DEFAULT_HTML_THEME);
- list = service.findByProperty(CSSThemeVisualElement.class, "name", htmlName);
- if (list != null && list.size() > 0) {
- CSSThemeVisualElement htmlTheme = (CSSThemeVisualElement) list.get(0);
- user.setHtmlTheme(htmlTheme);
- }
+ user.setLocale(LangUtil.getDefaultLocale());
+ user.setFlashTheme(service.getDefaultFlashTheme());
+ user.setHtmlTheme(service.getDefaultHtmlTheme());
service.save(user);
return true;
} catch (Exception e) {
@@ -195,12 +181,6 @@
throw new java.rmi.RemoteException(e.getMessage());
}
}
-
- private SupportedLocale getLocale() {
- String defaultLocale = Configuration.get(ConfigurationKeys.SERVER_LANGUAGE);
- return service
- .getSupportedLocale(defaultLocale.substring(0, 2), defaultLocale.substring(3));
- }
@SuppressWarnings("unchecked")
private void addMemberships(User user, Organisation org, Boolean isTeacher) {
Index: lams_central/web/editprofile.jsp
===================================================================
diff -u -r240dba20019d989674d17faa11ce3c4feec48b9b -r9b9a8c320a611027445fe94db5cd458c2968700d
--- lams_central/web/editprofile.jsp (.../editprofile.jsp) (revision 240dba20019d989674d17faa11ce3c4feec48b9b)
+++ lams_central/web/editprofile.jsp (.../editprofile.jsp) (revision 9b9a8c320a611027445fe94db5cd458c2968700d)
@@ -93,6 +93,18 @@
: |
|
+
+ : |
+
+
+
+
+
+
+
+
+ |
+
@@ -178,21 +190,21 @@
: |
|
-
-
-
: |
-
-
-
-
-
-
-
+
+
+
+
+
+
|
+
+
+
+
Index: lams_common/db/sql/insert_lams_unix_config_data.sql
===================================================================
diff -u -r20ce199831888b996374f8873220db09b375a74c -r9b9a8c320a611027445fe94db5cd458c2968700d
--- lams_common/db/sql/insert_lams_unix_config_data.sql (.../insert_lams_unix_config_data.sql) (revision 20ce199831888b996374f8873220db09b375a74c)
+++ lams_common/db/sql/insert_lams_unix_config_data.sql (.../insert_lams_unix_config_data.sql) (revision 9b9a8c320a611027445fe94db5cd458c2968700d)
@@ -44,9 +44,18 @@
insert into lams_configuration (config_key, config_value) values ('LDAPFNameAttr','givenName');
insert into lams_configuration (config_key, config_value) values ('LDAPLNameAttr','sn');
insert into lams_configuration (config_key, config_value) values ('LDAPEmailAttr','mail');
-insert into lams_configuration (config_key, config_value) values ('LDAPPhoneAttr','telephoneNumber');
+insert into lams_configuration (config_key, config_value) values ('LDAPAddr1Attr','postalAddress');
+insert into lams_configuration (config_key, config_value) values ('LDAPAddr2Attr','');
+insert into lams_configuration (config_key, config_value) values ('LDAPAddr3Attr','');
+insert into lams_configuration (config_key, config_value) values ('LDAPCityAttr','l');
+insert into lams_configuration (config_key, config_value) values ('LDAPStateAttr','st');
+insert into lams_configuration (config_key, config_value) values ('LDAPPostcodeAttr','postalCode');
+insert into lams_configuration (config_key, config_value) values ('LDAPCountryAttr','');
+insert into lams_configuration (config_key, config_value) values ('LDAPDayPhoneAttr','telephoneNumber');
+insert into lams_configuration (config_key, config_value) values ('LDAPEveningPhoneAttr','homePhone');
insert into lams_configuration (config_key, config_value) values ('LDAPFaxAttr','facsimileTelephoneNumber');
insert into lams_configuration (config_key, config_value) values ('LDAPMobileAttr','mobile');
+insert into lams_configuration (config_key, config_value) values ('LDAPLocaleAttr','preferredLanguage');
insert into lams_configuration (config_key, config_value) values ('LDAPOrgAttr','deetITSchoolCode');
insert into lams_configuration (config_key, config_value) values ('LDAPRolesAttr','memberOf');
insert into lams_configuration (config_key, config_value) values ('LDAPLearnerMap','Student;SchoolSupportStaff;Teacher;SeniorStaff;Principal');
Index: lams_common/db/sql/insert_lams_windows_config_data.sql
===================================================================
diff -u -r20ce199831888b996374f8873220db09b375a74c -r9b9a8c320a611027445fe94db5cd458c2968700d
--- lams_common/db/sql/insert_lams_windows_config_data.sql (.../insert_lams_windows_config_data.sql) (revision 20ce199831888b996374f8873220db09b375a74c)
+++ lams_common/db/sql/insert_lams_windows_config_data.sql (.../insert_lams_windows_config_data.sql) (revision 9b9a8c320a611027445fe94db5cd458c2968700d)
@@ -44,9 +44,18 @@
insert into lams_configuration (config_key, config_value) values ('LDAPFNameAttr','givenName');
insert into lams_configuration (config_key, config_value) values ('LDAPLNameAttr','sn');
insert into lams_configuration (config_key, config_value) values ('LDAPEmailAttr','mail');
-insert into lams_configuration (config_key, config_value) values ('LDAPPhoneAttr','telephoneNumber');
+insert into lams_configuration (config_key, config_value) values ('LDAPAddr1Attr','postalAddress');
+insert into lams_configuration (config_key, config_value) values ('LDAPAddr2Attr','');
+insert into lams_configuration (config_key, config_value) values ('LDAPAddr3Attr','');
+insert into lams_configuration (config_key, config_value) values ('LDAPCityAttr','l');
+insert into lams_configuration (config_key, config_value) values ('LDAPStateAttr','st');
+insert into lams_configuration (config_key, config_value) values ('LDAPPostcodeAttr','postalCode');
+insert into lams_configuration (config_key, config_value) values ('LDAPCountryAttr','');
+insert into lams_configuration (config_key, config_value) values ('LDAPDayPhoneAttr','telephoneNumber');
+insert into lams_configuration (config_key, config_value) values ('LDAPEveningPhoneAttr','homePhone');
insert into lams_configuration (config_key, config_value) values ('LDAPFaxAttr','facsimileTelephoneNumber');
insert into lams_configuration (config_key, config_value) values ('LDAPMobileAttr','mobile');
+insert into lams_configuration (config_key, config_value) values ('LDAPLocaleAttr','preferredLanguage');
insert into lams_configuration (config_key, config_value) values ('LDAPOrgAttr','deetITSchoolCode');
insert into lams_configuration (config_key, config_value) values ('LDAPRolesAttr','memberOf');
insert into lams_configuration (config_key, config_value) values ('LDAPLearnerMap','Student;SchoolSupportStaff;Teacher;SeniorStaff;Principal');
Index: lams_common/db/sql/updatescripts/alter_205_ldap.sql
===================================================================
diff -u
--- lams_common/db/sql/updatescripts/alter_205_ldap.sql (revision 0)
+++ lams_common/db/sql/updatescripts/alter_205_ldap.sql (revision 9b9a8c320a611027445fe94db5cd458c2968700d)
@@ -0,0 +1,37 @@
+-- database script to update 2.0.4 database with ldap support
+update lams_configuration set config_value='2.0.5' WHERE config_key='version';
+insert into lams_configuration (config_key, config_value) values ('LDAPProvisioningEnabled','true');
+insert into lams_configuration (config_key, config_value) values ('LDAPProviderURL','ldap://192.168.111.15');
+insert into lams_configuration (config_key, config_value) values ('LDAPSecurityAuthentication','simple');
+insert into lams_configuration (config_key, config_value) values ('LDAPPrincipalDNPrefix','cn=');
+insert into lams_configuration (config_key, config_value) values ('LDAPPrincipalDNSuffix',',ou=Users,dc=melcoe,dc=mq,dc=edu,dc=au');
+insert into lams_configuration (config_key, config_value) values ('LDAPSecurityProtocol','');
+insert into lams_configuration (config_key, config_value) values ('LDAPTruststorePath','');
+insert into lams_configuration (config_key, config_value) values ('LDAPTruststorePassword','');
+insert into lams_configuration (config_key, config_value) values ('LDAPLoginAttr','uid');
+insert into lams_configuration (config_key, config_value) values ('LDAPFNameAttr','givenName');
+insert into lams_configuration (config_key, config_value) values ('LDAPLNameAttr','sn');
+insert into lams_configuration (config_key, config_value) values ('LDAPEmailAttr','mail');
+insert into lams_configuration (config_key, config_value) values ('LDAPAddr1Attr','postalAddress');
+insert into lams_configuration (config_key, config_value) values ('LDAPAddr2Attr','');
+insert into lams_configuration (config_key, config_value) values ('LDAPAddr3Attr','');
+insert into lams_configuration (config_key, config_value) values ('LDAPCityAttr','l');
+insert into lams_configuration (config_key, config_value) values ('LDAPStateAttr','st');
+insert into lams_configuration (config_key, config_value) values ('LDAPPostcodeAttr','postalCode');
+insert into lams_configuration (config_key, config_value) values ('LDAPCountryAttr','');
+insert into lams_configuration (config_key, config_value) values ('LDAPDayPhoneAttr','telephoneNumber');
+insert into lams_configuration (config_key, config_value) values ('LDAPEveningPhoneAttr','homePhone');
+insert into lams_configuration (config_key, config_value) values ('LDAPFaxAttr','facsimileTelephoneNumber');
+insert into lams_configuration (config_key, config_value) values ('LDAPMobileAttr','mobile');
+insert into lams_configuration (config_key, config_value) values ('LDAPLocaleAttr','preferredLanguage');
+insert into lams_configuration (config_key, config_value) values ('LDAPOrgAttr','deetITSchoolCode');
+insert into lams_configuration (config_key, config_value) values ('LDAPRolesAttr','memberOf');
+insert into lams_configuration (config_key, config_value) values ('LDAPLearnerMap','Student;SchoolSupportStaff;Teacher;SeniorStaff;Principal');
+insert into lams_configuration (config_key, config_value) values ('LDAPMonitorMap','SchoolSupportStaff;Teacher;SeniorStaff;Principal');
+insert into lams_configuration (config_key, config_value) values ('LDAPAuthorMap','Teacher;SeniorStaff;Principal');
+insert into lams_configuration (config_key, config_value) values ('LDAPGroupAdminMap','Teacher;SeniorStaff');
+insert into lams_configuration (config_key, config_value) values ('LDAPGroupManagerMap','Principal');
+insert into lams_configuration (config_key, config_value) values ('LDAPUpdateOnLogin', 'true');
+insert into lams_configuration (config_key, config_value) values ('LDAPOrgField', 'code');
+insert into lams_configuration (config_key, config_value) values ('LDAPOnlyOneOrg', 'true');
+insert into lams_configuration (config_key, config_value) values ('LDAPEncryptPasswordFromBrowser', 'false');
\ No newline at end of file
Index: lams_common/src/java/org/lamsfoundation/lams/integration/service/IntegrationService.java
===================================================================
diff -u -r4c8a9d0f03629b17fa043781d3eee47ffa88014e -r9b9a8c320a611027445fe94db5cd458c2968700d
--- lams_common/src/java/org/lamsfoundation/lams/integration/service/IntegrationService.java (.../IntegrationService.java) (revision 4c8a9d0f03629b17fa043781d3eee47ffa88014e)
+++ lams_common/src/java/org/lamsfoundation/lams/integration/service/IntegrationService.java (.../IntegrationService.java) (revision 9b9a8c320a611027445fe94db5cd458c2968700d)
@@ -33,7 +33,6 @@
import java.net.URLConnection;
import java.net.URLEncoder;
import java.text.ParseException;
-import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -45,21 +44,18 @@
import org.lamsfoundation.lams.integration.ExtUserUseridMap;
import org.lamsfoundation.lams.integration.UserInfoFetchException;
import org.lamsfoundation.lams.integration.security.RandomPasswordGenerator;
-import org.lamsfoundation.lams.themes.CSSThemeVisualElement;
import org.lamsfoundation.lams.usermanagement.AuthenticationMethod;
import org.lamsfoundation.lams.usermanagement.Organisation;
import org.lamsfoundation.lams.usermanagement.OrganisationState;
import org.lamsfoundation.lams.usermanagement.OrganisationType;
-import org.lamsfoundation.lams.usermanagement.SupportedLocale;
+import org.lamsfoundation.lams.usermanagement.Role;
import org.lamsfoundation.lams.usermanagement.User;
import org.lamsfoundation.lams.usermanagement.UserOrganisation;
import org.lamsfoundation.lams.usermanagement.UserOrganisationRole;
-import org.lamsfoundation.lams.usermanagement.Role;
import org.lamsfoundation.lams.usermanagement.service.IUserManagementService;
-import org.lamsfoundation.lams.util.Configuration;
-import org.lamsfoundation.lams.util.ConfigurationKeys;
import org.lamsfoundation.lams.util.CSVUtil;
import org.lamsfoundation.lams.util.HashUtil;
+import org.lamsfoundation.lams.util.LangUtil;
/**
*
@@ -142,7 +138,7 @@
org.setParentOrganisation(serverMap.getOrganisation());
org.setOrganisationType((OrganisationType)service.findById(OrganisationType.class,OrganisationType.CLASS_TYPE));
org.setOrganisationState((OrganisationState)service.findById(OrganisationState.class,OrganisationState.ACTIVE));
- org.setLocale(getLocale(countryIsoCode, langIsoCode));
+ org.setLocale(LangUtil.getSupportedLocale(langIsoCode, countryIsoCode));
service.saveOrganisation(org, user.getUserId());
addMemberships(user,org);
ExtCourseClassMap map = new ExtCourseClassMap();
@@ -153,30 +149,6 @@
return map;
}
- private SupportedLocale getLocale(String countryIsoCode, String langIsoCode) {
- SupportedLocale locale = null;
- if(countryIsoCode.trim().length()>0 && langIsoCode.trim().length()>0){
- locale = service.getSupportedLocale(countryIsoCode, langIsoCode);
- }else if(langIsoCode.trim().length()>0){
- List list = service.findByProperty(SupportedLocale.class, "languageIsoCode", langIsoCode);
- if(list!=null && list.size()>0){
- Collections.sort(list);
- locale = (SupportedLocale)list.get(0);
- }
- }else if(countryIsoCode.trim().length()>0){
- List list = service.findByProperty(SupportedLocale.class, "countryIsoCode", countryIsoCode);
- if(list!=null && list.size()>0){
- Collections.sort(list);
- locale = (SupportedLocale)list.get(0);
- }
- }
- if(locale==null){
- String defaultLocale = Configuration.get(ConfigurationKeys.SERVER_LANGUAGE);
- locale = service.getSupportedLocale(defaultLocale.substring(0,2), defaultLocale.substring(3));
- }
- return locale;
- }
-
private ExtUserUseridMap createExtUserUseridMap(ExtServerOrgMap serverMap, String extUsername) throws UserInfoFetchException {
String[] userData = getUserDataFromExtServer(serverMap, extUsername);
User user = new User();
@@ -197,19 +169,9 @@
user.setAuthenticationMethod((AuthenticationMethod)service.findById(AuthenticationMethod.class, AuthenticationMethod.DB));
user.setCreateDate(new Date());
user.setDisabledFlag(false);
- user.setLocale(getLocale(userData[12],userData[13]));
- String flashName = Configuration.get(ConfigurationKeys.DEFAULT_FLASH_THEME);
- List list = service.findByProperty(CSSThemeVisualElement.class, "name", flashName);
- if (list!=null && list.size()>0) {
- CSSThemeVisualElement flashTheme = (CSSThemeVisualElement)list.get(0);
- user.setFlashTheme(flashTheme);
- }
- String htmlName = Configuration.get(ConfigurationKeys.DEFAULT_HTML_THEME);
- list = getService().findByProperty(CSSThemeVisualElement.class, "name", htmlName);
- if (list!=null && list.size()>0) {
- CSSThemeVisualElement htmlTheme = (CSSThemeVisualElement)list.get(0);
- user.setHtmlTheme(htmlTheme);
- }
+ user.setLocale(LangUtil.getSupportedLocale(userData[13], userData[12]));
+ user.setFlashTheme(service.getDefaultFlashTheme());
+ user.setHtmlTheme(service.getDefaultHtmlTheme());
service.save(user);
ExtUserUseridMap map = new ExtUserUseridMap();
map.setExtServerOrgMap(serverMap);
Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/IUserManagementService.java
===================================================================
diff -u -rd2ea89fd48d3a27209865fa2d92ccf2901b531fd -r9b9a8c320a611027445fe94db5cd458c2968700d
--- lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/IUserManagementService.java (.../IUserManagementService.java) (revision d2ea89fd48d3a27209865fa2d92ccf2901b531fd)
+++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/IUserManagementService.java (.../IUserManagementService.java) (revision 9b9a8c320a611027445fe94db5cd458c2968700d)
@@ -33,7 +33,6 @@
import org.lamsfoundation.lams.usermanagement.Organisation;
import org.lamsfoundation.lams.usermanagement.OrganisationType;
import org.lamsfoundation.lams.usermanagement.Role;
-import org.lamsfoundation.lams.usermanagement.SupportedLocale;
import org.lamsfoundation.lams.usermanagement.User;
import org.lamsfoundation.lams.usermanagement.UserOrganisation;
import org.lamsfoundation.lams.usermanagement.dto.OrganisationDTO;
@@ -294,14 +293,6 @@
*/
public Organisation saveOrganisation( Organisation organisation, Integer userID );
- /**
- *
- * @param language
- * @param country
- * @return SupportedLocale
- */
- public SupportedLocale getSupportedLocale(String language, String country);
-
public List getUserManageBeans(Integer orgId);
/** Remove a user from the system completely. Only able to be done if they don't have any
@@ -391,12 +382,6 @@
*/
public CSSThemeVisualElement getDefaultHtmlTheme();
- /**
- * Get default server locale.
- * @return server default supported locale object
- */
- public SupportedLocale getDefaultLocale();
-
public void auditPasswordChanged(User user, String moduleName);
public void auditUserCreated(User user, String moduleName);
Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/LdapService.java
===================================================================
diff -u -r3de11bf54a449905b116b6a3d2569c91b286a227 -r9b9a8c320a611027445fe94db5cd458c2968700d
--- lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/LdapService.java (.../LdapService.java) (revision 3de11bf54a449905b116b6a3d2569c91b286a227)
+++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/LdapService.java (.../LdapService.java) (revision 9b9a8c320a611027445fe94db5cd458c2968700d)
@@ -48,10 +48,12 @@
import org.lamsfoundation.lams.usermanagement.OrganisationState;
import org.lamsfoundation.lams.usermanagement.OrganisationType;
import org.lamsfoundation.lams.usermanagement.Role;
+import org.lamsfoundation.lams.usermanagement.SupportedLocale;
import org.lamsfoundation.lams.usermanagement.User;
import org.lamsfoundation.lams.usermanagement.UserOrganisation;
import org.lamsfoundation.lams.util.Configuration;
import org.lamsfoundation.lams.util.ConfigurationKeys;
+import org.lamsfoundation.lams.util.LangUtil;
/**
* @author jliew
@@ -76,12 +78,36 @@
user.setFirstName(map.get("fname"));
user.setLastName(map.get("lname"));
user.setEmail(map.get("email"));
- user.setDayPhone(map.get("phone"));
+ user.setAddressLine1(map.get("address1"));
+ user.setAddressLine2(map.get("address2"));
+ user.setAddressLine3(map.get("address3"));
+ user.setCity(map.get("city"));
+ user.setState(map.get("state"));
+ user.setPostcode(map.get("postcode"));
+ user.setCountry(map.get("country"));
+ user.setDayPhone(map.get("dayphone"));
+ user.setEveningPhone(map.get("eveningphone"));
user.setFax(map.get("fax"));
user.setMobilePhone(map.get("mobile"));
+ user.setLocale(getLocale(map.get("locale")));
getService().save(user);
}
+ // tries to match ldap attribute to a locale, otherwise returns server default
+ private SupportedLocale getLocale(String attribute) {
+ if (attribute!=null && attribute.trim().length()>0) {
+ int index = attribute.indexOf("_");
+ if (index>0) {
+ String language = attribute.substring(0, index);
+ String country = attribute.substring(index);
+ return LangUtil.getSupportedLocale(language, country);
+ } else {
+ return LangUtil.getSupportedLocale(attribute);
+ }
+ }
+ return LangUtil.getDefaultLocale();
+ }
+
public boolean createLDAPUser(Attributes attrs) {
User user = new User();
try {
@@ -98,7 +124,15 @@
user.setFirstName(map.get("fname"));
user.setLastName(map.get("lname"));
user.setEmail(map.get("email"));
- user.setDayPhone(map.get("phone"));
+ user.setAddressLine1(map.get("address1"));
+ user.setAddressLine2(map.get("address2"));
+ user.setAddressLine3(map.get("address3"));
+ user.setCity(map.get("city"));
+ user.setState(map.get("state"));
+ user.setPostcode(map.get("postcode"));
+ user.setCountry(map.get("country"));
+ user.setDayPhone(map.get("dayphone"));
+ user.setEveningPhone(map.get("eveningphone"));
user.setFax(map.get("fax"));
user.setMobilePhone(map.get("mobile"));
user.setAuthenticationMethod((AuthenticationMethod)service
@@ -107,7 +141,7 @@
user.setHtmlTheme(service.getDefaultHtmlTheme());
user.setDisabledFlag(false);
user.setCreateDate(new Date());
- user.setLocale(service.getDefaultLocale());
+ user.setLocale(getLocale(map.get("locale")));
service.save(user);
service.auditUserCreated(user, "common");
return true;
@@ -127,9 +161,18 @@
map.put("fname", getSingleAttributeString(attrs.get(Configuration.get(ConfigurationKeys.LDAP_FIRST_NAME_ATTR))));
map.put("lname", getSingleAttributeString(attrs.get(Configuration.get(ConfigurationKeys.LDAP_LAST_NAME_ATTR))));
map.put("email", getSingleAttributeString(attrs.get(Configuration.get(ConfigurationKeys.LDAP_EMAIL_ATTR))));
- map.put("phone", getSingleAttributeString(attrs.get(Configuration.get(ConfigurationKeys.LDAP_PHONE_ATTR))));
+ map.put("address1", getSingleAttributeString(attrs.get(Configuration.get(ConfigurationKeys.LDAP_ADDR1_ATTR))));
+ map.put("address2", getSingleAttributeString(attrs.get(Configuration.get(ConfigurationKeys.LDAP_ADDR2_ATTR))));
+ map.put("address3", getSingleAttributeString(attrs.get(Configuration.get(ConfigurationKeys.LDAP_ADDR3_ATTR))));
+ map.put("city", getSingleAttributeString(attrs.get(Configuration.get(ConfigurationKeys.LDAP_CITY_ATTR))));
+ map.put("state", getSingleAttributeString(attrs.get(Configuration.get(ConfigurationKeys.LDAP_STATE_ATTR))));
+ map.put("postcode", getSingleAttributeString(attrs.get(Configuration.get(ConfigurationKeys.LDAP_POSTCODE_ATTR))));
+ map.put("country", getSingleAttributeString(attrs.get(Configuration.get(ConfigurationKeys.LDAP_COUNTRY_ATTR))));
+ map.put("dayphone", getSingleAttributeString(attrs.get(Configuration.get(ConfigurationKeys.LDAP_DAY_PHONE_ATTR))));
+ map.put("eveningphone", getSingleAttributeString(attrs.get(Configuration.get(ConfigurationKeys.LDAP_EVENING_PHONE_ATTR))));
map.put("fax", getSingleAttributeString(attrs.get(Configuration.get(ConfigurationKeys.LDAP_FAX_ATTR))));
map.put("mobile", getSingleAttributeString(attrs.get(Configuration.get(ConfigurationKeys.LDAP_MOBILE_ATTR))));
+ map.put("locale", getSingleAttributeString(attrs.get(Configuration.get(ConfigurationKeys.LDAP_LOCALE_ATTR))));
} catch (Exception e) {
log.error("===> Exception occurred while getting LDAP user attributes: ", e);
}
Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/UserManagementService.java
===================================================================
diff -u -rd2ea89fd48d3a27209865fa2d92ccf2901b531fd -r9b9a8c320a611027445fe94db5cd458c2968700d
--- lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/UserManagementService.java (.../UserManagementService.java) (revision d2ea89fd48d3a27209865fa2d92ccf2901b531fd)
+++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/UserManagementService.java (.../UserManagementService.java) (revision 9b9a8c320a611027445fe94db5cd458c2968700d)
@@ -42,7 +42,6 @@
import org.lamsfoundation.lams.usermanagement.Organisation;
import org.lamsfoundation.lams.usermanagement.OrganisationType;
import org.lamsfoundation.lams.usermanagement.Role;
-import org.lamsfoundation.lams.usermanagement.SupportedLocale;
import org.lamsfoundation.lams.usermanagement.User;
import org.lamsfoundation.lams.usermanagement.UserOrganisation;
import org.lamsfoundation.lams.usermanagement.UserOrganisationRole;
@@ -59,7 +58,6 @@
import org.lamsfoundation.lams.util.ConfigurationKeys;
import org.lamsfoundation.lams.util.HashUtil;
import org.lamsfoundation.lams.util.MessageService;
-import org.lamsfoundation.lams.util.audit.AuditService;
import org.lamsfoundation.lams.util.audit.IAuditService;
import org.lamsfoundation.lams.web.session.SessionManager;
import org.lamsfoundation.lams.web.util.AttributeNames;
@@ -533,16 +531,6 @@
return organisation;
}
- public SupportedLocale getSupportedLocale(String language, String country) {
- Map properties = new HashMap();
- properties.put("languageIsoCode",language);
- if(country!=null){
- properties.put("countryIsoCode",country);
- }
- List results = findByProperties(SupportedLocale.class,properties);
- return results.isEmpty() ? null : (SupportedLocale)results.get(0);
- }
-
@SuppressWarnings("unchecked")
public List getUserManageBeans(Integer orgId) {
String query = "select u.userId,u.login,u.title,u.firstName,u.lastName, r " +
@@ -907,11 +895,6 @@
return (list!=null ? (CSSThemeVisualElement)list.get(0) : null);
}
- public SupportedLocale getDefaultLocale() {
- String localeName = Configuration.get(ConfigurationKeys.SERVER_LANGUAGE);
- return getSupportedLocale(localeName.substring(0,2),localeName.substring(3));
- }
-
public void auditPasswordChanged(User user, String moduleName) {
String[] args = new String[1];
args[0] = user.getLogin() + "(" + user.getUserId() + ")";
Index: lams_common/src/java/org/lamsfoundation/lams/util/ConfigurationKeys.java
===================================================================
diff -u -r20ce199831888b996374f8873220db09b375a74c -r9b9a8c320a611027445fe94db5cd458c2968700d
--- lams_common/src/java/org/lamsfoundation/lams/util/ConfigurationKeys.java (.../ConfigurationKeys.java) (revision 20ce199831888b996374f8873220db09b375a74c)
+++ lams_common/src/java/org/lamsfoundation/lams/util/ConfigurationKeys.java (.../ConfigurationKeys.java) (revision 9b9a8c320a611027445fe94db5cd458c2968700d)
@@ -159,12 +159,32 @@
public static String LDAP_EMAIL_ATTR = "LDAPEmailAttr";
- public static String LDAP_PHONE_ATTR = "LDAPPhoneAttr";
+ public static String LDAP_ADDR1_ATTR = "LDAPAddr1Attr";
+ public static String LDAP_ADDR2_ATTR = "LDAPAddr2Attr";
+
+ public static String LDAP_ADDR3_ATTR = "LDAPAddr3Attr";
+
+ public static String LDAP_CITY_ATTR = "LDAPCityAttr";
+
+ public static String LDAP_STATE_ATTR = "LDAPStateAttr";
+
+ public static String LDAP_POSTCODE_ATTR = "LDAPPostcodeAttr";
+
+ public static String LDAP_COUNTRY_ATTR = "LDAPCountryAttr";
+
+ public static String LDAP_DAY_PHONE_ATTR = "LDAPDayPhoneAttr";
+
+ public static String LDAP_EVENING_PHONE_ATTR = "LDAPEveningPhoneAttr";
+
public static String LDAP_FAX_ATTR = "LDAPFaxAttr";
public static String LDAP_MOBILE_ATTR = "LDAPMobileAttr";
+ //public static String LDAP_DISABLED_ATTR = "LDAPDisabledAttr";
+
+ public static String LDAP_LOCALE_ATTR = "LDAPLocaleAttr";
+
public static String LDAP_ORG_ATTR = "LDAPOrgAttr";
public static String LDAP_ROLES_ATTR = "LDAPRolesAttr";
Index: lams_common/src/java/org/lamsfoundation/lams/util/LangUtil.java
===================================================================
diff -u
--- lams_common/src/java/org/lamsfoundation/lams/util/LangUtil.java (revision 0)
+++ lams_common/src/java/org/lamsfoundation/lams/util/LangUtil.java (revision 9b9a8c320a611027445fe94db5cd458c2968700d)
@@ -0,0 +1,103 @@
+/****************************************************************
+ * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org)
+ * =============================================================
+ * License Information: http://lamsfoundation.org/licensing/lams/2.0/
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2.0
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 * USA
+ *
+ * http://www.gnu.org/licenses/gpl.txt
+ * ****************************************************************
+ */
+
+/* $Id$ */
+package org.lamsfoundation.lams.util;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.lamsfoundation.lams.usermanagement.SupportedLocale;
+import org.lamsfoundation.lams.usermanagement.service.IUserManagementService;
+import org.lamsfoundation.lams.web.util.HttpSessionManager;
+import org.springframework.web.context.WebApplicationContext;
+import org.springframework.web.context.support.WebApplicationContextUtils;
+
+/**
+ * @author jliew
+ *
+ */
+public class LangUtil {
+
+ private static IUserManagementService service;
+
+ private static IUserManagementService getService() {
+ if (service == null) {
+ WebApplicationContext ctx = WebApplicationContextUtils
+ .getWebApplicationContext(HttpSessionManager.getInstance().getServletContext());
+ service = (IUserManagementService) ctx.getBean("userManagementService");
+ }
+ return service;
+ }
+
+ /*
+ * Returns server default locale.
+ */
+ public static SupportedLocale getDefaultLocale() {
+ String localeName = Configuration.get(ConfigurationKeys.SERVER_LANGUAGE);
+ return getSupportedLocale(localeName.substring(0,2),localeName.substring(3));
+ }
+
+ /*
+ * Searches for a locale based on language, then country, matching the single input string.
+ * Otherwise returns server default locale.
+ */
+ public static SupportedLocale getSupportedLocale(String input) {
+ List list = getService().findByProperty(SupportedLocale.class, "languageIsoCode", input);
+ if (list!=null && list.size()>0) {
+ return (SupportedLocale)list.get(0);
+ } else {
+ list = getService().findByProperty(SupportedLocale.class, "countryIsoCode", input);
+ if (list!=null && list.size()>0) {
+ return (SupportedLocale)list.get(0);
+ }
+ }
+ return getDefaultLocale();
+ }
+
+ /*
+ * Finds a locale based on language and/or country.
+ */
+ public static SupportedLocale getSupportedLocale(String langIsoCode, String countryIsoCode) {
+ SupportedLocale locale = null;
+ Map properties = new HashMap();
+ if(countryIsoCode.trim().length()>0 && langIsoCode.trim().length()>0){
+ properties.put("languageIsoCode", langIsoCode);
+ properties.put("countryIsoCode", countryIsoCode);
+ }else if(langIsoCode.trim().length()>0){
+ properties.put("languageIsoCode", langIsoCode);
+ }else if(countryIsoCode.trim().length()>0){
+ properties.put("countryIsoCode", countryIsoCode);
+ }
+ List list = getService().findByProperties(SupportedLocale.class, properties);
+ if(list!=null && list.size()>0){
+ Collections.sort(list);
+ locale = (SupportedLocale)list.get(0);
+ }else{
+ locale = getDefaultLocale();
+ }
+ return locale;
+ }
+}
+
\ No newline at end of file