Commit eb0f1470 by chenith

Updated User email address change function.

parent c40e8d1c
......@@ -31,31 +31,10 @@ public class UserLoginFP extends LoginProcessor
{
throw new FieldException("You're not an authorised user to access this portal.", SecUser.FIELD_UserName);
}
else
else if(companyUser.getIsEmailChanged()==Boolean.TRUE)
{
//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);
}
//verify email address change
companyUser.changeEmail(submission.getRequest());
}
}
}
\ No newline at end of file
package performa.orm;
import javax.servlet.http.HttpServletRequest;
import oneit.logging.LogLevel;
import oneit.logging.LogMgr;
import oneit.logging.LoggingArea;
import oneit.objstore.*;
import oneit.security.SecUser;
......@@ -114,4 +117,39 @@ public class CompanyUser extends BaseCompanyUser
return !StringUtils.isEmailAddress(getUser().getUserName());
}
//verfy and cahnge email
public void changeEmail(HttpServletRequest request) throws FieldException
{
if(getIsEmailChanged()==Boolean.TRUE)
{
if(request.getSession().getAttribute("EmailToVerify")!=null)
{
if(CollectionUtils.equals(request.getSession().getAttribute("EmailToVerify"), getUser()))
{
setIsEmailChanged(Boolean.FALSE);
if(!isLoggedViaSocial())
{
SecUser secUser = getUser();
secUser.setUserName(secUser.getEmail());
LogMgr.log(LoggingArea.ALL, LogLevel.PROCESSING2, "User name changed.", secUser);
}
request.getSession().setAttribute("EmailVerified", true);
LogMgr.log(LoggingArea.ALL, LogLevel.PROCESSING1, "User Email verified", this);
}
request.getSession().setAttribute("EmailToVerify", null);
}
else
{
request.getSession().setAttribute("EmailStillNotVerified", true);
}
}
}
}
\ No newline at end of file
......@@ -103,6 +103,10 @@ public class PerformaOAuthCallbackDecorator implements ServletDecorator, Initial
companyUser.setRole(RoleType.ADMIN);
}
else if(companyUser.getIsEmailChanged()==Boolean.TRUE)
{
companyUser.changeEmail(request);
}
}
transaction.commit();
......
......@@ -27,7 +27,8 @@
session.invalidate();
session = request.getSession(true);
session.setAttribute("EmailToVerify", true);
session.setAttribute("EmailToVerify", companyUser.getUser());
response.sendRedirect(nextPage);
return;
......
......@@ -6,7 +6,7 @@
<%
String tabNumber = (String) getData(request, "TabNumber");
String firstPage = WebUtils.getSamePageInRenderMode(request, WebUtils.MY_DETAILS);
String firstPage = WebUtils.getSamePageInRenderMode(request, "Page");
%>
<oneit:dynIncluded>
......
......@@ -4,4 +4,4 @@
#passwordNotMatch = The password does not match. Please try again.
#invitationSent = Your invitation has been successfully sent.
#invalidEmail = Invalid email address.
#emailChanged = Your email address is successfully verified!
\ No newline at end of file
#emailChangeVefified = Your email address has been successfully changed and you can now use new email address when signing in.
\ No newline at end of file
......@@ -14,14 +14,6 @@
String nextPage = WebUtils.getSamePageInRenderMode(request, "Page");
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">
$(document).ready(function()
......@@ -46,9 +38,21 @@
<div class="container-fluid">
<div class="row content">
<div class="main-content-area">
<h1 class="page-title">My Details<%= verified ? "--changed" : "" %></h1>
<h1 class="page-title">My Details</h1>
<div style="padding-left: 15px; padding-right: 15px;">
<oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<%
if(companyUser.getIsEmailChanged()==Boolean.TRUE && request.getSession().getAttribute("EmailStillNotVerified")!=null)
{
request.getSession().setAttribute("EmailStillNotVerified", null);
%>
<div class="error-message message-common">
<img src="images/infomation-icon.png" class="alert-icon">
<span class="message-txt">Your email address change still hasn't been verified!</span>
</div>
<%
}
%>
</div>
<div class="my-company-area">
<oneit:dynInclude page="/extensions/adminportal/inc/my_details_tabs.jsp" TabNumber="1" data="<%= CollectionUtils.EMPTY_MAP%>"/>
......
......@@ -22,11 +22,23 @@
return;
}
//to notify email address change still not verified
if(request.getSession().getAttribute("EmailStillNotVerified")!=null)
{
response.sendRedirect(WebUtils.getArticleByShortCut(process.getTransaction(), WebUtils.MY_DETAILS).getLink(request));
return;
}
//to notify email address changed
if(request.getSession().getAttribute("EmailVerified")!=null)
{
request.getSession().setAttribute("EmailVerified", null);
request.setAttribute(NotificationUtils.NOTIFICATION_MSG_PARAM, "emailChangeVefified");
String messageId = NotificationUtils.getNotifyIdIfRequired(process, request);
response.sendRedirect(NotificationUtils.appendNotifyIDToURL(WebUtils.getArticleByShortCut(process.getTransaction(), WebUtils.MY_DETAILS).getLink(request), messageId));
String link = WebUtils.getArticleByShortCut(process.getTransaction(), WebUtils.MY_DETAILS).getLink(request);
response.sendRedirect(NotificationUtils.appendNotifyIDToURL(link, messageId));
return;
}
}
......
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