Commit 8bb8ef45 by Harsh Shah

Finish Release-20170906

# Conflicts:
#	cmsWebApp/src/performa/utils/Utils.java
#	cmsWebApp/webroot/extensions/adminportal/inc/application_list_data.jsp
#	cmsWebApp/webroot/extensions/adminportal/inc/htmlheader.jsp
#	cmsWebApp/webroot/extensions/adminportal/inc/job_title_bar.jsp
#	cmsWebApp/webroot/extensions/adminportal/inc/view_application_tab_applicant.jsp
#	cmsWebApp/webroot/extensions/adminportal/sign_in.jsp
#	cmsWebApp/webroot/extensions/adminportal/view_applicants_shortlist_grid.jsp
#	cmsWebApp/webroot/extensions/adminportal/view_applicantss_grid.jsp
#	cmsWebApp/webroot/extensions/applicantportal/application_outline.jsp
#	cmsWebApp/webroot/extensions/applicantportal/inc/htmlheader.jsp
#	cmsWebApp/webroot/extensions/applicantportal/job_match_assessment.jsp
#	cmsWebApp/webroot/extensions/applicantportal/job_overview.jsp
#	cmsWebApp/webroot/extensions/applicantportal/selection_criteria.jsp
#	cmsWebApp/webroot/extensions/applicantportal/sign_in.jsp
#	cmsWebApp/webroot/extensions/applicantportal/submit_application.jsp
#	cmsWebApp/webroot/extensions/applicantportal/verify_identity.jsp
#	cmsWebApp/webroot/extensions/applicantportal/workplace_culture.jsp
parents 8b8695e7 dd8ec62e
......@@ -112,7 +112,7 @@ public class Candidate extends BaseCandidate
public boolean assessmentCompleted(Job job) //role
{
int allAnswersCount = job.getAllLeftQuestions(Arrays.asList(Question.searchAll(getTransaction()))).size();
int allAnswersCount = job.getAllQuestions().size();
if(allAnswersCount > 0)
{
......
......@@ -14,7 +14,7 @@ import oneit.utils.filter.CollectionFilter;
import oneit.utils.filter.Filter;
import oneit.utils.parsers.FieldException;
import performa.orm.types.*;
import performa.utils.Utils;
import performa.utils.*;
public class Job extends BaseJob
......@@ -101,28 +101,55 @@ public class Job extends BaseJob
return super.getWriteability_JobStatus();
}
public Boolean jobDetailsCompleted()
{
return getJobTitle() != null && getJobDescription() != null;
}
public Boolean assessmentCompleted()
public void calculateRoleFitForRanking() throws FieldException
{
return Boolean.TRUE;
if(!isTrue(getRankingCompleted()))
{
//Preloading data
pipelineJob().toJobApplications().toCandidate().toTestAnalysises().toCandidateClassScores().uniqueVals();
pipelineJob().toJobApplications().toCandidate().toCultureCriteriaAnswers().toSelectedQuestion().toNarratives().toCultureElementRating().uniqueVals();
pipelineJob().toJobApplications().toCandidate().toCultureCriteriaAnswers().toCultureElement().uniqueVals();
pipelineJob().toLevel().toLevelClassCriterias().toFactorClass().uniqueVals();
pipelineJob().toLevel().toClassNormalisations().uniqueVals();
pipelineJob().toLevel().toLevelNormalisations().uniqueVals();
List<JobApplication> sortedApplications = ObjstoreUtils.sort(getSubmittedApplications(),
new ObjectTransform[]{JobApplicationRoleFitTransform.INSTANCE, JobApplicationCultureFitTransform.INSTANCE},
new Comparator[]{CollectionUtils.reverse(CollectionUtils.DEFAULT_COMPARATOR), CollectionUtils.reverse(CollectionUtils.DEFAULT_COMPARATOR)});
for(JobApplication jobApplication : getSubmittedApplications())
{
jobApplication.setOverallRank(sortedApplications.indexOf(jobApplication) + 1);
}
}
setRankingCompleted(true);
}
public Boolean cultureCompleted()
public JobApplication getTopper()
{
return Boolean.FALSE;
try
{
calculateRoleFitForRanking();
}
catch(FieldException ex)
{
return null;
}
List<JobApplication> sortedApplications = ObjstoreUtils.sort(getSubmittedApplications(),
new ObjectTransform[]{JobApplicationRoleFitTransform.INSTANCE},
new Comparator[]{CollectionUtils.reverse(CollectionUtils.DEFAULT_COMPARATOR)});
if(sortedApplications.size() > 0)
{
return sortedApplications.get(0);
}
return null;
}
public Boolean jobMatchCompleted()
public Boolean jobDetailsCompleted()
{
return Boolean.TRUE;
return getJobTitle() != null && getJobDescription() != null;
}
......@@ -139,6 +166,15 @@ public class Job extends BaseJob
return getAssessmentCriteraByType(criteria).size();
}
public List<Question> getAllQuestions()
{
return Arrays.asList(Question.searchAll(getTransaction()));
}
public List<Question> getAllLeftQuestions()
{
return getAllLeftQuestions(getAllQuestions());
}
//to get only left Questions
public List<Question> getAllLeftQuestions(List<Question> totalQuestions)
......
......@@ -23,6 +23,7 @@
<TRANSIENT name="AssessmentTemplateName" type="String"/>
<TRANSIENT name="CultureTemplateName" type="String"/>
<TRANSIENT name="AppProcessOption" type="AppProcessOption" attribHelper="EnumeratedAttributeHelper"/>
<TRANSIENT name="RankingCompleted" type="Boolean" />
<TRANSIENTSINGLE name="AssessmentTemplate" type="AssessmentCriteriaTemplate" />
<TRANSIENTSINGLE name="CultureTemplate" type="CultureCriteriaTemplate" />
......
package performa.orm;
import java.util.*;
import oneit.logging.LoggingArea;
import oneit.objstore.StorageException;
import oneit.logging.*;
import oneit.objstore.*;
import oneit.objstore.rdbms.filters.EqualsFilter;
import oneit.objstore.rdbms.filters.IsNotNullFilter;
import oneit.objstore.rdbms.filters.NotEqualsFilter;
import oneit.utils.*;
import oneit.utils.filter.CollectionFilter;
import oneit.utils.filter.Filter;
import oneit.utils.math.NullArith;
......@@ -36,7 +37,22 @@ public class JobApplication extends BaseJobApplication
return jobApplication;
}
@Override
public void validate(ValidationContext context)
{
try
{
//Ideally should be managed with uniqueGroup, but uniqueGroup doesnt work without atleast 1 attribute
searchCandidateJob(getTransaction(), getCandidate(), getJob()); //It will throw RuntimeException when more than 1 record found.
}
catch(RuntimeException ex)
{
context.check(false, this, SINGLEREFERENCE_Job, "alreadyApplied");
}
super.validate(context);
}
public boolean createAssessmentCriteriaObjects() throws FieldException
{
......@@ -220,33 +236,99 @@ public class JobApplication extends BaseJobApplication
{
return getJob() != null && isTrue(getJob().getIncludeAssessmentCriteria());
}
// TODO: Fix these hard coded values
@Override
public Integer getOverallSuitability()
public Map getRoleFit()
{
return 1;
if(super.getRoleFit() == null && getCandidate() != null && getJob() != null && getJob().getLevel() != null)
{
try
{
setRoleFit(AnalysisEngine.getRoleFitSuitability(getCandidate(), getJob().getLevel()));
}
catch (FieldException ex)
{
LogMgr.log(LOG, LogLevel.PROCESSING1, ex, "Error occured when setting RoleFit for " + this);
}
}
return super.getRoleFit();
}
public Double getJobMatchPercentage() //ROLE
@Override
public Map getCultureFit()
{
return AnalysisEngine.getRoleFitSuitability(getCandidate(), getJob().getLevel()).get(null);
if(super.getCultureFit() == null && getCandidate() != null && getJob() != null && getJob().getLevel() != null)
{
try
{
setCultureFit(AnalysisEngine.getCultureFit(getCandidate().getCultureCriteriaAnswersSet(), getJob()));
}
catch (FieldException ex)
{
LogMgr.log(LOG, LogLevel.PROCESSING1, ex, "Error occured when setting CultureFit for " + this);
}
}
return super.getCultureFit();
}
@Override
public Map getRequirementFit()
{
if(super.getRequirementFit() == null)
{
try
{
setRequirementFit(AnalysisEngine.getRequirementFit(getAssessmentCriteriaAnswersSet()));
}
catch (FieldException ex)
{
LogMgr.log(LOG, LogLevel.PROCESSING1, ex, "Error occured when setting RequirementFit for " + this);
}
}
return super.getRequirementFit();
}
@Override
public Integer getOverallRank()
{
if(getJob() != null)
{
try
{
getJob().calculateRoleFitForRanking();
}
catch (FieldException ex)
{
LogMgr.log(LOG, LogLevel.PROCESSING1, ex, "Error occured when setting OverallRank for " + this);
}
}
return super.getOverallRank();
}
public int getCulturePercentage()
public Double getRoleFitScore()
{
return AnalysisEngine.getCultureFit(getCandidate().getCultureCriteriaAnswersSet(), getJob()).get(null).intValue();
return getRoleFit() != null ? (Double)getRoleFit().get(null) : 0d;
}
public Long getCultureFitScore()
{
return getCultureFit() != null ? (Long) getCultureFit().get(null) : 0;
}
public int getCriteriaPercentage () //REQ
public Long getRequirementFitScore()
{
return AnalysisEngine.getRequirementFit(getAssessmentCriteriaAnswersSet()).get(null).intValue();
return getRequirementFit() != null ? (Long) getRequirementFit().get(null) : 0;
}
//This will return relative percentage considering topper as 100%
public Double getRoleFitPercentage()
{
JobApplication jobTopper = getJob() != null ? getJob().getTopper() : null;
Double myScore = getRoleFitScore();
Double topScore = jobTopper.getRoleFitScore();
return NullArith.round(NullArith.divide(NullArith.multiply(myScore, 100), topScore), 2);
}
public List<AppProcessOption> getValidProcessOptions()
{
......@@ -323,7 +405,7 @@ public class JobApplication extends BaseJobApplication
int remainingTime = 0;
//REQ
if(getJob()!=null && getJob().getIncludeAssessmentCriteria()==Boolean.TRUE)
if(getJob()!=null && isTrue(getJob().getIncludeAssessmentCriteria()))
{
if(!selectionCompleted())
{
......@@ -359,7 +441,7 @@ public class JobApplication extends BaseJobApplication
}
else //partially completed test for role
{
int allAnswersCount = getJob().getAllLeftQuestions(Arrays.asList(Question.searchAll(getTransaction()))).size();
int allAnswersCount = getJob().getAllQuestions().size();
if(allAnswersCount > 0)
{
......@@ -374,7 +456,12 @@ public class JobApplication extends BaseJobApplication
}
}
}
return remainingTime;
}
@Override
public boolean filterCandidateJob(Candidate candidate, Job job) throws StorageException
{
return (CollectionUtils.equals(candidate, getCandidate()) && CollectionUtils.equals(job, getJob()));
}
}
\ No newline at end of file
......@@ -8,7 +8,10 @@
<MULTIPLEREFERENCE name="AssessmentCriteriaAnswers" type="AssessmentCriteriaAnswer" backreferenceName="JobApplication" />
<TRANSIENT name="AppProcessOption" type="AppProcessOption" attribHelper="EnumeratedAttributeHelper"/>
<TRANSIENT name="OverallSuitability" type="Integer"/>
<TRANSIENT name="OverallRank" type="Integer" />
<TRANSIENT name="RoleFit" type="Map" attribHelper="BLOBAttributeHelper" attribHelperInstance="BLOBAttributeHelper.INSTANCE"/>
<TRANSIENT name="RequirementFit" type="Map" attribHelper="BLOBAttributeHelper" attribHelperInstance="BLOBAttributeHelper.INSTANCE"/>
<TRANSIENT name="CultureFit" type="Map" attribHelper="BLOBAttributeHelper" attribHelperInstance="BLOBAttributeHelper.INSTANCE"/>
<TABLE name="tl_job_application" tablePrefix="object" polymorphic="FALSE">
......@@ -23,7 +26,7 @@
<SEARCH type="All" paramFilter="tl_job_application.object_id is not null" orderBy="tl_job_application.object_id" />
<SEARCH type="CandidateJob" paramFilter="tl_job_application.object_id is not null" singleton="TRUE">
<SEARCH type="CandidateJob" paramFilter="tl_job_application.object_id is not null" singleton="TRUE" checkTXObjects="TRUE">
<PARAM name="Candidate" type="Candidate" transform="Candidate.getObjectID()" paramFilter="candidate_id = ${Candidate} " />
<PARAM name="Job" type="Job" transform="Job.getObjectID()" paramFilter="job_id = ${Job}" />
</SEARCH>
......
package performa.utils;
import oneit.utils.ObjectTransform;
import performa.orm.JobApplication;
/**
*
* @author Harsh
*/
public class JobApplicationCultureFitTransform implements ObjectTransform<JobApplication, Long>
{
public static final JobApplicationCultureFitTransform INSTANCE = new JobApplicationCultureFitTransform();
@Override
public Long transform(JobApplication original)
{
if(original == null)
{
return null;
}
return original.getCultureFitScore();
}
}
\ No newline at end of file
package performa.utils;
import oneit.utils.ObjectTransform;
import performa.orm.JobApplication;
/**
*
* @author Harsh
*/
public class JobApplicationRoleFitTransform implements ObjectTransform<JobApplication, Double>
{
public static final JobApplicationRoleFitTransform INSTANCE = new JobApplicationRoleFitTransform();
@Override
public Double transform(JobApplication original)
{
if(original == null)
{
return null;
}
return original.getRoleFitScore();
}
}
\ No newline at end of file
......@@ -3,6 +3,7 @@ package performa.utils;
import java.util.*;
import javax.activation.DataSource;
import javax.servlet.http.*;
import oneit.appservices.config.ConfigMgr;
import oneit.email.ConfigurableArticleTemplateEmailer;
import oneit.email.ConfigurableEmailerException;
import oneit.logging.LogLevel;
......@@ -56,7 +57,8 @@ public class Utils
public static final String LEVEL_SALES = "Sales";
public static final String LEVEL_MANAGEMENT = "Management";
public static final String LEVEL_EXECUTIVE = "Executive";
public static final String HEAP_ANALYSIS_ID = ConfigMgr.getKeyfileString("heap.analysis.id", "3411110378");
public static Role getRole(String role, ObjectTransaction transaction)
{
return Role.SearchByNAME().byName(role).search(transaction);
......@@ -251,17 +253,17 @@ public class Utils
if(appSortOption==AppSortOption.OLDEST)
{
transform = JobApplication.pipesJobApplication().toSubmittedDate();
comparator = CollectionUtils.DEFAULT_COMPARATOR;
comparator = CollectionUtils.DEFAULT_COMPARATOR_NULLS_FIRST;
}
else if(appSortOption==AppSortOption.NEWEST)
{
transform = JobApplication.pipesJobApplication().toSubmittedDate();
comparator = CollectionUtils.reverse(CollectionUtils.DEFAULT_COMPARATOR);
comparator = CollectionUtils.reverse(CollectionUtils.DEFAULT_COMPARATOR_NULLS_FIRST);
}
else if(appSortOption==AppSortOption.RANK)
{
transform = JobApplication.pipesJobApplication().toOverallSuitability();
comparator = CollectionUtils.reverse(CollectionUtils.DEFAULT_COMPARATOR);
transform = JobApplication.pipesJobApplication().toOverallRank();
comparator = CollectionUtils.DEFAULT_COMPARATOR_NULLS_FIRST;
}
else if(appSortOption==AppSortOption.ALPHA_A_Z)
{
......@@ -275,8 +277,8 @@ public class Utils
}
return ObjstoreUtils.sort( Arrays.asList(applications),
new ObjectTransform[]{transform},
new Comparator[]{comparator});
new ObjectTransform[]{transform},
new Comparator[]{comparator});
}
......
......@@ -29,9 +29,9 @@
for(JobApplication jobApplication : applications)
{
String jobMatch = FormatUtils.stringify(jobApplication.getJobMatchPercentage(), "PercentageWholeNumber", "0");
String culture = FormatUtils.stringify(jobApplication.getCulturePercentage(), "PercentageWholeNumber", "0");
String criteria = FormatUtils.stringify(jobApplication.getCriteriaPercentage(), "PercentageWholeNumber", "0");
String roleFit = FormatUtils.stringify(jobApplication.getRoleFitPercentage(), "PercentageTwoDP", "0");
String culture = FormatUtils.stringify(jobApplication.getCultureFitScore(), "PercentageWholeNumber", "0");
String criteria = FormatUtils.stringify(jobApplication.getRequirementFitScore(), "PercentageWholeNumber", "0");
String appID = "app-id-" + jobApplication.getID().toString();
%>
<div class="appli-row" id="<%= jobApplication.getID() %>">
......@@ -55,7 +55,7 @@
</div>
<!--TODO: logic needed to be worked out. Added to note that there are three colors-->
<div class="<%= "appli-percent-no " + (j == 0 ? "first green" : (j < 3 ? "blue" : "grey" ))%>">
<oneit:toString value="<%= jobApplication.getOverallSuitability() %>" mode="Integer" />
<oneit:toString value="<%= jobApplication.getOverallRank() %>" mode="Integer" />
</div>
</div>
<%
......@@ -69,8 +69,8 @@
<div class="<%= widthClass %> appli-l eq-second-height">
<span class="appli-view-bar">
<div class="progress">
<div class="progress-bar" role="progressbar" aria-valuenow="<%= jobMatch %>" aria-valuemin="0" aria-valuemax="100"
style="<%= "width: " + jobMatch %>">
<div class="progress-bar" role="progressbar" aria-valuenow="<%= roleFit %>" aria-valuemin="0" aria-valuemax="100"
style="<%= "width: " + roleFit %>">
</div>
</div>
</span>
......
......@@ -11,6 +11,8 @@
<title><%= "Talentology" + (company != null ? " - " + company.getCompanyName() : "")%></title>
<%@include file="/inc/std_imports.jsp" %>
<%@include file="/hotjar.jsp" %>
<%@include file="/heapAnalysis.jsp" %>
</head>
<script>
window.intercomSettings = {
......@@ -107,7 +109,6 @@
}
});
</script>
<%
}
%>
......@@ -35,15 +35,16 @@
</div>
<div class="off-name">
<span class="austr-post">
<%
if(job.isClientAvailable())
{
%>
<oneit:toString value="<%= job.getClient() %>" mode="EscapeHTML" />
<%
}
%>
</span> by <oneit:toString value="<%= job.getCompanyUser() %>" mode="EscapeHTML" nullValue=""/><span class="ex-management">&bull;&nbsp;
<%
if(job.isClientAvailable())
{
%>
<oneit:toString value="<%= job.getClient() %>" mode="EscapeHTML" />
<%
}
%>
</span> by <oneit:toString value="<%= job.getCompanyUser() %>" mode="EscapeHTML" nullValue=""/>
<span class="ex-management">&bull;&nbsp;
<oneit:toString value="<%= job.getLevel() %>" mode="EscapeHTML" />
</span>
</div>
......
......@@ -14,7 +14,7 @@
<oneit:dynIncluded>
<%
Map<FactorClass, Double> roleScoreMap = AnalysisEngine.getRoleFitSuitability(candidate, job.getLevel());
Map<FactorClass, Double> roleScoreMap = (Map<FactorClass, Double>)jobApplication.getRoleFit();
%>
<script>
function tabToggle(tab) {
......@@ -73,14 +73,14 @@
<div class="applicant-progress">
<div class="<%= job.getIncludeAssessmentCriteria()==Boolean.TRUE ? "col-sm-4" : "col-sm-6" %> col-xs-12 text-center" href="#1a" data-toggle="tab" id="progress1" onClick="tabToggle('#tab1')">
<label class="progress-label">role fit</label>
<div class="percent-green fixed-width">
<p style="display:none;"><oneit:toString value="<%= roleScoreMap.get(null) %>" mode="TwoDPDouble" nullValue="0"/></p>
<div class="percent-role fixed-width">
<p style="display:none;"><oneit:toString value="<%= jobApplication.getRoleFitScore() %>" mode="TwoDPDouble" nullValue="0"/></p>
</div>
</div>
<div class="<%= job.getIncludeAssessmentCriteria()==Boolean.TRUE ? "col-sm-4" : "col-sm-4" %> col-xs-12 text-center" href="#2a" data-toggle="tab" id="progress2" onClick="tabToggle('#tab2')">
<label class="progress-label">culture fit</label>
<div class="percent-green fixed-width">
<p style="display:none;"><oneit:toString value="<%= jobApplication.getCulturePercentage() %>" mode="PercentageWholeNumber" /></p>
<div class="percent-culture fixed-width">
<p style="display:none;"><oneit:toString value="<%= jobApplication.getCultureFitScore() %>" mode="PercentageWholeNumber" /></p>
</div>
</div>
<%
......@@ -89,8 +89,8 @@
%>
<div class="col-sm-4 col-xs-12 text-center" href="#3a" data-toggle="tab" id="progress3" onClick="tabToggle('#tab3')">
<label class="progress-label">requirements</label>
<div class="percent-blue fixed-width">
<p style="display:none;"><oneit:toString value="<%= jobApplication.getCriteriaPercentage() %>" mode="PercentageWholeNumber" /></p>
<div class="percent-req fixed-width">
<p style="display:none;"><oneit:toString value="<%= jobApplication.getRequirementFitScore() %>" mode="PercentageWholeNumber" /></p>
</div>
</div>
<%
......@@ -109,7 +109,7 @@
<%
}
%>
<li id="tab4"><a href="#4a" data-toggle="tab">areas of concern</a></li>
<li id="tab4" style="display: none"><a href="#4a" data-toggle="tab">areas of concern</a></li>
</ul>
<div class="tab-content clearfix">
<div class="tab-pane active" id="1a">
......@@ -177,7 +177,7 @@
</div>
<div class="tab-pane" id="2a">
<%
Map<CultureClass, Long> cultureFitData = AnalysisEngine.getCultureFit(candidate.getCultureCriteriaAnswersSet(), job);
Map<CultureClass, Long> cultureFitData = (Map<CultureClass, Long>)jobApplication.getCultureFit();
for(CultureClass cClass: cultureFitData.keySet())
{
......@@ -254,7 +254,7 @@
%>
<div class="tab-pane" id="3a">
<%
Map<Importance, Long> requirementFitData = AnalysisEngine.getRequirementFit(jobApplication.getAssessmentCriteriaAnswersSet());
Map<Importance, Long> requirementFitData = (Map<Importance, Long>)jobApplication.getRequirementFit();
for(Importance importance: requirementFitData.keySet())
{
......@@ -338,7 +338,7 @@
<div class="app-right-b">
<div class="overall-suit">overall rank</div>
<div class="big-percentage">
<oneit:toString value="<%= jobApplication.getOverallSuitability() %>" mode="Integer" />
<oneit:toString value="<%= jobApplication.getOverallRank() %>" mode="Integer" />
</div>
</div>
<div class="applicant-contact-info">
......
<?xml version="1.0" encoding="UTF-8"?>
<!-- @AutoRun -->
<OBJECTS xmlns:oneit="http://www.1iT.com.au" name="">
<NODE factory="Vector" name="Script"><NODE class="oneit.appservices.upgrade.cms.CMSArticleUpdateOperation" factory="Participant" name="Home">
<createSpecificIdentifier factory='String' value='HOME'/>
<articleIdentifiers factory="Array" class="java.lang.String">
<NODE factory="String" value="HOME"/>
</articleIdentifiers>
<createdLabel factory="String" value="HOME"/>
<articleAttributeChanges factory="Map">
<NODE name="Additional CSS Class" factory="Null"/>
<NODE name="Exclude From Sitemap" factory="Boolean" value="false"/>
<NODE name="Exclude from SEO Indexing" factory="Boolean" value="false"/>
<NODE name="Add Brackline Separator" factory="Boolean" value="false"/>
<NODE name="On Top Menu" factory="Boolean" value="false"/>
<NODE name="On Footer Left" factory="Boolean" value="false"/>
<NODE name="Menu Title" factory="Null"/>
<NODE name="On Footer Menu" factory="Boolean" value="false"/>
<NODE name="OnLeftMenu" factory="Boolean" value="false"/>
<NODE name="Exclude From Search" factory="Boolean" value="false"/>
<NODE name="Target" factory="String" value="YRZCOYGLDTAG02BK7VK4TXHJIZF3ZS"/>
<NODE name="Menu Icon CSS" factory="Null"/>
<NODE name="On Left Menu" factory="Boolean" value="false"/>
<NODE name="Shortcuts" factory="Null"/>
<NODE name="Exclude From Navigation" factory="Boolean" value="false"/>
<NODE name="On Footer Right" factory="Boolean" value="false"/>
</articleAttributeChanges>
<ormAttributeChanges factory="Map">
<NODE name="PublishDate" factory="Date" value="2000-01-01 00:00:00"/>
<NODE name="WithdrawDate" factory="Date" value="3000-01-01 00:00:00"/>
<NODE name="Title" factory="String" value="Home"/>
<NODE name="ShortTitle" factory="String" value="Home"/>
<NODE name="SortOrder" factory="Integer" value="-36831027"/>
<NODE name="Type" factory="Enumerated" class="oneit.business.content.ArticleType" value="ARTICLE"/>
<NODE name="Template" factory="Enumerated" class="oneit.business.content.ArticleTemplate" value="INTERNAL_LINK"/>
</ormAttributeChanges>
<content factory="Map"> <NODE name="Body" factory="Map">
<NODE name="Content" factory="String"><![CDATA[<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
<link type="text/css" rel="stylesheet" href="css/cms_style.css">
</head>
<body class="CMS_GENERIC_EDITOR CMS_${oneit.Template} CMS_${oneit.Template}_${oneit.ContentType} CMS_${oneit.ContentType}">
<p>This is some content that should sit within the Home page.</p>
<br>
</body>
</html>
]]></NODE>
<NODE name="TransformedContent" factory="String"><![CDATA[<p>This is some content that should sit within the Home page.</p>
<br>
]]></NODE>
<NODE name="IncludeContent" factory="Boolean" value="true"/>
</NODE>
<NODE name="Synopsis" factory="Map">
<NODE name="Content" factory="String"><![CDATA[
<html>
<head>
<meta name='author' content='Cougar Content by 1iT www.1it.com.au'>
<link href="css/cms_style.css" rel="stylesheet" type="text/css">
</head>
<body>
<p>
</p>
<br>
</body>
</html>
]]></NODE>
<NODE name="IncludeContent" factory="Boolean" value="true"/>
</NODE>
</content>
</NODE>
</NODE>
</OBJECTS>
\ No newline at end of file
......@@ -114,7 +114,7 @@
Candidate candidate = jobApplication.getCandidate();
String appID = "app-id-" + jobApplication.getID().toString();
Map<FactorClass, Double> roleScoreMap = AnalysisEngine.getRoleFitSuitability(candidate, job.getLevel());
Map<FactorClass, Double> roleScoreMap = (Map<FactorClass, Double>)jobApplication.getRoleFit();
%>
<div class="<%= "appl-c-box " + (i == 0 ? " cb-one" : "")%> ">
<!--TODO: need to work on the logic. just added to demonstrate that there are 3 different colors for this-->
......@@ -135,14 +135,14 @@
<div class="overall-suitablity grid-suitability">
<!--TODO: need to work on the logic. just added to demonstrate that there are 3 different colors for this-->
<div class="<%= "over-all " + (i == 0 ? "f-60 green" : (i < 3 ? "blue" : "gray"))%>">
<oneit:toString value="<%= jobApplication.getOverallSuitability() %>" mode="Integer" />
<oneit:toString value="<%= jobApplication.getOverallRank() %>" mode="Integer" />
</div>
<div class="<%= "overall " + (i == 0 ? "f-60" : "")%>">overall rank</div>
</div>
<div class="jcc-box">
<div class="job-match jcc">
<img src="images/app-job-match-icon.svg"> Role fit
<span><oneit:toString value="<%= jobApplication.getJobMatchPercentage() %>" mode="TwoDPDouble" /></span>
<span><oneit:toString value="<%= jobApplication.getRoleFitScore() %>" mode="TwoDPDouble" /></span>
</div>
<div class="detail-box">
<%
......@@ -168,13 +168,13 @@
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicationPage)
.mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).toMap())
.toMap() %>">
<oneit:toString value="<%= jobApplication.getCulturePercentage() %>" mode="WholeNumber" />
<oneit:toString value="<%= jobApplication.getCultureFitScore() %>" mode="WholeNumber" />
</oneit:button>
</span>
</div>
<div class="detail-box">
<%
Map<CultureClass, Long> cultureFitData = AnalysisEngine.getCultureFit(candidate.getCultureCriteriaAnswersSet(), job);
Map<CultureClass, Long> cultureFitData = (Map<CultureClass, Long>)jobApplication.getCultureFit();
for(CultureClass cClass: cultureFitData.keySet())
{
......@@ -191,43 +191,43 @@
}
%>
</div>
<%
if(job.getIncludeAssessmentCriteria()==Boolean.TRUE)
{
%>
<div class="jcc">
<img src="images/criteria-icon.svg"> Requirements
<span>
<oneit:button value=" " name="gotoPage" skin="link"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicationPage)
.mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).toMap())
.toMap() %>">
<oneit:toString value="<%= jobApplication.getCriteriaPercentage() %>" mode="WholeNumber" />
</oneit:button>
</span>
</div>
<div class="detail-box">
<%
Map<Importance, Long> requirementFitData = AnalysisEngine.getRequirementFit(jobApplication.getAssessmentCriteriaAnswersSet());
<%
if(job.getIncludeAssessmentCriteria()==Boolean.TRUE)
{
%>
<div class="jcc">
<img src="images/criteria-icon.svg"> Requirements
<span>
<oneit:button value=" " name="gotoPage" skin="link"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicationPage)
.mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).toMap())
.toMap() %>">
<oneit:toString value="<%= jobApplication.getRequirementFitScore() %>" mode="WholeNumber" />
</oneit:button>
</span>
</div>
<div class="detail-box">
<%
Map<Importance, Long> requirementFitData = (Map<Importance, Long>)jobApplication.getRequirementFit();
for(Importance importance: requirementFitData.keySet())
{
if(importance==null)
{
continue;
}
%>
<div class="detail-row">
<div class="detail-label"><oneit:toString value="<%= importance %>" mode="EscapeHTML"/></div>
<div class="detail-no green"><oneit:toString value="<%= requirementFitData.get(importance) %>" mode="WholeNumber" /></div>
</div>
<%
}
%>
</div>
<%
}
%>
for(Importance importance: requirementFitData.keySet())
{
if(importance==null)
{
continue;
}
%>
<div class="detail-row">
<div class="detail-label"><oneit:toString value="<%= importance %>" mode="EscapeHTML"/></div>
<div class="detail-no green"><oneit:toString value="<%= requirementFitData.get(importance) %>" mode="WholeNumber" /></div>
</div>
<%
}
%>
</div>
<%
}
%>
</div>
</oneit:button>
</div>
......
......@@ -134,7 +134,7 @@
<div class="overall-suitablity">
<div class="<%= "overall " + (index == 0 ? "f-60" : "")%>">overall rank</div>
<div class="<%= "over-all " + (index == 0 ? "f-60 green" : (index < 3 ? "blue" : "gray"))%> ">
<oneit:toString value="<%= jobApplication.getOverallSuitability() %>" mode="Integer" />
<oneit:toString value="<%= jobApplication.getOverallRank() %>" mode="Integer" />
</div>
</div>
<div class="jcc-box">
......@@ -145,7 +145,7 @@
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicationPage)
.mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).toMap())
.toMap() %>">
<oneit:toString value="<%= jobApplication.getJobMatchPercentage() %>" mode="TwoDPDouble" />
<oneit:toString value="<%= jobApplication.getRoleFitScore() %>" mode="TwoDPDouble" />
</oneit:button>
</span>
</div>
......@@ -156,7 +156,7 @@
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicationPage)
.mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).toMap())
.toMap() %>">
<oneit:toString value="<%= jobApplication.getCulturePercentage() %>" mode="WholeNumber" />
<oneit:toString value="<%= jobApplication.getCultureFitScore() %>" mode="WholeNumber" />
</oneit:button>
</span>
</div>
......@@ -171,7 +171,7 @@
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", applicationPage)
.mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).toMap())
.toMap() %>">
<oneit:toString value="<%= jobApplication.getCriteriaPercentage() %>" mode="WholeNumber" />
<oneit:toString value="<%= jobApplication.getRequirementFitScore() %>" mode="WholeNumber" />
</oneit:button>
</span>
</div>
......
......@@ -27,7 +27,18 @@
<script type="text/javascript">
$(document).ready(function()
{
$('.percent-green').percentageLoader({
$('.percent-role').percentageLoader({
valElement: 'p',
strokeWidth: 20,
bgColor: '#e5e8eb',
ringColor: '#67b413',
textColor: '#67b413',
fontSize: '30px',
fontWeight: 'normal',
showPercent: false
});
$('.percent-culture').percentageLoader({
valElement: 'p',
strokeWidth: 20,
bgColor: '#e5e8eb',
......@@ -37,7 +48,7 @@
fontWeight: 'normal'
});
$('.percent-blue').percentageLoader({
$('.percent-req').percentageLoader({
valElement: 'p',
strokeWidth: 20,
bgColor: '#e5e8eb',
......@@ -51,11 +62,13 @@
<oneit:form name="jobApplication" method="post" enctype="multipart/form-data">
<div class="dashboard-content-area first-part">
<oneit:dynInclude page="/extensions/adminportal/inc/job_title_bar.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
</div>
<div class="dashboard-content-area second-part v-applicant-area">
<oneit:dynInclude page="/extensions/adminportal/inc/view_application_tab_applicant.jsp" data="<%= CollectionUtils.EMPTY_MAP %>"/>
<div class="dashboard-content-area">
<div class="first-part">
<oneit:dynInclude page="/extensions/adminportal/inc/job_title_bar.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
</div>
<div class="second-part v-applicant-area">
<oneit:dynInclude page="/extensions/adminportal/inc/view_application_tab_applicant.jsp" data="<%= CollectionUtils.EMPTY_MAP %>"/>
</div>
</div>
</oneit:form>
......
......@@ -121,11 +121,7 @@
%>
</div>
<p>
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.
We'll ask you if you have certain skills, qualifications, knowledge, or experience that are somehow important to do this job.
</p>
</div>
<%
......@@ -153,11 +149,9 @@
%>
</div>
<p>
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.
A job isn't just about what one does, but the environment where one does it.
This questionnaire will help us both learn what's most important to you in a workplace environment.
There are no right or wrong answers, so please choose what best fits you (not what you think might be right for a particular job).
</p>
</div>
<div class="<%= (job.getIncludeAssessmentCriteria() ? "col-sm-4 " : "col-sm-6 app-thired-block " ) + "col-xs-12 app-block eq-height last-border"%>">
......@@ -182,11 +176,9 @@
%>
</div>
<p>
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.
Each of us has preferences and beliefs - and motivations - about the work that we do or seek.
It's not really about what we're good at doing, but what's right for us... what "fits".
Just like with the workplace preferences questionnaire, there are no right or wrong answers, so please choose what best fits you.
</p>
</div>
</div>
......
......@@ -23,6 +23,8 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge"></meta>
<meta name="viewport" content="width=device-width, initial-scale=1"></meta>
<title><%= job != null ? job.getPageTitle() : "Talentology" %></title>
<%@include file="/hotjar.jsp" %>
<%@include file="/heapAnalysis.jsp" %>
</head>
<body>
......@@ -20,7 +20,7 @@
if(totalQuestions == null)
{
totalQuestions = Arrays.asList(Question.searchAll(transaction));
totalQuestions = job.getAllQuestions();
process.setAttribute("TotalQuestions", totalQuestions);
}
......@@ -90,15 +90,15 @@
<div class="main-application-outline">
<div class="selection-aust-logo">
<%
if(job.isClientLogoAvailable())
{
int logoWidth = 45;
%>
<tagfile:img src="<%= ThumbnailUtils.filterImage(DiskFileBinaryContent.getRelativeURL(job.getClient().getClientLogo()), "KEEP", new ScaleWithin (logoWidth, 0)) %>" />
<%
}
%>
<%
if(job.isClientLogoAvailable())
{
int logoWidth = 45;
%>
<tagfile:img src="<%= ThumbnailUtils.filterImage(DiskFileBinaryContent.getRelativeURL(job.getClient().getClientLogo()), "KEEP", new ScaleWithin (logoWidth, 0)) %>" />
<%
}
%>
<span><oneit:toString value="<%= job.getJobTitle() %>" mode="EscapeHTML"/></span>
<div class="clearfix no-height"></div>
</div>
......@@ -143,8 +143,8 @@
<p>Using the scale given, indicate how important to you are the following aspects in your work life. Use the following system:</p>
<ul class="security-level">
<li><span>1</span> means of very little importance to you</li>
<li><span><oneit:toString value="<%= maxRating %>" mode="EscapeHTML"/></span> means about average in importance to you</li>
<li><span><oneit:toString value="<%= midRating %>" mode="EscapeHTML"/></span> means of high importance to you</li>
<li><span><oneit:toString value="<%= midRating %>" mode="EscapeHTML"/></span> means about average in importance to you</li>
<li><span><oneit:toString value="<%= maxRating %>" mode="EscapeHTML"/></span> means of high importance to you</li>
</ul>
<p>Use the other numbers (<oneit:toString value="<%= otherRating %>" mode="EscapeHTML"/>) to indicate in-between levels of importance to you.</p>
</div>
......
......@@ -28,17 +28,17 @@
</style>
<div class="main-position-overview">
<%
if(job.isClientLogoAvailable())
{
int logoWidth = 45;
%>
<%
if(job.isClientLogoAvailable())
{
int logoWidth = 45;
%>
<div class="aust-logo">
<tagfile:img src="<%= ThumbnailUtils.filterImage(DiskFileBinaryContent.getRelativeURL(job.getClient().getClientLogo()), "KEEP", new ScaleWithin (logoWidth, 0)) %>" />
</div>
<%
}
%>
<%
}
%>
<div class="overview-title">
<oneit:toString value="<%= job.getJobTitle() %>" mode="EscapeHTML"/>
</div>
......
......@@ -2,3 +2,4 @@
#completeCulture = Please complete the culture assessment.
#emailExists = An account already exists with this email address.
#emailSent = A verification email has been sent to you. Please check your email :).
#alreadyApplied = You have already applied for this job.
......@@ -45,15 +45,15 @@
<div class="main-application-outline">
<div class="selection-aust-logo">
<%
if(job.isClientLogoAvailable())
{
int logoWidth = 45;
%>
<tagfile:img src="<%= ThumbnailUtils.filterImage(DiskFileBinaryContent.getRelativeURL(job.getClient().getClientLogo()), "KEEP", new ScaleWithin (logoWidth, 0)) %>" />
<%
}
%>
<%
if(job.isClientLogoAvailable())
{
int logoWidth = 45;
%>
<tagfile:img src="<%= ThumbnailUtils.filterImage(DiskFileBinaryContent.getRelativeURL(job.getClient().getClientLogo()), "KEEP", new ScaleWithin (logoWidth, 0)) %>" />
<%
}
%>
<span><oneit:toString value="<%= job.getJobTitle() %>" mode="EscapeHTML"/></span>
<div class="clearfix no-height"></div>
</div>
......@@ -78,9 +78,7 @@
<div class="section-page-area">
<div class="main-sc-section">
<p>
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
ipsum dolor sit amet, consectetur adipiscing elit.
We'll ask you if you have certain skills, qualifications, knowledge, or experience that are somehow important to do this job.
</p>
</div>
<%
......
......@@ -21,10 +21,12 @@
String socialLoginNextPage = nextPage + "&JobID=" + job.getID().toString();
%>
<script type="text/javascript">
var interval;
$(document.body).addClass('bg-color');
$(document).ready(function() {
recalcFunction = setupRecalc ($("#applyJob"), {'recalcOnError':true});
interval = setInterval(function() { validate(); }, 500);
$('#applyJob').on('keyup keypress', function(e) {
var keyCode = e.keyCode || e.which;
......@@ -33,19 +35,32 @@
return false;
}
});
validate();
$('input[type="password"]').keyup(function() {
validate();
});
$('input[type="text"]').keyup(function() {
$(this).change();
});
});
function validate() {
if($('input[type="password"]').val() != '') {
$('.sign-in-btn').removeAttr('disabled');
} else {
var empty = false;
$('input[type="password"]').each(function() {
if ($( this ).val() == '') {
empty = true;
if ($( this ).css('background-color') == 'rgb(250, 255, 189)') {
empty = false;
}
}
});
if (empty) {
$('.sign-in-btn').attr('disabled', 'disabled');
} else {
$('.sign-in-btn').removeAttr('disabled');
clearInterval(interval);
}
}
</script>
......@@ -130,7 +145,7 @@
<div class="form-group text-left" id="email-div">
<label>Email Address</label>
<oneit:ormInput obj="<%= job %>" type="text" attributeName="Email" cssClass="form-control second-style" style="text-transform: lowercase"/>
<oneit:ormInput obj="<%= job %>" type="text" attributeName="Email" cssClass="form-control second-style" style="text-transform: lowercase" autocomplete="off"/>
<oneit:recalcClass htmlTag="div" classScript="job.isEmailFound() ? 'show': 'hide'" job="<%= job %>" class="right-mark">
<span id="right-mark"><img src="images/right-mark.svg"/></span>
</oneit:recalcClass>
......@@ -156,6 +171,9 @@
<oneit:recalcClass htmlTag="div" classScript="job.getEmail()==null || job.isEmailFound() ? 'hide': 'show'" job="<%= job %>">
<div class="form-group">
<p>We don't recognize that email address yet, so we'll send a link so that you can create an account.</p>
</div>
<div class="form-group">
<oneit:button value="Send link" name="sendVerificationMail" cssClass="box-btn send-link-btn"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", currentPage)
.mapEntry("Job",job)
......
......@@ -17,15 +17,15 @@
<div class="main-application-outline">
<div class="selection-aust-logo">
<%
if(job.isClientLogoAvailable())
{
int logoWidth = 45;
%>
<tagfile:img src="<%= ThumbnailUtils.filterImage(DiskFileBinaryContent.getRelativeURL(job.getClient().getClientLogo()), "KEEP", new ScaleWithin (logoWidth, 0)) %>" />
<%
}
%>
<%
if(job.isClientLogoAvailable())
{
int logoWidth = 45;
%>
<tagfile:img src="<%= ThumbnailUtils.filterImage(DiskFileBinaryContent.getRelativeURL(job.getClient().getClientLogo()), "KEEP", new ScaleWithin (logoWidth, 0)) %>" />
<%
}
%>
<span><oneit:toString value="<%= job.getJobTitle() %>" mode="EscapeHTML"/></span>
<div class="clearfix no-height"></div>
</div>
......
<?xml version="1.0" encoding="UTF-8"?>
<!-- @AutoRun -->
<OBJECTS xmlns:oneit="http://www.1iT.com.au" name="">
<NODE factory="Vector" name="Script">
<NODE class="oneit.appservices.upgrade.cms.CMSArticleUpdateOperation" factory="Participant" name="Account Verification Mail">
<createSpecificIdentifier factory='String' value='I90Q26LQURCWXZZFP21EWM3EHUGXTJ'/>
<articleIdentifiers factory="Array" class="java.lang.String">
<NODE factory="String" value="I90Q26LQURCWXZZFP21EWM3EHUGXTJ"/>
</articleIdentifiers>
<createdLabel factory="String" value="I90Q26LQURCWXZZFP21EWM3EHUGXTJ"/>
<newParentCategory factory="String" value="RESOURCE_LIBRARY"/>
<articleAttributeChanges factory="Map">
<NODE name="EmailTo" factory="Null"/>
<NODE name="EmailFrom" factory="String" value="info@talentology.com.au"/>
<NODE name="EmailSubject" factory="String" value="Verify your email"/>
<NODE name="Shortcuts" factory="String" value="AccountVerificationMail"/>
<NODE name="EmailCC" factory="Null"/>
<NODE name="EmailBCC" factory="Null"/>
</articleAttributeChanges>
<ormAttributeChanges factory="Map">
<NODE name="PublishDate" factory="Date" value="2016-02-05 00:00:00"/>
<NODE name="WithdrawDate" factory="Date" value="2066-02-05 16:00:00"/>
<NODE name="Title" factory="String" value="Account Verification Mail"/>
<NODE name="ShortTitle" factory="String" value="Reset Code Email"/>
<NODE name="SortOrder" factory="Integer" value="-200926"/>
<NODE name="Type" factory="Enumerated" class="oneit.business.content.ArticleType" value="ARTICLE"/>
<NODE name="Template" factory="Enumerated" class="oneit.business.content.ArticleTemplate" value="EMAIL_TEMPLATE"/>
</ormAttributeChanges>
<content factory="Map">
<NODE name="EmailBody" factory="Map">
<NODE name="Content" factory="String"><![CDATA[<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="HTML Tidy, see www.w3.org" name="generator">
<title></title>
</head>
<body>
<p>Welcome to Talentology! Your account has been created.</p>
<p>To verify your account, please <a href="${link}">click here</a>.</p>
<p>Thanks :)</p>
</body>
</html>
]]></NODE>
<NODE name="TransformedContent" factory="String"><![CDATA[<p>Welcome to Talentology! Your account has been created.</p><p>To verify your account, please <a href="${link}">click here</a>.</p><p>Thanks :)</p>
]]></NODE>
<NODE name="IncludeContent" factory="Boolean" value="true"/>
</NODE>
<NODE name="" factory="Map">
<NODE name="Content" factory="String"><![CDATA[
<p></p>
]]></NODE>
<NODE name="IncludeContent" factory="Boolean" value="true"/>
</NODE>
</content>
</NODE>
</NODE>
</OBJECTS>
\ No newline at end of file
......@@ -48,6 +48,7 @@
if(isVerify && (job==null || secUser==null))
{
response.sendRedirect(WebUtils.getSamePageInRenderMode(request, "AuthError"));
return; //Else it will continue execution and throws NPE.
}
if(secUser==null)
......@@ -100,17 +101,17 @@
<oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<div class="main-verify-identity">
<%
if(job.isClientLogoAvailable())
{
int logoWidth = 45;
%>
<div class="verify-aust-logo">
<tagfile:img src="<%= ThumbnailUtils.filterImage(DiskFileBinaryContent.getRelativeURL(job.getClient().getClientLogo()), "KEEP", new ScaleWithin (logoWidth, 0)) %>" />
</div>
<%
}
%>
<%
if(job.isClientLogoAvailable())
{
int logoWidth = 45;
%>
<div class="verify-aust-logo">
<tagfile:img src="<%= ThumbnailUtils.filterImage(DiskFileBinaryContent.getRelativeURL(job.getClient().getClientLogo()), "KEEP", new ScaleWithin (logoWidth, 0)) %>" />
</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="form-group text-left">
......@@ -143,6 +144,16 @@
<label>Confirm password</label>
<oneit:ormInput obj="<%= job %>" type="password" attributeName="ConfirmPassword" cssClass="form-control second-style reset-pw " required="true"/>
</div>
<div class="form-group text-left">
<p>
Your password must:
<ul>
<li>* begin with a letter of the alphabet</li>
<li>* include at least one number</li>
<li>* not include any spaces or special characters.</li>
</ul>
</p>
</div>
<%
}
%>
......
......@@ -68,15 +68,15 @@
<div class="main-application-outline">
<div class="selection-aust-logo">
<%
if(job.isClientLogoAvailable())
{
int logoWidth = 45;
%>
<tagfile:img src="<%= ThumbnailUtils.filterImage(DiskFileBinaryContent.getRelativeURL(job.getClient().getClientLogo()), "KEEP", new ScaleWithin (logoWidth, 0)) %>" />
<%
}
%>
<%
if(job.isClientLogoAvailable())
{
int logoWidth = 45;
%>
<tagfile:img src="<%= ThumbnailUtils.filterImage(DiskFileBinaryContent.getRelativeURL(job.getClient().getClientLogo()), "KEEP", new ScaleWithin (logoWidth, 0)) %>" />
<%
}
%>
<span><oneit:toString value="<%= job.getJobTitle() %>" mode="EscapeHTML"/></span>
<div class="clearfix no-height"></div>
</div>
......@@ -89,7 +89,7 @@
<div class="section-c-title m-hide">
Culture
<span class="estimated-time">Estimated time to complete:
<span class="estimated-time-20">&nbsp;20 mins</span>
<span class="estimated-time-20">&nbsp;5 mins</span>
</span>
</div>
<div class="section-tab-view">
......@@ -103,9 +103,9 @@
<div class="section-page-area">
<div class="main-sc-section">
<p>
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
ipsum dolor sit amet, consectetur adipiscing elit.
A job isn't just about what one does, but the environment where one does it.
This questionnaire will help us both learn what's most important to you in a workplace environment.
There are no right or wrong answers, so please choose what best fits you (not what you think might be right for a particular job).
</p>
</div>
<div class="selection-br-line"></div>
......
Add "heap.analysis.id" to keyfile properties.
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!-- @AutoRun -->
<OBJECTS name="" xmlns:oneit="http://www.1iT.com.au">
<NODE name="Script" factory="Vector">
<NODE name="INDEX" factory="Participant" class="oneit.sql.transfer.DefineIndexOperation" tableName="tl_job_application" indexName="idx_tl_job_application_CandidateJob" isUnique="true"><column name="candidate_id"/><column name="job_id"/></NODE>
</NODE>
</OBJECTS>
\ No newline at end of file
<script>
var heapAnalysisID = "<%= Utils.HEAP_ANALYSIS_ID %>"
</script>
<oneit:script>
<oneit:script src="/scripts/heapAnalysis.js"/>
</oneit:script>
\ No newline at end of file
<oneit:script>
<oneit:script src="/scripts/hotjar.js"/>
</oneit:script>
\ No newline at end of file
window.heap = window.heap || [], heap.load = function(e, t){window.heap.appid = e, window.heap.config = t = t || {}; var r = t.forceSSL || "https:" === document.location.protocol, a = document.createElement("script"); a.type = "text/javascript", a.async = !0, a.src = (r?"https:":"http:") + "//cdn.heapanalytics.com/js/heap-" + e + ".js"; var n = document.getElementsByTagName("script")[0]; n.parentNode.insertBefore(a, n); for (var o = function(e){return function(){heap.push([e].concat(Array.prototype.slice.call(arguments, 0)))}}, p = ["addEventProperties", "addUserProperties", "clearEventProperties", "identify", "removeEventProperty", "setEventProperties", "track", "unsetEventProperty"], c = 0; c < p.length; c++)heap[p[c]] = o(p[c])};
heap.load(heapAnalysisID);
\ No newline at end of file
//Hotjar Tracking Code for www.talentology.com
(function (h, o, t, j, a, r) {
h.hj = h.hj || function () {
(h.hj.q = h.hj.q || []).push(arguments)
};
h._hjSettings = {hjid: 598700, hjsv: 5};
a = o.getElementsByTagName('head')[0];
r = o.createElement('script');
r.async = 1;
r.src = t + h._hjSettings.hjid + j + h._hjSettings.hjsv;
a.appendChild(r);
})(window, document, '//static.hotjar.com/c/hotjar-', '.js?sv=');
\ No newline at end of file
!function(a){a.fn.percentageLoader=function(b){this.each(function(){function q(){p.customAttributes.arc=function(a,b,c){var h,d=360/b*a,e=(90-d)*Math.PI/180,f=j+c*Math.cos(e),g=k-c*Math.sin(e);return h=b==a?[["M",j,k-c],["A",c,c,0,1,1,j-.01,k-c]]:[["M",j,k-c],["A",c,c,0,+(d>180),1,f,g]],{path:h}},p.path().attr({arc:[100,100,l],"stroke-width":d.strokeWidth,stroke:d.bgColor}),e&&(m=p.path().attr({arc:[.01,100,l],"stroke-width":d.strokeWidth,stroke:d.ringColor,cursor:"pointer"}),r(e,100,l,m,2)),n=p.text(j,k,e+"%").attr({font:d.fontWeight+" "+d.fontSize+" Arial",fill:d.textColor})}function r(a,b,c,d){f?d.animate({arc:[a,b,c]},900,">"):a&&a!=b?d.animate({arc:[a,b,c]},750,"elastic"):(a=b,d.animate({arc:[a,b,c]},750,"bounce",function(){d.attr({arc:[0,b,c]})}))}var c=a(this),d=a.extend({},a.fn.percentageLoader.defaultConfig,b),e=parseInt(c.children(d.valElement).text()),f=!0,h=parseInt(c.css("width")),i=parseInt(c.css("height")),j=h/2,k=i/2,l=j-d.strokeWidth/2,m=null,n=null,p=Raphael(this,h,i);q()})},a.fn.percentageLoader.defaultConfig={valElement:"p",strokeWidth:20,bgColor:"#d9d9d9",ringColor:"#d53f3f",textColor:"#9a9a9a",fontSize:"12px",fontWeight:"normal"}}(jQuery);
\ No newline at end of file
!function(a){a.fn.percentageLoader=function(b){this.each(function(){function q(){p.customAttributes.arc=function(a,b,c){var h,d=360/b*a,e=(90-d)*Math.PI/180,f=j+c*Math.cos(e),g=k-c*Math.sin(e);return h=b==a?[["M",j,k-c],["A",c,c,0,1,1,j-.01,k-c]]:[["M",j,k-c],["A",c,c,0,+(d>180),1,f,g]],{path:h}},p.path().attr({arc:[100,100,l],"stroke-width":d.strokeWidth,stroke:d.bgColor}),e&&(m=p.path().attr({arc:[.01,100,l],"stroke-width":d.strokeWidth,stroke:d.ringColor,cursor:"pointer"}),r(e,100,l,m,2)),n=p.text(j,k,e+(d.showPercent ? "%" : "")).attr({font:d.fontWeight+" "+d.fontSize+" Arial",fill:d.textColor})}function r(a,b,c,d){f?d.animate({arc:[a,b,c]},900,">"):a&&a!=b?d.animate({arc:[a,b,c]},750,"elastic"):(a=b,d.animate({arc:[a,b,c]},750,"bounce",function(){d.attr({arc:[0,b,c]})}))}var c=a(this),d=a.extend({},a.fn.percentageLoader.defaultConfig,b),e=parseInt(c.children(d.valElement).text()),f=!0,h=parseInt(c.css("width")),i=parseInt(c.css("height")),j=h/2,k=i/2,l=j-d.strokeWidth/2,m=null,n=null,p=Raphael(this,h,i);q()})},a.fn.percentageLoader.defaultConfig={valElement:"p",strokeWidth:20,bgColor:"#d9d9d9",ringColor:"#d53f3f",textColor:"#9a9a9a",fontSize:"12px",fontWeight:"normal",showPercent: true}}(jQuery);
\ No newline at end of file
......@@ -12,7 +12,7 @@
# should be different from the dev build
#
build.target.dir=${dir.root}/Build/Target/PerformaInvestments
keywebapp.deploy=/misc/PerformaInvestments/webapps/ROOT
keywebapp.deploy=/misc/talentology/webapps/ROOT
keywebapp.target=${dir.root}/Deploy/Target/PerformaInvestments/webapps/ROOT
......@@ -43,5 +43,9 @@ app.deploy.dir=${keywebapp.deploy}/WEB-INF/apps
#
cd.deploy.dir=${dir.root}/Deploy/PerformaInvestments/CD_image
key.file=${config.deploy.dir}/thor.keyfile.properties
key.file=${config.deploy.dir}/production.keyfile.properties
rsync.user=1itupdate
rsync.server=54.153.249.224
tctransform.version=55
rsync.port=40022
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