Commit c00a9a32 by Harsh Shah

Finish Hotfix-20190411

parents e7f9b57a 24281d25
package performa.search; package performa.search;
import oneit.objstore.BaseBusinessClass; import java.util.ArrayList;
import java.util.List;
import oneit.logging.LogLevel;
import oneit.logging.LogMgr;
import oneit.logging.LoggingArea;
import oneit.objstore.*;
import oneit.objstore.rdbms.filters.EqualsFilter; import oneit.objstore.rdbms.filters.EqualsFilter;
import performa.orm.Answer; import oneit.objstore.services.TransactionTask;
import performa.orm.AssessmentCriteriaAnswer; import oneit.utils.parsers.FieldException;
import performa.orm.CultureCriteriaAnswer; import performa.orm.*;
import performa.orm.JobApplication; import performa.orm.types.*;
public class SearchApplicant extends BaseSearchApplicant public class SearchApplicant extends BaseSearchApplicant
{ {
private static final long serialVersionUID = 0L; private static final long serialVersionUID = 0L;
public static final LoggingArea LOG = LoggingArea.createLoggingArea("SearchApplicant");
// This constructor should not be called // This constructor should not be called
public SearchApplicant () public SearchApplicant ()
{ {
...@@ -21,41 +27,61 @@ public class SearchApplicant extends BaseSearchApplicant ...@@ -21,41 +27,61 @@ public class SearchApplicant extends BaseSearchApplicant
@Override @Override
public BaseBusinessClass[] doSearch() public BaseBusinessClass[] doSearch()
{ {
JobApplication[] appResults = JobApplication.SearchByDetails() final List<JobApplication> appResults = new ArrayList<>();
.byName(getDetails())
.andJob(new EqualsFilter<>(getJob())) try
.search(getTransaction());
// add to make sure to have any new ones
if(getJob() != null)
{ {
for(JobApplication app : appResults) getTransaction().runInNewTX(new TransactionTask()
{ {
Answer[] answers = Answer.SearchByAll().andCandidate(new EqualsFilter<>(app.getCandidate())).search(getTransaction()); @Override
public void run(ObjectTransaction newObjTran) throws FieldException, StorageException
for (Answer answer: answers)
{ {
app.getCandidate().addToProfileAssessmentAnswers(answer); JobApplication[] results = JobApplication.SearchByDetails()
} .byName(getDetails())
.andJob(new EqualsFilter<>(getJob()))
AssessmentCriteriaAnswer[] requirements = AssessmentCriteriaAnswer.SearchByAll().andJobApplication(new EqualsFilter<>(app)).search(getTransaction()); .search(newObjTran);
for(JobApplication app : results)
for (AssessmentCriteriaAnswer requirement: requirements) {
{ ApplicationStatus appStatus = app.getApplicationStatus();
app.addToAssessmentCriteriaAnswers(requirement);
} app = app.getInTransaction(getTransaction());
CultureCriteriaAnswer[] cultures = CultureCriteriaAnswer.SearchByAll().andCandidate(new EqualsFilter<>(app.getCandidate())).search(getTransaction()); app.setApplicationStatus(appStatus);
for (CultureCriteriaAnswer culture: cultures) Answer[] answers = Answer.SearchByAll().andCandidate(new EqualsFilter<>(app.getCandidate())).search(getTransaction());
{
app.getCandidate().addToCultureCriteriaAnswers(culture); for (Answer answer: answers)
{
app.getCandidate().addToProfileAssessmentAnswers(answer);
}
AssessmentCriteriaAnswer[] requirements = AssessmentCriteriaAnswer.SearchByAll().andJobApplication(new EqualsFilter<>(app)).search(getTransaction());
for (AssessmentCriteriaAnswer requirement: requirements)
{
app.addToAssessmentCriteriaAnswers(requirement);
}
CultureCriteriaAnswer[] cultures = CultureCriteriaAnswer.SearchByAll().andCandidate(new EqualsFilter<>(app.getCandidate())).search(getTransaction());
for (CultureCriteriaAnswer culture: cultures)
{
app.getCandidate().addToCultureCriteriaAnswers(culture);
}
getJob().addToJobApplications(app);
appResults.add(app);
}
} }
getJob().addToJobApplications(app); });
} }
catch (FieldException | StorageException ex)
{
LogMgr.log(LOG, LogLevel.PROCESSING2 , ex, "Error when searching job applications");
} }
return appResults; return appResults.toArray(new JobApplication[0]);
} }
} }
\ No newline at end of file
...@@ -135,9 +135,7 @@ ...@@ -135,9 +135,7 @@
value="<%= job.getOccupation() != null ? job.getOccupation() : "Select the occupation classification"%>"></input> value="<%= job.getOccupation() != null ? job.getOccupation() : "Select the occupation classification"%>"></input>
<oneit:ormInput obj="<%= job %>" id="select-occupation-id" attributeName="OccupationId" type="hidden"/> --%> <oneit:ormInput obj="<%= job %>" id="select-occupation-id" attributeName="OccupationId" type="hidden"/> --%>
<oneit:ormInput obj="<%= job %>" attributeName="OccupationId" type="hidden"/>
<oneit:recalc mode="EscapeHTML" script="job.displayOccupation()" job="<%= job %>"/> <oneit:recalc mode="EscapeHTML" script="job.displayOccupation()" job="<%= job %>"/>
</div> </div>
</div> </div>
......
...@@ -387,9 +387,7 @@ ...@@ -387,9 +387,7 @@
value="<%= job.getOccupation() != null ? job.getOccupation() : "Select the occupation classification"%>"></input> value="<%= job.getOccupation() != null ? job.getOccupation() : "Select the occupation classification"%>"></input>
<oneit:ormInput obj="<%= job %>" id="select-occupation-id" attributeName="OccupationId" type="hidden"/> --%> <oneit:ormInput obj="<%= job %>" id="select-occupation-id" attributeName="OccupationId" type="hidden"/> --%>
<oneit:ormInput obj="<%= template %>" attributeName="OccupationId" type="hidden"/>
<oneit:recalc mode="EscapeHTML" script="template.displayOccupation()" template="<%= template %>"/> <oneit:recalc mode="EscapeHTML" script="template.displayOccupation()" template="<%= template %>"/>
</div> </div>
</div> </div>
......
...@@ -395,12 +395,8 @@ ...@@ -395,12 +395,8 @@
<%-- <input type="text" class="form-control select-occupation search-input " placeholder="Select the occupation classification" <%-- <input type="text" class="form-control select-occupation search-input " placeholder="Select the occupation classification"
value="<%= job.getOccupation() != null ? job.getOccupation() : "Select the occupation classification"%>"></input> value="<%= job.getOccupation() != null ? job.getOccupation() : "Select the occupation classification"%>"></input>
<oneit:ormInput obj="<%= job %>" id="select-occupation-id" attributeName="OccupationId" type="hidden"/> --%> <oneit:ormInput obj="<%= job %>" id="select-occupation-id" attributeName="OccupationId" type="hidden"/> --%>
<oneit:ormInput obj="<%= job %>" attributeName="OccupationId" type="hidden"/>
<oneit:recalc mode="EscapeHTML" script="job.displayOccupation()" job="<%= job %>"/> <oneit:recalc mode="EscapeHTML" script="job.displayOccupation()" job="<%= job %>"/>
</div> </div>
</div> </div>
......
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