Commit e1456be0 by Nilu

workflow related changes

parent 16e8f2df
<?xml version="1.0" encoding="UTF-8"?>
<!-- @AutoRun -->
<OBJECTS name="" xmlns:oneit="http://www.1iT.com.au"><NODE name="Script" factory="Vector">
<NODE name="DDL" factory="Participant" class="oneit.sql.transfer.DefineTableOperation">
<tableName factory="String">tl_work_flow</tableName>
<column name="object_id" type="Long" nullable="false" length="11"/>
<column name="object_last_updated_date" type="Date" nullable="false" length="22"/>
<column name="object_created_date" type="Date" nullable="false" length="22"/>
<column name="name" type="String" nullable="false" length="100"/>
<column name="sort_order" type="Long" nullable="false"/>
<column name="application_status" type="String" nullable="false" length="200"/>
<column name="job_id" type="Long" length="11" nullable="false"/>
</NODE>
<NODE name="INDEX" factory="Participant" class="oneit.sql.transfer.DefineIndexOperation" tableName="tl_work_flow" indexName="idx_tl_work_flow_job_id" isUnique="false"><column name="job_id"/></NODE>
</NODE></OBJECTS>
\ No newline at end of file
-- DROP TABLE tl_work_flow;
CREATE TABLE tl_work_flow (
object_id int NOT NULL ,
object_last_updated_date datetime DEFAULT getdate() NOT NULL ,
object_created_date datetime DEFAULT getdate() NOT NULL
,
name varchar(100) NOT NULL,
sort_order numeric(12) NOT NULL,
application_status varchar(200) NOT NULL,
job_id numeric(12) NOT NULL
);
ALTER TABLE tl_work_flow ADD
CONSTRAINT PK_tl_work_flow PRIMARY KEY
(
object_id
) ;
CREATE INDEX idx_tl_work_flow_job_id
ON tl_work_flow (job_id);
-- DROP TABLE tl_work_flow;
CREATE TABLE tl_work_flow (
object_id number(12) NOT NULL ,
object_last_updated_date date DEFAULT SYSDATE NOT NULL ,
object_created_date date DEFAULT SYSDATE NOT NULL
,
name varchar2(100) NOT NULL,
sort_order number(12) NOT NULL,
application_status varchar2(200) NOT NULL,
job_id number(12) NOT NULL
);
ALTER TABLE tl_work_flow ADD
CONSTRAINT PK_tl_work_flow PRIMARY KEY
(
object_id
) ;
CREATE INDEX idx_tl_work_flow_job_id
ON tl_work_flow (job_id);
-- @AutoRun
-- drop table tl_work_flow;
CREATE TABLE tl_work_flow (
object_id numeric(12) NOT NULL ,
object_last_updated_date timestamp DEFAULT NOW() NOT NULL ,
object_created_date timestamp DEFAULT NOW() NOT NULL
,
name varchar(100) NOT NULL,
sort_order numeric(12) NOT NULL,
application_status varchar(200) NOT NULL,
job_id numeric(12) NOT NULL
);
ALTER TABLE tl_work_flow ADD
CONSTRAINT pk_tl_work_flow PRIMARY KEY
(
object_id
) ;
CREATE INDEX idx_tl_work_flow_job_id
ON tl_work_flow (job_id);
...@@ -59,6 +59,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -59,6 +59,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
// Static constants corresponding to searches // Static constants corresponding to searches
public static final String SEARCH_All = "All"; public static final String SEARCH_All = "All";
public static final String SEARCH_CandidateJob = "CandidateJob"; public static final String SEARCH_CandidateJob = "CandidateJob";
public static final String SEARCH_Details = "Details";
// Static constants corresponding to attribute helpers // Static constants corresponding to attribute helpers
...@@ -2498,6 +2499,94 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -2498,6 +2499,94 @@ public abstract class BaseJobApplication extends BaseBusinessClass
.search (transaction); .search (transaction);
} }
public static SearchDetails SearchByDetails () { return new SearchDetails (); }
public static class SearchDetails extends SearchObject<JobApplication>
{
public SearchDetails byName (String Name)
{
by ("Name", Name);
return this;
}
public SearchDetails andObjectID (QueryFilter<Long> filter)
{
filter.addFilter (context, "tl_job_application.object_id", FIELD_ObjectID);
return this;
}
public SearchDetails andObjectCreated (QueryFilter<Date> filter)
{
filter.addFilter (context, "tl_job_application.object_created_date", FIELD_ObjectCreated);
return this;
}
public SearchDetails andObjectLastModified (QueryFilter<Date> filter)
{
filter.addFilter (context, "tl_job_application.object_last_updated_date", FIELD_ObjectLastModified);
return this;
}
public SearchDetails andCV (QueryFilter<BinaryContent> filter)
{
filter.addFilter (context, "tl_job_application.cv", "CV");
return this;
}
public SearchDetails andApplicationStatus (QueryFilter<ApplicationStatus> filter)
{
filter.addFilter (context, "tl_job_application.application_status", "ApplicationStatus");
return this;
}
public SearchDetails andSubmittedDate (QueryFilter<Date> filter)
{
filter.addFilter (context, "tl_job_application.submitted_date", "SubmittedDate");
return this;
}
public SearchDetails andCandidate (QueryFilter<Candidate> filter)
{
filter.addFilter (context, "tl_job_application.candidate_id", "Candidate");
return this;
}
public SearchDetails andJob (QueryFilter<Job> filter)
{
filter.addFilter (context, "tl_job_application.job_id", "Job");
return this;
}
public JobApplication[]
search (ObjectTransaction transaction) throws StorageException
{
BaseBusinessClass[] results = super.search (transaction, REFERENCE_JobApplication, SEARCH_Details, criteria);
Set<JobApplication> typedResults = new LinkedHashSet <JobApplication> ();
for (BaseBusinessClass bbcResult : results)
{
JobApplication aResult = (JobApplication)bbcResult;
typedResults.add (aResult);
}
return ObjstoreUtils.removeDeleted(transaction, typedResults).toArray (new JobApplication[0]);
}
}
public static JobApplication[]
searchDetails (ObjectTransaction transaction, String Name) throws StorageException
{
return SearchByDetails ()
.byName (Name)
.search (transaction);
}
public Object getAttribute (String attribName) public Object getAttribute (String attribName)
......
...@@ -48,8 +48,24 @@ public class Job extends BaseJob ...@@ -48,8 +48,24 @@ public class Job extends BaseJob
cultureCriteria.setCultureElement(cultureElement); cultureCriteria.setCultureElement(cultureElement);
addToCultureCriterias(cultureCriteria); addToCultureCriterias(cultureCriteria);
} }
createWorkFlow(ApplicationStatus.DRAFT, 1);
createWorkFlow(ApplicationStatus.SUBMITTED, 2);
createWorkFlow(ApplicationStatus.SHORTLISTED, 3);
createWorkFlow(ApplicationStatus.UNSUITABLE, 4);
} }
public WorkFlow createWorkFlow(ApplicationStatus status, int sortOrder) throws FieldException
{
WorkFlow workFlow = WorkFlow.createWorkFlow(getTransaction());
workFlow.setName(status.getDescription());
workFlow.setApplicationStatus(status);
workFlow.setSortOrder(sortOrder);
addToWorkFlows(workFlow);
return workFlow;
}
public void initAttribs() throws BusinessException public void initAttribs() throws BusinessException
{ {
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
<MULTIPLEREFERENCE name="JobApplications" type="JobApplication" backreferenceName="Job" /> <MULTIPLEREFERENCE name="JobApplications" type="JobApplication" backreferenceName="Job" />
<MULTIPLEREFERENCE name="AssessmentCriterias" type="AssessmentCriteria" backreferenceName="Job" /> <MULTIPLEREFERENCE name="AssessmentCriterias" type="AssessmentCriteria" backreferenceName="Job" />
<MULTIPLEREFERENCE name="CultureCriterias" type="CultureCriteria" backreferenceName="Job" /> <MULTIPLEREFERENCE name="CultureCriterias" type="CultureCriteria" backreferenceName="Job" />
<MULTIPLEREFERENCE name="WorkFlows" type="WorkFlow" backreferenceName="Job" />
<TRANSIENT name="Email" type="String" validators="Email" /> <TRANSIENT name="Email" type="String" validators="Email" />
<TRANSIENT name="Password" type="String"/> <TRANSIENT name="Password" type="String"/>
......
...@@ -32,6 +32,21 @@ ...@@ -32,6 +32,21 @@
<PARAM name="Job" type="Job" transform="Job.getObjectID()" paramFilter="job_id = ${Job}" /> <PARAM name="Job" type="Job" transform="Job.getObjectID()" paramFilter="job_id = ${Job}" />
</SEARCH> </SEARCH>
<SEARCH type="Details" paramFilter="tl_job_application.object_id is not null" orderBy="tl_job_application.object_id">
<PARAM name="Name" type="String" transform=' "%" + Name + "%" '
paramFilter="tl_job_application.object_id IN (
SELECT tl_job_application.object_id
FROM tl_job_application
LEFT JOIN oneit_sec_user_extension ON oneit_sec_user_extension.object_id = tl_job_application.candidate_id
LEFT JOIN oneit_sec_user ON oneit_sec_user.object_id = oneit_sec_user_extension.user_id
WHERE
oneit_sec_user_extension.phone ILIKE ${Name} OR
oneit_sec_user.user_name ILIKE ${Name} OR
oneit_sec_user.first_name ILIKE ${Name} OR
oneit_sec_user.last_name ILIKE ${Name} OR
oneit_sec_user.email ILIKE ${Name})">
</PARAM>
</SEARCH>
</BUSINESSCLASS> </BUSINESSCLASS>
</ROOT> </ROOT>
\ No newline at end of file
...@@ -288,6 +288,10 @@ public class JobApplicationPersistenceMgr extends ObjectPersistenceMgr ...@@ -288,6 +288,10 @@ public class JobApplicationPersistenceMgr extends ObjectPersistenceMgr
{ {
throw new RuntimeException ("NOT implemented: executeSearchQueryCandidateJob"); throw new RuntimeException ("NOT implemented: executeSearchQueryCandidateJob");
} }
public ResultSet executeSearchQueryDetails (SQLManager sqlMgr, String Name) throws SQLException
{
throw new RuntimeException ("NOT implemented: executeSearchQueryDetails");
}
...@@ -499,6 +503,56 @@ public class JobApplicationPersistenceMgr extends ObjectPersistenceMgr ...@@ -499,6 +503,56 @@ public class JobApplicationPersistenceMgr extends ObjectPersistenceMgr
return results; return results;
} }
else if (searchType.equals (JobApplication.SEARCH_Details))
{
// Local scope for transformed variables
{
if (criteria.containsKey("Name"))
{
String Name = (String)(criteria.get("Name"));
criteria.put ("Name", "%" + Name + "%" );
}
}
String orderBy = " ORDER BY tl_job_application.object_id";
String tables = " ";
Set<String> joinTableSet = new HashSet<String>();
String filter;
Object[] searchParams; // paramFilter: tl_job_application.object_id is not null
String preFilter = "(tl_job_application.object_id is not null)"
+ " ";
if (criteria.containsKey("Name"))
{
preFilter += " AND (tl_job_application.object_id IN ( SELECT tl_job_application.object_id FROM tl_job_application LEFT JOIN oneit_sec_user_extension ON oneit_sec_user_extension.object_id = tl_job_application.candidate_id LEFT JOIN oneit_sec_user ON oneit_sec_user.object_id = oneit_sec_user_extension.user_id WHERE oneit_sec_user_extension.phone ILIKE ${Name} OR oneit_sec_user.user_name ILIKE ${Name} OR oneit_sec_user.first_name ILIKE ${Name} OR oneit_sec_user.last_name ILIKE ${Name} OR oneit_sec_user.email ILIKE ${Name})) ";
preFilter += "";
}
preFilter += context.getLoadingAttributes ().getCustomSQL() ;
SearchParamTransform tx = new SearchParamTransform (criteria);
filter = StringUtils.replaceParams (preFilter, tx);
searchParams = tx.getParamsArray();
Integer maxRows = context.getLoadingAttributes ().getMaxRows ();
boolean truncateExtra = !context.getLoadingAttributes ().isFailIfMaxExceeded();
String query = "SELECT " + SELECT_COLUMNS +
"FROM {PREFIX}tl_job_application " + tables + tableSetToSQL(joinTableSet) +
"WHERE " + SELECT_JOINS + " " + filter + orderBy;
BaseBusinessClass[] results = loadQuery (allPSets, sqlMgr, context, query, searchParams, maxRows, truncateExtra);
return results;
}
else else
{ {
......
package performa.orm;
import java.io.*;
import java.util.*;
import oneit.appservices.config.*;
import oneit.logging.*;
import oneit.objstore.*;
import oneit.utils.*;
import performa.orm.types.*;
public class WorkFlow extends BaseWorkFlow
{
private static final long serialVersionUID = 0L;
// This constructor should not be called
public WorkFlow ()
{
// Do not add any code to this, always put it in initialiseNewObject
}
}
<?xml version="1.0" encoding="UTF-8"?>
<ROOT xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='http://www.oneit.com.au/schemas/5.2/BusinessObject.xsd'>
<BUSINESSCLASS name="WorkFlow" package="performa.orm">
<IMPORT value="performa.orm.types.*"/>
<TABLE name="tl_work_flow" tablePrefix="object">
<ATTRIB name="Name" type="String" dbcol="name" mandatory="true" length="100"/>
<ATTRIB name="SortOrder" type="Integer" dbcol="sort_order" mandatory="true" />
<ATTRIB name="ApplicationStatus" type="ApplicationStatus" dbcol="application_status" mandatory="true" attribHelper="EnumeratedAttributeHelper"/>
<SINGLEREFERENCE name="Job" type="Job" dbcol="job_id" backreferenceName="WorkFlows" mandatory="true"/>
</TABLE>
<SEARCH type="All" paramFilter="tl_work_flow.object_id is not null" orderBy="tl_work_flow.sort_order">
</SEARCH>
</BUSINESSCLASS>
</ROOT>
\ No newline at end of file
...@@ -20,16 +20,26 @@ public class ApplicationStatus extends AbstractEnumerated ...@@ -20,16 +20,26 @@ public class ApplicationStatus extends AbstractEnumerated
public static final EnumeratedFactory FACTORY_ApplicationStatus = new ApplicationStatusFactory(); public static final EnumeratedFactory FACTORY_ApplicationStatus = new ApplicationStatusFactory();
public static final ApplicationStatus DRAFT = new ApplicationStatus ("DRAFT", "DRAFT", "Draft", false); public static final ApplicationStatus DRAFT = new ApplicationStatus ("DRAFT", "DRAFT", "Incomplete", false);
public static final ApplicationStatus SUBMITTED = new ApplicationStatus ("SUBMITTED", "SUBMITTED", "Applicant", false); public static final ApplicationStatus SUBMITTED = new ApplicationStatus ("SUBMITTED", "SUBMITTED", "Applicant", false);
public static final ApplicationStatus SHORTLISTED = new ApplicationStatus ("SHORTLISTED", "SHORTLISTED", "Shortlisted", false); public static final ApplicationStatus SHORTLISTED = new ApplicationStatus ("SHORTLISTED", "SHORTLISTED", "Shortlisted", false);
public static final ApplicationStatus STATUS_4 = new ApplicationStatus ("STATUS_4", "STATUS_4", "", false);
public static final ApplicationStatus STATUS_5 = new ApplicationStatus ("STATUS_5", "STATUS_5", "", false);
public static final ApplicationStatus STATUS_6 = new ApplicationStatus ("STATUS_6", "STATUS_6", "", false);
public static final ApplicationStatus STATUS_7 = new ApplicationStatus ("STATUS_7", "STATUS_7", "", false);
public static final ApplicationStatus STATUS_8 = new ApplicationStatus ("STATUS_8", "STATUS_8", "", false);
public static final ApplicationStatus UNSUITABLE = new ApplicationStatus ("UNSUITABLE", "UNSUITABLE", "Unsuitable", false); public static final ApplicationStatus UNSUITABLE = new ApplicationStatus ("UNSUITABLE", "UNSUITABLE", "Unsuitable", false);
private static final ApplicationStatus[] allApplicationStatuss = private static final ApplicationStatus[] allApplicationStatuss =
new ApplicationStatus[] { DRAFT,SUBMITTED,SHORTLISTED,UNSUITABLE}; new ApplicationStatus[] { DRAFT,SUBMITTED,SHORTLISTED,STATUS_4,STATUS_5,STATUS_6,STATUS_7,STATUS_8,UNSUITABLE};
private static ApplicationStatus[] getAllApplicationStatuss () private static ApplicationStatus[] getAllApplicationStatuss ()
...@@ -37,11 +47,18 @@ public class ApplicationStatus extends AbstractEnumerated ...@@ -37,11 +47,18 @@ public class ApplicationStatus extends AbstractEnumerated
return allApplicationStatuss; return allApplicationStatuss;
} }
private transient Integer SortOrder;
private ApplicationStatus (String name, String value, String description, boolean disabled) private ApplicationStatus (String name, String value, String description, boolean disabled)
{ {
super (name, value, description, disabled); super (name, value, description, disabled);
} }
public Integer getSortOrder()
{
return SortOrder;
}
public static final Comparator COMPARE_BY_POSITION = new CompareEnumByPosition (allApplicationStatuss); public static final Comparator COMPARE_BY_POSITION = new CompareEnumByPosition (allApplicationStatuss);
...@@ -109,6 +126,15 @@ public class ApplicationStatus extends AbstractEnumerated ...@@ -109,6 +126,15 @@ public class ApplicationStatus extends AbstractEnumerated
public static void defineAdditionalData () public static void defineAdditionalData ()
{ {
DRAFT.SortOrder = 1;
SUBMITTED.SortOrder = 2;
SHORTLISTED.SortOrder = 3;
STATUS_4.SortOrder = 4;
STATUS_5.SortOrder = 5;
STATUS_6.SortOrder = 6;
STATUS_7.SortOrder = 7;
STATUS_8.SortOrder = 8;
UNSUITABLE.SortOrder = 9;
} }
...@@ -136,6 +162,7 @@ public class ApplicationStatus extends AbstractEnumerated ...@@ -136,6 +162,7 @@ public class ApplicationStatus extends AbstractEnumerated
{ {
Map attribs = new HashMap (); Map attribs = new HashMap ();
attribs.put ("SortOrder", ArrayFormatter.toObject(getSortOrder()));
return attribs; return attribs;
} }
......
...@@ -3,10 +3,17 @@ ...@@ -3,10 +3,17 @@
<ROOT> <ROOT>
<CONSTANT package="performa.orm.types" name="ApplicationStatus"> <CONSTANT package="performa.orm.types" name="ApplicationStatus">
<VALUE name="DRAFT" value="DRAFT" description="Draft"/> <DATA name="SortOrder" type="Integer"/>
<VALUE name="SUBMITTED" value="SUBMITTED" description="Applicant"/>
<VALUE name="SHORTLISTED" value="SHORTLISTED" description="Shortlisted"/> <VALUE name="DRAFT" value="DRAFT" description="Incomplete" SortOrder="1"/>
<VALUE name="UNSUITABLE" value="UNSUITABLE" description="Unsuitable"/> <VALUE name="SUBMITTED" value="SUBMITTED" description="Applicant" SortOrder="2"/>
<VALUE name="SHORTLISTED" value="SHORTLISTED" description="Shortlisted" SortOrder="3"/>
<VALUE name="STATUS_4" value="STATUS_4" description="" SortOrder="4"/>
<VALUE name="STATUS_5" value="STATUS_5" description="" SortOrder="5"/>
<VALUE name="STATUS_6" value="STATUS_6" description="" SortOrder="6"/>
<VALUE name="STATUS_7" value="STATUS_7" description="" SortOrder="7"/>
<VALUE name="STATUS_8" value="STATUS_8" description="" SortOrder="8"/>
<VALUE name="UNSUITABLE" value="UNSUITABLE" description="Unsuitable" SortOrder="9"/>
</CONSTANT> </CONSTANT>
</ROOT> </ROOT>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<ROOT xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='http://www.oneit.com.au/schemas/5.2/BusinessObject.xsd'>
<BUSINESSCLASS name="SearchJob" package="performa.search" superclass="SearchExecutor" >
<IMPORT value="oneit.servlets.orm.*" />
<TABLE name="it_does_not_matter" tablePrefix="object" polymorphic="FALSE" >
<ATTRIB name="Details" type="String" dbcol="xxxx" />
</TABLE>
</BUSINESSCLASS>
</ROOT>
\ No newline at end of file
...@@ -614,4 +614,16 @@ public class Utils ...@@ -614,4 +614,16 @@ public class Utils
job.setShortenedURL(null); job.setShortenedURL(null);
job.setDraftLocation(null); job.setDraftLocation(null);
} }
public static ApplicationStatus getApplicationStatus(int sortOrder)
{
for(ApplicationStatus status : ApplicationStatus.getApplicationStatusArray())
{
if(status.getSortOrder() == sortOrder)
{
return status;
}
}
return null;
}
} }
\ No newline at end of file
...@@ -70,6 +70,10 @@ ...@@ -70,6 +70,10 @@
<INHERITS factory="Named" nodename="CoreORMAdminNoPriv"/> <INHERITS factory="Named" nodename="CoreORMAdminNoPriv"/>
</NODE> </NODE>
<NODE name="workflow_add_jsp" factory="Participant">
<INHERITS factory="Named" nodename="CoreORMAdminNoPriv"/>
</NODE>
<NODE name="signin_jsp" factory="Participant"> <NODE name="signin_jsp" factory="Participant">
<INHERITS factory="Named" nodename="CoreORMAdminNoPriv"/> <INHERITS factory="Named" nodename="CoreORMAdminNoPriv"/>
<FORM name="*.login" factory="Participant" class="performa.form.UserLoginFP"> <FORM name="*.login" factory="Participant" class="performa.form.UserLoginFP">
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
<% <%
Job job = (Job) process.getAttribute("Job"); Job job = (Job) process.getAttribute("Job");
SearchApplicant searchApplicant = (SearchApplicant) getData(request, "searchApplicant");
String currentPage = (String) getData(request, "currentPage"); String currentPage = (String) getData(request, "currentPage");
AppSortOption appSortOpt = (AppSortOption) getData(request, "sortOption"); AppSortOption appSortOpt = (AppSortOption) getData(request, "sortOption");
String tabNumber = (String) getData(request, "tabNumber"); String tabNumber = (String) getData(request, "tabNumber");
...@@ -38,6 +39,13 @@ ...@@ -38,6 +39,13 @@
function enableBulkEdit() { function enableBulkEdit() {
$(".bullk-app-process").prop("disabled",$('input[class=applicant]:checked').length===0); $(".bullk-app-process").prop("disabled",$('input[class=applicant]:checked').length===0);
} }
$('#searchText').keypress(function (e) {
if (e.which === 13) {
$('input[name = Search]').click();
return false;
}
});
</script> </script>
<div class="main-applicants-filter"> <div class="main-applicants-filter">
<div class="appli-list-shorting"> <div class="appli-list-shorting">
...@@ -93,7 +101,13 @@ ...@@ -93,7 +101,13 @@
--%> --%>
<% <%
} }
%>
<div class="shorting-dropdown">
<div class="order-label">Search Applicants</div>
<oneit:ormInput obj="<%= searchApplicant %>" type="text" attributeName="Details" cssClass="form-control search-input" id="searchText" />
</div>
<oneit:button value="Search" name="search" cssClass="btn btn-primary" style="display:none;"/>
<%
if(showOrderBy) if(showOrderBy)
{ {
%> %>
......
...@@ -37,6 +37,10 @@ ...@@ -37,6 +37,10 @@
<div class="officer-box"> <div class="officer-box">
<div class="officer-name"> <div class="officer-name">
<div class="chief-officer"> <div class="chief-officer">
<oneit:button name="gotoPage" value=" " skin="link"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", jobPage).toMap() %>" >
<img src="images/arrow-left-prev.svg" />
</oneit:button>
<% <%
BinaryContent logo = job.getLogo(); BinaryContent logo = job.getLogo();
...@@ -53,6 +57,14 @@ ...@@ -53,6 +57,14 @@
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).toMap()) .mapEntry("procParams", CollectionUtils.mapEntry("Job", job).toMap())
.toMap() %>"> .toMap() %>">
<oneit:toString value="<%= job.getJobTitle() %>" mode="EscapeHTML" /> <oneit:toString value="<%= job.getJobTitle() %>" mode="EscapeHTML" />
<%
if(job.getReferenceNumber() != null)
{
%>
&nbsp;(<oneit:toString value="<%= job.getReferenceNumber() %>" mode="EscapeHTML" />)
<%
}
%>
</oneit:button> </oneit:button>
</div> </div>
<div class="off-name"> <div class="off-name">
......
<%@ page extends="oneit.servlets.process.AJAXProcessJSP" %>
<%@ include file="/inc/stdimports50.jsp" %><%-- This is in cougar --%>
<%@ include file="/extensions/performa/inc/stdimports.jsp" %>
<%! protected String getName (ServletConfig config) { return "workflow_add_jsp"; } %>
<%
ORMProcessState process = (ORMProcessState)ProcessDecorator.getDefaultProcess(request);
ObjectTransaction objTran = process.getTransaction ();
Job job = (Job) process.getAttribute("Job");
int sortOrder = job.getWorkFlowsCount();
ApplicationStatus status = Utils.getApplicationStatus(sortOrder);
WorkFlow workflow = null;
if(job.getWorkFlowsCount() < 10 && status != null)
{
workflow = WorkFlow.createWorkFlow(objTran);
// workFlow.setName(status.getDescription());
workflow.setApplicationStatus(status);
workflow.setSortOrder(sortOrder);
job.addToWorkFlows(workflow);
}
%>
<oneit:form method="POST">
<oneit:evalBody buffer="<%= getBuffer(request) %>">
<div class="form-group row">
<div class="col-md-12">
<oneit:ormInput obj="<%= workflow %>" type="text" attributeName="Name" cssClass="form-control" />
</div>
</div>
</oneit:evalBody>
</oneit:form>
\ No newline at end of file
...@@ -32,9 +32,6 @@ ...@@ -32,9 +32,6 @@
$("button[name$='loadJobFromTemplate']").click(); $("button[name$='loadJobFromTemplate']").click();
}); });
// $(".occupation_content ul").css('width', $(".occupation_content").width()/4);
var popup_width = 1040; var popup_width = 1040;
new jBox('Modal', { new jBox('Modal', {
...@@ -47,10 +44,7 @@ ...@@ -47,10 +44,7 @@
onCreated : function(){ onCreated : function(){
$(".dyn-div").empty(); $(".dyn-div").empty();
$(".occupation_content_column").css("width", popup_width/4 ); $(".occupation_content_column").css("width", popup_width/4 );
} }
}); });
$(document).on("click",".occupation_content_column ul li",function(){ $(document).on("click",".occupation_content_column ul li",function(){
...@@ -78,8 +72,16 @@ ...@@ -78,8 +72,16 @@
}); });
});
function addWorkflow()
{
// var divID = "#" + criteria;
ajaxProcessAddJQ ("<%= request.getContextPath() %>/extensions/adminportal/inc/workflow_add.jsp", "#workflows", {}, function (theHTML_JQ) {
$("#workflows").append (theHTML_JQ);
}); });
}
</script> </script>
<oneit:form name="editJob" method="post" enctype="multipart/form-data"> <oneit:form name="editJob" method="post" enctype="multipart/form-data">
...@@ -304,7 +306,31 @@ ...@@ -304,7 +306,31 @@
Please define your applicant approval/refinement workflow and tabs below. We have nominated some defaults to help you get started. You are allowed up to 9 different steps, and can drag to re-order using the handle on the left. Please define your applicant approval/refinement workflow and tabs below. We have nominated some defaults to help you get started. You are allowed up to 9 different steps, and can drag to re-order using the handle on the left.
</div> </div>
</div> </div>
<div id="workflows">
<%
List<WorkFlow> sortedWorkflows = ObjstoreUtils.sort(job.getWorkFlowsSet(),
new ObjectTransform[]{WorkFlow.pipesWorkFlow().toSortOrder()},
new Comparator[]{CollectionUtils.DEFAULT_COMPARATOR_NULLS_FIRST});
for (WorkFlow workflow : sortedWorkflows)
{
%>
<%= workflow.getSortOrder() %>
<div class="form-group row">
<div class="col-md-12">
<oneit:ormInput obj="<%= workflow %>" type="text" attributeName="Name" cssClass="form-control" />
</div>
</div>
<%
}
%>
</div>
<div class="form-group row">
<oneit:button value="Add Workflow Step" name="gotoPage" cssClass="add-more-btn review-edit-btn" skin="link"
onClick="<%="addWorkflow(); return false;"%>"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", jobPage).toMap() %>"/>
</div>
<div class="form-brack-line"></div> <div class="form-brack-line"></div>
<div class="text-center"> <div class="text-center">
<div class="form-group row"> <div class="form-group row">
......
<?xml version="1.0" encoding="UTF-8"?>
<!-- @AutoRun -->
<OBJECTS name="" xmlns:oneit="http://www.1iT.com.au">
<NODE name="Script" factory="Vector">
<NODE name="DDL" factory="Participant" class="oneit.sql.transfer.DefineTableOperation">
<tableName factory="String">tl_work_flow</tableName>
<column name="object_id" type="Long" nullable="false" length="11"/>
<column name="object_last_updated_date" type="Date" nullable="false" length="22"/>
<column name="object_created_date" type="Date" nullable="false" length="22"/>
<column name="name" type="String" nullable="false" length="100"/>
<column name="sort_order" type="Long" nullable="false"/>
<column name="application_status" type="String" nullable="false" length="200"/>
<column name="job_id" type="Long" length="11" nullable="false"/>
</NODE>
<NODE name="INDEX" factory="Participant" class="oneit.sql.transfer.DefineIndexOperation" tableName="tl_work_flow" indexName="idx_tl_work_flow_job_id" isUnique="false">
<column name="job_id"/>
</NODE>
</NODE>
</OBJECTS>
\ 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