Commit 8bdfc021 by nilu

S34576305 # Client - Incoming Issues (raised by Client) #Expose Assessment length

parent 51f93324
...@@ -14,6 +14,7 @@ import oneit.utils.filter.Filter; ...@@ -14,6 +14,7 @@ import oneit.utils.filter.Filter;
import oneit.utils.parsers.FieldException; import oneit.utils.parsers.FieldException;
import performa.orm.types.AssessmentType; import performa.orm.types.AssessmentType;
import performa.orm.types.CriteriaType; import performa.orm.types.CriteriaType;
import performa.orm.types.JobType;
public class AssessmentCriteriaTemplate extends BaseAssessmentCriteriaTemplate public class AssessmentCriteriaTemplate extends BaseAssessmentCriteriaTemplate
...@@ -102,12 +103,56 @@ public class AssessmentCriteriaTemplate extends BaseAssessmentCriteriaTemplate ...@@ -102,12 +103,56 @@ public class AssessmentCriteriaTemplate extends BaseAssessmentCriteriaTemplate
if(occupation != null) if(occupation != null)
{ {
setOccupation(occupation); setOccupation(occupation);
setLevel(occupation.getAssessmentLevel()); setSuggestedAssessmentType(getJobType() == JobType.FULL_TIME ? occupation.getAssessmentType() : occupation.getPartTimeAssessmentType());
setAssessmentType(occupation.getAssessmentType()); setAssessmentType(getJobType() == JobType.FULL_TIME ? occupation.getAssessmentType() : occupation.getPartTimeAssessmentType());
setLevel(getAssessmentType() == AssessmentType.COMPREHENSIVE ? occupation.getAssessmentLevel() : occupation.getExpressAssessmentLevel());
} }
super.postILOJobTitleChange(); super.postILOJobTitleChange();
} }
@Override
protected void postJobTypeChange() throws FieldException
{
Occupation occupation = getILOJobTitle() != null ? getILOJobTitle().getOccupation() : null;
if(occupation != null)
{
setSuggestedAssessmentType(getJobType() == JobType.FULL_TIME ? occupation.getAssessmentType() : occupation.getPartTimeAssessmentType());
setAssessmentType(getJobType() == JobType.FULL_TIME ? occupation.getAssessmentType() : occupation.getPartTimeAssessmentType());
setLevel(getAssessmentType() == AssessmentType.COMPREHENSIVE ? occupation.getAssessmentLevel() : occupation.getExpressAssessmentLevel());
}
super.postJobTypeChange();
}
@Override
public AssessmentType getSuggestedAssessmentType()
{
Occupation occupation = getILOJobTitle() != null ? getILOJobTitle().getOccupation() : null;
if(occupation != null)
{
return getJobType() == JobType.FULL_TIME ? occupation.getAssessmentType() : occupation.getPartTimeAssessmentType();
}
return super.getSuggestedAssessmentType();
}
@Override
protected void postAssessmentTypeChange() throws FieldException
{
Occupation occupation = getILOJobTitle() != null ? getILOJobTitle().getOccupation() : null;
if(occupation != null && getSuggestedAssessmentType() != super.getAssessmentType())
{
setLevel(getAssessmentType() == AssessmentType.COMPREHENSIVE ? occupation.getAssessmentLevel() : occupation.getExpressAssessmentLevel());
}
super.postAssessmentTypeChange();
}
public Occupation displayOccupation() public Occupation displayOccupation()
{ {
......
...@@ -7,6 +7,8 @@ ...@@ -7,6 +7,8 @@
<IMPORT value="performa.orm.types.*"/> <IMPORT value="performa.orm.types.*"/>
<IMPORT value="oneit.security.*"/> <IMPORT value="oneit.security.*"/>
<TRANSIENT name="SuggestedAssessmentType" type="AssessmentType" attribHelper="EnumeratedAttributeHelper"/>
<MULTIPLEREFERENCE name="AssessmentCriterias" type="AssessmentCriteria" backreferenceName="Template" /> <MULTIPLEREFERENCE name="AssessmentCriterias" type="AssessmentCriteria" backreferenceName="Template" />
<MULTIPLEREFERENCE name="WorkFlows" type="WorkFlow" backreferenceName="Template" /> <MULTIPLEREFERENCE name="WorkFlows" type="WorkFlow" backreferenceName="Template" />
......
...@@ -768,6 +768,19 @@ public class Job extends BaseJob ...@@ -768,6 +768,19 @@ public class Job extends BaseJob
super.postJobTypeChange(); super.postJobTypeChange();
} }
@Override
protected void postAssessmentTypeChange() throws FieldException
{
Occupation occupation = getILOJobTitle() != null ? getILOJobTitle().getOccupation() : null;
if(occupation != null && getSuggestedAssessmentType() != super.getAssessmentType())
{
setLevel(getAssessmentType() == AssessmentType.COMPREHENSIVE ? occupation.getAssessmentLevel() : occupation.getExpressAssessmentLevel());
}
super.postAssessmentTypeChange();
}
@Override @Override
public AssessmentType getSuggestedAssessmentType() public AssessmentType getSuggestedAssessmentType()
......
package performa.utils; package performa.utils;
import oneit.utils.FormatterFactory; import oneit.utils.FormatterFactory;
import performa.orm.AssessmentCriteriaTemplate;
import performa.orm.Job; import performa.orm.Job;
import performa.orm.types.AssessmentType; import performa.orm.types.AssessmentType;
...@@ -8,18 +9,25 @@ import performa.orm.types.AssessmentType; ...@@ -8,18 +9,25 @@ import performa.orm.types.AssessmentType;
public class AssessmentTypeEnumFormatter implements FormatterFactory public class AssessmentTypeEnumFormatter implements FormatterFactory
{ {
private Job job; private Job job;
private AssessmentCriteriaTemplate template;
public AssessmentTypeEnumFormatter(Job job) public AssessmentTypeEnumFormatter(Job job)
{ {
this.job = job; this.job = job;
} }
public AssessmentTypeEnumFormatter(AssessmentCriteriaTemplate template)
{
this.template = template;
}
@Override @Override
public Object getFormatterFor(Object objectToFormat) public Object getFormatterFor(Object objectToFormat)
{ {
AssessmentType assessmentType = ((AssessmentType) objectToFormat); AssessmentType assessmentType = ((AssessmentType) objectToFormat);
AssessmentType suggestedType = job != null ? job.getSuggestedAssessmentType() : template.getSuggestedAssessmentType();
if(job.getSuggestedAssessmentType() == assessmentType) if(suggestedType == assessmentType)
{ {
return assessmentType.getDescription() + " (Suggested)"; return assessmentType.getDescription() + " (Suggested)";
} }
......
...@@ -44,13 +44,31 @@ ...@@ -44,13 +44,31 @@
var scrolldiv = null ; var scrolldiv = null ;
$(document).ready(function() $(document).ready(function()
{ {
setupRecalc ($("form#editJobTemplate"), {'recalcOnError':true}); setupRecalc ($("form#editJob"), {'recalcOnError':true});
$("select[name$='JobTemplate']").change(function() $("select[name$='JobTemplate']").change(function()
{ {
$("button[name$='loadJobFromTemplate']").click(); $("button[name$='loadJobFromTemplate']").click();
}); });
$('input[type="text"][id$="ILOJobTitle_autocomplete"]').change(function()
{
$("#assessment_type").empty();
ajaxProcessAddJQ ("<%= request.getContextPath() %>/extensions/adminportal/inc/assessment_type_selector.jsp", "#assessment_type", {jobTitleID : $('input[type="hidden"][id$="JobTitle"]').val()}, function (theHTML_JQ) {
$("#assessment_type").append (theHTML_JQ);
});
});
$("select[name$='JobType']").change(function()
{
$("#assessment_type").empty();
ajaxProcessAddJQ ("<%= request.getContextPath() %>/extensions/adminportal/inc/assessment_type_selector.jsp", "#assessment_type", {jobTypeName : $(this).val()}, function (theHTML_JQ) {
$("#assessment_type").append (theHTML_JQ);
});
});
if ($("#select-occupation-id").val()) { if ($("#select-occupation-id").val()) {
lastclickedOccid = $("#select-occupation-id").val(); lastclickedOccid = $("#select-occupation-id").val();
}else { }else {
...@@ -164,6 +182,14 @@ ...@@ -164,6 +182,14 @@
$("#occupation span").addClass("form-control"); $("#occupation span").addClass("form-control");
$("#occupation span").css({"padding":"15px","display":"inline-table"}); $("#occupation span").css({"padding":"15px","display":"inline-table"});
ajaxProcessAddJQ ("<%= request.getContextPath() %>/extensions/adminportal/inc/assessment_type_selector.jsp", "#assessment_type", {}, function (theHTML_JQ) {
$("#assessment_type").append (theHTML_JQ);
});
addPostAjaxAddHTMLModifiers (function () {
$( "select[name$='AssessmentType']" ).select2({minimumResultsForSearch: Infinity});
}, true);
}); });
...@@ -277,7 +303,7 @@ ...@@ -277,7 +303,7 @@
<oneit:script src="/scripts/google_address.js"/> <oneit:script src="/scripts/google_address.js"/>
</oneit:script> </oneit:script>
<oneit:form name="editJobTemplate" method="post" enctype="multipart/form-data"> <oneit:form name="editJob" method="post" enctype="multipart/form-data">
<h1 class="page-title page-title-with-arrow edit-template"> <h1 class="page-title page-title-with-arrow edit-template">
<oneit:button cssClass="arrow-btn-blue" name="gotoPage" value=" " skin="link" <oneit:button cssClass="arrow-btn-blue" name="gotoPage" value=" " skin="link"
...@@ -401,7 +427,12 @@ ...@@ -401,7 +427,12 @@
<oneit:ormEnum obj="<%= template %>" attributeName="Industry" cssClass="form-control" displayType="autocomplete"/> <oneit:ormEnum obj="<%= template %>" attributeName="Industry" cssClass="form-control" displayType="autocomplete"/>
</div> </div>
</div> </div>
<div class="form-group row">
<div class="col-md-6">
<label><oneit:label GUIName="Assessment Length" /></label>
<div id="assessment_type"></div>
</div>
</div>
<div class="form-group row"> <div class="form-group row">
<div class="col-md-12"> <div class="col-md-12">
<div class="styled_checkboxes"> <div class="styled_checkboxes">
......
...@@ -7,29 +7,53 @@ ...@@ -7,29 +7,53 @@
<%! protected String getName (ServletConfig config) { return "assessment_type_selector_jsp"; } %> <%! protected String getName (ServletConfig config) { return "assessment_type_selector_jsp"; } %>
<% <%
ORMProcessState process = (ORMProcessState) ProcessDecorator.getDefaultProcess(request); ORMProcessState process = (ORMProcessState) ProcessDecorator.getDefaultProcess(request);
ObjectTransaction objTran = process.getTransaction (); ObjectTransaction objTran = process.getTransaction ();
Job job = (Job) process.getAttribute("Job"); Job job = (Job) process.getAttribute("Job");
Long jobTitleID = request.getParameter("jobTitleID") != null ? Long.valueOf(request.getParameter("jobTitleID")) : null; AssessmentCriteriaTemplate template = (AssessmentCriteriaTemplate) process.getAttribute("AssessmentCriteriaTemplate");
String jobTypeName = request.getParameter("jobTypeName"); Long jobTitleID = request.getParameter("jobTitleID") != null ? Long.valueOf(request.getParameter("jobTitleID")) : null;
String jobTypeName = request.getParameter("jobTypeName");
AssessmentTypeEnumFormatter formatter = null;
if(jobTypeName != null) if(jobTypeName != null)
{ {
JobType jobType = JobType.forName(jobTypeName); JobType jobType = JobType.forName(jobTypeName);
job.setJobType(jobType); if(job != null)
{
job.setJobType(jobType);
}
else
{
template.setJobType(jobType);
}
} }
if(jobTitleID != null) if(jobTitleID != null)
{ {
ILOJobTitle jobTitle = ILOJobTitle.getILOJobTitleByID(objTran, jobTitleID); ILOJobTitle jobTitle = ILOJobTitle.getILOJobTitleByID(objTran, jobTitleID);
job.setILOJobTitle(jobTitle); if(job != null)
{
job.setILOJobTitle(jobTitle);
}
else
{
template.setILOJobTitle(jobTitle);
}
}
if(job != null)
{
formatter = new AssessmentTypeEnumFormatter(job);
}
else
{
formatter = new AssessmentTypeEnumFormatter(template);
} }
%> %>
<oneit:form name="editJob" method="POST"> <oneit:form name="editJob" method="POST">
<oneit:evalBody buffer="<%= getBuffer(request) %>"> <oneit:evalBody buffer="<%= getBuffer(request) %>">
<oneit:ormEnum obj="<%= job %>" attributeName="AssessmentType" cssClass="form-control" enumFormatter="<%= new AssessmentTypeEnumFormatter(job) %>"/> <oneit:ormEnum obj="<%= job != null ? job : template %>" attributeName="AssessmentType" cssClass="form-control" enumFormatter="<%= formatter %>"/>
</oneit:evalBody> </oneit:evalBody>
</oneit:form> </oneit:form>
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
$('input[type="text"][id$="ILOJobTitle_autocomplete"]').change(function() $('input[type="text"][id$="ILOJobTitle_autocomplete"]').change(function()
{ {
$( "select[name$='AssessmentType']" ).remove(); $("#assessment_type").empty();
ajaxProcessAddJQ ("<%= request.getContextPath() %>/extensions/adminportal/inc/assessment_type_selector.jsp", "#assessment_type", {jobTitleID : $('input[type="hidden"][id$="JobTitle"]').val()}, function (theHTML_JQ) { ajaxProcessAddJQ ("<%= request.getContextPath() %>/extensions/adminportal/inc/assessment_type_selector.jsp", "#assessment_type", {jobTitleID : $('input[type="hidden"][id$="JobTitle"]').val()}, function (theHTML_JQ) {
$("#assessment_type").append (theHTML_JQ); $("#assessment_type").append (theHTML_JQ);
...@@ -57,7 +57,7 @@ ...@@ -57,7 +57,7 @@
$("select[name$='JobType']").change(function() $("select[name$='JobType']").change(function()
{ {
$( "select[name$='AssessmentType']" ).remove(); $("#assessment_type").empty();
ajaxProcessAddJQ ("<%= request.getContextPath() %>/extensions/adminportal/inc/assessment_type_selector.jsp", "#assessment_type", {jobTypeName : $(this).val()}, function (theHTML_JQ) { ajaxProcessAddJQ ("<%= request.getContextPath() %>/extensions/adminportal/inc/assessment_type_selector.jsp", "#assessment_type", {jobTypeName : $(this).val()}, function (theHTML_JQ) {
$("#assessment_type").append (theHTML_JQ); $("#assessment_type").append (theHTML_JQ);
...@@ -186,6 +186,10 @@ ...@@ -186,6 +186,10 @@
ajaxProcessAddJQ ("<%= request.getContextPath() %>/extensions/adminportal/inc/assessment_type_selector.jsp", "#assessment_type", {}, function (theHTML_JQ) { ajaxProcessAddJQ ("<%= request.getContextPath() %>/extensions/adminportal/inc/assessment_type_selector.jsp", "#assessment_type", {}, function (theHTML_JQ) {
$("#assessment_type").append (theHTML_JQ); $("#assessment_type").append (theHTML_JQ);
}); });
addPostAjaxAddHTMLModifiers (function () {
$( "select[name$='AssessmentType']" ).select2({minimumResultsForSearch: Infinity});
}, true);
}); });
...@@ -271,7 +275,7 @@ ...@@ -271,7 +275,7 @@
return false; return false;
} }
(function($) { (function($) {
$.fn.hasScrollBar = function() { $.fn.hasScrollBar = function() {
return this.get(0).scrollHeight > this.height(); return this.get(0).scrollHeight > this.height();
} }
...@@ -410,8 +414,9 @@ ...@@ -410,8 +414,9 @@
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<div class="col-md-6" id="assessment_type"> <div class="col-md-6">
<label><oneit:label GUIName="Assessment Length" /></label> <label><oneit:label GUIName="Assessment Length" /></label>
<div id="assessment_type"></div>
</div> </div>
</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