Index: lams_admin/conf/language/lams/ApplicationResources_en_AU.properties =================================================================== diff -u -r8789b9d507a7c0867ad6c0c5ef1ff2c9d65e1f8a -r2808afde61e72ed316431219a592f53ec2ba05f6 --- lams_admin/conf/language/lams/ApplicationResources_en_AU.properties (.../ApplicationResources_en_AU.properties) (revision 8789b9d507a7c0867ad6c0c5ef1ff2c9d65e1f8a) +++ lams_admin/conf/language/lams/ApplicationResources_en_AU.properties (.../ApplicationResources_en_AU.properties) (revision 2808afde61e72ed316431219a592f53ec2ba05f6) @@ -547,5 +547,7 @@ error.theme.invalid =Invalid theme label.theme =Theme +label.2FA.property.enable =Enable two-factor authentication + #======= End labels: Exported 540 labels for en AU ===== Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserAction.java =================================================================== diff -u -r51fb2a37254f24bb2a805d4ffd54482c779f43fa -r2808afde61e72ed316431219a592f53ec2ba05f6 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserAction.java (.../UserAction.java) (revision 51fb2a37254f24bb2a805d4ffd54482c779f43fa) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserAction.java (.../UserAction.java) (revision 2808afde61e72ed316431219a592f53ec2ba05f6) @@ -65,19 +65,7 @@ /** * @author Jun-Dir Liew - * - * Created at 17:00:18 on 13/06/2006 */ - -/** - * - * - * - * - * - * - * - */ public class UserAction extends LamsDispatchAction { private static Logger log = Logger.getLogger(UserAction.class); @@ -187,6 +175,9 @@ userSelectedTheme = UserAction.themeService.getDefaultTheme().getThemeId(); } userForm.set("userTheme", userSelectedTheme); + + //property available for modification only to sysadmins + userForm.set("twoFactorAuthenticationEnabled", user.isTwoFactorAuthenticationEnabled()); } else { // create a user try { SupportedLocale locale = LanguageUtil.getDefaultLocale(); @@ -196,6 +187,11 @@ } } userForm.set("orgId", (org == null ? null : org.getOrganisationId())); + + // sysadmins can mark users as required to use two-factor authentication + if (request.isUserInRole(Role.SYSADMIN)) { + request.setAttribute("isSysadmin", true); + } // Get all available time zones List availableTimeZones = UserAction.timezoneService.getDefaultTimezones(); Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserSaveAction.java =================================================================== diff -u -r51fb2a37254f24bb2a805d4ffd54482c779f43fa -r2808afde61e72ed316431219a592f53ec2ba05f6 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserSaveAction.java (.../UserSaveAction.java) (revision 51fb2a37254f24bb2a805d4ffd54482c779f43fa) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/UserSaveAction.java (.../UserSaveAction.java) (revision 2808afde61e72ed316431219a592f53ec2ba05f6) @@ -51,20 +51,7 @@ /** * @author Jun-Dir Liew - * - * Created at 12:35:38 on 14/06/2006 */ - -/** - * struts doclets - * - * - * - * - * - * - * - */ public class UserSaveAction extends Action { private static Logger log = Logger.getLogger(UserSaveAction.class); Index: lams_admin/web/WEB-INF/struts-config.xml =================================================================== diff -u -r43a81b97418d202b694ee15c30c6069a56370c46 -r2808afde61e72ed316431219a592f53ec2ba05f6 --- lams_admin/web/WEB-INF/struts-config.xml (.../struts-config.xml) (revision 43a81b97418d202b694ee15c30c6069a56370c46) +++ lams_admin/web/WEB-INF/struts-config.xml (.../struts-config.xml) (revision 2808afde61e72ed316431219a592f53ec2ba05f6) @@ -89,6 +89,7 @@ + Index: lams_admin/web/user.jsp =================================================================== diff -u -r43a81b97418d202b694ee15c30c6069a56370c46 -r2808afde61e72ed316431219a592f53ec2ba05f6 --- lams_admin/web/user.jsp (.../user.jsp) (revision 43a81b97418d202b694ee15c30c6069a56370c46) +++ lams_admin/web/user.jsp (.../user.jsp) (revision 2808afde61e72ed316431219a592f53ec2ba05f6) @@ -15,10 +15,8 @@ <%=Configuration.get(ConfigurationKeys.PASSWORD_POLICY_NUMERICS)%> <%=Configuration.get(ConfigurationKeys.PASSWORD_POLICY_SYMBOLS)%> - + - - - - - + + + - : " - class="btn btn-default"> - : " - class="btn btn-default"> + : " class="btn btn-default"> + + + : " class="btn btn-default"> + + - : " - class="btn btn-default"> + : " class="btn btn-default"> + + - + + + @@ -151,7 +145,6 @@
- : @@ -176,7 +169,6 @@
  • -
    @@ -258,89 +250,130 @@ styleClass="form-control" /> - : - + + : + + + + - : + + : + + styleClass="form-control" /> + - : + + : + + styleClass="form-control" /> + - : - + + : + + + + - : - + + : + + + + - : - + + : + + + + - : - + + : + + + - : - + + : + + + - + + - : - + + : + + + - ${timezoneDto.timeZoneId} - ${timezoneDto.displayName} - + ${timezoneDto.timeZoneId} - ${timezoneDto.displayName} + - + + - : - + + : + + + ${theme.name} - + + + - : - + + : + + + + + + + + + : + + + + + + +
    - " formnovalidate="formnovalidate" onclick="bCancel=true;" id="cancelButton" class="btn btn-default"/> - + " + formnovalidate="formnovalidate" onclick="bCancel=true;" id="cancelButton" class="btn btn-default"/> +
    @@ -368,10 +401,12 @@ : - + + role.   - + + @@ -381,20 +416,22 @@ - +
    + + + + @@ -403,11 +440,13 @@ + + +
    : :
    role.   -
    role.   -