Commit 016c4c6b by chenith

Added validations when ForgotPassword action.

parent bdff8195
......@@ -8,6 +8,7 @@ import oneit.email.ConfigurableEmailer;
import oneit.logging.*;
import oneit.net.LoopbackHTTP;
import oneit.objstore.*;
import oneit.objstore.parser.BusinessObjectParser;
import oneit.objstore.rdbms.filters.EqualsFilter;
import oneit.security.SecUser;
import oneit.servlets.forms.*;
......@@ -29,8 +30,8 @@ public class ForgotPasswordFP extends SaveFP
HttpServletRequest request = submission.getRequest();
ObjectTransaction objTran = process.getTransaction();
Job job = (Job) process.getAttribute("Job");
CompanyUser companyUser = (CompanyUser) request.getAttribute("CompanyUser");
String email = job != null ? job.getEmail() : (companyUser != null ? companyUser.getEmail() : null);
CompanyUser tmpComUser = (CompanyUser) process.getAttribute("CompanyUser");
String email = job != null ? job.getEmail() : (tmpComUser != null ? tmpComUser.getEmail() : null);
Debug.assertion(StringUtils.subBlanks(email) != null, "Email not avaialble");
......@@ -55,7 +56,7 @@ public class ForgotPasswordFP extends SaveFP
LogMgr.log(LOG, LogLevel.PROCESSING1, "Inside ForgotPasswordFP for send reset pasword link mail to ", email);
Map emailParams;
companyUser = secUser.getExtension(CompanyUser.REFERENCE_CompanyUser);
CompanyUser companyUser = secUser.getExtension(CompanyUser.REFERENCE_CompanyUser);
if(companyUser != null)
{
......@@ -119,6 +120,12 @@ public class ForgotPasswordFP extends SaveFP
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);
}
......@@ -130,4 +137,23 @@ public class ForgotPasswordFP extends SaveFP
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 @@
</script>
<style>
.btn-disabled button{
.btn-disabled{
opacity: 0.6;
background-color: #0582ba;
cursor: not-allowed;
}
#right-mark {
......@@ -42,10 +43,20 @@
margin: auto auto;
}
</style>
<%
ORMProcessState process = (ORMProcessState) ProcessDecorator.getDefaultProcess(request);
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:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
......@@ -64,12 +75,15 @@
</oneit:recalcClass>
</div>
<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"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", "reset_password_sent.jsp")
.mapEntry ("CompanyUser", companyUser)
.toMap() %>"/>
</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>
</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