Commit 016c4c6b by chenith

Added validations when ForgotPassword action.

parent bdff8195
...@@ -8,6 +8,7 @@ import oneit.email.ConfigurableEmailer; ...@@ -8,6 +8,7 @@ import oneit.email.ConfigurableEmailer;
import oneit.logging.*; import oneit.logging.*;
import oneit.net.LoopbackHTTP; import oneit.net.LoopbackHTTP;
import oneit.objstore.*; import oneit.objstore.*;
import oneit.objstore.parser.BusinessObjectParser;
import oneit.objstore.rdbms.filters.EqualsFilter; import oneit.objstore.rdbms.filters.EqualsFilter;
import oneit.security.SecUser; import oneit.security.SecUser;
import oneit.servlets.forms.*; import oneit.servlets.forms.*;
...@@ -29,15 +30,15 @@ public class ForgotPasswordFP extends SaveFP ...@@ -29,15 +30,15 @@ public class ForgotPasswordFP extends SaveFP
HttpServletRequest request = submission.getRequest(); HttpServletRequest request = submission.getRequest();
ObjectTransaction objTran = process.getTransaction(); ObjectTransaction objTran = process.getTransaction();
Job job = (Job) process.getAttribute("Job"); Job job = (Job) process.getAttribute("Job");
CompanyUser companyUser = (CompanyUser) request.getAttribute("CompanyUser"); CompanyUser tmpComUser = (CompanyUser) process.getAttribute("CompanyUser");
String email = job != null ? job.getEmail() : (companyUser != null ? companyUser.getEmail() : null); String email = job != null ? job.getEmail() : (tmpComUser != null ? tmpComUser.getEmail() : null);
Debug.assertion(StringUtils.subBlanks(email) != null, "Email not avaialble"); Debug.assertion(StringUtils.subBlanks(email) != null, "Email not avaialble");
email = StringUtils.trim(email); email = StringUtils.trim(email);
LogMgr.log(LOG, LogLevel.PROCESSING1, "Started to send pasword reset link email.", email); LogMgr.log(LOG, LogLevel.PROCESSING1, "Started to send pasword reset link email.", email);
SecUser secUser = SecUser.searchNAME (objTran, email); SecUser secUser = SecUser.searchNAME (objTran, email);
if(secUser == null) if(secUser == null)
...@@ -55,7 +56,7 @@ public class ForgotPasswordFP extends SaveFP ...@@ -55,7 +56,7 @@ public class ForgotPasswordFP extends SaveFP
LogMgr.log(LOG, LogLevel.PROCESSING1, "Inside ForgotPasswordFP for send reset pasword link mail to ", email); LogMgr.log(LOG, LogLevel.PROCESSING1, "Inside ForgotPasswordFP for send reset pasword link mail to ", email);
Map emailParams; Map emailParams;
companyUser = secUser.getExtension(CompanyUser.REFERENCE_CompanyUser); CompanyUser companyUser = secUser.getExtension(CompanyUser.REFERENCE_CompanyUser);
if(companyUser != null) if(companyUser != null)
{ {
...@@ -118,6 +119,12 @@ public class ForgotPasswordFP extends SaveFP ...@@ -118,6 +119,12 @@ public class ForgotPasswordFP extends SaveFP
{ {
throw new BusinessException("Sorry, we don't recognize that email address."); throw new BusinessException("Sorry, we don't recognize that email address.");
} }
//remove temporary object
if(tmpComUser!=null)
{
tmpComUser.delete();
}
return super.processForm(process, submission, params); return super.processForm(process, submission, params);
} }
...@@ -130,4 +137,23 @@ public class ForgotPasswordFP extends SaveFP ...@@ -130,4 +137,23 @@ public class ForgotPasswordFP extends SaveFP
resetCodeEmailer = (ConfigurableEmailer)(context.getSingleChild("ResetCodeEmailer")); resetCodeEmailer = (ConfigurableEmailer)(context.getSingleChild("ResetCodeEmailer"));
} }
@Override
public void validate(ORMProcessState process, SubmissionDetails submission, MultiException exceptions, Map params) throws StorageException
{
super.validate(process, submission, exceptions, params);
HttpServletRequest request = submission.getRequest();
Job job = (Job) process.getAttribute("Job");
CompanyUser companyUser = (CompanyUser) process.getAttribute("CompanyUser");
if(job!=null)
{
BusinessObjectParser.assertFieldCondition(StringUtils.subBlanks(job.getEmail()) != null, job, Job.FIELD_Email, "mandatory", exceptions, true, request);
}
else if(companyUser!=null)
{
BusinessObjectParser.assertFieldCondition(StringUtils.subBlanks(companyUser.getEmail()) != null, companyUser, CompanyUser.FIELD_Email, "mandatory", exceptions, true, request);
}
}
} }
\ No newline at end of file
...@@ -19,9 +19,10 @@ ...@@ -19,9 +19,10 @@
</script> </script>
<style> <style>
.btn-disabled button{ .btn-disabled{
opacity: 0.6; opacity: 0.6;
background-color: #0582ba; background-color: #0582ba;
cursor: not-allowed;
} }
#right-mark { #right-mark {
...@@ -42,10 +43,20 @@ ...@@ -42,10 +43,20 @@
margin: auto auto; margin: auto auto;
} }
</style> </style>
<% <%
ORMProcessState process = (ORMProcessState) ProcessDecorator.getDefaultProcess(request); ORMProcessState process = (ORMProcessState) ProcessDecorator.getDefaultProcess(request);
ObjectTransaction objTran = process.getTransaction (); ObjectTransaction objTran = process.getTransaction ();
CompanyUser companyUser = CompanyUser.createCompanyUser(objTran); CompanyUser companyUser = (CompanyUser) process.getAttribute("CompanyUser");
if(companyUser==null)
{
companyUser = CompanyUser.createCompanyUser(objTran);
process.setAttribute("CompanyUser", companyUser);
%><%@include file="/saferedirect.jsp"%><%
}
%> %>
<oneit:form name="forgotPassword" method="post" enctype="multipart/form-data"> <oneit:form name="forgotPassword" method="post" enctype="multipart/form-data">
<oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/> <oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
...@@ -64,12 +75,15 @@ ...@@ -64,12 +75,15 @@
</oneit:recalcClass> </oneit:recalcClass>
</div> </div>
<div class="form-group"> <div class="form-group">
<oneit:recalcClass htmlTag="div" classScript="companyUser.emailExists() ? 'show': 'btn-disabled'" companyUser="<%= companyUser %>"> <oneit:recalcClass htmlTag="div" classScript="companyUser.emailExists() ? 'show': 'hide'" companyUser="<%= companyUser %>">
<oneit:button value="Send reset link" name="forgotPassword" cssClass="box-btn send-btn" <oneit:button value="Send reset link" name="forgotPassword" cssClass="box-btn send-btn"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", "reset_password_sent.jsp") requestAttribs="<%= CollectionUtils.mapEntry("nextPage", "reset_password_sent.jsp")
.mapEntry ("CompanyUser", companyUser) .mapEntry ("CompanyUser", companyUser)
.toMap() %>"/> .toMap() %>"/>
</oneit:recalcClass> </oneit:recalcClass>
<oneit:recalcClass htmlTag="div" classScript="companyUser.emailExists() ? 'hide': 'show'" companyUser="<%= companyUser %>">
<input type="button" value="Send reset link" disabled="true" class="box-btn send-btn btn-disabled">
</oneit:recalcClass>
</div> </div>
</div> </div>
</oneit:form> </oneit:form>
......
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