Commit e98b0149 by Nilu

Job List: Extend expiration - partially complete

parent 7b158927
package performa.form;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import oneit.logging.LogLevel;
import oneit.logging.LogMgr;
import oneit.logging.LoggingArea;
import oneit.objstore.ObjectTransaction;
import oneit.objstore.StorageException;
import oneit.objstore.parser.BusinessObjectParser;
import oneit.security.SecUser;
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 oneit.utils.MultiException;
import performa.orm.CompanyUser;
import performa.orm.JobApplication;
import performa.orm.Note;
public class ExtendJobFP extends SaveFP
{
private static final LoggingArea LOG = LoggingArea.createLoggingArea("ExtendJobFP");
@Override
public void validate(ORMProcessState process, SubmissionDetails submission, MultiException exceptions, Map params) throws StorageException
{
HttpServletRequest request = submission.getRequest();
JobApplication jobApplication = (JobApplication) request.getAttribute("JobApplication");
super.validate(process, submission, exceptions, params);
}
@Override
public SuccessfulResult processForm(ORMProcessState process, SubmissionDetails submission, Map params) throws BusinessException, StorageException
{
ObjectTransaction objTran = process.getTransaction();
HttpServletRequest request = submission.getRequest();
JobApplication jobApplication = (JobApplication) request.getAttribute("JobApplication");
// LogMgr.log(LOG, LogLevel.PROCESSING1, "Adding note to job application : ", jobApplication);
//
// Note note = Note.createNote(objTran);
// SecUser secUser = SecUser.getTXUser(process.getTransaction());
// CompanyUser companyUser = secUser.getExtension(CompanyUser.REFERENCE_CompanyUser);
//
// note.setComment(jobApplication.getNote());
// note.setCreatedUser(companyUser);
// note.setJobApplication(jobApplication);
//
// LogMgr.log(LOG, LogLevel.PROCESSING1, "New note added : ", note);
return super.processForm(process, submission, params);
}
}
\ No newline at end of file
...@@ -11,11 +11,13 @@ ...@@ -11,11 +11,13 @@
String nextPage = (String) getData(request, "NextPage"); String nextPage = (String) getData(request, "NextPage");
String homePage = (String) getData(request, "HomePage"); String homePage = (String) getData(request, "HomePage");
String shortlistPage = (String) getData(request, "ShortlistPage"); String shortlistPage = (String) getData(request, "ShortlistPage");
boolean canCreateJob = (boolean) getData(request, "CanCreateJob");
%> %>
<oneit:dynIncluded> <oneit:dynIncluded>
<script type="text/javascript"> <script type="text/javascript">
var ExtendPopup = null;
$(document).ready(function() $(document).ready(function()
{ {
...@@ -29,14 +31,62 @@ ...@@ -29,14 +31,62 @@
fontWeight: 'normal' fontWeight: 'normal'
}); });
ExtendPopup = new jBox('Modal', {
id : "extend-job",
overlay : true,
width : 500, height : 360
});
$(".job-status").change(function() $(".job-status").change(function()
{ {
var id = $(this).closest('.job-list').attr('id'); var id = $(this).closest('.job-list').attr('id');
$('.save-job' + id).click(); $('.save-job' + id).click();
}); });
$(".change-plan-no-button").on("click",function(){
ExtendPopup.close();
});
}); });
function showExtendPopup(elem)
{
ExtendPopup.setContent($("#" + $(elem).data('popupid') ));
ExtendPopup.open();
}
</script> </script>
<style>
.calendar .extend-icon{
margin: 0 5px 0 10px;
}
.calendar .extend-btn{
color: #03A0E7;
}
.calendar .extend-span{
cursor: pointer;
}
.extend-job-content h3{
color: #4A4A4A;
font-size: 22px;
font-weight: 500;
text-align: center;
padding: 10px 65px;
line-height: 29px;
font-family: "Usual-Medium";
}
.extend-job-info{
color: #4A4A4A;
font-family: "Usual-Light";
font-size: 16px;
font-weight: 300;
line-height: 25px;
text-align: center;
padding: 10px 40px;
}
.extend-job-button {
padding-bottom: 0px;
}
</style>
<div class="main-job-list"> <div class="main-job-list">
<% <%
ObjectTransaction objTran = process.getTransaction (); ObjectTransaction objTran = process.getTransaction ();
...@@ -114,10 +164,32 @@ ...@@ -114,10 +164,32 @@
{ {
int daysToClose = job.getNoOfDaystoClosed(); int daysToClose = job.getNoOfDaystoClosed();
%> %>
<span class="extend-span" data-popupid ="extend-job-<%=job.getID()%>" onclick="<%= canCreateJob ? "showExtendPopup(this)" : "showReachedCap()" %>">
<span class="number"> <span class="number">
<oneit:toString value="<%= daysToClose %>" mode="Integer"/> <oneit:toString value="<%= daysToClose %>" mode="Integer"/>
</span> </span>
<oneit:toString value="<%= (daysToClose == 1 ? "day" : "days") + " until closed" %>" mode="EscapeHTML"/> <oneit:toString value="<%= (daysToClose == 1 ? "day" : "days") + " until closed" %>" mode="EscapeHTML"/>
<img class="extend-icon" src="images/icon-extend.svg"/> <a class="extend-btn">Extend</a>
</span>
<div id="extend-job-<%= job.getID() %>" style="display:none" >
<div class="extend-job-content">
<h3>
Are you sure you want to extend this job?
</h3>
<div class="extend-job-info">
Extending this Job will add an additional 30 days for applicants to apply. By confirming the new close date for this job will be 13 September 2018.
Would you like to continue?
</div>
</div>
<div class="change-plan-button extend-job-button">
<a class="change-plan-no-button popup-no-button">No</a>
<oneit:button skin="link" value="Yes" name="extendJob" cssClass="change-plan-yes-button"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", homePage)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).mapEntry("ApplicationStatus", ApplicationStatus.SHORTLISTED).toMap())
.toMap() %>" />
</div>
</div>
<% <%
} }
else else
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
Map<String, String[]> parameterMap = request.getParameterMap(); Map<String, String[]> parameterMap = request.getParameterMap();
SearchJob searchJob = (SearchJob) RunSearchExecutorFP.setupExecutor(request, SearchJob.REFERENCE_SearchJob, true); SearchJob searchJob = (SearchJob) RunSearchExecutorFP.setupExecutor(request, SearchJob.REFERENCE_SearchJob, true);
Job[] jobs = (Job[])process.getAttribute("jobs"); Job[] jobs = (Job[])process.getAttribute("jobs");
boolean canCreateJob = hiringTeam.allowJobCreation();
if(!hiringTeam.hasBillingSetup()) if(!hiringTeam.hasBillingSetup())
{ {
...@@ -237,7 +238,7 @@ ...@@ -237,7 +238,7 @@
%> %>
<oneit:dynInclude page="/extensions/adminportal/inc/job_list.jsp" data="<%= CollectionUtils.EMPTY_MAP%>" ShortlistPage="<%= shortlistPage %>" <oneit:dynInclude page="/extensions/adminportal/inc/job_list.jsp" data="<%= CollectionUtils.EMPTY_MAP%>" ShortlistPage="<%= shortlistPage %>"
NextPage="<%= nextPage%>" HomePage="<%= homePage%>" Jobs="<%= sortedJobs.toArray(new Job[0]) %>" JobStatus="<%= jobStatus %>" NextPage="<%= nextPage%>" HomePage="<%= homePage%>" Jobs="<%= sortedJobs.toArray(new Job[0]) %>" JobStatus="<%= jobStatus %>"
JobSortOption="<%= jobSortOpt %>" /> JobSortOption="<%= jobSortOpt %>" CanCreateJob="<%= canCreateJob %>"/>
<% <%
} }
%> %>
......
...@@ -213,7 +213,7 @@ ...@@ -213,7 +213,7 @@
{ {
%> %>
<oneit:dynInclude page="/extensions/adminportal/inc/job_list.jsp" data="<%= CollectionUtils.EMPTY_MAP%>" ShortlistPage="<%= shortlistPage %>" <oneit:dynInclude page="/extensions/adminportal/inc/job_list.jsp" data="<%= CollectionUtils.EMPTY_MAP%>" ShortlistPage="<%= shortlistPage %>"
NextPage="<%= nextPage%>" HomePage="<%= homePage%>" NextPage="<%= nextPage%>" HomePage="<%= homePage%>" CanCreateJob="<%= canCreateJob %>"
Jobs="<%= CollectionUtils.batch(recentJobs, 10).get(0).toArray(new Job[0]) %>"/> Jobs="<%= CollectionUtils.batch(recentJobs, 10).get(0).toArray(new Job[0]) %>"/>
<% <%
} }
......
<?xml version="1.0" encoding="UTF-8"?>
<svg width="20px" height="17px" viewBox="0 0 20 17" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: sketchtool 52.2 (67145) - http://www.bohemiancoding.com/sketch -->
<title>AF0E9984-0C6C-4A1E-ADAB-1379B1E82F72</title>
<desc>Created with sketchtool.</desc>
<g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round">
<g id="Job-Card---Active" transform="translate(-297.000000, -63.000000)" stroke="#03A0E7" stroke-width="0.5">
<g id="Job-Card">
<g id="Meta" transform="translate(39.000000, 26.000000)">
<g id="icon-extend" transform="translate(258.000000, 37.000000)">
<path d="M4.68181818,13.8501818 C1.75202485,11.1121736 1.38603787,6.59474971 3.83686531,3.42082111 C5.93222546,0.707238192 9.49847354,-0.26271468 12.6074471,0.851621824" id="Shape"></path>
<polyline id="Shape" points="15.3181818 7.13472727 15.3181818 2.45290909 20 2.45290909"></polyline>
<polyline id="Shape" points="4.68181818 9.22563636 4.68181818 13.9074545 0 13.9074545"></polyline>
<path d="M15.3181818,2.51263636 C18.2524379,5.25843462 18.6098632,9.78822684 16.1425546,12.960238 C13.9801154,15.7403043 10.2728343,16.6739556 7.11186564,15.4024604" id="Shape"></path>
</g>
</g>
</g>
</g>
</g>
</svg>
\ 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