Commit c40e8d1c by chenith

User email address change - new proces.

parent ab7d093f
...@@ -67,12 +67,10 @@ public class SaveUserDetailsFP extends SaveFP ...@@ -67,12 +67,10 @@ public class SaveUserDetailsFP extends SaveFP
{ {
// companyUser.setIsAccountVerified(Boolean.FALSE); // companyUser.setIsAccountVerified(Boolean.FALSE);
companyUser.setIsEmailChanged(Boolean.TRUE); companyUser.setIsEmailChanged(Boolean.TRUE);
Utils.sendEmailChangedMail(companyUser, request, emailer, SaveUserDetailsFP.class.getName()); Utils.sendEmailChangedMail(companyUser, request, emailer, SaveUserDetailsFP.class.getName());
} }
} }
// secUser.setEmail(secUser.getUserName());
} }
else //email changed for social login else //email changed for social login
{ {
......
package performa.form; package performa.form;
import java.util.Map; import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import oneit.logging.LogLevel;
import oneit.logging.LogMgr;
import oneit.logging.LoggingArea;
import oneit.objstore.ObjectTransaction; import oneit.objstore.ObjectTransaction;
import oneit.security.LoginProcessor; import oneit.security.LoginProcessor;
import oneit.security.SecUser; import oneit.security.SecUser;
...@@ -27,5 +31,31 @@ public class UserLoginFP extends LoginProcessor ...@@ -27,5 +31,31 @@ public class UserLoginFP extends LoginProcessor
{ {
throw new FieldException("You're not an authorised user to access this portal.", SecUser.FIELD_UserName); throw new FieldException("You're not an authorised user to access this portal.", SecUser.FIELD_UserName);
} }
else
{
//verify email change
HttpServletRequest request = submission.getRequest();
if(request.getSession().getAttribute("EmailToVerify")!=null && companyUser.getIsEmailChanged()==Boolean.TRUE)
{
companyUser.setIsEmailChanged(Boolean.FALSE);
if(!companyUser.isLoggedViaSocial())
{
SecUser secUser = companyUser.getUser();
secUser.setUserName(secUser.getEmail());
LogMgr.log(LoggingArea.ALL, LogLevel.PROCESSING2, "User name changed.", secUser);
}
LogMgr.log(LoggingArea.ALL, LogLevel.PROCESSING1, "User Email verified", companyUser);
request.getSession().setAttribute("EmailToVerify", null);
request.getSession().setAttribute("EmailVerified", true);
}
}
} }
} }
\ No newline at end of file
...@@ -463,7 +463,7 @@ public class Utils ...@@ -463,7 +463,7 @@ public class Utils
Map defaultParams = CollectionUtils.mapEntry("link", link).toMap(); Map defaultParams = CollectionUtils.mapEntry("link", link).toMap();
ObjectTransform transform = Utils.createCompoundTransform(defaultParams, companyUser); ObjectTransform transform = Utils.createCompoundTransform(defaultParams, companyUser);
Utils.sendMail(emailer, transform, new String[]{companyUser.getEmailAddressFromUser()}, null, companyUser); Utils.sendMail(emailer, transform, new String[]{companyUser.getUser().getEmail()}, null, companyUser);
LogMgr.log(CompanyUser.LOG, LogLevel.PROCESSING1, "Sent email changed mail successfully from " + callingClass + " to :: ", companyUser); LogMgr.log(CompanyUser.LOG, LogLevel.PROCESSING1, "Sent email changed mail successfully from " + callingClass + " to :: ", companyUser);
} }
......
...@@ -16,7 +16,6 @@ ...@@ -16,7 +16,6 @@
//to process company user verification //to process company user verification
String id = request.getParameter("id"); String id = request.getParameter("id");
String key = request.getParameter("key"); String key = request.getParameter("key");
Boolean invalid = Boolean.TRUE;
if(id!=null && key!=null) if(id!=null && key!=null)
{ {
...@@ -24,38 +23,19 @@ ...@@ -24,38 +23,19 @@
if(companyUser!=null && companyUser.getIsEmailChanged()==Boolean.TRUE) if(companyUser!=null && companyUser.getIsEmailChanged()==Boolean.TRUE)
{ {
try session = request.getSession();
{ session.invalidate();
companyUser.setIsEmailChanged(Boolean.FALSE);
companyUser.setIsAccountVerified(Boolean.TRUE);
objTran.commit();
objTran.commitResources();
}
finally
{
objTran.releaseResources();
}
invalid = Boolean.FALSE; session = request.getSession(true);
// response.sendRedirect(nextPage); session.setAttribute("EmailToVerify", true);
response.sendRedirect(nextPage);
return;
} }
} }
if(invalid)
{
%>
<h3>Verification Error</h3>
<p><span>Access expired.</span></p>
<%
}
else
{
%> %>
<p>Your e-mail address is successfully verified! Please login to access your account!</p>
<a class="btn btn-primary" href="<%= nextPage %>">Go to login</a> <h3>Verification Error</h3>
<% <p><span>Access expired.</span></p>
}
%>
<%@ include file="inc/htmlfooter_nopriv.jsp" %> <%@ include file="inc/htmlfooter_nopriv.jsp" %>
\ No newline at end of file
...@@ -4,3 +4,4 @@ ...@@ -4,3 +4,4 @@
#passwordNotMatch = The password does not match. Please try again. #passwordNotMatch = The password does not match. Please try again.
#invitationSent = Your invitation has been successfully sent. #invitationSent = Your invitation has been successfully sent.
#invalidEmail = Invalid email address. #invalidEmail = Invalid email address.
#emailChanged = Your email address is successfully verified!
\ No newline at end of file
...@@ -6,13 +6,22 @@ ...@@ -6,13 +6,22 @@
<oneit:dynIncluded> <oneit:dynIncluded>
<% <%
SecUser loggedInUser = SecUser.getTXUser(transaction); ObjectTransaction objTran = process.getTransaction ();
CompanyUser companyUser = loggedInUser.getExtension(CompanyUser.REFERENCE_CompanyUser); SecUser loggedInUser = SecUser.getTXUser(transaction);
CompanyUser companyUser = loggedInUser.getExtension(CompanyUser.REFERENCE_CompanyUser);
Debug.assertion(companyUser != null , "Invalid user in admin portal my details"); Debug.assertion(companyUser != null , "Invalid user in admin portal my details");
String nextPage = WebUtils.getSamePageInRenderMode(request, "Page"); String nextPage = WebUtils.getSamePageInRenderMode(request, "Page");
boolean emailChanged = request.getAttribute("EmailChanged") != null ? (boolean) request.getAttribute("EmailChanged") : false; boolean emailChanged = request.getAttribute("EmailChanged") != null ? (boolean) request.getAttribute("EmailChanged") : false;
Boolean verified = request.getSession().getAttribute("EmailVerified")!=null;
if(verified)
{
request.getSession().setAttribute("EmailVerified", null);
}
%> %>
<script type="text/javascript"> <script type="text/javascript">
$(document).ready(function() $(document).ready(function()
...@@ -31,13 +40,13 @@ ...@@ -31,13 +40,13 @@
}); });
}); });
</script> </script>
<oneit:form name="editUser" method="post" enctype="multipart/form-data"> <oneit:form name="editUser" method="post" enctype="multipart/form-data">
<div class="container-fluid"> <div class="container-fluid">
<div class="row content"> <div class="row content">
<div class="main-content-area"> <div class="main-content-area">
<h1 class="page-title">My Details</h1> <h1 class="page-title">My Details<%= verified ? "--changed" : "" %></h1>
<div style="padding-left: 15px; padding-right: 15px;"> <div style="padding-left: 15px; padding-right: 15px;">
<oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/> <oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
</div> </div>
......
...@@ -14,10 +14,21 @@ ...@@ -14,10 +14,21 @@
{ {
CompanyUser companyUser = secUser.getExtension(CompanyUser.REFERENCE_CompanyUser); CompanyUser companyUser = secUser.getExtension(CompanyUser.REFERENCE_CompanyUser);
if(companyUser!=null && companyUser.isLoggedViaSocial() && companyUser.getIsAccountVerified()!=Boolean.TRUE) if(companyUser!=null)
{ {
response.sendRedirect(WebUtils.getArticleByShortCut(process.getTransaction(), WebUtils.COMPANY_ACCOUNT_VERIFICATION).getLink(request)); if(companyUser.isLoggedViaSocial() && companyUser.getIsAccountVerified()!=Boolean.TRUE)
return; {
response.sendRedirect(WebUtils.getArticleByShortCut(process.getTransaction(), WebUtils.COMPANY_ACCOUNT_VERIFICATION).getLink(request));
return;
}
//to notify email address changed
if(request.getSession().getAttribute("EmailVerified")!=null)
{
String messageId = NotificationUtils.getNotifyIdIfRequired(process, request);
response.sendRedirect(NotificationUtils.appendNotifyIDToURL(WebUtils.getArticleByShortCut(process.getTransaction(), WebUtils.MY_DETAILS).getLink(request), messageId));
return;
}
} }
} }
......
...@@ -48,6 +48,17 @@ ...@@ -48,6 +48,17 @@
} }
</style> </style>
<%
if(request.getSession().getAttribute("EmailToVerify")!=null)
{
%>
<div class="form-group">
<p>Please login to verify your email address.</p>
</div>
<%
}
%>
<div class="main-box-layout login-box"> <div class="main-box-layout login-box">
<oneit:form name="login" method="post"> <oneit:form name="login" method="post">
<oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/> <oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment