Commit eb0f1470 by chenith

Updated User email address change function.

parent c40e8d1c
...@@ -31,31 +31,10 @@ public class UserLoginFP extends LoginProcessor ...@@ -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); 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 //verify email address change
companyUser.changeEmail(submission.getRequest());
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
package performa.orm; package performa.orm;
import javax.servlet.http.HttpServletRequest;
import oneit.logging.LogLevel;
import oneit.logging.LogMgr;
import oneit.logging.LoggingArea; import oneit.logging.LoggingArea;
import oneit.objstore.*; import oneit.objstore.*;
import oneit.security.SecUser; import oneit.security.SecUser;
...@@ -114,4 +117,39 @@ public class CompanyUser extends BaseCompanyUser ...@@ -114,4 +117,39 @@ public class CompanyUser extends BaseCompanyUser
return !StringUtils.isEmailAddress(getUser().getUserName()); 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 ...@@ -103,6 +103,10 @@ public class PerformaOAuthCallbackDecorator implements ServletDecorator, Initial
companyUser.setRole(RoleType.ADMIN); companyUser.setRole(RoleType.ADMIN);
} }
else if(companyUser.getIsEmailChanged()==Boolean.TRUE)
{
companyUser.changeEmail(request);
}
} }
transaction.commit(); transaction.commit();
......
...@@ -27,7 +27,8 @@ ...@@ -27,7 +27,8 @@
session.invalidate(); session.invalidate();
session = request.getSession(true); session = request.getSession(true);
session.setAttribute("EmailToVerify", true); session.setAttribute("EmailToVerify", companyUser.getUser());
response.sendRedirect(nextPage); response.sendRedirect(nextPage);
return; return;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<% <%
String tabNumber = (String) getData(request, "TabNumber"); String tabNumber = (String) getData(request, "TabNumber");
String firstPage = WebUtils.getSamePageInRenderMode(request, WebUtils.MY_DETAILS); String firstPage = WebUtils.getSamePageInRenderMode(request, "Page");
%> %>
<oneit:dynIncluded> <oneit:dynIncluded>
......
...@@ -4,4 +4,4 @@ ...@@ -4,4 +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! #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 \ No newline at end of file
...@@ -14,14 +14,6 @@ ...@@ -14,14 +14,6 @@
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()
...@@ -46,9 +38,21 @@ ...@@ -46,9 +38,21 @@
<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<%= verified ? "--changed" : "" %></h1> <h1 class="page-title">My Details</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%>"/>
<%
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>
<div class="my-company-area"> <div class="my-company-area">
<oneit:dynInclude page="/extensions/adminportal/inc/my_details_tabs.jsp" TabNumber="1" data="<%= CollectionUtils.EMPTY_MAP%>"/> <oneit:dynInclude page="/extensions/adminportal/inc/my_details_tabs.jsp" TabNumber="1" data="<%= CollectionUtils.EMPTY_MAP%>"/>
......
...@@ -22,11 +22,23 @@ ...@@ -22,11 +22,23 @@
return; 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 //to notify email address changed
if(request.getSession().getAttribute("EmailVerified")!=null) if(request.getSession().getAttribute("EmailVerified")!=null)
{ {
request.getSession().setAttribute("EmailVerified", null);
request.setAttribute(NotificationUtils.NOTIFICATION_MSG_PARAM, "emailChangeVefified");
String messageId = NotificationUtils.getNotifyIdIfRequired(process, request); 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; 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