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