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;
import oneit.utils.parsers.FieldException;
import performa.orm.types.AssessmentType;
import performa.orm.types.CriteriaType;
import performa.orm.types.JobType;
public class AssessmentCriteriaTemplate extends BaseAssessmentCriteriaTemplate
......@@ -102,12 +103,56 @@ public class AssessmentCriteriaTemplate extends BaseAssessmentCriteriaTemplate
if(occupation != null)
{
setOccupation(occupation);
setLevel(occupation.getAssessmentLevel());
setAssessmentType(occupation.getAssessmentType());
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.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()
{
......
......@@ -7,6 +7,8 @@
<IMPORT value="performa.orm.types.*"/>
<IMPORT value="oneit.security.*"/>
<TRANSIENT name="SuggestedAssessmentType" type="AssessmentType" attribHelper="EnumeratedAttributeHelper"/>
<MULTIPLEREFERENCE name="AssessmentCriterias" type="AssessmentCriteria" backreferenceName="Template" />
<MULTIPLEREFERENCE name="WorkFlows" type="WorkFlow" backreferenceName="Template" />
......
......@@ -768,6 +768,19 @@ public class Job extends BaseJob
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
public AssessmentType getSuggestedAssessmentType()
......
package performa.utils;
import oneit.utils.FormatterFactory;
import performa.orm.AssessmentCriteriaTemplate;
import performa.orm.Job;
import performa.orm.types.AssessmentType;
......@@ -8,18 +9,25 @@ import performa.orm.types.AssessmentType;
public class AssessmentTypeEnumFormatter implements FormatterFactory
{
private Job job;
private AssessmentCriteriaTemplate template;
public AssessmentTypeEnumFormatter(Job job)
{
this.job = job;
}
public AssessmentTypeEnumFormatter(AssessmentCriteriaTemplate template)
{
this.template = template;
}
@Override
public Object getFormatterFor(Object objectToFormat)
{
AssessmentType assessmentType = ((AssessmentType) objectToFormat);
AssessmentType suggestedType = job != null ? job.getSuggestedAssessmentType() : template.getSuggestedAssessmentType();
if(job.getSuggestedAssessmentType() == assessmentType)
if(suggestedType == assessmentType)
{
return assessmentType.getDescription() + " (Suggested)";
}
......
......@@ -44,13 +44,31 @@
var scrolldiv = null ;
$(document).ready(function()
{
setupRecalc ($("form#editJobTemplate"), {'recalcOnError':true});
setupRecalc ($("form#editJob"), {'recalcOnError':true});
$("select[name$='JobTemplate']").change(function()
{
$("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()) {
lastclickedOccid = $("#select-occupation-id").val();
}else {
......@@ -164,6 +182,14 @@
$("#occupation span").addClass("form-control");
$("#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 @@
<oneit:script src="/scripts/google_address.js"/>
</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">
<oneit:button cssClass="arrow-btn-blue" name="gotoPage" value=" " skin="link"
......@@ -401,7 +427,12 @@
<oneit:ormEnum obj="<%= template %>" attributeName="Industry" cssClass="form-control" displayType="autocomplete"/>
</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="col-md-12">
<div class="styled_checkboxes">
......
......@@ -7,29 +7,53 @@
<%! protected String getName (ServletConfig config) { return "assessment_type_selector_jsp"; } %>
<%
ORMProcessState process = (ORMProcessState) ProcessDecorator.getDefaultProcess(request);
ObjectTransaction objTran = process.getTransaction ();
Job job = (Job) process.getAttribute("Job");
Long jobTitleID = request.getParameter("jobTitleID") != null ? Long.valueOf(request.getParameter("jobTitleID")) : null;
String jobTypeName = request.getParameter("jobTypeName");
ORMProcessState process = (ORMProcessState) ProcessDecorator.getDefaultProcess(request);
ObjectTransaction objTran = process.getTransaction ();
Job job = (Job) process.getAttribute("Job");
AssessmentCriteriaTemplate template = (AssessmentCriteriaTemplate) process.getAttribute("AssessmentCriteriaTemplate");
Long jobTitleID = request.getParameter("jobTitleID") != null ? Long.valueOf(request.getParameter("jobTitleID")) : null;
String jobTypeName = request.getParameter("jobTypeName");
AssessmentTypeEnumFormatter formatter = null;
if(jobTypeName != null)
{
JobType jobType = JobType.forName(jobTypeName);
job.setJobType(jobType);
if(job != null)
{
job.setJobType(jobType);
}
else
{
template.setJobType(jobType);
}
}
if(jobTitleID != null)
{
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: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:form>
......@@ -48,7 +48,7 @@
$('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) {
$("#assessment_type").append (theHTML_JQ);
......@@ -57,7 +57,7 @@
$("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) {
$("#assessment_type").append (theHTML_JQ);
......@@ -186,6 +186,10 @@
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);
});
......@@ -271,7 +275,7 @@
return false;
}
(function($) {
(function($) {
$.fn.hasScrollBar = function() {
return this.get(0).scrollHeight > this.height();
}
......@@ -410,8 +414,9 @@
</div>
</div>
<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>
<div id="assessment_type"></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