From: Roland Häder <roland@mxchange.org>
Date: Tue, 2 Aug 2016 09:25:04 +0000 (+0200)
Subject: Continued a bit: (please cherry-pick)
X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=69a5c6e471fd0eb0e287ded56795b30d16ca4d2a;p=pizzaservice-war.git

Continued a bit: (please cherry-pick)
- that the user must change password enforced by administrator may be not wanted everywhere, so better make it as a feature that can be disabled per project
- ignored some strings for i18n

Signed-off-by: Roland Häder <roland@haeder.net>
---

diff --git a/src/java/org/mxchange/pizzaapplication/beans/login/PizzaUserLoginWebSessionBean.java b/src/java/org/mxchange/pizzaapplication/beans/login/PizzaUserLoginWebSessionBean.java
index a6bb388f..d0b04b22 100644
--- a/src/java/org/mxchange/pizzaapplication/beans/login/PizzaUserLoginWebSessionBean.java
+++ b/src/java/org/mxchange/pizzaapplication/beans/login/PizzaUserLoginWebSessionBean.java
@@ -57,12 +57,12 @@ public class PizzaUserLoginWebSessionBean extends BasePizzaController implements
 	/**
 	 * Path name for guest base template
 	 */
-	private static final String GUEST_BASE_TEMPLATE_NAME = "guest/guest";
+	private static final String GUEST_BASE_TEMPLATE_NAME = "guest/guest"; //NOI18N
 
 	/**
 	 * Path name for logged-in user base template
 	 */
-	private static final String USER_BASE_TEMPLATE_NAME = "login/user/user";
+	private static final String USER_BASE_TEMPLATE_NAME = "login/user/user"; //NOI18N
 
 	/**
 	 * Serial number
diff --git a/web/WEB-INF/templates/admin/user/admin_form_user_data.tpl b/web/WEB-INF/templates/admin/user/admin_form_user_data.tpl
index e8b209de..ae979a96 100644
--- a/web/WEB-INF/templates/admin/user/admin_form_user_data.tpl
+++ b/web/WEB-INF/templates/admin/user/admin_form_user_data.tpl
@@ -52,17 +52,19 @@
 					<div class="clear"></div>
 				</div>
 
-				<div class="table_row">
-					<div class="table_left_medium">
-						<h:outputLabel for="userMustChangePassword" value="#{msg.ADMIN_USER_MUST_CHANGE_PASSWORD}" />
-					</div>
+				<ui:fragment rendered="#{featureController.isFeatureEnabled('user_must_change_password')}">
+					<div class="table_row">
+						<div class="table_left_medium">
+							<h:outputLabel for="userMustChangePassword" value="#{msg.ADMIN_USER_MUST_CHANGE_PASSWORD}" />
+						</div>
 
-					<div class="table_right_medium">
-						<h:selectBooleanCheckbox styleClass="input" id="userMustChangePassword" value="#{adminUserController.userMustChangePassword}" />
-					</div>
+						<div class="table_right_medium">
+							<h:selectBooleanCheckbox styleClass="input" id="userMustChangePassword" value="#{adminUserController.userMustChangePassword}" />
+						</div>
 
-					<div class="clear"></div>
-				</div>
+						<div class="clear"></div>
+					</div>
+				</ui:fragment>
 
 				<div class="para notice">
 					<ul>
diff --git a/web/WEB-INF/web.xml b/web/WEB-INF/web.xml
index 65f0d300..75a17588 100644
--- a/web/WEB-INF/web.xml
+++ b/web/WEB-INF/web.xml
@@ -77,6 +77,11 @@
         <param-name>is_feature_privacy_enabled</param-name>
         <param-value>true</param-value>
     </context-param>
+    <context-param>
+        <description>Feature: Users must change password after login (with current password). Administrators can enforce this.</description>
+        <param-name>is_feature_user_must_change_password_enabled</param-name>
+        <param-value>true</param-value>
+    </context-param>
     <servlet>
         <servlet-name>Faces Servlet</servlet-name>
         <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
diff --git a/web/user/login_change_email_address.xhtml b/web/user/login_change_email_address.xhtml
index 3fb7ca98..d42ad5a4 100644
--- a/web/user/login_change_email_address.xhtml
+++ b/web/user/login_change_email_address.xhtml
@@ -15,7 +15,7 @@
 		</ui:define>
 
 		<ui:define name="content">
-			<ui:fragment rendered="#{userLoginController.isUserLoggedIn() and featureController.isFeatureEnabled('edit_user_data') and not userLoginController.ifUserMustChangePassword()}">
+			<ui:fragment rendered="#{userLoginController.isUserLoggedIn() and featureController.isFeatureEnabled('edit_user_data') and (not userLoginController.ifUserMustChangePassword() or not featureController.isFeatureEnabled('user_must_change_password'))}">
 				<div class="table">
 					<div class="table_header">
 						<h:outputText value="#{msg.LOGIN_CHANGE_EMAIL_ADDRESS_TITLE}" />
diff --git a/web/user/login_change_personal_data.xhtml b/web/user/login_change_personal_data.xhtml
index ee9f01fa..088c5581 100644
--- a/web/user/login_change_personal_data.xhtml
+++ b/web/user/login_change_personal_data.xhtml
@@ -15,7 +15,7 @@
 		</ui:define>
 
 		<ui:define name="content">
-			<ui:fragment rendered="#{userLoginController.isUserLoggedIn() and featureController.isFeatureEnabled('edit_user_data') and not userLoginController.ifUserMustChangePassword()}">
+			<ui:fragment rendered="#{userLoginController.isUserLoggedIn() and featureController.isFeatureEnabled('edit_user_data') and (not userLoginController.ifUserMustChangePassword() or not featureController.isFeatureEnabled('user_must_change_password'))}">
 				<div class="table">
 					<div class="table_header">
 						<h:outputText value="#{msg.LOGIN_CHANGE_PERSONAL_DATA_TITLE}" />
diff --git a/web/user/login_contact_data_saved.xhtml b/web/user/login_contact_data_saved.xhtml
index 59487039..13373402 100644
--- a/web/user/login_contact_data_saved.xhtml
+++ b/web/user/login_contact_data_saved.xhtml
@@ -15,7 +15,7 @@
 		</ui:define>
 
 		<ui:define name="content">
-			<ui:fragment rendered="#{userLoginController.isUserLoggedIn() and featureController.isFeatureEnabled('edit_user_data') and not userLoginController.ifUserMustChangePassword()}">
+			<ui:fragment rendered="#{userLoginController.isUserLoggedIn() and featureController.isFeatureEnabled('edit_user_data') and (not userLoginController.ifUserMustChangePassword() or not featureController.isFeatureEnabled('user_must_change_password'))}">
 				<ui:include src="/WEB-INF/templates/generic/message_box.tpl">
 					<ui:param name="message" value="#{msg.LOGIN_MESSAGE_DATA_SAVED}" />
 				</ui:include>
diff --git a/web/user/login_edit_user_data.xhtml b/web/user/login_edit_user_data.xhtml
index 1270ebf0..fbdda7de 100644
--- a/web/user/login_edit_user_data.xhtml
+++ b/web/user/login_edit_user_data.xhtml
@@ -15,7 +15,7 @@
 		</ui:define>
 
 		<ui:define name="content">
-			<ui:fragment rendered="#{userLoginController.isUserLoggedIn() and not userLoginController.ifUserMustChangePassword()}">
+			<ui:fragment rendered="#{userLoginController.isUserLoggedIn() and (not userLoginController.ifUserMustChangePassword() or not featureController.isFeatureEnabled('user_must_change_password'))}">
 				<div class="table">
 					<div class="table_header">
 						<h:outputText value="#{msg.LOGIN_EDIT_USER_DATA_TITLE}" />
@@ -27,13 +27,13 @@
 
 					<div class="para">
 						<ul>
-							<ui:fragment rendered="#{featureController.isFeatureEnabled('edit_user_data') and not userLoginController.ifUserMustChangePassword()}">
+							<ui:fragment rendered="#{featureController.isFeatureEnabled('edit_user_data') and (not userLoginController.ifUserMustChangePassword() or not featureController.isFeatureEnabled('user_must_change_password'))}">
 								<li>
 									<h:link title="#{msg.LINK_LOGIN_CHANGE_PERSONAL_DATA_TITLE}" outcome="login_change_personal_data" value="#{msg.LINK_LOGIN_CHANGE_PERSONAL_DATA}" />
 								</li>
 							</ui:fragment>
 
-							<ui:fragment rendered="#{featureController.isFeatureEnabled('edit_user_data') and not userLoginController.ifUserMustChangePassword()}">
+							<ui:fragment rendered="#{featureController.isFeatureEnabled('edit_user_data') and (not userLoginController.ifUserMustChangePassword() or not featureController.isFeatureEnabled('user_must_change_password'))}">
 								<li>
 									<h:link title="#{msg.LINK_LOGIN_CHANGE_EMAIL_ADDRESS_TITLE}" outcome="login_change_email_address" value="#{msg.LINK_LOGIN_CHANGE_EMAIL_ADDRESS}" />
 								</li>
diff --git a/web/user/login_index.xhtml b/web/user/login_index.xhtml
index c9f81237..b85c6661 100644
--- a/web/user/login_index.xhtml
+++ b/web/user/login_index.xhtml
@@ -15,7 +15,7 @@
 		</ui:define>
 
 		<ui:define name="content">
-			<ui:fragment rendered="#{userLoginController.isUserLoggedIn() and not userLoginController.ifUserMustChangePassword()}">
+			<ui:fragment rendered="#{userLoginController.isUserLoggedIn() and (not userLoginController.ifUserMustChangePassword() or not featureController.isFeatureEnabled('user_must_change_password'))}">
 				Here goes your content.
 			</ui:fragment>
 
diff --git a/web/user/login_user_data_saved.xhtml b/web/user/login_user_data_saved.xhtml
index b6e46385..f0831d0b 100644
--- a/web/user/login_user_data_saved.xhtml
+++ b/web/user/login_user_data_saved.xhtml
@@ -15,7 +15,7 @@
 		</ui:define>
 
 		<ui:define name="content">
-			<ui:fragment rendered="#{userLoginController.isUserLoggedIn() and not userLoginController.ifUserMustChangePassword()}">
+			<ui:fragment rendered="#{userLoginController.isUserLoggedIn() and (not userLoginController.ifUserMustChangePassword() or not featureController.isFeatureEnabled('user_must_change_password'))}">
 				<ui:include src="/WEB-INF/templates/generic/message_box.tpl">
 					<ui:param name="message" value="#{msg.LOGIN_MESSAGE_DATA_SAVED}" />
 				</ui:include>