Commit 75ee647d by Nilu Committed by Harsh Shah

HT003 to shortlist functionality in rows

parent 0f9066dd
package performa.form;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import oneit.logging.LogLevel;
import oneit.logging.LogMgr;
import oneit.objstore.StorageException;
import oneit.servlets.forms.SubmissionDetails;
import oneit.servlets.forms.SuccessfulResult;
import oneit.servlets.process.ORMProcessState;
import oneit.servlets.process.SaveFP;
import oneit.utils.BusinessException;
import performa.orm.JobApplication;
import performa.orm.types.AppProcessOption;
import performa.orm.types.ApplicationStatus;
public class ChangeApplicationStatusFP extends SaveFP
{
@Override
public SuccessfulResult processForm(ORMProcessState process, SubmissionDetails submission, Map params) throws BusinessException, StorageException
{
HttpServletRequest request = submission.getRequest();
JobApplication jobApplication = (JobApplication) request.getAttribute("JobApplication");
LogMgr.log(JobApplication.LOG, LogLevel.PROCESSING1,"In ChangeApplicationStatusFP changing status of Job Application : ", jobApplication );
if(jobApplication.getAppProcessOption() == AppProcessOption.TO_SHORTLIST)
{
jobApplication.setApplicationStatus(ApplicationStatus.SHORTLISTED);
}
else if(jobApplication.getAppProcessOption() == AppProcessOption.REMOVE_FROM_SHORTLIST)
{
jobApplication.setApplicationStatus(ApplicationStatus.SUBMITTED);
}
LogMgr.log(JobApplication.LOG, LogLevel.PROCESSING1,"In ChangeApplicationStatusFP Job Application Status successfully changed : ", jobApplication );
return super.processForm(process, submission, params);
}
}
\ No newline at end of file
......@@ -19,7 +19,7 @@
<TRANSIENT name="SaveCultureTemplate" type="Boolean" defaultValue="Boolean.FALSE"/>
<TRANSIENT name="AssessmentTemplateName" type="String"/>
<TRANSIENT name="CultureTemplateName" type="String"/>
<TRANSIENTSINGLE name="AssessmentTemplate" type="AssessmentCriteriaTemplate" />
<TRANSIENTSINGLE name="CultureTemplate" type="CultureCriteriaTemplate" />
<TRANSIENTSINGLE name="JobTemplate" type="Job" />
......
......@@ -8,6 +8,8 @@ import oneit.objstore.rdbms.filters.IsNotNullFilter;
import oneit.utils.filter.CollectionFilter;
import oneit.utils.filter.Filter;
import oneit.utils.parsers.FieldException;
import performa.orm.types.AppProcessOption;
import performa.orm.types.ApplicationStatus;
import performa.orm.types.CriteriaType;
......@@ -185,4 +187,34 @@ public class JobApplication extends BaseJobApplication
{
return 95;
}
public List<AppProcessOption> getValidProcessOptions()
{
List<AppProcessOption> options = new ArrayList<>();
if(getApplicationStatus() == ApplicationStatus.SUBMITTED)
{
options.add(AppProcessOption.TO_SHORTLIST);
}
else if(getApplicationStatus() == ApplicationStatus.SHORTLISTED)
{
options.add(AppProcessOption.REMOVE_FROM_SHORTLIST);
}
return options;
}
public String getApplicantStatusStr()
{
if(getApplicationStatus() == ApplicationStatus.SUBMITTED)
{
return "Applicant";
}
else
{
return getApplicationStatus().getDescription();
}
}
}
\ No newline at end of file
......@@ -9,8 +9,9 @@
<MULTIPLEREFERENCE name="CultureCriteriaAnswers" type="CultureCriteriaAnswer" backreferenceName="JobApplication" />
<MULTIPLEREFERENCE name="ProfileAssessmentAnswers" type="Answer" backreferenceName="JobApplication" />
<TRANSIENT name="IsSelected" type="Boolean" defaultValue="Boolean.FALSE"/>
<TRANSIENT name="IsSelected" type="Boolean" defaultValue="Boolean.FALSE"/>
<TRANSIENT name="AppProcessOption" type="AppProcessOption" attribHelper="EnumeratedAttributeHelper"/>
<TABLE name="tl_job_application" tablePrefix="object" polymorphic="FALSE">
<ATTRIB name="CV" type="BinaryContent" dbcol="cv" binaryHandler="loggedin" attribHelper="BLOBAttributeHelper" attribHelperInstance="BLOBAttributeHelper.INSTANCE" mandatory="false"/>
......
package performa.orm.types;
import java.util.*;
import oneit.utils.*;
/**
* This class was generated using constGen.bat.
* DO NOT MODIFY THIS CODE.
* Edit the associated .xml file, and regenerate this file
* constGen (directory) (file minus extension)
* e.g. constGen C:\...\sql FieldType
*/
public class AppProcessOption extends AbstractEnumerated
{
public static final EnumeratedFactory FACTORY_AppProcessOption = new AppProcessOptionFactory();
public static final AppProcessOption TO_SHORTLIST = new AppProcessOption ("TO_SHORTLIST", "TO_SHORTLIST", "To Shortlist", false);
public static final AppProcessOption REMOVE_FROM_SHORTLIST = new AppProcessOption ("REMOVE_FROM_SHORTLIST", "REMOVE_FROM_SHORTLIST", "Remove From Shortlist", false);
private static final AppProcessOption[] allAppProcessOptions =
new AppProcessOption[] { TO_SHORTLIST,REMOVE_FROM_SHORTLIST};
private static AppProcessOption[] getAllAppProcessOptions ()
{
return allAppProcessOptions;
}
private AppProcessOption (String name, String value, String description, boolean disabled)
{
super (name, value, description, disabled);
}
public static final Comparator COMPARE_BY_POSITION = new CompareEnumByPosition (allAppProcessOptions);
static
{
defineAdditionalData ();
}
public boolean isEqual (AppProcessOption other)
{
return this.name.equals (other.name);
}
public Enumeration getAllInstances ()
{
return AppProcessOption.getAll ();
}
private Object readResolve() throws java.io.ObjectStreamException
{
return AppProcessOption.forName (this.name);
}
public EnumeratedFactory getFactory ()
{
return FACTORY_AppProcessOption;
}
public static AppProcessOption forName (String name)
{
if (name == null) { return null; }
AppProcessOption[] all = getAllAppProcessOptions();
int enumIndex = AbstractEnumerated.getIndexForName (all, name);
return all[enumIndex];
}
public static AppProcessOption forValue (String value)
{
if (value == null) { return null; }
AppProcessOption[] all = getAllAppProcessOptions();
int enumIndex = AbstractEnumerated.getIndexForValue (getAllAppProcessOptions (), value);
return all[enumIndex];
}
public static java.util.Enumeration getAll ()
{
return AbstractEnumerated.getAll (getAllAppProcessOptions());
}
public static AppProcessOption[] getAppProcessOptionArray ()
{
return (AppProcessOption[])getAllAppProcessOptions().clone ();
}
public static void defineAdditionalData ()
{
}
static class AppProcessOptionFactory implements EnumeratedFactory
{
public AbstractEnumerated getForName (String name)
{
return AppProcessOption.forName (name);
}
public AbstractEnumerated getForValue (String name)
{
return AppProcessOption.forValue (name);
}
public Enumeration getAll ()
{
return AppProcessOption.getAll ();
}
}
public Map getAdditionalAttributes ()
{
Map attribs = new HashMap ();
return attribs;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
<CONSTANT package="performa.orm.types" name="AppProcessOption">
<VALUE name="TO_SHORTLIST" value="TO_SHORTLIST" description="To Shortlist"/>
<VALUE name="REMOVE_FROM_SHORTLIST" value="REMOVE_FROM_SHORTLIST" description="Remove From Shortlist"/>
</CONSTANT>
</ROOT>
......@@ -28,6 +28,7 @@
<FORM name="*.loadJobFromTemplate" factory="Participant" class="performa.form.LoadJobFromTemplateFP"/>
<FORM name="*.loadRequirementsFromTemplate" factory="Participant" class="performa.form.LoadRequirementsFromTemplateFP"/>
<FORM name="*.loadCultureFromTemplate" factory="Participant" class="performa.form.LoadCultureFromTemplateFP"/>
<FORM name="*.changeApplicationStatus" factory="Participant" class="performa.form.ChangeApplicationStatusFP"/>
</NODE>
<NODE name="job_assessment_criteria_add_jsp" factory="Participant">
......
......@@ -51,7 +51,7 @@
String culture = FormatUtils.stringify(jobApplication.getCulturePercentage(), "PercentageWholeNumber", "0");
String criteria = FormatUtils.stringify(jobApplication.getCriteriaPercentage(), "PercentageWholeNumber", "0");
%>
<div class="appli-row">
<div class="appli-row" id="<%= jobApplication.getID() %>">
<div class="appli-checkbox appli-l eq-second-height">
<div class="checkbox-list">
<oneit:ormInput obj="<%= jobApplication %>" id="<%= jobApplication.getID().toString()%>" attributeName="IsSelected" type="checkbox"/>
......@@ -62,7 +62,9 @@
</div>
<div class="appli-list-name appli-l eq-second-height">
<oneit:toString value="<%= jobApplication.getCandidate() %>" mode="EscapeHTML" />
<div class="appli-int-status">Shortlisted</div>
<div class="appli-int-status">
<oneit:toString value="<%= jobApplication.getApplicantStatusStr() %>" mode="EscapeHTML" />
</div>
</div>
<div class="appli-jcs appli-l eq-second-height">
<span class="appli-view-bar">
......@@ -100,11 +102,16 @@
<oneit:toString value="<%= jobApplication.getOverallSuitability() %>" mode="Integer" />
</div>
<div class="appli-list-drop">
<select class="form-control">
<option>Interview</option>
</select>
<oneit:ormEnum obj="<%= jobApplication %>" attributeName="AppProcessOption" cssClass="form-control app-process"
enums="<%= jobApplication.getValidProcessOptions() %>"/>
</div>
</div>
<oneit:button name="changeApplicationStatus" value=" " cssClass="<%= "save-application" + jobApplication.getID().toString() + " hidden"%>"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", currentPage)
.mapEntry ("restartProcess", Boolean.TRUE)
.mapEntry ("attribNamesToRestore", Collections.singleton("Job"))
.mapEntry("JobApplication", jobApplication)
.toMap() %>" />
</div>
<%
j++;
......
......@@ -65,10 +65,6 @@
<%
for (JobStatus status : JobStatus.getJobStatusArray())
{
if(status == JobStatus.FILLED)
{
continue;
}
%>
<li class="<%= (jobStatus != null && jobStatus == status ? "active" : "" )%>">
<oneit:button value="<%= status.getDescription() %>" name="gotoPage" skin="link"
......
......@@ -7,7 +7,7 @@
<oneit:dynIncluded>
<%
Job job = (Job) process.getAttribute("Job");
Job job = (Job) process.getAttribute("Job");
if(job==null && request.getParameter("JobID")!=null)
{
......@@ -54,6 +54,12 @@
$(document).ready(function()
{
recalcFunction = setupRecalc ($("form"), {'recalcOnError':true});
$(".app-process").change(function()
{
var id = $(this).closest('.appli-row').attr('id');
$('.save-application' + id).click();
});
});
function gotoEditApplication (id) {
......
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