Commit dcb5c9a7 by Nilu

HT016 password confirmation on email address change. verification email sent.…

HT016 password confirmation on email address change. verification email sent. Link to resend verification email
parent 1594d4a6
package performa.form;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import oneit.components.ParticipantInitialisationContext;
import oneit.email.ConfigurableArticleTemplateEmailer;
import oneit.logging.LogLevel;
import oneit.logging.LogMgr;
import oneit.objstore.StorageException;
import oneit.servlets.forms.SubmissionDetails;
import oneit.servlets.forms.SuccessfulResult;
import oneit.servlets.process.ORMProcessState;
import oneit.servlets.process.SaveFP;
import oneit.utils.BusinessException;
import oneit.utils.InitialisationException;
import performa.orm.CompanyUser;
import performa.utils.Utils;
public class ResendVerificationFP extends SaveFP
{
protected ConfigurableArticleTemplateEmailer emailer;
@Override
public SuccessfulResult processForm(ORMProcessState process, SubmissionDetails submission, Map params) throws BusinessException, StorageException
{
HttpServletRequest request = submission.getRequest();
String nextPage = (String) request.getAttribute("nextPage");
CompanyUser companyUser = (CompanyUser) request.getAttribute("CompanyUser");
LogMgr.log(CompanyUser.LOG, LogLevel.PROCESSING1, "Inside ResendVerificationFP resending verification email to company user : ", companyUser);
if(companyUser != null)
{
Utils.sendVerificationMail(companyUser, request, emailer, ResendVerificationFP.class.getName());
}
process.completeAndRestart();
return super.processForm(process, submission, params);
}
@Override
public void init(ParticipantInitialisationContext context) throws InitialisationException
{
super.init(context);
emailer = (ConfigurableArticleTemplateEmailer) (context.getSingleChild("AccountVerificationEmailer"));
}
}
\ No newline at end of file
...@@ -2,23 +2,30 @@ package performa.form; ...@@ -2,23 +2,30 @@ package performa.form;
import java.util.Map; import java.util.Map;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import oneit.components.ParticipantInitialisationContext;
import oneit.email.ConfigurableArticleTemplateEmailer;
import oneit.logging.LogLevel; import oneit.logging.LogLevel;
import oneit.logging.LogMgr; import oneit.logging.LogMgr;
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;
import oneit.servlets.forms.RedisplayResult;
import oneit.servlets.forms.SubmissionDetails; import oneit.servlets.forms.SubmissionDetails;
import oneit.servlets.forms.SuccessfulResult; import oneit.servlets.forms.SuccessfulResult;
import oneit.servlets.process.ORMProcessState; import oneit.servlets.process.ORMProcessState;
import oneit.servlets.process.SaveFP; import oneit.servlets.process.SaveFP;
import oneit.utils.BusinessException; import oneit.utils.BusinessException;
import oneit.utils.InitialisationException;
import oneit.utils.MultiException; import oneit.utils.MultiException;
import oneit.utils.StringUtils; import oneit.utils.StringUtils;
import performa.orm.CompanyUser; import performa.orm.CompanyUser;
import performa.utils.Utils;
public class SaveUserDetailsFP extends SaveFP public class SaveUserDetailsFP extends SaveFP
{ {
protected ConfigurableArticleTemplateEmailer emailer;
@Override @Override
public SuccessfulResult processForm(ORMProcessState process, SubmissionDetails submission, Map params) throws BusinessException, StorageException public SuccessfulResult processForm(ORMProcessState process, SubmissionDetails submission, Map params) throws BusinessException, StorageException
{ {
...@@ -28,9 +35,34 @@ public class SaveUserDetailsFP extends SaveFP ...@@ -28,9 +35,34 @@ public class SaveUserDetailsFP extends SaveFP
LogMgr.log(CompanyUser.LOG, LogLevel.PROCESSING1,"In SaveUserDetailsFP saving CompanyUser : ", companyUser ); LogMgr.log(CompanyUser.LOG, LogLevel.PROCESSING1,"In SaveUserDetailsFP saving CompanyUser : ", companyUser );
if(companyUser.getConfirmPassword() != null) SecUser oldSecUser = (SecUser) secUser.getEarliestBackup();
if(oldSecUser != null && !oldSecUser.getUserName().equals(secUser.getUserName()))
{ {
secUser.setAttribute("md5:" + SecUser.FIELD_Password, companyUser.getConfirmPassword()); if(companyUser.getConfirmPassword() == null)
{
submission.getRequest().setAttribute("EmailChanged", true);
return RedisplayResult.getInstance();
}
else
{
boolean validPassword = secUser.checkPassword(companyUser.getConfirmPassword());
if(!validPassword)
{
submission.getRequest().setAttribute("EmailChanged", false);
companyUser.setConfirmPassword(null);
}
BusinessObjectParser.assertFieldCondition(validPassword, companyUser, CompanyUser.FIELD_ConfirmPassword, "passwordNotMatch");
if(validPassword)
{
companyUser.setIsAccountVerified(Boolean.FALSE);
Utils.sendVerificationMail(companyUser, request, emailer, SaveUserDetailsFP.class.getName());
}
}
} }
return super.processForm(process, submission, params); return super.processForm(process, submission, params);
...@@ -47,8 +79,16 @@ public class SaveUserDetailsFP extends SaveFP ...@@ -47,8 +79,16 @@ public class SaveUserDetailsFP extends SaveFP
BusinessObjectParser.assertFieldCondition(StringUtils.isEmailAddress(secUser.getUserName()), secUser, SecUser.FIELD_Email, "invalid", exceptions, true, request); BusinessObjectParser.assertFieldCondition(StringUtils.isEmailAddress(secUser.getUserName()), secUser, SecUser.FIELD_Email, "invalid", exceptions, true, request);
BusinessObjectParser.assertFieldCondition(secUser.getFirstName()!= null, secUser, SecUser.FIELD_FirstName, "mandatory", exceptions, true, request); BusinessObjectParser.assertFieldCondition(secUser.getFirstName()!= null, secUser, SecUser.FIELD_FirstName, "mandatory", exceptions, true, request);
BusinessObjectParser.assertFieldCondition(secUser.getLastName()!= null, secUser, SecUser.FIELD_LastName, "mandatory", exceptions, true, request); BusinessObjectParser.assertFieldCondition(secUser.getLastName()!= null, secUser, SecUser.FIELD_LastName, "mandatory", exceptions, true, request);
// BusinessObjectParser.assertFieldCondition(CollectionUtils.equals(companyUser.getPassword(), companyUser.getConfirmPassword()), companyUser, Job.FIELD_ConfirmPassword, "passwordNotMatch", exceptions, true, request);
return super.validate(submission, exceptions); return super.validate(submission, exceptions);
} }
@Override
public void init(ParticipantInitialisationContext context) throws InitialisationException
{
super.init(context);
emailer = (ConfigurableArticleTemplateEmailer) (context.getSingleChild("AccountVerificationEmailer"));
}
} }
\ No newline at end of file
...@@ -12,7 +12,6 @@ import oneit.net.LoopbackHTTP; ...@@ -12,7 +12,6 @@ import oneit.net.LoopbackHTTP;
import oneit.objstore.ObjectTransaction; import oneit.objstore.ObjectTransaction;
import oneit.objstore.StorageException; import oneit.objstore.StorageException;
import oneit.objstore.parser.BusinessObjectParser; import oneit.objstore.parser.BusinessObjectParser;
import oneit.objstore.rdbms.filters.EqualsFilter;
import oneit.security.SecUser; import oneit.security.SecUser;
import oneit.servlets.forms.*; import oneit.servlets.forms.*;
import oneit.servlets.process.*; import oneit.servlets.process.*;
...@@ -101,7 +100,7 @@ public class SendVerificationMailFP extends SaveFP ...@@ -101,7 +100,7 @@ public class SendVerificationMailFP extends SaveFP
//set default to admin //set default to admin
companyUser.setRole(RoleType.ADMIN); companyUser.setRole(RoleType.ADMIN);
sendVerificationMail(companyUser, request); Utils.sendVerificationMail(companyUser, request, emailer, SendVerificationMailFP.class.getName());
LogMgr.log(LOG, LogLevel.PROCESSING1, "End of sending varification email.", companyUser); LogMgr.log(LOG, LogLevel.PROCESSING1, "End of sending varification email.", companyUser);
} }
...@@ -196,44 +195,4 @@ public class SendVerificationMailFP extends SaveFP ...@@ -196,44 +195,4 @@ public class SendVerificationMailFP extends SaveFP
LogMgr.log(LOG, LogLevel.PROCESSING1, "Call from " + SendVerificationMailFP.class + ". Account is already verified for candidate :: ", candidate); LogMgr.log(LOG, LogLevel.PROCESSING1, "Call from " + SendVerificationMailFP.class + ". Account is already verified for candidate :: ", candidate);
} }
} }
protected void sendVerificationMail(CompanyUser companyUser, HttpServletRequest request) throws BusinessException
{
if(companyUser.getIsAccountVerified()!=Boolean.TRUE)
{
try
{
LogMgr.log(LOG, LogLevel.PROCESSING1, "Sending verification mail from SendVerificationMailFP to :: ", companyUser);
Article verificationArticle = WebUtils.getArticleByShortCut(companyUser.getTransaction(), WebUtils.COMPANY_ACCOUNT_VERIFICATION);
RandomStringGen random = new RandomStringGen();
//set verification key and send mail time
companyUser.setVerificationKey(random.generateAlphaNum(6));
companyUser.setVerificationMailSendDate(new Date());
String link = LoopbackHTTP.getRemoteAccessURL(request)
+ verificationArticle.getLink(request, CollectionUtils.EMPTY_MAP, "/")
+ "?id=" + companyUser.getID()
+ "&key=" + companyUser.getVerificationKey();
Map defaultParams = CollectionUtils.mapEntry("link", link).toMap();
ObjectTransform transform = Utils.createCompoundTransform(defaultParams, companyUser);
Utils.sendMail(emailer, transform, new String[]{companyUser.getUser().getEmail()}, null, companyUser);
LogMgr.log(LOG, LogLevel.PROCESSING1, "Sent verification mail successfully from " + SendVerificationMailFP.class + " to :: ", companyUser);
}
catch (ConfigurableEmailerException ex)
{
LogMgr.log(LOG, LogLevel.SYSTEMERROR1, ex, "Error occured while sending mail for Candidate :: " + companyUser);
throw new BusinessException("We are unable to send mail. Please try again or contact Talentology for more details.");
}
}
else
{
LogMgr.log(LOG, LogLevel.PROCESSING1, "Call from " + SendVerificationMailFP.class + ". Account is already verified for candidate :: ", companyUser);
}
}
} }
\ No newline at end of file
...@@ -4,11 +4,13 @@ import java.util.*; ...@@ -4,11 +4,13 @@ import java.util.*;
import javax.activation.DataSource; import javax.activation.DataSource;
import javax.servlet.http.*; import javax.servlet.http.*;
import oneit.appservices.config.ConfigMgr; import oneit.appservices.config.ConfigMgr;
import oneit.business.content.Article;
import oneit.email.ConfigurableArticleTemplateEmailer; import oneit.email.ConfigurableArticleTemplateEmailer;
import oneit.email.ConfigurableEmailerException; import oneit.email.ConfigurableEmailerException;
import oneit.logging.LogLevel; import oneit.logging.LogLevel;
import oneit.logging.LogMgr; import oneit.logging.LogMgr;
import oneit.logging.LoggingArea; import oneit.logging.LoggingArea;
import oneit.net.LoopbackHTTP;
import oneit.objstore.BaseBusinessClass; import oneit.objstore.BaseBusinessClass;
import oneit.objstore.ObjectTransaction; import oneit.objstore.ObjectTransaction;
import oneit.objstore.rdbms.filters.EqualsFilter; import oneit.objstore.rdbms.filters.EqualsFilter;
...@@ -401,6 +403,46 @@ public class Utils ...@@ -401,6 +403,46 @@ public class Utils
return secUser; return secUser;
} }
public static void sendVerificationMail(CompanyUser companyUser, HttpServletRequest request, ConfigurableArticleTemplateEmailer emailer, String callingClass) throws BusinessException
{
if(!CollectionUtils.equals(companyUser.getIsAccountVerified(), Boolean.TRUE))
{
try
{
LogMgr.log(CompanyUser.LOG, LogLevel.PROCESSING1, "Sending verification mail from " + callingClass + " to :: ", companyUser);
Article verificationArticle = WebUtils.getArticleByShortCut(companyUser.getTransaction(), WebUtils.COMPANY_ACCOUNT_VERIFICATION);
RandomStringGen random = new RandomStringGen();
//set verification key and send mail time
companyUser.setVerificationKey(random.generateAlphaNum(6));
companyUser.setVerificationMailSendDate(new Date());
String link = LoopbackHTTP.getRemoteAccessURL(request)
+ verificationArticle.getLink(request, CollectionUtils.EMPTY_MAP, "/")
+ "?id=" + companyUser.getID()
+ "&key=" + companyUser.getVerificationKey();
Map defaultParams = CollectionUtils.mapEntry("link", link).toMap();
ObjectTransform transform = Utils.createCompoundTransform(defaultParams, companyUser);
Utils.sendMail(emailer, transform, new String[]{companyUser.getUser().getEmail()}, null, companyUser);
LogMgr.log(CompanyUser.LOG, LogLevel.PROCESSING1, "Sent verification mail successfully from " + callingClass + " to :: ", companyUser);
}
catch (ConfigurableEmailerException ex)
{
LogMgr.log(CompanyUser.LOG, LogLevel.SYSTEMERROR1, ex, "Error occured while sending mail for Candidate :: " + companyUser);
throw new BusinessException("We are unable to send mail. Please try again or contact Talentology for more details.");
}
}
else
{
LogMgr.log(CompanyUser.LOG, LogLevel.PROCESSING1, "Call from " + callingClass + ". Account is already verified for candidate :: ", companyUser);
}
}
} }
......
...@@ -5301,6 +5301,70 @@ label, label .label-title span { ...@@ -5301,6 +5301,70 @@ label, label .label-title span {
/*My Company Pages End*/ /*My Company Pages End*/
/*My Details Pages*/
.notification-popup{
border-radius: 2px;
background-color: #ffffff;
box-shadow: 0 0 30px 5px rgba(0, 0, 0, 0.2);
border: 1px solid #e8e8eb;
border-top: 5px solid #f6a623;
width: 300px;
margin: 0 auto;
text-align: center;
padding: 0;
padding: 15px;
}
.notification-popup h2{
font-size: 24px;
color: #f6a623;
margin: 38px 0 22px;
}
.notification-popup p {
font-size: 15px;
font-weight: 300;
line-height: 1.53;
text-align: center;
color: #4a4a4a;
padding: 0 28px;
font-family: "Usual-Light";
}
.save-my-details{
width: 100%;
padding: 27px 0;
}
.save-my-details-btn{
border-radius: 100px;
min-width: 120px;
padding: 13px 0;
}
.btn.btn-primary.btn-orange{
background-color: #f5a623;
border-color: #f5a623;
}
.btn.btn-primary.btn-orange:hover{
background-color: #f5a623;
border-color: #f5a623;
}
.close-popup-btn{
float: right;
}
.email-verify{
text-align:right;
font-size: 12px;
margin-bottom: 25px;
width:100%;
margin-top:5px;
}
.email-verify-link
{
color: #03a0e7;
text-decoration: underline;
}
/*My Details Pages End*/
.hire-the-right-candi { .hire-the-right-candi {
height: 75px; height: 75px;
font-family: Usual-Medium; font-family: Usual-Medium;
......
...@@ -43,7 +43,12 @@ ...@@ -43,7 +43,12 @@
<AccountCreatedEmailer factory="Participant" class="oneit.email.ConfigurableArticleTemplateEmailer" templateShortcut="AccountCreatedMail"/> <AccountCreatedEmailer factory="Participant" class="oneit.email.ConfigurableArticleTemplateEmailer" templateShortcut="AccountCreatedMail"/>
<InvitationEmailer factory="Participant" class="oneit.email.ConfigurableArticleTemplateEmailer" templateShortcut="InvitationMail"/> <InvitationEmailer factory="Participant" class="oneit.email.ConfigurableArticleTemplateEmailer" templateShortcut="InvitationMail"/>
</FORM> </FORM>
<FORM name="*.saveUserDetails" factory="Participant" class="performa.form.SaveUserDetailsFP"/> <FORM name="*.saveUserDetails" factory="Participant" class="performa.form.SaveUserDetailsFP">
<AccountVerificationEmailer factory="Participant" class="oneit.email.ConfigurableArticleTemplateEmailer" templateShortcut="CompanyAccountVerificationMail"/>
</FORM>
<FORM name="*.resendVerification" factory="Participant" class="performa.form.ResendVerificationFP">
<AccountVerificationEmailer factory="Participant" class="oneit.email.ConfigurableArticleTemplateEmailer" templateShortcut="CompanyAccountVerificationMail"/>
</FORM>
<FORM name="*.saveClient" factory="Participant" class="performa.form.SaveClientFP"/> <FORM name="*.saveClient" factory="Participant" class="performa.form.SaveClientFP"/>
<FORM name="*.saveCompany" factory="Participant" class="performa.form.SaveCompanyFP"/> <FORM name="*.saveCompany" factory="Participant" class="performa.form.SaveCompanyFP"/>
</NODE> </NODE>
......
...@@ -36,15 +36,16 @@ ...@@ -36,15 +36,16 @@
<div class="my-company-area"> <div class="my-company-area">
<oneit:form name="editCompany" method="post" enctype="multipart/form-data"> <oneit:form name="editCompany" method="post" enctype="multipart/form-data">
<div style="padding-left: 15px; padding-right: 15px;">
<oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
</div>
<oneit:dynInclude page="/extensions/adminportal/inc/my_company_tabs.jsp" TabNumber="1" data="<%= CollectionUtils.EMPTY_MAP%>"/> <oneit:dynInclude page="/extensions/adminportal/inc/my_company_tabs.jsp" TabNumber="1" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<div class="company-content-area"> <div class="company-content-area">
<!-- Tab panes --> <!-- Tab panes -->
<div class="tab-content"> <div class="tab-content">
<div class="tab-pane active" id="company-detail"> <div class="tab-pane active" id="company-detail">
<div style="padding-left: 15px; padding-right: 15px;">
<oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
</div>
<div class="tabpage-title"> <div class="tabpage-title">
<label class="label-16">Company Details</label> <label class="label-16">Company Details</label>
</div> </div>
......
...@@ -10,58 +10,112 @@ ...@@ -10,58 +10,112 @@
CompanyUser companyUser = loggedInUser.getExtension(CompanyUser.REFERENCE_CompanyUser); CompanyUser companyUser = loggedInUser.getExtension(CompanyUser.REFERENCE_CompanyUser);
Debug.assertion(companyUser != null , "Invalid user in admin portal my details"); Debug.assertion(companyUser != null , "Invalid user in admin portal my details");
String nextPage = WebUtils.getSamePageInRenderMode(request, "Page"); String nextPage = WebUtils.getSamePageInRenderMode(request, "Page");
boolean emailChanged = request.getAttribute("EmailChanged") != null ? (boolean) request.getAttribute("EmailChanged") : false;
%> %>
<div class="container-fluid"> <script type="text/javascript">
<div class="row content"> $(document).ready(function()
<div class="main-content-area"> {
<h1 class="page-title">My Details</h1> $('input[name$=ConfirmPassword]').val('');
<oneit:form name="editUser" method="post" enctype="multipart/form-data"> <%
<div class="my-company-area"> if(emailChanged)
{
<oneit:dynInclude page="/extensions/adminportal/inc/my_details_tabs.jsp" TabNumber="1" data="<%= CollectionUtils.EMPTY_MAP%>"/> %>
$('#password-confirm-popup').modal('show');
<%
}
%>
$(".close-popup-btn").click(function(){
$('#password-confirm-popup').modal('hide');
});
});
</script>
<oneit:form name="editUser" method="post" enctype="multipart/form-data">
<div class="container-fluid">
<div class="row content">
<div class="main-content-area">
<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%>"/>
</div> </div>
<div class="company-content-area"> <div class="my-company-area">
<!-- Tab panes --> <oneit:dynInclude page="/extensions/adminportal/inc/my_details_tabs.jsp" TabNumber="1" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<div class="tab-content">
<div class="tab-pane active" id="company-detail"> <div class="company-content-area">
<div class="tabpage-title"> <!-- Tab panes -->
My Detials <div class="tab-content">
</div> <div class="tab-pane active" id="company-detail">
<div class="form-group"> <div class="tabpage-title">
<label><oneit:label GUIName="Email Address" /></label> My Detials
<oneit:ormInput obj="<%= loggedInUser %>" type="text" attributeName="UserName" cssClass="form-control" />
</div>
<div class="form-group row">
<div class="col-md-6">
<label><oneit:label GUIName="First Name" /></label>
<oneit:ormInput obj="<%= loggedInUser %>" type="text" attributeName="FirstName" cssClass="form-control" />
</div> </div>
<div class="col-md-6"> <div class="form-group">
<label><oneit:label GUIName="Last Name" /></label> <label><oneit:label GUIName="Email Address" /></label>
<oneit:ormInput obj="<%= loggedInUser %>" type="text" attributeName="LastName" cssClass="form-control" /> <oneit:ormInput obj="<%= loggedInUser %>" type="text" attributeName="UserName" cssClass="form-control" />
<%
if(!CollectionUtils.equals(companyUser.getIsAccountVerified(), Boolean.TRUE))
{
%>
<div class="email-verify">Email address not yet verified.
<oneit:button value=" " name="resendVerification" skin="link" cssClass="email-verify-link"
requestAttribs="<%= CollectionUtils.mapEntry("CompanyUser", companyUser)
.mapEntry("nextPage", nextPage)
.mapEntry(NotificationUtils.NOTIFICATION_MSG_PARAM, "emailSent")
.toMap() %>">
Resend verification email
</oneit:button>
</div>
<%
}
%>
</div> </div>
<div class="form-group row">
<div class="col-md-6">
<label><oneit:label GUIName="First Name" /></label>
<oneit:ormInput obj="<%= loggedInUser %>" type="text" attributeName="FirstName" cssClass="form-control" />
</div>
<div class="col-md-6">
<label><oneit:label GUIName="Last Name" /></label>
<oneit:ormInput obj="<%= loggedInUser %>" type="text" attributeName="LastName" cssClass="form-control" />
</div>
</div>
<div class="form-group">
<label><oneit:label GUIName="Phone" /></label>
<oneit:ormInput obj="<%= companyUser %>" type="text" attributeName="Phone" cssClass="form-control" />
</div>
<div class="text-center form-group">
<oneit:button value="Save Updates" name="saveUserDetails" cssClass="btn btn-primary largeBtn"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", nextPage)
.mapEntry("CompanyUser", companyUser)
.toMap() %>" />
</div>
</div> </div>
<div class="form-group">
<label><oneit:label GUIName="Phone" /></label>
<oneit:ormInput obj="<%= companyUser %>" type="text" attributeName="Phone" cssClass="form-control" />
</div>
<div class="text-center form-group">
<oneit:button value="Save Updates" name="saveUserDetails" cssClass="btn btn-primary largeBtn"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", nextPage)
.mapEntry("CompanyUser", companyUser)
.toMap() %>" />
</div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</oneit:form> </div>
</div>
<div class="modal fade" id="password-confirm-popup" role="dialog">
<div class="modal-dialog welcome-pop-top">
<div class="modal-body notification-popup">
<span class="close-popup-btn">
<img src="images/notification-popup-close.svg">
</span>
<h2>Nearly There!</h2>
<p>Please confirm your password to finish updating your email.</p>
<oneit:ormInput obj="<%= companyUser %>" type="password" attributeName="ConfirmPassword" cssClass="form-control"/>
<div class="save-my-details">
<oneit:button value="Save" name="saveUserDetails" cssClass="btn btn-primary btn-orange save-my-details-btn"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", nextPage)
.mapEntry("CompanyUser", companyUser)
.toMap() %>" />
</div>
</div>
</div> </div>
</div> </div>
</div> </oneit:form>
</oneit:dynIncluded> </oneit:dynIncluded>
...@@ -18,19 +18,18 @@ ...@@ -18,19 +18,18 @@
String homePage = WebUtils.getSamePageInRenderMode(request, "Page"); String homePage = WebUtils.getSamePageInRenderMode(request, "Page");
String jobsPage = jobsArticle.getLink(request, CollectionUtils.mapEntry("cms.rm", "Page").toMap()); String jobsPage = jobsArticle.getLink(request, CollectionUtils.mapEntry("cms.rm", "Page").toMap());
boolean showModal = request.getParameter("showModal") != null ? Boolean.parseBoolean(request.getParameter("showModal")) : false; boolean showModal = request.getParameter("showModal") != null ? Boolean.parseBoolean(request.getParameter("showModal")) : false;
if(showModal)
{
%>
<script>
$(document).ready(function(){
$('#welcomepopup').modal('show');
});
</script>
<%
}
%> %>
<%
if(showModal)
{
%>
<script>
$(document).ready(function(){
$('#welcomepopup').modal('show');
});
</script>
<%
}
%>
<oneit:form name="editJob" method="post" enctype="multipart/form-data"> <oneit:form name="editJob" method="post" enctype="multipart/form-data">
<div class="dashboard-content-area"> <div class="dashboard-content-area">
<div class="dashboard-first-part"> <div class="dashboard-first-part">
......
<?xml version="1.0" encoding="UTF-8"?>
<svg width="13px" height="13px" viewBox="0 0 13 13" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: sketchtool 46.2 (44496) - http://www.bohemiancoding.com/sketch -->
<title>B0DE6AE9-7EA8-49E0-8EC2-EBF60DA473EC</title>
<desc>Created with sketchtool.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="My-Details-HT016-1" transform="translate(-1056.000000, -444.000000)" fill="#F5A623">
<g id="Modal---Success" transform="translate(780.000000, 427.000000)">
<path d="M281.698324,22.6983239 L274.313708,22.6983239 L274.313708,23.9290931 L281.698324,23.9290931 L281.698324,31.3137085 L282.929093,31.3137085 L282.929093,23.9290931 L290.313708,23.9290931 L290.313708,22.6983239 L282.929093,22.6983239 L282.929093,15.3137085 L281.698324,15.3137085 L281.698324,22.6983239 Z" id="Combined-Shape" transform="translate(282.313708, 23.313708) rotate(-315.000000) translate(-282.313708, -23.313708) "></path>
</g>
</g>
</g>
</svg>
\ No newline at end of file
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