Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
PERFORMA_REPLICA
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Muhammad Usman
PERFORMA_REPLICA
Commits
e970269c
Commit
e970269c
authored
Jul 28, 2017
by
chenith
Committed by
Harsh Shah
Sep 06, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added Jobs sorting option. Introduced new field 'OpenDate' to keep open date of job.
parent
8fdf4c77
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
254 additions
and
6 deletions
+254
-6
Job.xml
cmsWebApp/sql/Job.xml
+1
-0
Job.sql
cmsWebApp/sql/ms/Job.sql
+1
-0
Job.sql
cmsWebApp/sql/oracle/Job.sql
+1
-0
Job.sql
cmsWebApp/sql/postgres/Job.sql
+1
-0
SaveJobFP.java
cmsWebApp/src/performa/form/SaveJobFP.java
+2
-0
BaseJob.java
cmsWebApp/src/performa/orm/BaseJob.java
+0
-0
Job.xml
cmsWebApp/src/performa/orm/Job.xml
+1
-0
JobPersistenceMgr.java
cmsWebApp/src/performa/orm/JobPersistenceMgr.java
+0
-0
JobSortOption.java
cmsWebApp/src/performa/orm/types/JobSortOption.java
+145
-0
JobSortOption.xml
cmsWebApp/src/performa/orm/types/JobSortOption.xml
+14
-0
Utils.java
cmsWebApp/src/performa/utils/Utils.java
+41
-0
list_jobs.jsp
cmsWebApp/webroot/extensions/adminportal/list_jobs.jsp
+31
-6
20170728_Alter_Job.xml
...broot/extensions/performa/upgrades/20170728_Alter_Job.xml
+16
-0
No files found.
cmsWebApp/sql/Job.xml
View file @
e970269c
...
...
@@ -11,6 +11,7 @@
<column
name=
"job_title"
type=
"String"
nullable=
"false"
length=
"500"
/>
<column
name=
"job_description"
type=
"CLOB"
nullable=
"false"
/>
<column
name=
"job_status"
type=
"String"
nullable=
"false"
length=
"200"
/>
<column
name=
"open_date"
type=
"Date"
nullable=
"true"
/>
<column
name=
"apply_by"
type=
"Date"
nullable=
"true"
/>
<column
name=
"include_assessment_criteria"
type=
"Boolean"
nullable=
"false"
/>
<column
name=
"assessment_type"
type=
"String"
nullable=
"false"
length=
"200"
/>
...
...
cmsWebApp/sql/ms/Job.sql
View file @
e970269c
...
...
@@ -11,6 +11,7 @@ CREATE TABLE tl_job (
job_title
varchar
(
500
)
NOT
NULL
,
job_description
text
NOT
NULL
,
job_status
varchar
(
200
)
NOT
NULL
,
open_date
datetime
NULL
,
apply_by
datetime
NULL
,
include_assessment_criteria
char
(
1
)
NOT
NULL
,
assessment_type
varchar
(
200
)
NOT
NULL
,
...
...
cmsWebApp/sql/oracle/Job.sql
View file @
e970269c
...
...
@@ -12,6 +12,7 @@ CREATE TABLE tl_job (
job_title
varchar2
(
500
)
NOT
NULL
,
job_description
clob
NOT
NULL
,
job_status
varchar2
(
200
)
NOT
NULL
,
open_date
date
NULL
,
apply_by
date
NULL
,
include_assessment_criteria
char
(
1
)
NOT
NULL
,
assessment_type
varchar2
(
200
)
NOT
NULL
,
...
...
cmsWebApp/sql/postgres/Job.sql
View file @
e970269c
...
...
@@ -12,6 +12,7 @@ CREATE TABLE tl_job (
job_title
varchar
(
500
)
NOT
NULL
,
job_description
text
NOT
NULL
,
job_status
varchar
(
200
)
NOT
NULL
,
open_date
timestamp
NULL
,
apply_by
timestamp
NULL
,
include_assessment_criteria
char
(
1
)
NOT
NULL
,
assessment_type
varchar
(
200
)
NOT
NULL
,
...
...
cmsWebApp/src/performa/form/SaveJobFP.java
View file @
e970269c
package
performa
.
form
;
import
java.util.Date
;
import
java.util.Map
;
import
oneit.logging.LogLevel
;
import
oneit.logging.LogMgr
;
...
...
@@ -23,6 +24,7 @@ public class SaveJobFP extends SaveFP
LogMgr
.
log
(
Job
.
LOG
,
LogLevel
.
PROCESSING1
,
"In SaveJobFP saving job : "
,
job
);
job
.
setJobStatus
(
JobStatus
.
OPEN
);
job
.
setOpenDate
(
new
Date
());
return
super
.
processForm
(
process
,
submission
,
params
);
}
...
...
cmsWebApp/src/performa/orm/BaseJob.java
View file @
e970269c
This diff is collapsed.
Click to expand it.
cmsWebApp/src/performa/orm/Job.xml
View file @
e970269c
...
...
@@ -29,6 +29,7 @@
<ATTRIB
name=
"JobTitle"
type=
"String"
dbcol=
"job_title"
length=
"500"
mandatory=
"true"
/>
<ATTRIB
name=
"JobDescription"
type=
"String"
dbcol=
"job_description"
mandatory=
"true"
/>
<ATTRIB
name=
"JobStatus"
type=
"JobStatus"
dbcol=
"job_status"
attribHelper=
"EnumeratedAttributeHelper"
mandatory=
"true"
defaultValue=
"JobStatus.DRAFT"
/>
<ATTRIB
name=
"OpenDate"
type=
"Date"
dbcol=
"open_date"
/>
<ATTRIB
name=
"ApplyBy"
type=
"Date"
dbcol=
"apply_by"
/>
<ATTRIB
name=
"IncludeAssessmentCriteria"
type=
"Boolean"
dbcol=
"include_assessment_criteria"
mandatory=
"true"
defaultValue=
"Boolean.TRUE"
/>
<ATTRIB
name=
"AssessmentType"
type=
"AssessmentType"
dbcol=
"assessment_type"
attribHelper=
"EnumeratedAttributeHelper"
mandatory=
"true"
defaultValue=
"AssessmentType.COMPREHENSIVE"
/>
...
...
cmsWebApp/src/performa/orm/JobPersistenceMgr.java
View file @
e970269c
This diff is collapsed.
Click to expand it.
cmsWebApp/src/performa/orm/types/JobSortOption.java
0 → 100644
View file @
e970269c
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
JobSortOption
extends
AbstractEnumerated
{
public
static
final
EnumeratedFactory
FACTORY_JobSortOption
=
new
JobSortOptionFactory
();
public
static
final
JobSortOption
NEWEST
=
new
JobSortOption
(
"NEWEST"
,
"NEWEST"
,
"Newest"
,
false
);
public
static
final
JobSortOption
CLOSING_SOON
=
new
JobSortOption
(
"CLOSING_SOON"
,
"CLOSING_SOON"
,
"Closing Soon"
,
false
);
public
static
final
JobSortOption
OLDEST
=
new
JobSortOption
(
"OLDEST"
,
"OLDEST"
,
"Oldest"
,
false
);
public
static
final
JobSortOption
ALPHA_A_Z
=
new
JobSortOption
(
"ALPHA_A_Z"
,
"ALPHA_A_Z"
,
"Alpha A-Z"
,
false
);
public
static
final
JobSortOption
ALPHA_Z_A
=
new
JobSortOption
(
"ALPHA_Z_A"
,
"ALPHA_Z_A"
,
"Alpha Z-A"
,
false
);
private
static
final
JobSortOption
[]
allJobSortOptions
=
new
JobSortOption
[]
{
NEWEST
,
CLOSING_SOON
,
OLDEST
,
ALPHA_A_Z
,
ALPHA_Z_A
};
private
static
JobSortOption
[]
getAllJobSortOptions
()
{
return
allJobSortOptions
;
}
private
JobSortOption
(
String
name
,
String
value
,
String
description
,
boolean
disabled
)
{
super
(
name
,
value
,
description
,
disabled
);
}
public
static
final
Comparator
COMPARE_BY_POSITION
=
new
CompareEnumByPosition
(
allJobSortOptions
);
static
{
defineAdditionalData
();
}
public
boolean
isEqual
(
JobSortOption
other
)
{
return
this
.
name
.
equals
(
other
.
name
);
}
public
Enumeration
getAllInstances
()
{
return
JobSortOption
.
getAll
();
}
private
Object
readResolve
()
throws
java
.
io
.
ObjectStreamException
{
return
JobSortOption
.
forName
(
this
.
name
);
}
public
EnumeratedFactory
getFactory
()
{
return
FACTORY_JobSortOption
;
}
public
static
JobSortOption
forName
(
String
name
)
{
if
(
name
==
null
)
{
return
null
;
}
JobSortOption
[]
all
=
getAllJobSortOptions
();
int
enumIndex
=
AbstractEnumerated
.
getIndexForName
(
all
,
name
);
return
all
[
enumIndex
];
}
public
static
JobSortOption
forValue
(
String
value
)
{
if
(
value
==
null
)
{
return
null
;
}
JobSortOption
[]
all
=
getAllJobSortOptions
();
int
enumIndex
=
AbstractEnumerated
.
getIndexForValue
(
getAllJobSortOptions
(),
value
);
return
all
[
enumIndex
];
}
public
static
java
.
util
.
Enumeration
getAll
()
{
return
AbstractEnumerated
.
getAll
(
getAllJobSortOptions
());
}
public
static
JobSortOption
[]
getJobSortOptionArray
()
{
return
(
JobSortOption
[])
getAllJobSortOptions
().
clone
();
}
public
static
void
defineAdditionalData
()
{
}
static
class
JobSortOptionFactory
implements
EnumeratedFactory
{
public
AbstractEnumerated
getForName
(
String
name
)
{
return
JobSortOption
.
forName
(
name
);
}
public
AbstractEnumerated
getForValue
(
String
name
)
{
return
JobSortOption
.
forValue
(
name
);
}
public
Enumeration
getAll
()
{
return
JobSortOption
.
getAll
();
}
}
public
Map
getAdditionalAttributes
()
{
Map
attribs
=
new
HashMap
();
return
attribs
;
}
}
cmsWebApp/src/performa/orm/types/JobSortOption.xml
0 → 100644
View file @
e970269c
<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
<CONSTANT
package=
"performa.orm.types"
name=
"JobSortOption"
>
<VALUE
name=
"NEWEST"
value=
"NEWEST"
description=
"Newest"
/>
<VALUE
name=
"CLOSING_SOON"
value=
"CLOSING_SOON"
description=
"Closing Soon"
/>
<VALUE
name=
"OLDEST"
value=
"OLDEST"
description=
"Oldest"
/>
<VALUE
name=
"ALPHA_A_Z"
value=
"ALPHA_A_Z"
description=
"Alpha A-Z"
/>
<VALUE
name=
"ALPHA_Z_A"
value=
"ALPHA_Z_A"
description=
"Alpha Z-A"
/>
</CONSTANT>
</ROOT>
\ No newline at end of file
cmsWebApp/src/performa/utils/Utils.java
View file @
e970269c
...
...
@@ -6,6 +6,9 @@ import oneit.security.*;
import
oneit.utils.Tuple
;
import
performa.orm.*
;
import
performa.orm.types.Importance
;
import
performa.orm.types.JobSortOption
;
import
oneit.objstore.utils.*
;
import
oneit.utils.*
;
/**
*
...
...
@@ -73,4 +76,42 @@ public class Utils
return
levels
;
}
//to sort jobs list
public
static
List
<
Job
>
getJobsSorted
(
Job
[]
jobs
,
JobSortOption
jobSortOption
)
{
ObjectTransform
transform
=
Job
.
pipesJob
().
toObjectCreated
();
Comparator
comparator
=
CollectionUtils
.
DEFAULT_COMPARATOR
;
if
(
jobSortOption
==
JobSortOption
.
OLDEST
)
{
transform
=
Job
.
pipesJob
().
toOpenDate
();
comparator
=
CollectionUtils
.
DEFAULT_COMPARATOR
;
}
else
if
(
jobSortOption
==
JobSortOption
.
NEWEST
)
{
transform
=
Job
.
pipesJob
().
toOpenDate
();
comparator
=
CollectionUtils
.
reverse
(
CollectionUtils
.
DEFAULT_COMPARATOR
);
}
else
if
(
jobSortOption
==
JobSortOption
.
CLOSING_SOON
)
{
transform
=
Job
.
pipesJob
().
toApplyBy
();
comparator
=
CollectionUtils
.
reverse
(
CollectionUtils
.
DEFAULT_COMPARATOR_NULLS_FIRST
);
}
else
if
(
jobSortOption
==
JobSortOption
.
ALPHA_A_Z
)
{
transform
=
Job
.
pipesJob
().
toJobTitle
();
comparator
=
CollectionUtils
.
CASE_INSENSITIVE_COMPARATOR
;
}
else
if
(
jobSortOption
==
JobSortOption
.
ALPHA_Z_A
)
{
transform
=
Job
.
pipesJob
().
toJobTitle
();
comparator
=
CollectionUtils
.
reverse
(
CollectionUtils
.
CASE_INSENSITIVE_COMPARATOR
);
}
return
ObjstoreUtils
.
sort
(
Arrays
.
asList
(
jobs
),
new
ObjectTransform
[]{
transform
},
new
Comparator
[]{
comparator
});
}
}
cmsWebApp/webroot/extensions/adminportal/list_jobs.jsp
View file @
e970269c
...
...
@@ -10,17 +10,33 @@
String nextPage = WebUtils.getSamePageInRenderMode(request, WebUtils.VIEW_APPLICANTS);
String homePage = WebUtils.getSamePageInRenderMode(request, "Page");
JobStatus jobStatus = (JobStatus) process.getAttribute("JobStatus");
JobSortOption jobSortOpt = (JobSortOption) process.getAttribute("JobSortOption");
if(jobStatus == null && request.getParameter("JobStatus") != null)
{
jobStatus = JobStatus.forName((String) request.getParameter("JobStatus"));
}
if( request.getParameter("JobSortOption") != null)
{
jobSortOpt = JobSortOption.forName((String) request.getParameter("JobSortOption"));
}
if(jobSortOpt == null)
{
jobSortOpt = JobSortOption.NEWEST;
}
Job[] jobs = Job.SearchByAll().andJobStatus(new EqualsFilter<>(jobStatus))
Job[] jobs = (Job[]) process.getAttribute("Jobs");
jobs = Job.SearchByAll().andJobStatus(new EqualsFilter<>(jobStatus))
.andSecUser(new EqualsFilter(SecUser.getTXUser(transaction)))
.search(transaction);
process.setAttribute("Jobs", jobs);
List<Job> sortedJobs = Utils.getJobsSorted(jobs, jobSortOpt);
process.setAttribute("JobStatus", jobStatus);
process.setAttribute("JobSortOption", jobSortOpt);
%>
<oneit:form name="editJob" method="post" enctype="multipart/form-data">
...
...
@@ -56,15 +72,24 @@
</div>
<div class="shorting-dropdown">
<span class="order-label">order by</span>
<select class="form-control">
<option>Alphabetical (A-Z)</option>
<option>Alphabetical (Z-A)</option>
<select class="form-control" onChange="location=this.value">
<%
for (JobSortOption sortOption : JobSortOption.getJobSortOptionArray())
{
String optionLink = homePage + (jobStatus!=null ? "&JobStatus=" + jobStatus.getName() : "") + "&JobSortOption=" + sortOption.getName() ;
%>
<option <%= (jobSortOpt != null && jobSortOpt == sortOption ? "selected" : "" )%> value="<%= optionLink %>">
<oneit:toString value="<%= sortOption.getDescription() %>" mode="EscapeHTML"/>
</option>
<%
}
%>
</select>
</div>
</div>
<oneit:dynInclude page="/extensions/adminportal/inc/job_list.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"
NextPage="<%= nextPage%>" HomePage="<%= homePage%>" Jobs="<%=
jobs
%>" JobStatus="<%= jobStatus %>" />
NextPage="<%= nextPage%>" HomePage="<%= homePage%>" Jobs="<%=
sortedJobs.toArray(new Job[0])
%>" JobStatus="<%= jobStatus %>" />
</div>
</oneit:form>
...
...
cmsWebApp/webroot/extensions/performa/upgrades/20170728_Alter_Job.xml
0 → 100644
View file @
e970269c
<?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.RedefineTableOperation"
>
<tableName
factory=
"String"
>
tl_job
</tableName>
<column
name=
"open_date"
type=
"Date"
nullable=
"true"
/>
</NODE>
</NODE>
</OBJECTS>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment