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";