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 @Override
public void validate(ORMProcessState process, SubmissionDetails submission, MultiException exceptions, Map params) throws StorageException public SuccessfulResult processForm(SubmissionDetails submission, Map params) throws BusinessException, StorageException
{ {
HttpServletRequest request = submission.getRequest(); HttpServletRequest request = submission.getRequest();
ORMProcessState process = (ORMProcessState)ProcessDecorator.getDefaultProcess(request);
ObjectTransaction objTran = process.getTransaction();
Job job = (Job) request.getAttribute("Job"); 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);
BusinessObjectParser.assertFieldCondition(job.getEmail()!= null, LogMgr.log(JobApplication.LOG, LogLevel.PROCESSING1, "New user created :: ", newSecUser);
job,
job.FIELD_Email,
"mandatory",
exceptions,
true,
request);
super.validate(process, submission, exceptions, params); 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 SuccessfulResult processForm(ORMProcessState process, SubmissionDetails submission, Map params) throws BusinessException, 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");
String nextPage = (String) request.getAttribute("nextPage");
Tuple.T2<Candidate, Boolean> tuple = job.getUserOrCreate();
Candidate candidate = tuple.get0();
SecUser secUser = candidate.getUser();
// request.getSession().invalidate(); BusinessObjectParser.assertFieldCondition(job.getEmail()!= null, job, Job.FIELD_Email, "mandatory", exceptions, true, request);
request.getSession().setAttribute (AuthorisationToken.AUTH_TOKEN_ID, secUser);
// place the user on the session return super.validate(submission, exceptions);
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[]{}); @Override
public SuccessfulResult processSuccessfulLogin(SubmissionDetails submission, Map requestParameters, SecUser secUser) throws BusinessException
{
return new RedirectResult((String)submission.getRequest().getAttribute("nextPage"), null);
} }
} }
\ No newline at end of file
...@@ -23,7 +23,11 @@ public class VerifyIdentityFP extends SaveFP ...@@ -23,7 +23,11 @@ public class VerifyIdentityFP extends SaveFP
Candidate candidate = (Candidate) request.getAttribute("Candidate"); Candidate candidate = (Candidate) request.getAttribute("Candidate");
SecUser secUser = candidate.getUser(); SecUser secUser = candidate.getUser();
BusinessObjectParser.assertFieldCondition(job.getEmail()!= null, job, Job.FIELD_Email, "mandatory", exceptions, true, request); if(secUser.getUserName() != null)
{
BusinessObjectParser.assertFieldCondition(StringUtils.isEmailAddress(secUser.getUserName()), job, Job.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);
......
...@@ -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);
...@@ -60,20 +63,23 @@ ...@@ -60,20 +63,23 @@
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, "Job is null in applicant portal"); Debug.assertion(job != null && !toRedirect, "Invalid job in applicant portal");
Debug.assertion(candidate != null, "Candidate is null in applicant portal");
SecUser secUser = SecUser.getTXUser(transaction);
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>
......
...@@ -9,7 +9,6 @@ ...@@ -9,7 +9,6 @@
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');
...@@ -48,27 +47,28 @@ ...@@ -48,27 +47,28 @@
<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" id="<%= id %>" value="<%= question.getID().toString() %>" name="<%= key %>" <%= selectedStr %>/> <input type="radio" name="<%= optionKey %>" id="<%= questionId %>" value="<%= questionId %>" <%= selectedStr %> >
<label for="<%= id %>"> <label for="<%= questionId %>">
<oneit:toString value="<%= question.getDescription() %>" mode="EscapeHTML" nullValue="-"/> <oneit:toString value="<%= question.getDescription() %>" mode="EscapeHTML" nullValue="-"/>
</label> </label>
</div> </div>
...@@ -80,7 +80,6 @@ ...@@ -80,7 +80,6 @@
<% <%
} }
%> %>
</div> </div>
<div class="selection-br-line"></div> <div class="selection-br-line"></div>
<div class="main-sc-section btn-remove-padd"> <div class="main-sc-section btn-remove-padd">
......
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