Commit 8a1b8c57 by Nilu Committed by Harsh Shah

assessment criteria and culture modifications : edit job

parent 26f41df1
...@@ -62,4 +62,10 @@ public class Job extends BaseJob ...@@ -62,4 +62,10 @@ public class Job extends BaseJob
return CollectionFilter.filter(getAssessmentCriteriasSet(), filter); return CollectionFilter.filter(getAssessmentCriteriasSet(), filter);
} }
public int getAssessmentCriteraCountByType(CriteriaType criteria)
{
return getAssessmentCriteraByType(criteria).size();
}
} }
\ No newline at end of file
...@@ -1018,6 +1018,7 @@ input.btn.btn-primary.top-margin-25{ ...@@ -1018,6 +1018,7 @@ input.btn.btn-primary.top-margin-25{
font-size: 12px; font-size: 12px;
font-weight: 500; font-weight: 500;
margin-bottom: 36px; margin-bottom: 36px;
text-transform: uppercase;
} }
.workplace-radio.radio label{ .workplace-radio.radio label{
padding-left: 9px; padding-left: 9px;
......
...@@ -22,6 +22,8 @@ ...@@ -22,6 +22,8 @@
<script type="text/javascript"> <script type="text/javascript">
$(document).ready(function() { $(document).ready(function() {
setupRecalc ($("form#editJob"),{'recalcOnError': true});
$(".switch input[type='checkbox']").each(function() $(".switch input[type='checkbox']").each(function()
{ {
$(this).parent('span').removeClass("checked" ); $(this).parent('span').removeClass("checked" );
...@@ -57,10 +59,11 @@ ...@@ -57,10 +59,11 @@
}); });
}); });
function addCriteria(formBuilder) { function addCriteria(criteria) {
alert('adding criteria'); alert(criteria);
ajaxProcessAddJQ ("<%= request.getContextPath() %>/extensions/adminportal/inc/job_assessment_criteria_add.jsp", "#skill-title", {}, function (theHTML_JQ) { var divID = "#" + criteria;
$(".main-qualification").before (theHTML_JQ); ajaxProcessAddJQ ("<%= request.getContextPath() %>/extensions/adminportal/inc/job_assessment_criteria_add.jsp", divID, {'CriteriaName' : criteria}, function (theHTML_JQ) {
$(divID).append (theHTML_JQ);
}); });
} }
...@@ -127,127 +130,60 @@ ...@@ -127,127 +130,60 @@
<option>One 3</option> <option>One 3</option>
</select> </select>
</div> </div>
<div class="form-brack-line-sub"></div> <div class="form-brack-line-sub"></div>
<div class="form-group"> <%
<div class="form-medium-title" id="skill-title"> for(CriteriaType criteria : CriteriaType.getCriteriaTypeArray())
Skills {
<% Collection<AssessmentCriteria> assessmentCriterias = job.getAssessmentCriteraByType(criteria);
if(skills.size() == 0) String name = criteria.getName();
{ %>
%> <div class="form-group">
<span class="skill-label">No skills currently added for this role.</span> <div class="form-medium-title" id="<%= name%>">
<% <oneit:toString value="<%= criteria %>" mode="EscapeHTML"/>
}
%>
</div>
<%
for (AssessmentCriteria skill : skills)
{
%>
<oneit:dynInclude page="/extensions/adminportal/inc/job_assessment_criteria_add.jsp" AssessmentCriteria="<%= skill%>"
data="<%= CollectionUtils.EMPTY_MAP%>"/>
<%
}
%>
<div class="main-add-more">
<oneit:button value="Add Skill" name="newSkill" cssClass="add-more-btn" skin="link"
onClick="addCriteria(); return false;"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", secondPage)
.mapEntry("CriteriaType", CriteriaType.SKILL)
.toMap() %>"/>
</div>
</div>
<div class="form-brack-line-sub"></div>
<div class="form-group">
<div class="form-medium-title qualification-title">
Qualification
<%
if(qualifications.size() > 0)
{
%>
<span class="skill-label">
<oneit:toString value="<%= qualifications.size() %>" mode="EscapeHTML"/> Qualification added
</span>
<%
}
else
{
%>
<span class="skill-label">No qualifications currently added for this role.</span>
<%
}
%>
</div>
<%
for (AssessmentCriteria qualification : qualifications)
{
String optionKey = WebUtils.getInputKey(request, qualification, AssessmentCriteria.FIELD_Importance);
String formValue = formBuilder.fieldValue (optionKey, qualification.getImportance() == null ? "" : qualification.getImportance().getName());
%>
<div class="main-qualification">
<span class="delete-qualification"><span></span></span>
<oneit:ormInput obj="<%= qualification %>" type="text" attributeName="Name" cssClass="form-control" />
<% <%
for(Importance importance : Importance.getImportanceArray()) if(assessmentCriterias.size() > 0)
{ {
boolean isSelected = CollectionUtils.equals(formValue, importance.getName());
String id = "importance_" + importance.getName();
String selectedStr = (isSelected) ? "checked" : "";
%> %>
<div class="radio radio-primary qualification-radio"> <span class="skill-label">
<input type="radio" name="<%= optionKey %>" value="<%= importance.getName() %>" id="<%= id %>" <%= selectedStr %>/> <oneit:recalc script="job.getAssessmentCriteraCountByType(criteria)" mode="EscapeHTML" job="<%= job %>" criteria="<%= criteria %>" />
<label for="<%= id %>"><oneit:toString value="<%= importance %>" mode="EscapeHTML" /></label> <oneit:toString value="<%= criteria %>" mode="EscapeHTML"/> added
</div> </span>
<%
}
else
{
%>
<span class="skill-label">No <oneit:toString value="<%= criteria %>" mode="EscapeHTML"/> currently added for this role.</span>
<% <%
} }
%> %>
</div> </div>
<% <div id="skills">
} <%
%> for (AssessmentCriteria assessmentCriteria : assessmentCriterias)
<div class="main-add-more"> {
<oneit:button value="Add Qualification" name="gotoPage" cssClass="add-more-btn" %>
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", firstPage) <oneit:dynInclude page="/extensions/adminportal/inc/job_assessment_criteria_add.jsp" AssessmentCriteria="<%= assessmentCriteria %>"
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).toMap()).toMap() %>"/> CriteriaType="<%= criteria %>"
</div> data="<%= CollectionUtils.EMPTY_MAP%>"/>
</div>
<div class="form-brack-line-sub"></div> <%
<div class="form-group"> }
<div class="form-medium-title"> %>
Experience </div>
<% <div class="main-add-more">
if(experience.size() == 0) <oneit:button value="<%= "Add " + name%>" name="newSkill" cssClass="add-more-btn" skin="link"
{ onClick="<%="addCriteria('" + name + "'); return false;"%>"
%> requestAttribs="<%= CollectionUtils.mapEntry("nextPage", secondPage)
<span class="skill-label">No experience currently added for this role.</span> .mapEntry("CriteriaType", CriteriaType.SKILL)
<% .toMap() %>"/>
} </div>
%> </div>
</div> <div class="form-brack-line-sub"></div>
<div class="main-add-more"> <%
<div class="add-more-btn"><img src="images/plus-img.png"> Add Experience</div> }
</div> %>
</div>
<div class="form-brack-line-sub"></div>
<div class="form-group">
<div class="form-medium-title">
Knowledge
<%
if(knowledge.size() == 0)
{
%>
<span class="skill-label">No knowledge currently added for this role.</span>
<%
}
%>
</div>
<div class="main-add-more">
<div class="add-more-btn"><img src="images/plus-img.png"> Add Experience</div>
</div>
</div>
<div class="form-brack-line-sub"></div>
<div class="form-group"> <div class="form-group">
<div class="save-assess"> <div class="save-assess">
<div class="checkbox checkbox-primary"> <div class="checkbox checkbox-primary">
......
...@@ -6,15 +6,18 @@ ...@@ -6,15 +6,18 @@
<%! protected String getName (ServletConfig config) { return "job_assessment_criteria_add_jsp"; } %> <%! protected String getName (ServletConfig config) { return "job_assessment_criteria_add_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");
AssessmentCriteria criteria = (AssessmentCriteria) getData(request, "AssessmentCriteria"); AssessmentCriteria criteria = (AssessmentCriteria) getData(request, "AssessmentCriteria");
CriteriaType criteriaType = (CriteriaType) getData(request, "CriteriaType");
if(criteria == null) if(criteria == null)
{ {
criteria = AssessmentCriteria.createAssessmentCriteria(objTran); criteria = AssessmentCriteria.createAssessmentCriteria(objTran);
criteriaType = CriteriaType.forName((String) request.getParameter("CriteriaName"));
criteria.setCriteriaType(criteriaType);
job.addToAssessmentCriterias(criteria); job.addToAssessmentCriterias(criteria);
} }
%> %>
......
...@@ -5,7 +5,9 @@ ...@@ -5,7 +5,9 @@
<oneit:dynIncluded> <oneit:dynIncluded>
<% <%
Job job = (Job) process.getAttribute("Job"); ObjectTransaction objTran = (process == null ? ObjectTransaction.getTransaction () : process.getTransaction ());
Job job = (Job) process.getAttribute("Job");
String firstPage = HTTPRequestDetails.getFullURL(WebUtils.getSamePageInRenderMode(request, "Page"), ProcessDecorator.getRequestParameters(request, new String[0]), ""); String firstPage = HTTPRequestDetails.getFullURL(WebUtils.getSamePageInRenderMode(request, "Page"), ProcessDecorator.getRequestParameters(request, new String[0]), "");
String secondPage = HTTPRequestDetails.getFullURL(WebUtils.getSamePageInRenderMode(request, PerformaArticleUtil.ASSESSMENT_CRITERIA), ProcessDecorator.getRequestParameters(request, new String[0]), ""); String secondPage = HTTPRequestDetails.getFullURL(WebUtils.getSamePageInRenderMode(request, PerformaArticleUtil.ASSESSMENT_CRITERIA), ProcessDecorator.getRequestParameters(request, new String[0]), "");
String fourthPage = HTTPRequestDetails.getFullURL(WebUtils.getSamePageInRenderMode(request, PerformaArticleUtil.JOB_MATCH), ProcessDecorator.getRequestParameters(request, new String[0]), ""); String fourthPage = HTTPRequestDetails.getFullURL(WebUtils.getSamePageInRenderMode(request, PerformaArticleUtil.JOB_MATCH), ProcessDecorator.getRequestParameters(request, new String[0]), "");
...@@ -14,189 +16,135 @@ ...@@ -14,189 +16,135 @@
<oneit:form name="editJob" method="post" enctype="multipart/form-data" action="<%= fourthPage %>"> <oneit:form name="editJob" method="post" enctype="multipart/form-data" action="<%= fourthPage %>">
<div class="container-fluid"> <div class="container-fluid">
<h1 class="page-title">Create a job <span class="active-time">(Active for 30 days)</span> </h1> <h1 class="page-title">Create a job <span class="active-time">(Active for 30 days)</span> </h1>
<div class="main-tab-form"> <div class="main-tab-form">
<ul class="nav nav-pills nav-justified"> <ul class="nav nav-pills nav-justified">
<li class="<%= job.jobDetailsCompleted() ? "complate" : ""%>"> <li class="<%= job.jobDetailsCompleted() ? "complate" : ""%>">
<a href="<%= firstPage %>"><span><%= job.jobDetailsCompleted() ? "<img src=\"images/right-mark.png\" />" : "1"%></span> <a href="<%= firstPage %>"><span><%= job.jobDetailsCompleted() ? "<img src=\"images/right-mark.png\" />" : "1"%></span>
Job Detail Job Detail
</a> </a>
</li> </li>
<li class="<%= job.assessmentCompleted() ? "complate" : ""%>"> <li class="<%= job.assessmentCompleted() ? "complate" : ""%>">
<a href="<%= secondPage %>"><span><%= job.assessmentCompleted() ? "<img src=\"images/right-mark.png\" />" : "2"%></span> <a href="<%= secondPage %>"><span><%= job.assessmentCompleted() ? "<img src=\"images/right-mark.png\" />" : "2"%></span>
Assessment Criteria Assessment Criteria
</a> </a>
</li> </li>
<li class="active"> <li class="active">
<a href="#"><span><%= job.cultureCompleted() ? "<img src=\"images/right-mark.png\" />" : "3"%></span> <a href="#"><span><%= job.cultureCompleted() ? "<img src=\"images/right-mark.png\" />" : "3"%></span>
Workplace Culture Workplace Culture
</a> </a>
</li> </li>
<li class="<%= job.jobMatchCompleted() ? "complate" : ""%>"> <li class="<%= job.jobMatchCompleted() ? "complate" : ""%>">
<a href="<%= fourthPage %>"><span><%= job.jobMatchCompleted() ? "<img src=\"images/right-mark.png\" />" : "3"%></span> <a href="<%= fourthPage %>"><span><%= job.jobMatchCompleted() ? "<img src=\"images/right-mark.png\" />" : "3"%></span>
Job Match Assessment Job Match Assessment
</a> </a>
</li> </li>
<li> <li>
<a href="<%= fifthPage %>"><span>5</span> <a href="<%= fifthPage %>"><span>5</span>
Review and Submit Review and Submit
</a> </a>
</li> </li>
</ul> </ul>
</div>
<div class="form-page-area">
<div class="create-job">
<div class="assessment-criteria">
<div class="form-group">
<label class="label-16 work-title">Workplace Culture</label>
<p>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit.
</p>
</div>
<div class="form-group">
<select class="form-control">
<option>Optional: Select previously defined Workplace Culture</option>
<option>One 1</option>
<option>One 2</option>
<option>One 3</option>
</select>
</div>
<div class="form-brack-line-sub"></div>
<%
for(CultureClass culture : CultureClass.getCultureClassArray())
{
%>
<div class="form-group">
<div class="work-belonging">
<oneit:toString value="<%= culture %>" mode="EscapeHTML"/>
</div>
<%
for(CultureElement element : CultureElement.SearchByAll().andCultureClass(new EqualsFilter<>(culture)).search(objTran))
{
%>
<div class="work-radio-title">
<oneit:toString value="<%= element.getDescription() %>" mode="EscapeHTML"/>
</div>
<div class="radio radio-primary workplace-radio">
<input type="radio" name="radio" id="radio11" value="option1" checked>
<label for="radio11">
Teamwork is vital
</label>
</div>
<div class="work-rating">
<div class="rate-background">
<span class="arrow-up-gray"></span>
<span class="rate-label">Rate Importance</span>
<span class="rate-toggle">
<ul class="nav nav-pills nav-justified">
<li><a href="javascript:void(0)">Not Applicable</a></li>
<li class="active"><a href="javascript:void(0)">Desirable</a></li>
<li><a href="javascript:void(0)">Highly Desirable</a></li>
<li><a href="javascript:void(0)">Essential</a></li>
</ul>
</span>
</div>
</div>
<div class="radio radio-primary workplace-radio">
<input type="radio" name="radio" id="radio12" value="option1" checked="">
<label for="radio12">
Some teamwork is involved
</label>
</div>
<div class="radio radio-primary workplace-radio margin-bottom-none">
<input type="radio" name="radio" id="radio13" value="option1" checked="">
<label for="radio13">
Little teamwork is neeeded
</label>
</div>
<%
}
%>
</div>
<div class="form-brack-line-sub"></div>
<%
}
%>
<div class="form-group">
<div class="save-assess">
<div class="checkbox checkbox-primary">
<input id="checkbox2" type="checkbox" checked>
<label for="checkbox2">
Save this Assessment Criteria as a template
</label>
</div>
</div>
</div>
<div class="form-group">
<div class="input-group input-group-lg">
<div class="icon-addon addon-lg">
<input type="text" placeholder="Template Name" class="form-control" id="email">
</div>
<span class="input-group-btn">
<button class="btn btn-primary" type="button">SAVE</button>
</span>
</div>
</div>
<div class="text-center">
<input type="button" class="btn btn-primary top-margin-25" value="Proceed to Job Match" />
</div> </div>
<div class="form-page-area">
<div class="create-job">
<div class="assessment-criteria">
<div class="form-group">
<label class="label-16 work-title">Workplace Culture</label>
<p>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit.
</p>
</div>
<div class="form-group">
<select class="form-control">
<option>Optional: Select previously defined Workplace Culture</option>
<option>One 1</option>
<option>One 2</option>
<option>One 3</option>
</select>
</div>
<div class="form-brack-line-sub"></div>
<div class="form-group">
<div class="work-belonging">Belonging</div>
<div class="work-radio-title">TEAMWORK</div>
<div class="radio radio-primary workplace-radio">
<input type="radio" name="radio" id="radio11" value="option1" checked>
<label for="radio11">
Teamwork is vital
</label>
</div>
<div class="work-rating">
<div class="rate-background">
<span class="arrow-up-gray"></span>
<span class="rate-label">Rate Importance</span>
<span class="rate-toggle">
<ul class="nav nav-pills nav-justified">
<li><a href="javascript:void(0)">Not Applicable</a></li>
<li class="active"><a href="javascript:void(0)">Desirable</a></li>
<li><a href="javascript:void(0)">Highly Desirable</a></li>
<li><a href="javascript:void(0)">Essential</a></li>
</ul>
</span>
</div>
</div>
<div class="radio radio-primary workplace-radio">
<input type="radio" name="radio" id="radio12" value="option1" checked="">
<label for="radio12">
Some teamwork is involved
</label>
</div>
<div class="radio radio-primary workplace-radio margin-bottom-none">
<input type="radio" name="radio" id="radio13" value="option1" checked="">
<label for="radio13">
Little teamwork is neeeded
</label>
</div>
</div>
<div class="form-brack-line-sub"></div>
<div class="form-group">
<div class="work-radio-title">LOYALTY</div>
<div class="radio radio-primary workplace-radio">
<input type="radio" name="radio" id="radio21" value="option1" checked>
<label for="radio21">
We are a very loyal ogranisation to employees
</label>
</div>
<div class="work-rating">
<div class="rate-background">
<span class="arrow-up-gray"></span>
<span class="rate-label">Rate Importance</span>
<span class="rate-toggle">
<ul class="nav nav-pills nav-justified">
<li><a href="javascript:void(0)">Not Applicable</a></li>
<li class="active"><a href="javascript:void(0)">Desirable</a></li>
<li><a href="javascript:void(0)">Highly Desirable</a></li>
<li><a href="javascript:void(0)">Essential</a></li>
</ul>
</span>
</div>
</div>
<div class="radio radio-primary workplace-radio">
<input type="radio" name="radio" id="radio22" value="option1" checked="">
<label for="radio22">
We have normal loyalty here
</label>
</div>
<div class="radio radio-primary workplace-radio margin-bottom-none">
<input type="radio" name="radio" id="radio23" value="option1" checked="">
<label for="radio23">
We do not offer loyalty to employees
</label>
</div>
</div>
<div class="form-brack-line-sub"></div>
<div class="form-group">
<div class="work-radio-title">FRIENDLINESS</div>
<div class="radio radio-primary workplace-radio">
<input type="radio" name="radio" id="radio14" value="option1" checked>
<label for="radio14">
It is important to be friendly
</label>
</div>
<div class="work-rating">
<div class="rate-background">
<span class="arrow-up-gray"></span>
<span class="rate-label">Rate Importance</span>
<span class="rate-toggle">
<ul class="nav nav-pills nav-justified">
<li><a href="javascript:void(0)">Not Applicable</a></li>
<li class="active"><a href="javascript:void(0)">Desirable</a></li>
<li><a href="javascript:void(0)">Highly Desirable</a></li>
<li><a href="javascript:void(0)">Essential</a></li>
</ul>
</span>
</div>
</div>
<div class="radio radio-primary workplace-radio">
<input type="radio" name="radio" id="radio15" value="option1" checked="">
<label for="radio15">
It is somewhat important to be friendly
</label>
</div>
<div class="radio radio-primary workplace-radio margin-bottom-none">
<input type="radio" name="radio" id="radio16" value="option1" checked="">
<label for="radio16">
Select title
</label>
</div>
</div>
<div class="form-brack-line-sub"></div>
<div class="form-group">
<div class="save-assess">
<div class="checkbox checkbox-primary">
<input id="checkbox2" type="checkbox" checked>
<label for="checkbox2">
Save this Assessment Criteria as a template
</label>
</div>
</div>
</div>
<div class="form-group">
<div class="input-group input-group-lg">
<div class="icon-addon addon-lg">
<input type="text" placeholder="Template Name" class="form-control" id="email">
</div> </div>
<span class="input-group-btn">
<button class="btn btn-primary" type="button">SAVE</button>
</span>
</div> </div>
</div> </div>
<div class="text-center"> </div>
<input type="button" class="btn btn-primary top-margin-25" value="Proceed to Job Match" /> </oneit:form>
</div>
</div>
</div>
</div>
</div>
</oneit:form>
</oneit:dynIncluded> </oneit:dynIncluded>
\ 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