Commit 238edb74 by chenith

Allow user to login even if the email address has changes and not verified.

parent 4392e7e8
......@@ -6,7 +6,6 @@ import oneit.components.ParticipantInitialisationContext;
import oneit.email.ConfigurableArticleTemplateEmailer;
import oneit.logging.LogLevel;
import oneit.logging.LogMgr;
import oneit.objstore.ObjectTransaction;
import oneit.objstore.StorageException;
import oneit.objstore.parser.BusinessObjectParser;
import oneit.security.SecUser;
......@@ -43,44 +42,47 @@ public class SaveUserDetailsFP extends SaveFP
if(oldSecUser != null)
{
if(!companyUser.isLoggedViaSocial() && !CollectionUtils.equals(oldSecUser.getUserName(), secUser.getUserName()))
if( !CollectionUtils.equals(oldSecUser.getEmail(), secUser.getEmail()))
{
if(companyUser.getConfirmPassword() == null)
if(!companyUser.isLoggedViaSocial()) //email changed for normal user
{
submission.getRequest().setAttribute("EmailChanged", true);
return RedisplayResult.getInstance();
}
else
{
boolean validPassword = secUser.checkPassword(companyUser.getConfirmPassword());
if(!validPassword)
if(companyUser.getConfirmPassword() == null)
{
submission.getRequest().setAttribute("EmailChanged", false);
companyUser.setConfirmPassword(null);
submission.getRequest().setAttribute("EmailChanged", true);
return RedisplayResult.getInstance();
}
else
{
boolean validPassword = secUser.checkPassword(companyUser.getConfirmPassword());
BusinessObjectParser.assertFieldCondition(validPassword, companyUser, CompanyUser.FIELD_ConfirmPassword, "passwordNotMatch");
if(!validPassword)
{
submission.getRequest().setAttribute("EmailChanged", false);
companyUser.setConfirmPassword(null);
}
if(validPassword)
{
companyUser.setIsAccountVerified(Boolean.FALSE);
companyUser.setIsEmailChanged(Boolean.TRUE);
Utils.sendEmailChangedMail(companyUser, request, emailer, SaveUserDetailsFP.class.getName());
BusinessObjectParser.assertFieldCondition(validPassword, companyUser, CompanyUser.FIELD_ConfirmPassword, "passwordNotMatch");
if(validPassword)
{
// companyUser.setIsAccountVerified(Boolean.FALSE);
companyUser.setIsEmailChanged(Boolean.TRUE);
Utils.sendEmailChangedMail(companyUser, request, emailer, SaveUserDetailsFP.class.getName());
}
}
// secUser.setEmail(secUser.getUserName());
}
else //email changed for social login
{
//send email verification mail
LogMgr.log(CompanyUser.LOG, LogLevel.PROCESSING1,"Sending email resetted mail", companyUser );
companyUser.setIsEmailChanged(Boolean.TRUE);
Utils.sendEmailChangedMail(companyUser, request, emailer, SaveUserDetailsFP.class.getName());
}
secUser.setEmail(secUser.getUserName());
}
else if (companyUser.isLoggedViaSocial() && !CollectionUtils.equals(oldSecUser.getEmail(), secUser.getEmail()))
{
//send email verification mail
LogMgr.log(CompanyUser.LOG, LogLevel.PROCESSING1,"Sending email resetted mail", companyUser );
companyUser.setIsEmailChanged(Boolean.TRUE);
Utils.sendEmailChangedMail(companyUser, request, emailer, SaveUserDetailsFP.class.getName());
}
User intercomUser = IntercomUtils.updateIntercomUser(secUser);
......
......@@ -53,21 +53,9 @@
</div>
<div class="form-group">
<label><oneit:label GUIName="Email Address" /></label>
<%
if(companyUser.isLoggedViaSocial())
{
%>
<oneit:ormInput obj="<%= loggedInUser %>" type="text" attributeName="Email" cssClass="form-control" />
<%
}
else
{
%>
<oneit:ormInput obj="<%= loggedInUser %>" type="text" attributeName="UserName" cssClass="form-control" />
<% }
if(companyUser.getIsAccountVerified()!=Boolean.TRUE || companyUser.getIsEmailChanged()==Boolean.TRUE)
<oneit:ormInput obj="<%= loggedInUser %>" type="text" attributeName="Email" cssClass="form-control" />
<%
if(companyUser.getIsEmailChanged()==Boolean.TRUE)
{
%>
<div class="email-verify">Email address not yet verified.
......
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