Commit e0f02e84 by Harsh Shah

Applicant portal login changes, C004, C005, C006 issue fixes, review changes

parent c3c3aa15
package performa.form; package performa.form;
import java.util.Date; import java.util.*;
import java.util.Map;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import oneit.objstore.StorageException; import oneit.logging.*;
import oneit.objstore.*;
import oneit.objstore.parser.BusinessObjectParser; import oneit.objstore.parser.BusinessObjectParser;
import oneit.security.AuthorisationToken; import oneit.objstore.services.TransactionTask;
import oneit.security.SecUser; import oneit.security.*;
import oneit.servlets.forms.*; import oneit.servlets.forms.*;
import oneit.servlets.process.ORMProcessFormProcessor; import oneit.servlets.process.*;
import oneit.servlets.process.ORMProcessState;
import oneit.servlets.process.ProcessRedirectResult;
import oneit.servlets.security.SessionSecUserDecorator;
import oneit.utils.*; import oneit.utils.*;
import performa.orm.Candidate; import oneit.utils.parsers.FieldException;
import performa.orm.Job; import performa.orm.*;
import performa.utils.Utils;
public class SignInCandidateFP extends ORMProcessFormProcessor public class SignInCandidateFP extends LoginProcessor
{ {
private static final String DEFAULT_PASSWORD = "Talentology123";
@Override
public SuccessfulResult processForm(SubmissionDetails submission, Map params) throws BusinessException, StorageException
{
HttpServletRequest request = submission.getRequest();
ORMProcessState process = (ORMProcessState)ProcessDecorator.getDefaultProcess(request);
ObjectTransaction objTran = process.getTransaction();
Job job = (Job) request.getAttribute("Job");
String nextPage = (String) request.getAttribute("nextPage");
String email = job.getEmail();
LogMgr.log(JobApplication.LOG, LogLevel.PROCESSING1, "Inside SignInCandidateFP for ", job, " Email:", email);
SecUser secUser = SecUser.searchNAME(objTran, email);
final Map userMap = new HashMap();
if(secUser == null)
{
objTran.runInNewTX(new TransactionTask()
{
@Override
public void run(ObjectTransaction newObjTran) throws FieldException, StorageException
{
SecUser newSecUser = SecUser.createSecUser(newObjTran);
newSecUser.setUserName(email);
newSecUser.setAttribute("md5:" + SecUser.FIELD_Password, DEFAULT_PASSWORD);
LogMgr.log(JobApplication.LOG, LogLevel.PROCESSING1, "New user created :: ", newSecUser);
newSecUser.addRole(Utils.getRole(Utils.ROLE_APPLICANT, newObjTran));
newSecUser.getExtensionOrCreate(Candidate.REFERENCE_Candidate);
userMap.put("username", newSecUser.getUserName());
userMap.put("password", DEFAULT_PASSWORD);
}
});
}
else if(!secUser.hasPrivilege(Utils.PRIV_ACCESS_APPLICANT_PORTAL) || secUser.getExtension(Candidate.REFERENCE_Candidate) == null)
{
throw new BusinessException("You are not allowed to access this portal");
}
else
{
LogMgr.log(JobApplication.LOG, LogLevel.PROCESSING1, "Existing user skipping password check :: ", secUser);
userMap.put("username", secUser.getUserName());
userMap.put("password", DEFAULT_PASSWORD);
}
request.setAttribute("nextPage", nextPage + "&JobID=" + job.getObjectID());
return super.processForm(submission, userMap);
}
@Override @Override
public void validate(ORMProcessState process, SubmissionDetails submission, MultiException exceptions, Map params) throws StorageException protected Map validate(SubmissionDetails submission, MultiException exceptions)
{ {
HttpServletRequest request = submission.getRequest(); HttpServletRequest request = submission.getRequest();
Job job = (Job) request.getAttribute("Job"); Job job = (Job) request.getAttribute("Job");
BusinessObjectParser.assertFieldCondition(job.getEmail()!= null, BusinessObjectParser.assertFieldCondition(job.getEmail()!= null, job, Job.FIELD_Email, "mandatory", exceptions, true, request);
job,
job.FIELD_Email,
"mandatory",
exceptions,
true,
request);
super.validate(process, submission, exceptions, params); return super.validate(submission, exceptions);
} }
@Override @Override
public SuccessfulResult processForm(ORMProcessState process, SubmissionDetails submission, Map params) throws BusinessException, StorageException public SuccessfulResult processSuccessfulLogin(SubmissionDetails submission, Map requestParameters, SecUser secUser) throws BusinessException
{ {
HttpServletRequest request = submission.getRequest(); return new RedirectResult((String)submission.getRequest().getAttribute("nextPage"), null);
Job job = (Job) request.getAttribute("Job");
String nextPage = (String) request.getAttribute("nextPage");
Tuple.T2<Candidate, Boolean> tuple = job.getUserOrCreate();
Candidate candidate = tuple.get0();
SecUser secUser = candidate.getUser();
// request.getSession().invalidate();
request.getSession().setAttribute (AuthorisationToken.AUTH_TOKEN_ID, secUser);
// place the user on the session
request.getSession ().setAttribute (SecUser.SEC_USER_ID, secUser);
// This is only to help with the tomcat manager, so you can see which user belongs to which session
request.getSession ().setAttribute (SecUser.SEC_USER_ID+".desc", secUser.getDescription());
request.getSession ().setAttribute (SecUser.SEC_USER_ID+".loggedin", ""+new Date());
request.getSession ().setAttribute (SessionSecUserDecorator.REFRESH_SECURITY, Boolean.TRUE);
process.setAttribute("Candidate", candidate);
return new ProcessRedirectResult(nextPage, new String[]{});
} }
} }
\ No newline at end of file
...@@ -22,8 +22,12 @@ public class VerifyIdentityFP extends SaveFP ...@@ -22,8 +22,12 @@ public class VerifyIdentityFP extends SaveFP
Job job = (Job) request.getAttribute("Job"); Job job = (Job) request.getAttribute("Job");
Candidate candidate = (Candidate) request.getAttribute("Candidate"); Candidate candidate = (Candidate) request.getAttribute("Candidate");
SecUser secUser = candidate.getUser(); SecUser secUser = candidate.getUser();
if(secUser.getUserName() != null)
{
BusinessObjectParser.assertFieldCondition(StringUtils.isEmailAddress(secUser.getUserName()), job, Job.FIELD_Email, "invalid", exceptions, true, request);
}
BusinessObjectParser.assertFieldCondition(job.getEmail()!= null, job, Job.FIELD_Email, "mandatory", 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);
......
...@@ -2,16 +2,13 @@ package performa.orm; ...@@ -2,16 +2,13 @@ package performa.orm;
import java.util.*; import java.util.*;
import oneit.logging.LoggingArea; import oneit.logging.LoggingArea;
import oneit.objstore.ObjectStatus;
import oneit.objstore.rdbms.filters.*; import oneit.objstore.rdbms.filters.*;
import oneit.objstore.utils.ObjstoreUtils; import oneit.objstore.utils.ObjstoreUtils;
import oneit.security.*; import oneit.security.*;
import oneit.utils.*; import oneit.utils.*;
import oneit.utils.filter.CollectionFilter; import oneit.utils.filter.CollectionFilter;
import oneit.utils.filter.Filter; import oneit.utils.filter.Filter;
import oneit.utils.parsers.FieldException;
import performa.orm.types.*; import performa.orm.types.*;
import performa.utils.Utils;
public class Job extends BaseJob public class Job extends BaseJob
...@@ -84,31 +81,6 @@ public class Job extends BaseJob ...@@ -84,31 +81,6 @@ public class Job extends BaseJob
return getAssessmentCriteraByType(criteria).size(); return getAssessmentCriteraByType(criteria).size();
} }
public Tuple.T2<Candidate, Boolean> getUserOrCreate() throws FieldException
{
boolean safeRedirect = false;
SecUser secUser = SecUser.searchNAME(getTransaction(), getEmail());
if(secUser == null)
{
secUser = SecUser.createSecUser(getTransaction());
secUser.setUserName(getEmail());
secUser.setAttribute("md5:" + SecUser.FIELD_Password, "Talentology123");
secUser.addRole(Utils.getRole(Utils.ROLE_APPLICANT, getTransaction()));
safeRedirect = true;
}
Candidate candidate = secUser.getExtensionOrCreate(Candidate.REFERENCE_Candidate);
if(candidate.getStatus() == ObjectStatus.NEW)
{
safeRedirect = true;
}
return new Tuple.T2(candidate, safeRedirect);
}
//to get All Profile Assessment Questions //to get All Profile Assessment Questions
public Collection<Question> getAllProfileAssessmentQuestions() public Collection<Question> getAllProfileAssessmentQuestions()
......
...@@ -4,7 +4,7 @@ import java.util.*; ...@@ -4,7 +4,7 @@ import java.util.*;
import oneit.objstore.ObjectTransaction; import oneit.objstore.ObjectTransaction;
import oneit.security.*; import oneit.security.*;
import oneit.utils.Tuple; import oneit.utils.Tuple;
import performa.orm.Level; import performa.orm.*;
import performa.orm.types.Importance; import performa.orm.types.Importance;
/** /**
...@@ -42,6 +42,11 @@ public class Utils ...@@ -42,6 +42,11 @@ public class Utils
return (secUser != null && secUser.hasPrivilege(PRIV_ACCESS_APPLICANT_PORTAL)); return (secUser != null && secUser.hasPrivilege(PRIV_ACCESS_APPLICANT_PORTAL));
} }
public static Candidate getCandidateUser (ObjectTransaction objTran)
{
return SecUser.getTXUser(objTran).getExtension(Candidate.REFERENCE_Candidate);
}
public static Importance[] getImportancesForAssessment() public static Importance[] getImportancesForAssessment()
{ {
List<Importance> importances = new ArrayList<>(); List<Importance> importances = new ArrayList<>();
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
String portalName = WebUtils.getPortalName(objTran, article); String portalName = WebUtils.getPortalName(objTran, article);
SecUser loggedInUser = SecUser.getTXUser(objTran); SecUser loggedInUser = SecUser.getTXUser(objTran);
SecUser clientUser = Utils.checkAdminPortalAccess(loggedInUser) ? loggedInUser : null; SecUser clientUser = Utils.checkAdminPortalAccess(loggedInUser) ? loggedInUser : null;
SecUser applicantUser = Utils.checkApplicantPortalAccess(loggedInUser) ? loggedInUser : null;
%> %>
<%@ include file="setuprequest.jsp" %> <%@ include file="setuprequest.jsp" %>
......
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
<div class="review-medium-title"> <div class="review-medium-title">
<oneit:ormlabel obj="<%= job %>" field="JobDescription" /> <oneit:ormlabel obj="<%= job %>" field="JobDescription" />
<span class="skill-label"> <span class="skill-label">
<oneit:toString value="<%= job.getJobDescription() %>" mode="EscapeHTML" /> <oneit:toString value="<%= job.getJobDescription() %>" mode="ParagraphHTML" />
</span> </span>
</div> </div>
</div> </div>
...@@ -157,7 +157,7 @@ ...@@ -157,7 +157,7 @@
</div> </div>
<div class="form-group"> <div class="form-group">
<div class="beloning job-match-ass"> <div class="beloning job-match-ass">
<oneit:toString value="<%= job.getAssessmentType() %>" mode="EscapeHTML"/> <oneit:toString value="<%= job.getAssessmentType() %>" mode="EscapeHTML"/> <oneit:toString value="<%= job.getAssessmentType().getQuestionDetails() %>" mode="EscapeHTML"/>
</div> </div>
</div> </div>
<div class="text-center"> <div class="text-center">
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
<NODE name="dynamic_content_form::APPLICANT_PORTAL" factory="Participant"> <NODE name="dynamic_content_form::APPLICANT_PORTAL" factory="Participant">
<FORM name="*.signIn" factory="Participant" class="performa.form.SignInCandidateFP"/> <FORM name="*.signIn" factory="Participant" class="performa.form.SignInCandidateFP"/>
<FORM name="*.verifyIdentity" factory="Participant" class="performa.form.VerifyIdentityFP"/>
</NODE> </NODE>
...@@ -10,8 +11,6 @@ ...@@ -10,8 +11,6 @@
<INHERITS factory="Named" nodename="dynamic_content_form"/> <INHERITS factory="Named" nodename="dynamic_content_form"/>
<DECORATOR id="auth" factory="MetaComponent" component="ApplicantPortalAuthDecorator" priv="TL_AccessApplicantPortal"/> <DECORATOR id="auth" factory="MetaComponent" component="ApplicantPortalAuthDecorator" priv="TL_AccessApplicantPortal"/>
<FORM name="*.verifyIdentity" factory="Participant" class="performa.form.VerifyIdentityFP"/>
</NODE> </NODE>
...@@ -21,6 +20,5 @@ ...@@ -21,6 +20,5 @@
<FAILED_URL factory="String" value="RestrictedAccess.jsp"/> <FAILED_URL factory="String" value="RestrictedAccess.jsp"/>
<NO_USER_URL factory="String" value="ApplicantPortal-ApplyJob.htm"/> <NO_USER_URL factory="String" value="ApplicantPortal-ApplyJob.htm"/>
</AUTHENTICATOR> </AUTHENTICATOR>
</NODE> </NODE>
</OBJECTS> </OBJECTS>
...@@ -8,10 +8,10 @@ ...@@ -8,10 +8,10 @@
ObjectTransaction objTran = process.getTransaction (); ObjectTransaction objTran = process.getTransaction ();
String nextPage = WebUtils.getSamePageInRenderMode(request, "SelectionCriteria"); String nextPage = WebUtils.getSamePageInRenderMode(request, "SelectionCriteria");
Job job = (Job) process.getAttribute("Job"); Job job = (Job) process.getAttribute("Job");
Candidate candidate = (Candidate) process.getAttribute("Candidate"); Candidate candidate = Utils.getCandidateUser(transaction);
JobApplication jobApplication = JobApplication.searchCandidateJob(objTran, candidate, job); JobApplication jobApplication = JobApplication.searchCandidateJob(objTran, candidate, job);
if(jobApplication==null) if(jobApplication == null)
{ {
jobApplication = JobApplication.createNewApplication(candidate, job); jobApplication = JobApplication.createNewApplication(candidate, job);
} }
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
</p> </p>
<div class="three-block"> <div class="three-block">
<div class="col-sm-4 col-xs-12 app-block eq-height"> <div class="col-sm-4 col-xs-12 app-block eq-height">
<div class="block-icon"><img src="images/job-match-icon.png" /></div> <div class="block-icon"><img src="images/selection-assessment.png" /></div>
<div class="app-block-title">Selection Criteria</div> <div class="app-block-title">Selection Criteria</div>
<div class="estimated-time">Estimated time to complete: <span>5 mins</span></div> <div class="estimated-time">Estimated time to complete: <span>5 mins</span></div>
<p> <p>
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
</p> </p>
</div> </div>
<div class="col-sm-4 col-xs-12 app-block eq-height last-border"> <div class="col-sm-4 col-xs-12 app-block eq-height last-border">
<div class="block-icon"><img src="images/selection-assessment.png" /></div> <div class="block-icon"><img src="images/job-match-icon.png" /></div>
<div class="app-block-title">Job Match Assessment</div> <div class="app-block-title">Job Match Assessment</div>
<div class="estimated-time">Estimated time to complete: <span>20 mins</span></div> <div class="estimated-time">Estimated time to complete: <span>20 mins</span></div>
<p> <p>
......
...@@ -140,7 +140,7 @@ ...@@ -140,7 +140,7 @@
<% <%
} }
%> %>
<div>Autosaved 1 min ago.</div> <%-- <div>Autosaved 1 min ago.</div> --%>
</div> </div>
</div> </div>
</div> </div>
......
...@@ -46,6 +46,9 @@ ...@@ -46,6 +46,9 @@
</p> </p>
</div> </div>
<% <%
FormTag applicationForm = FormTag.getActiveFormTag(request);
FormBuilder formBuilder = applicationForm.getFormBuilder();
for(CriteriaType ct: CriteriaType.getCriteriaTypeArray()) for(CriteriaType ct: CriteriaType.getCriteriaTypeArray())
{ {
Collection<AssessmentCriteriaAnswer> answerList = jobApplication.getACAnswersByType(ct); Collection<AssessmentCriteriaAnswer> answerList = jobApplication.getACAnswersByType(ct);
...@@ -59,21 +62,24 @@ ...@@ -59,21 +62,24 @@
<% <%
for(AssessmentCriteriaAnswer answer: answerList) for(AssessmentCriteriaAnswer answer: answerList)
{ {
String optionKey = WebUtils.getInputKey(request, answer, AssessmentCriteriaAnswer.FIELD_Answer); String optionKey = WebUtils.getInputKey(request, answer, AssessmentCriteriaAnswer.FIELD_Answer);
String formValue = formBuilder.fieldValue (optionKey, answer.getAnswer() == null ? "" : String.valueOf(answer.getAnswer()));
String trueID = answer.getObjectID() + "_Y";
String falseID = answer.getObjectID() + "_N";
String trueSelected = CollectionUtils.equals("true", formValue) ? "checked" : "";
String falseSelected = CollectionUtils.equals("false", formValue) ? "checked" : "";
%> %>
<div class="form-group-new question-y-n"> <div class="form-group-new question-y-n">
<label class="second-label"><oneit:toString value="<%= answer.getAssessmentCriteria() %>" mode="EscapeHTML"/></label> <label class="second-label"><oneit:toString value="<%= answer.getAssessmentCriteria() %>" mode="EscapeHTML"/></label>
<div class="radio radio-primary second-radio-primary"> <div class="radio radio-primary second-radio-primary">
<input type="radio" name="<%= optionKey %>" value="y" id="radio5" <%= answer.getAnswer() == true ? "selected" : "" %>/> <input type="radio" name="<%= optionKey %>" value="true" id="<%= trueID%>" <%= trueSelected %>/>
<input type="radio" name="radio30" id="radio5" value="option1" checked=""> <label for="<%= trueID%>">
<label for="radio5">
Yes Yes
</label> </label>
</div> </div>
<div class="radio radio-primary second-radio-primary"> <div class="radio radio-primary second-radio-primary">
<input type="radio" name="<%= optionKey %>" value="n" id="radio6" <%= answer.getAnswer() == false ? "selected" : "" %>/> <input type="radio" name="<%= optionKey %>" value="false" id="<%= falseID%>" <%= falseSelected %>/>
<input type="radio" name="radio30" id="radio6" value="option1" checked=""> <label for="<%= falseID%>">
<label for="radio6">
No No
</label> </label>
</div> </div>
......
...@@ -5,14 +5,16 @@ ...@@ -5,14 +5,16 @@
<oneit:dynIncluded> <oneit:dynIncluded>
<% <%
String nextPage = WebUtils.getSamePageInRenderMode(request, "ApplicationOutline"); boolean toRedirect = GenericObjDF.getOrCreateObject (request, "Job", Job.REFERENCE_Job);
Job job = (Job) process.getAttribute("Job"); Job job = (Job) process.getAttribute("Job");
Candidate candidate = (Candidate) process.getAttribute("Candidate");
Debug.assertion(job != null && !toRedirect, "Invalid job in applicant portal");
Debug.assertion(job != null, "Job is null in applicant portal"); SecUser secUser = SecUser.getTXUser(transaction);
Debug.assertion(candidate != null, "Candidate is null in applicant portal"); Candidate candidate = secUser.getExtension(Candidate.REFERENCE_Candidate);
SecUser secUser = candidate.getUser(); Debug.assertion(candidate != null, "Invalid candidate in applicant portal");
String nextPage = WebUtils.getSamePageInRenderMode(request, "ApplicationOutline");
%> %>
<script> <script>
$(document.body).addClass('bg-color'); $(document.body).addClass('bg-color');
...@@ -27,8 +29,8 @@ ...@@ -27,8 +29,8 @@
<div class="pl-confirm text-center">Please confirm your details to continue</div> <div class="pl-confirm text-center">Please confirm your details to continue</div>
<div class="main-box-layout main-verify-step-2"> <div class="main-box-layout main-verify-step-2">
<div class="form-group text-left"> <div class="form-group text-left">
<label><oneit:ormlabel obj="<%= job %>" field="Email" /></label> <label>Email Address</label>
<oneit:ormInput obj="<%= job %>" type="text" attributeName="Email" cssClass="form-control second-style" /> <oneit:ormInput obj="<%= secUser %>" type="text" attributeName="UserName" cssClass="form-control second-style" />
</div> </div>
<div class="row"> <div class="row">
<div class="form-group text-left col-sm-6 col-xs-12"> <div class="form-group text-left col-sm-6 col-xs-12">
...@@ -49,7 +51,7 @@ ...@@ -49,7 +51,7 @@
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", nextPage) requestAttribs="<%= CollectionUtils.mapEntry("nextPage", nextPage)
.mapEntry("Job", job) .mapEntry("Job", job)
.mapEntry("Candidate", candidate) .mapEntry("Candidate", candidate)
.mapEntry("attribNamesToRestore", CollectionUtils.createSet("Job","Candidate")) .mapEntry("attribNamesToRestore", CollectionUtils.createSet("Job"))
.mapEntry("restartProcess", Boolean.TRUE) .mapEntry("restartProcess", Boolean.TRUE)
.toMap() %>"/> .toMap() %>"/>
</div> </div>
......
...@@ -5,16 +5,15 @@ ...@@ -5,16 +5,15 @@
<oneit:dynIncluded> <oneit:dynIncluded>
<% <%
ObjectTransaction objTran = process.getTransaction (); ObjectTransaction objTran = process.getTransaction ();
String nextPage = WebUtils.getSamePageInRenderMode(request, "JobMatchAssessment"); String nextPage = WebUtils.getSamePageInRenderMode(request, "JobMatchAssessment");
JobApplication jobApplication = (JobApplication) process.getAttribute("JobApplication"); JobApplication jobApplication = (JobApplication) process.getAttribute("JobApplication");
Job job = jobApplication.getJob(); Job job = jobApplication.getJob();
%> %>
<script> <script>
$(document.body).addClass('bg-color'); $(document.body).addClass('bg-color');
</script> </script>
<div class="main-application-outline"> <div class="main-application-outline">
<div class="selection-aust-logo"> <div class="selection-aust-logo">
<img src="images/australia-post.png" /> <img src="images/australia-post.png" />
...@@ -30,68 +29,68 @@ ...@@ -30,68 +29,68 @@
<span>Estimated time to complete: <b>5 mins</b></span> <span>Estimated time to complete: <b>5 mins</b></span>
</div> </div>
<div class="section-tab-view"> <div class="section-tab-view">
<oneit:form name="editApplication" method="post" enctype="multipart/form-data"> <oneit:form name="editApplication" 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%>"/>
<oneit:dynInclude page="/extensions/applicantportal/inc/application_main_tabs.jsp" PageNumber="2" data="<%= CollectionUtils.EMPTY_MAP%>"/> <oneit:dynInclude page="/extensions/applicantportal/inc/application_main_tabs.jsp" PageNumber="2" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<div class="section-page-area"> <div class="section-page-area">
<div class="main-sc-section"> <div class="main-sc-section">
<p> <p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean semper at magna a Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean semper at magna a
tristique. Ut ut magna ut mauris sagittis placerat. Suspendisse vitae tempus sem. Lorem tristique. Ut ut magna ut mauris sagittis placerat. Suspendisse vitae tempus sem. Lorem
ipsum dolor sit amet, consectetur adipiscing elit. ipsum dolor sit amet, consectetur adipiscing elit.
</p> </p>
</div> </div>
<div class="selection-br-line"></div> <div class="selection-br-line"></div>
<div class="main-sc-section main-wc-section"> <div class="main-sc-section main-wc-section">
<% <%
FormTag applicationForm = FormTag.getActiveFormTag(request);
FormBuilder formBuilder = applicationForm.getFormBuilder();
int i = 1;
for(CultureCriteriaAnswer answer: jobApplication.getCultureCriteriaAnswersSet()) for(CultureCriteriaAnswer answer: jobApplication.getCultureCriteriaAnswersSet())
{ {
CultureCriteria criteria = answer.getCultureCriteria(); CultureCriteria criteria = answer.getCultureCriteria();
Collection<CultureElementQuestion> questions = criteria.pipelineCultureCriteria().toCultureElement().toQuestions().vals(); Collection<CultureElementQuestion> questions = criteria.pipelineCultureCriteria().toCultureElement().toQuestions().vals();
CultureElementQuestion selectedQst = answer.getSelectedQuestion(); String optionKey = WebUtils.getRadioSingleAssocKey(request, answer, CultureCriteriaAnswer.SINGLEREFERENCE_SelectedQuestion);
BaseBusinessClass questionRef = answer.getSingleAssoc(CultureCriteriaAnswer.SINGLEREFERENCE_SelectedQuestion); String formValue = formBuilder.fieldValue (optionKey, answer.getSelectedQuestion() == null ? "" : String.valueOf(answer.getSelectedQuestionID()));
String key = WebUtils.getRadioSingleAssocKey(request, questionRef, CultureCriteriaAnswer.SINGLEREFERENCE_SelectedQuestion);
%> %>
<div class="selection-form-title">Question 1</div> <div class="selection-form-title">Question <%= i++%></div>
<div class="form-group-new question-y-n"> <div class="form-group-new question-y-n">
<% <%
for(CultureElementQuestion question: questions) for(CultureElementQuestion question : questions)
{ {
String id = "question_" + question.getID(); String questionId = String.valueOf(question.getID().longID());
Boolean isSelected = CollectionUtils.equals(selectedQst, question); String selectedStr = (CollectionUtils.equals(questionId, formValue) ? "checked" : "");
String selectedStr = (isSelected) ? "checked" : ""; %>
%> <div class="radio radio-primary second-radio-primary full-width">
<div class="radio radio-primary second-radio-primary full-width"> <input type="radio" name="<%= optionKey %>" id="<%= questionId %>" value="<%= questionId %>" <%= selectedStr %> >
<input type="radio" id="<%= id %>" value="<%= question.getID().toString() %>" name="<%= key %>" <%= selectedStr %>/> <label for="<%= questionId %>">
<label for="<%= id %>"> <oneit:toString value="<%= question.getDescription() %>" mode="EscapeHTML" nullValue="-"/>
<oneit:toString value="<%= question.getDescription() %>" mode="EscapeHTML" nullValue="-"/> </label>
</label> </div>
</div> <%
<% }
} %>
%> </div>
</div>
<div class="section-br-inside"></div> <div class="section-br-inside"></div>
<% <%
} }
%> %>
</div>
<div class="selection-br-line"></div>
<div class="main-sc-section btn-remove-padd">
<div class="section-btn text-center">
<input type="button" class="box-btn-gray" value="Save and exit" />
<oneit:button value="Proceed to step 3" name="gotoPage" cssClass="box-btn"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", nextPage)
.mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).toMap())
.toMap() %>"/>
</div> </div>
</div> <div class="selection-br-line"></div>
<div class="main-sc-section btn-remove-padd">
<div class="section-btn text-center">
<input type="button" class="box-btn-gray" value="Save and exit" />
<oneit:button value="Proceed to step 3" name="gotoPage" cssClass="box-btn"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", nextPage)
.mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).toMap())
.toMap() %>"/>
</div>
</div>
</div> </div>
</oneit:form> </oneit:form>
</div> </div>
......
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