Index: lams_central/web/editprofile.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_central/web/editprofile.jsp,v diff -u -r1.9.2.1 -r1.9.2.2 --- lams_central/web/editprofile.jsp 18 Sep 2007 07:20:58 -0000 1.9.2.1 +++ lams_central/web/editprofile.jsp 21 Sep 2007 02:15:31 -0000 1.9.2.2 @@ -93,6 +93,18 @@ : + + : + + + + + + + + + + @@ -178,21 +190,21 @@ : - - - : - - - - - - - + + + + + + + + + + Index: lams_common/db/sql/insert_lams_unix_config_data.sql =================================================================== RCS file: /usr/local/cvsroot/lams_common/db/sql/insert_lams_unix_config_data.sql,v diff -u -r1.6.4.1.2.2 -r1.6.4.1.2.3 --- lams_common/db/sql/insert_lams_unix_config_data.sql 20 Sep 2007 02:53:58 -0000 1.6.4.1.2.2 +++ lams_common/db/sql/insert_lams_unix_config_data.sql 21 Sep 2007 02:15:32 -0000 1.6.4.1.2.3 @@ -44,17 +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 ('LDAPAddr1Attr',''); +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',''); -insert into lams_configuration (config_key, config_value) values ('LDAPStateAttr',''); -insert into lams_configuration (config_key, config_value) values ('LDAPPostcodeAttr',''); +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',''); +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 =================================================================== RCS file: /usr/local/cvsroot/lams_common/db/sql/insert_lams_windows_config_data.sql,v diff -u -r1.3.4.1.2.2 -r1.3.4.1.2.3 --- lams_common/db/sql/insert_lams_windows_config_data.sql 20 Sep 2007 02:53:58 -0000 1.3.4.1.2.2 +++ lams_common/db/sql/insert_lams_windows_config_data.sql 21 Sep 2007 02:15:32 -0000 1.3.4.1.2.3 @@ -44,17 +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 ('LDAPAddr1Attr',''); +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',''); -insert into lams_configuration (config_key, config_value) values ('LDAPStateAttr',''); -insert into lams_configuration (config_key, config_value) values ('LDAPPostcodeAttr',''); +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',''); +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 =================================================================== RCS file: /usr/local/cvsroot/lams_common/db/sql/updatescripts/Attic/alter_205_ldap.sql,v diff -u -r1.1.2.1 -r1.1.2.2 --- lams_common/db/sql/updatescripts/alter_205_ldap.sql 20 Sep 2007 02:53:58 -0000 1.1.2.1 +++ lams_common/db/sql/updatescripts/alter_205_ldap.sql 21 Sep 2007 02:15:32 -0000 1.1.2.2 @@ -12,17 +12,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 ('LDAPAddr1Attr',''); +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',''); -insert into lams_configuration (config_key, config_value) values ('LDAPStateAttr',''); -insert into lams_configuration (config_key, config_value) values ('LDAPPostcodeAttr',''); +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',''); +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/src/java/org/lamsfoundation/lams/usermanagement/service/LdapService.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/LdapService.java,v diff -u -r1.3.2.2 -r1.3.2.3 --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/LdapService.java 20 Sep 2007 02:53:58 -0000 1.3.2.2 +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/service/LdapService.java 21 Sep 2007 02:15:32 -0000 1.3.2.3 @@ -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 @@ -87,9 +89,25 @@ 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 { @@ -123,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; @@ -154,6 +172,7 @@ 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/util/ConfigurationKeys.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/util/ConfigurationKeys.java,v diff -u -r1.24.4.2 -r1.24.4.3 --- lams_common/src/java/org/lamsfoundation/lams/util/ConfigurationKeys.java 20 Sep 2007 02:53:58 -0000 1.24.4.2 +++ lams_common/src/java/org/lamsfoundation/lams/util/ConfigurationKeys.java 21 Sep 2007 02:15:32 -0000 1.24.4.3 @@ -181,6 +181,10 @@ 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";