Commit 873012d0 by Harsh Shah

Finish Release-20170929

parents 3531e085 2104a1a4
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
<column name="object_last_updated_date" type="Date" nullable="false" length="22"/> <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="object_created_date" type="Date" nullable="false" length="22"/>
<column name="score_number" type="Long" nullable="true"/> <column name="score_number" type="Long" nullable="true"/>
<column name="color_rank" type="Long" nullable="true"/> <column name="color_code" type="String" nullable="true" length="200"/>
<column name="wghtd_score" type="Long" nullable="true"/> <column name="wghtd_score" type="Long" nullable="true"/>
<column name="test_analysis_id" type="Long" length="11" nullable="true"/> <column name="test_analysis_id" type="Long" length="11" nullable="true"/>
<column name="factor_number" type="Long" length="11" nullable="true"/> <column name="factor_number" type="Long" length="11" nullable="true"/>
......
...@@ -9,7 +9,7 @@ CREATE TABLE tl_score ( ...@@ -9,7 +9,7 @@ CREATE TABLE tl_score (
object_created_date datetime DEFAULT getdate() NOT NULL object_created_date datetime DEFAULT getdate() NOT NULL
, ,
score_number numeric(12) NULL, score_number numeric(12) NULL,
color_rank numeric(12) NULL, color_code varchar(200) NULL,
wghtd_score numeric(12) NULL, wghtd_score numeric(12) NULL,
test_analysis_id numeric(12) NULL, test_analysis_id numeric(12) NULL,
factor_number numeric(12) NULL, factor_number numeric(12) NULL,
......
...@@ -10,7 +10,7 @@ CREATE TABLE tl_score ( ...@@ -10,7 +10,7 @@ CREATE TABLE tl_score (
object_created_date date DEFAULT SYSDATE NOT NULL object_created_date date DEFAULT SYSDATE NOT NULL
, ,
score_number number(12) NULL, score_number number(12) NULL,
color_rank number(12) NULL, color_code varchar2(200) NULL,
wghtd_score number(12) NULL, wghtd_score number(12) NULL,
test_analysis_id number(12) NULL, test_analysis_id number(12) NULL,
factor_number number(12) NULL, factor_number number(12) NULL,
......
...@@ -10,7 +10,7 @@ CREATE TABLE tl_score ( ...@@ -10,7 +10,7 @@ CREATE TABLE tl_score (
object_created_date timestamp DEFAULT NOW() NOT NULL object_created_date timestamp DEFAULT NOW() NOT NULL
, ,
score_number numeric(12) NULL, score_number numeric(12) NULL,
color_rank numeric(12) NULL, color_code varchar(200) NULL,
wghtd_score numeric(12) NULL, wghtd_score numeric(12) NULL,
test_analysis_id numeric(12) NULL, test_analysis_id numeric(12) NULL,
factor_number numeric(12) NULL, factor_number numeric(12) NULL,
......
...@@ -11,6 +11,7 @@ import oneit.servlets.process.ORMProcessState; ...@@ -11,6 +11,7 @@ import oneit.servlets.process.ORMProcessState;
import oneit.servlets.process.SaveFP; import oneit.servlets.process.SaveFP;
import oneit.utils.BusinessException; import oneit.utils.BusinessException;
import oneit.utils.CollectionUtils; import oneit.utils.CollectionUtils;
import performa.intercom.utils.IntercomUtils;
import performa.orm.Company; import performa.orm.Company;
...@@ -20,7 +21,7 @@ public class SaveCompanyFP extends SaveFP ...@@ -20,7 +21,7 @@ public class SaveCompanyFP extends SaveFP
public SuccessfulResult processForm(ORMProcessState process, SubmissionDetails submission, Map params) throws BusinessException, StorageException public SuccessfulResult processForm(ORMProcessState process, SubmissionDetails submission, Map params) throws BusinessException, StorageException
{ {
HttpServletRequest request = submission.getRequest(); HttpServletRequest request = submission.getRequest();
Company company = process.getAttribute("Company") != null ? (Company) process.getAttribute("Company") : (Company) request.getAttribute("Company"); Company company = process.getAttribute("Company") != null ? (Company) process.getAttribute("Company") : (Company) request.getAttribute("Company");
LogMgr.log(Company.LOG, LogLevel.PROCESSING1,"In SaveCompanyFP saving company : ", company ); LogMgr.log(Company.LOG, LogLevel.PROCESSING1,"In SaveCompanyFP saving company : ", company );
...@@ -31,6 +32,9 @@ public class SaveCompanyFP extends SaveFP ...@@ -31,6 +32,9 @@ public class SaveCompanyFP extends SaveFP
LogMgr.log(Company.LOG, LogLevel.PROCESSING1,"In SaveCompanyFP setting comany logo to null of company : ", company ); LogMgr.log(Company.LOG, LogLevel.PROCESSING1,"In SaveCompanyFP setting comany logo to null of company : ", company );
} }
// Update company in intercom
IntercomUtils.updateCompany(company);
return super.processForm(process, submission, params); return super.processForm(process, submission, params);
} }
} }
\ No newline at end of file
...@@ -6,7 +6,6 @@ import oneit.components.ParticipantInitialisationContext; ...@@ -6,7 +6,6 @@ import oneit.components.ParticipantInitialisationContext;
import oneit.email.ConfigurableArticleTemplateEmailer; import oneit.email.ConfigurableArticleTemplateEmailer;
import oneit.logging.LogLevel; import oneit.logging.LogLevel;
import oneit.logging.LogMgr; import oneit.logging.LogMgr;
import oneit.objstore.ObjectTransaction;
import oneit.objstore.StorageException; import oneit.objstore.StorageException;
import oneit.objstore.parser.BusinessObjectParser; import oneit.objstore.parser.BusinessObjectParser;
import oneit.security.SecUser; import oneit.security.SecUser;
...@@ -20,6 +19,8 @@ import oneit.utils.CollectionUtils; ...@@ -20,6 +19,8 @@ import oneit.utils.CollectionUtils;
import oneit.utils.InitialisationException; import oneit.utils.InitialisationException;
import oneit.utils.MultiException; import oneit.utils.MultiException;
import oneit.utils.StringUtils; import oneit.utils.StringUtils;
import performa.intercom.resources.User;
import performa.intercom.utils.IntercomUtils;
import performa.orm.CompanyUser; import performa.orm.CompanyUser;
import performa.utils.Utils; import performa.utils.Utils;
...@@ -41,42 +42,56 @@ public class SaveUserDetailsFP extends SaveFP ...@@ -41,42 +42,56 @@ public class SaveUserDetailsFP extends SaveFP
if(oldSecUser != null) if(oldSecUser != null)
{ {
if(!companyUser.isLoggedViaSocial() && !CollectionUtils.equals(oldSecUser.getUserName(), secUser.getUserName())) if( !CollectionUtils.equals(oldSecUser.getEmail(), secUser.getEmail()))
{ {
if(companyUser.getConfirmPassword() == null) if(!companyUser.isLoggedViaSocial()) //email changed for normal user
{ {
submission.getRequest().setAttribute("EmailChanged", true); if(companyUser.getConfirmPassword() == null)
return RedisplayResult.getInstance();
}
else
{
boolean validPassword = secUser.checkPassword(companyUser.getConfirmPassword());
if(!validPassword)
{ {
submission.getRequest().setAttribute("EmailChanged", false); submission.getRequest().setAttribute("EmailChanged", true);
companyUser.setConfirmPassword(null); return RedisplayResult.getInstance();
} }
else
{
boolean validPassword = secUser.checkPassword(companyUser.getConfirmPassword());
BusinessObjectParser.assertFieldCondition(validPassword, companyUser, CompanyUser.FIELD_ConfirmPassword, "passwordNotMatch"); if(!validPassword)
{
submission.getRequest().setAttribute("EmailChanged", false);
companyUser.setConfirmPassword(null);
}
if(validPassword) BusinessObjectParser.assertFieldCondition(validPassword, companyUser, CompanyUser.FIELD_ConfirmPassword, "passwordNotMatch");
{
companyUser.setIsAccountVerified(Boolean.FALSE); if(validPassword)
companyUser.setIsEmailChanged(Boolean.TRUE); {
// companyUser.setIsAccountVerified(Boolean.FALSE);
Utils.sendEmailChangedMail(companyUser, request, emailer, SaveUserDetailsFP.class.getName()); companyUser.setIsEmailChanged(Boolean.TRUE);
Utils.sendEmailChangedMail(companyUser, request, emailer, SaveUserDetailsFP.class.getName());
}
} }
// secUser.setEmail(secUser.getUserName());
}
else //email changed for social login
{
//send email verification mail
LogMgr.log(CompanyUser.LOG, LogLevel.PROCESSING1,"Sending email resetted mail", companyUser );
companyUser.setIsEmailChanged(Boolean.TRUE);
Utils.sendEmailChangedMail(companyUser, request, emailer, SaveUserDetailsFP.class.getName());
} }
} }
else if (companyUser.isLoggedViaSocial() && !CollectionUtils.equals(oldSecUser.getEmail(), secUser.getEmail()))
User intercomUser = IntercomUtils.updateIntercomUser(secUser);
if(intercomUser == null)
{ {
//send email verification mail performa.intercom.resources.Company intercomCompany = IntercomUtils.findOrCreateCompany(companyUser.getCompany());
LogMgr.log(CompanyUser.LOG, LogLevel.PROCESSING1,"Sending email resetted mail", companyUser );
IntercomUtils.createIntercomUser(secUser, "Hiring Team", intercomCompany);
companyUser.setIsEmailChanged(Boolean.TRUE);
Utils.sendEmailChangedMail(companyUser, request, emailer, SaveUserDetailsFP.class.getName());
} }
} }
......
...@@ -19,11 +19,12 @@ import oneit.servlets.security.SessionSecUserDecorator; ...@@ -19,11 +19,12 @@ import oneit.servlets.security.SessionSecUserDecorator;
import oneit.utils.*; import oneit.utils.*;
import performa.intercom.utils.IntercomUtils; import performa.intercom.utils.IntercomUtils;
import performa.orm.*; import performa.orm.*;
import performa.orm.types.RoleType;
import performa.utils.Utils; import performa.utils.Utils;
import performa.utils.WebUtils; import performa.utils.WebUtils;
public class SendCompanyUserInvitesFP extends ORMProcessFormProcessor public class SendCompanyUserInvitesFP extends SaveFP
{ {
private static final LoggingArea LOG = LoggingArea.createLoggingArea("SendCompanyUserInvites"); private static final LoggingArea LOG = LoggingArea.createLoggingArea("SendCompanyUserInvites");
...@@ -36,16 +37,25 @@ public class SendCompanyUserInvitesFP extends ORMProcessFormProcessor ...@@ -36,16 +37,25 @@ public class SendCompanyUserInvitesFP extends ORMProcessFormProcessor
{ {
HttpServletRequest request = submission.getRequest(); HttpServletRequest request = submission.getRequest();
Company company = (Company) process.getAttribute("Company"); Company company = (Company) process.getAttribute("Company");
CompanyUser companyUser = (CompanyUser) request.getAttribute("CompanyUser");
for(CompanyUser cUser : company.getUsersSet()) if(companyUser != null && companyUser == company.getAddedByUser())
{ {
if(!CollectionUtils.equals(cUser, company.getAddedByUser())) for(CompanyUser cUser : company.getUsersSet())
{ {
SecUser secUser = cUser.getUser(); if(!CollectionUtils.equals(cUser, company.getAddedByUser()))
{
SecUser secUser = cUser.getUser();
BusinessObjectParser.assertFieldCondition(secUser.getEmail()!=null, secUser, SecUser.FIELD_Email, "mandatory", exceptions, true, request); BusinessObjectParser.assertFieldCondition(secUser.getEmail()!= null, secUser, SecUser.FIELD_Email, "mandatory", exceptions, true, request);
BusinessObjectParser.assertFieldCondition(!Utils.isCompanyUserEmailFound(process.getTransaction(), secUser.getEmail()), secUser, SecUser.FIELD_Email, "emailExists", exceptions, true, request); BusinessObjectParser.assertFieldCondition(!Utils.isCompanyUserEmailFound(process.getTransaction(), secUser.getEmail()), secUser, SecUser.FIELD_Email, "emailExists", exceptions, true, request);
}
}
if(!company.isTrue(company.getIsVerified()))
{
BusinessObjectParser.assertFieldCondition(company.getCompanyName()!=null, company, Company.FIELD_CompanyName, "mandatory", exceptions, true, request);
} }
} }
...@@ -59,21 +69,19 @@ public class SendCompanyUserInvitesFP extends ORMProcessFormProcessor ...@@ -59,21 +69,19 @@ public class SendCompanyUserInvitesFP extends ORMProcessFormProcessor
HttpServletRequest request = submission.getRequest(); HttpServletRequest request = submission.getRequest();
ObjectTransaction objTran = process.getTransaction(); ObjectTransaction objTran = process.getTransaction();
Company company = (Company) process.getAttribute("Company"); Company company = (Company) process.getAttribute("Company");
CompanyUser companyUser = company.getAddedByUser(); CompanyUser companyUser = (CompanyUser) request.getAttribute("CompanyUser");
SecUser secUser = companyUser.getUser(); SecUser secUser = companyUser.getUser();
String nextPage = (String) request.getAttribute("nextPage");
Boolean socialLogin = CollectionUtils.equals(process.getAttribute("socialLogin"), Boolean.TRUE); Boolean socialLogin = CollectionUtils.equals(process.getAttribute("socialLogin"), Boolean.TRUE);
LogMgr.log(LOG, LogLevel.PROCESSING1, "Verifing Company User", companyUser, secUser); LogMgr.log(LOG, LogLevel.PROCESSING1, "Verifing Company User", companyUser, secUser);
companyUser.setIsAccountVerified(Boolean.TRUE); companyUser.setIsAccountVerified(Boolean.TRUE);
company.setIsVerified(Boolean.TRUE); company.setIsVerified(Boolean.TRUE);
sendAccountCreatedMail(companyUser, request); sendAccountCreatedMail(companyUser, request);
if(!socialLogin) if(!socialLogin)
{ {
secUser.setAttribute("md5:" + SecUser.FIELD_Password, companyUser.getPassword());
request.getSession().setAttribute (SecUser.SEC_USER_ID, secUser); request.getSession().setAttribute (SecUser.SEC_USER_ID, secUser);
request.getSession().setAttribute (SessionSecUserDecorator.REFRESH_SECURITY, Boolean.TRUE); request.getSession().setAttribute (SessionSecUserDecorator.REFRESH_SECURITY, Boolean.TRUE);
...@@ -83,42 +91,38 @@ public class SendCompanyUserInvitesFP extends ORMProcessFormProcessor ...@@ -83,42 +91,38 @@ public class SendCompanyUserInvitesFP extends ORMProcessFormProcessor
LogMgr.log(LOG, LogLevel.PROCESSING1, "Verifing Company User finished", companyUser, secUser); LogMgr.log(LOG, LogLevel.PROCESSING1, "Verifing Company User finished", companyUser, secUser);
if(companyUser == company.getAddedByUser())
//process user invitations
for(CompanyUser cUser : company.getUsersSet())
{ {
if(!CollectionUtils.equals(cUser, companyUser)) //process user invitations
for(CompanyUser cUser : company.getUsersSet())
{ {
Tuple.T2<SecUser, Boolean> userdata = Utils.getSecUserForCompanyIfAvailable(cUser); if(!CollectionUtils.equals(cUser, companyUser))
SecUser sUser = userdata.get0(); {
SecUser sUser = cUser.getUser();
LogMgr.log(LOG, LogLevel.PROCESSING1, "Started to send invitaion email.", cUser); LogMgr.log(LOG, LogLevel.PROCESSING1, "Started to send invitaion email.", cUser);
if(!userdata.get1()) //check user availablility
{
sUser.setUserName(sUser.getEmail().toLowerCase()); sUser.setUserName(sUser.getEmail().toLowerCase());
} sUser.setAttribute("md5:" + SecUser.FIELD_Password, CompanyUser.DEFAULT_PASSWORD);
sUser.addRole(Utils.getRole(Utils.ROLE_CLIENT, objTran));
companyUser.setRole(RoleType.STANDARD);
sUser.setAttribute("md5:" + SecUser.FIELD_Password, CompanyUser.DEFAULT_PASSWORD); LogMgr.log(LOG, LogLevel.PROCESSING1, "New user created :: ", sUser);
sUser.addRole(Utils.getRole(Utils.ROLE_CLIENT, objTran));
LogMgr.log(LOG, LogLevel.PROCESSING1, "New user created :: ", sUser); sendInvitationMail(cUser, request);
sendInvitationMail(cUser, request); LogMgr.log(LOG, LogLevel.PROCESSING1, "End of sending invitation email.", cUser);
}
LogMgr.log(LOG, LogLevel.PROCESSING1, "End of sending invitation email.", cUser);
} }
} }
// Create company and the first user of it in intercom // Create company and the first user of it in intercom
performa.intercom.resources.Company intercomCompany = IntercomUtils.createIntercomCompany(company); performa.intercom.resources.Company intercomCompany = IntercomUtils.findOrCreateCompany(company);
IntercomUtils.createIntercomUser(secUser, "Hiring Team", intercomCompany); IntercomUtils.createIntercomUser(secUser, "Hiring Team", intercomCompany);
process.completeAndRestart(); return super.processForm(process, submission, params);
return new ProcessRedirectResult(nextPage, new String[0]);
} }
......
...@@ -42,11 +42,11 @@ public class SendVerificationMailFP extends SaveFP ...@@ -42,11 +42,11 @@ public class SendVerificationMailFP extends SaveFP
CompanyUser companyUser = company.getAddedByUser(); CompanyUser companyUser = company.getAddedByUser();
SecUser secUser = companyUser.getUser(); SecUser secUser = companyUser.getUser();
BusinessObjectParser.assertFieldCondition(!Utils.isCompanyUserEmailFound(process.getTransaction(), secUser.getEmail()), secUser, SecUser.FIELD_Email, "emailExists", exceptions, true, request); BusinessObjectParser.assertFieldCondition(!Utils.emailExists(process.getTransaction(), secUser.getEmail()), secUser, SecUser.FIELD_Email, "emailExists", exceptions, true, request);
} }
else else
{ {
BusinessObjectParser.assertFieldCondition(!job.isEmailFound(), job, Job.FIELD_Email, "emailExists", exceptions, true, request); BusinessObjectParser.assertFieldCondition(!Utils.emailExists(process.getTransaction(), job.getEmail()), job, Job.FIELD_Email, "emailExists", exceptions, true, request);
} }
super.validate(process, submission, exceptions, params); super.validate(process, submission, exceptions, params);
......
...@@ -57,6 +57,7 @@ public class SignInCandidateFP extends LoginProcessor ...@@ -57,6 +57,7 @@ public class SignInCandidateFP extends LoginProcessor
BusinessObjectParser.assertFieldCondition(job.getEmail()!= null, job, Job.FIELD_Email, "mandatory", exceptions, true, request); BusinessObjectParser.assertFieldCondition(job.getEmail()!= null, job, Job.FIELD_Email, "mandatory", exceptions, true, request);
BusinessObjectParser.assertFieldCondition(job.getPassword()!= null, job, Job.FIELD_Password, "mandatory", exceptions, true, request); BusinessObjectParser.assertFieldCondition(job.getPassword()!= null, job, Job.FIELD_Password, "mandatory", exceptions, true, request);
BusinessObjectParser.assertFieldCondition(!Utils.emailExists(job.getTransaction(), job.getEmail()), job, Job.FIELD_Email, "emailExists", exceptions, true, request);
return super.validate(submission, exceptions); return super.validate(submission, exceptions);
} }
......
package performa.form;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import oneit.appservices.config.ConfigMgr;
import oneit.components.ParticipantInitialisationContext;
import oneit.email.ConfigurableArticleTemplateEmailer;
import oneit.email.ConfigurableEmailerException;
import oneit.logging.*;
import oneit.objstore.StorageException;
import oneit.objstore.parser.BusinessObjectParser;
import oneit.objstore.validator.AttributeValidator;
import oneit.security.SecUser;
import oneit.servlets.forms.*;
import oneit.servlets.process.*;
import oneit.servlets.security.SessionSecUserDecorator;
import oneit.utils.*;
import oneit.utils.parsers.FieldException;
import performa.intercom.utils.IntercomUtils;
import performa.orm.*;
import performa.utils.Utils;
import performa.utils.WebUtils;
public class VerifyCompanyUserFP extends ORMProcessFormProcessor
{
private static final LoggingArea LOG = LoggingArea.createLoggingArea("VerifyCompanyUser");
protected ConfigurableArticleTemplateEmailer emailer;
@Override
public void validate(ORMProcessState process, SubmissionDetails submission, MultiException exceptions, Map params) throws StorageException
{
HttpServletRequest request = submission.getRequest();
CompanyUser companyUser = (CompanyUser) process.getAttribute("CompanyUser");
Boolean socialLogin = (Boolean) request.getAttribute("socialLogin");
SecUser secUser = companyUser.getUser();
Company company = companyUser.getCompany();
if(socialLogin)
{
BusinessObjectParser.assertFieldCondition(secUser.getEmail()!=null, secUser, SecUser.FIELD_Email, "invalid", exceptions, true, request);
BusinessObjectParser.assertFieldCondition(!Utils.isCompanyUserEmailFound(secUser.getTransaction(), secUser.getEmail()), secUser, SecUser.FIELD_Email, "emailExists", exceptions, true, request);
}
else
{
BusinessObjectParser.assertFieldCondition(StringUtils.isEmailAddress(secUser.getUserName()), secUser, SecUser.FIELD_Email, "invalid", exceptions, true, request);
}
BusinessObjectParser.assertFieldCondition(secUser.getFirstName()!=null, secUser, SecUser.FIELD_FirstName, "mandatory", exceptions, true, request);
BusinessObjectParser.assertFieldCondition(secUser.getLastName()!=null, secUser, SecUser.FIELD_LastName, "mandatory", exceptions, true, request);
if(!company.isTrue(company.getIsVerified()))
{
BusinessObjectParser.assertFieldCondition(company.getCompanyName()!=null, company, Company.FIELD_CompanyName, "mandatory", exceptions, true, request);
}
if(!socialLogin)
{
BusinessObjectParser.assertFieldCondition(companyUser.getPassword()!= null, companyUser, CompanyUser.FIELD_Password, "mandatory", exceptions, true, request);
BusinessObjectParser.assertFieldCondition(companyUser.getConfirmPassword()!= null, companyUser, CompanyUser.FIELD_ConfirmPassword, "mandatory", exceptions, true, request);
BusinessObjectParser.assertFieldCondition(CollectionUtils.equals(companyUser.getPassword(), companyUser.getConfirmPassword()), companyUser, CompanyUser.FIELD_ConfirmPassword, "passwordNotMatch", exceptions, true, request);
//to validate password
AttributeValidator passwordValidator = (AttributeValidator)(ConfigMgr.getConfigObject ("CONFIG.ORMVALIDATOR", "PasswordValidator", null));
try
{
//execute if not null
if (passwordValidator != null)
{
passwordValidator.validate (null, secUser, "Password", companyUser.getPassword());
}
}
catch (FieldException e)
{
exceptions.addException(new FieldException(e, CompanyUser.FIELD_Password));
}
catch (Exception e)
{
throw NestedException.wrap(e);
}
}
super.validate(process, submission, exceptions, params);
}
@Override
public SuccessfulResult processForm(ORMProcessState process, SubmissionDetails submission, Map params) throws BusinessException, StorageException
{
HttpServletRequest request = submission.getRequest();
CompanyUser companyUser = (CompanyUser) process.getAttribute("CompanyUser");
SecUser secUser = companyUser.getUser();
Company company = companyUser.getCompany();
String nextPage = (String) request.getAttribute("nextPage");
Boolean socialLogin = (Boolean) request.getAttribute("socialLogin");
LogMgr.log(LOG, LogLevel.PROCESSING1, "Verifing User", companyUser, secUser);
if(CollectionUtils.equals(companyUser.getPassword(), companyUser.getConfirmPassword()))
{
if(!company.isTrue(company.getIsVerified()) && CollectionUtils.equals(company.getAddedByUser(), companyUser))
{
process.setAttribute("Company", company);
process.setAttribute("socialLogin", socialLogin);
return new ProcessRedirectResult(nextPage, new String[0]);
}
else
{
nextPage = WebUtils.getArticleByShortCut(process.getTransaction(), WebUtils.ADMIN_HOME).getLink(request);
// Create company user in intercom
performa.intercom.resources.Company intercomCompany = IntercomUtils.findCompanyByID(company);
IntercomUtils.createIntercomUser(secUser, "Hiring Team", intercomCompany);
}
if(!socialLogin)
{
secUser.setAttribute("md5:" + SecUser.FIELD_Password, companyUser.getPassword());
}
companyUser.setIsAccountVerified(Boolean.TRUE);
sendMail(companyUser, request);
request.getSession().setAttribute (SecUser.SEC_USER_ID, secUser);
request.getSession().setAttribute (SessionSecUserDecorator.REFRESH_SECURITY, Boolean.TRUE);
LogMgr.log(LOG, LogLevel.PROCESSING1, "Password resetted", companyUser, secUser);
}
LogMgr.log(LOG, LogLevel.PROCESSING1, "Verifing User finished", companyUser, secUser);
process.completeAndRestart();
return new ProcessRedirectResult(nextPage, new String[0]);
}
@Override
public void init(ParticipantInitialisationContext context) throws InitialisationException
{
super.init(context);
emailer = (ConfigurableArticleTemplateEmailer) (context.getSingleChild("AccountCreatedEmailer"));
}
protected void sendMail(CompanyUser companyUser, HttpServletRequest request) throws BusinessException
{
try
{
LogMgr.log(LOG, LogLevel.PROCESSING1, "Sending Account Created mail from VerifyCompanyUserFP to :: ", companyUser);
Map defaultParams = CollectionUtils.EMPTY_MAP;
ObjectTransform transform = Utils.createCompoundTransform(defaultParams, companyUser);
Utils.sendMail(emailer, transform, new String[]{companyUser.getEmailAddressFromUser()}, null, companyUser);
LogMgr.log(LOG, LogLevel.PROCESSING1, "Sent Account Created mail successfully from " + VerifyCompanyUserFP.class + " to :: ", companyUser);
}
catch (ConfigurableEmailerException ex)
{
LogMgr.log(LOG, LogLevel.SYSTEMERROR1, ex, "Error occured while sending mail for CompanyUser :: " + companyUser);
throw new BusinessException("We are unable to send mail. Please try again or contact Talentology for more details.");
}
}
}
\ No newline at end of file
...@@ -24,13 +24,13 @@ public class IntercomUtils ...@@ -24,13 +24,13 @@ public class IntercomUtils
public static User createIntercomUser(SecUser secUser, String role, Company company) public static User createIntercomUser(SecUser secUser, String role, Company company)
{ {
try try
{ {
User user = new User(); User user = new User();
user.setUserId(secUser.getIdentification()); user.setUserId(secUser.getIdentification());
user.setEmail(secUser.getUserName()); user.setEmail(secUser.getEmail());
user.setName(secUser.getName()); user.setName(secUser.getName());
user.addCustomAttribute(CustomAttribute.newStringAttribute("role", role)); user.addCustomAttribute(CustomAttribute.newStringAttribute("role", role));
if(company != null) if(company != null)
{ {
...@@ -48,6 +48,48 @@ public class IntercomUtils ...@@ -48,6 +48,48 @@ public class IntercomUtils
} }
public static User findUserByID(SecUser secUser)
{
try
{
Map<String, String> map = new HashMap<>();
map.put("user_id", secUser.getIdentification());
return User.find(map);
}
catch (Exception e)
{
LogMgr.log(LoggingArea.ALL, LogLevel.PROCESSING1, e, "Error while fetching a user by id from intercom");
return null;
}
}
public static User updateIntercomUser(SecUser secUser)
{
try
{
User user = findUserByID(secUser);
if(user != null)
{
user.setEmail(secUser.getEmail());
user.setName(secUser.getName());
User.update(user);
}
return user;
}
catch (Exception e)
{
LogMgr.log(LoggingArea.ALL, LogLevel.PROCESSING1, e, "Error while updating a user in intercom");
return null;
}
}
public static Company createIntercomCompany(performa.orm.Company company) public static Company createIntercomCompany(performa.orm.Company company)
{ {
try try
...@@ -76,20 +118,50 @@ public class IntercomUtils ...@@ -76,20 +118,50 @@ public class IntercomUtils
map.put("company_id", company.getID().toString()); map.put("company_id", company.getID().toString());
Company intercomCompany = Company.find(map); return Company.find(map);
}
catch (Exception e)
{
LogMgr.log(LoggingArea.ALL, LogLevel.PROCESSING1, e, "Error while fetching a company by id from intercom");
return null;
}
}
public static void updateCompany(performa.orm.Company company)
{
try
{
Company intercomCompany = findCompanyByID(company);
if(intercomCompany == null) if(intercomCompany == null)
{ {
intercomCompany = createIntercomCompany(company); createIntercomCompany(company);
} }
else
return intercomCompany; {
} intercomCompany.setName(company.getCompanyName());
Company.update(intercomCompany);
}
}
catch (Exception e) catch (Exception e)
{ {
LogMgr.log(LoggingArea.ALL, LogLevel.PROCESSING1, e, "Error while fetching a company by id from intercom"); LogMgr.log(LoggingArea.ALL, LogLevel.PROCESSING1, e, "Error while updating company in intercom");
return null;
} }
} }
public static Company findOrCreateCompany(performa.orm.Company company)
{
Company intercomCompany = findCompanyByID(company);
if(intercomCompany == null)
{
intercomCompany = createIntercomCompany(company);
}
return intercomCompany;
}
} }
...@@ -60,6 +60,7 @@ public abstract class BaseCompany extends BaseBusinessClass ...@@ -60,6 +60,7 @@ public abstract class BaseCompany extends BaseBusinessClass
public static final String FIELD_LastName = "LastName"; public static final String FIELD_LastName = "LastName";
public static final String FIELD_RoleType = "RoleType"; public static final String FIELD_RoleType = "RoleType";
public static final String FIELD_IsLogoDeleted = "IsLogoDeleted"; public static final String FIELD_IsLogoDeleted = "IsLogoDeleted";
public static final String FIELD_CompletedProfile = "CompletedProfile";
public static final String SINGLEREFERENCE_AddedByUser = "AddedByUser"; public static final String SINGLEREFERENCE_AddedByUser = "AddedByUser";
public static final String MULTIPLEREFERENCE_Users = "Users"; public static final String MULTIPLEREFERENCE_Users = "Users";
public static final String BACKREF_Users = ""; public static final String BACKREF_Users = "";
...@@ -87,6 +88,7 @@ public abstract class BaseCompany extends BaseBusinessClass ...@@ -87,6 +88,7 @@ public abstract class BaseCompany extends BaseBusinessClass
private static final DefaultAttributeHelper<Company> HELPER_LastName = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper<Company> HELPER_LastName = DefaultAttributeHelper.INSTANCE;
private static final EnumeratedAttributeHelper<Company, RoleType> HELPER_RoleType = new EnumeratedAttributeHelper<Company, RoleType> (RoleType.FACTORY_RoleType); private static final EnumeratedAttributeHelper<Company, RoleType> HELPER_RoleType = new EnumeratedAttributeHelper<Company, RoleType> (RoleType.FACTORY_RoleType);
private static final DefaultAttributeHelper<Company> HELPER_IsLogoDeleted = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper<Company> HELPER_IsLogoDeleted = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper<Company> HELPER_CompletedProfile = DefaultAttributeHelper.INSTANCE;
// Private attributes corresponding to business object data // Private attributes corresponding to business object data
...@@ -106,6 +108,7 @@ public abstract class BaseCompany extends BaseBusinessClass ...@@ -106,6 +108,7 @@ public abstract class BaseCompany extends BaseBusinessClass
private String _LastName; private String _LastName;
private RoleType _RoleType; private RoleType _RoleType;
private Boolean _IsLogoDeleted; private Boolean _IsLogoDeleted;
private Boolean _CompletedProfile;
// Private attributes corresponding to single references // Private attributes corresponding to single references
...@@ -126,6 +129,7 @@ public abstract class BaseCompany extends BaseBusinessClass ...@@ -126,6 +129,7 @@ public abstract class BaseCompany extends BaseBusinessClass
private static final AttributeValidator[] FIELD_LastName_Validators; private static final AttributeValidator[] FIELD_LastName_Validators;
private static final AttributeValidator[] FIELD_RoleType_Validators; private static final AttributeValidator[] FIELD_RoleType_Validators;
private static final AttributeValidator[] FIELD_IsLogoDeleted_Validators; private static final AttributeValidator[] FIELD_IsLogoDeleted_Validators;
private static final AttributeValidator[] FIELD_CompletedProfile_Validators;
private static final AttributeValidator[] FIELD_CompanyName_Validators; private static final AttributeValidator[] FIELD_CompanyName_Validators;
private static final AttributeValidator[] FIELD_CompanyLogo_Validators; private static final AttributeValidator[] FIELD_CompanyLogo_Validators;
private static final AttributeValidator[] FIELD_HiringTeamType_Validators; private static final AttributeValidator[] FIELD_HiringTeamType_Validators;
...@@ -160,6 +164,7 @@ public abstract class BaseCompany extends BaseBusinessClass ...@@ -160,6 +164,7 @@ public abstract class BaseCompany extends BaseBusinessClass
FIELD_LastName_Validators = (AttributeValidator[])setupAttribMetaData_LastName(validatorMapping).toArray (new AttributeValidator[0]); FIELD_LastName_Validators = (AttributeValidator[])setupAttribMetaData_LastName(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_RoleType_Validators = (AttributeValidator[])setupAttribMetaData_RoleType(validatorMapping).toArray (new AttributeValidator[0]); FIELD_RoleType_Validators = (AttributeValidator[])setupAttribMetaData_RoleType(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_IsLogoDeleted_Validators = (AttributeValidator[])setupAttribMetaData_IsLogoDeleted(validatorMapping).toArray (new AttributeValidator[0]); FIELD_IsLogoDeleted_Validators = (AttributeValidator[])setupAttribMetaData_IsLogoDeleted(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_CompletedProfile_Validators = (AttributeValidator[])setupAttribMetaData_CompletedProfile(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_CompanyName_Validators = (AttributeValidator[])setupAttribMetaData_CompanyName(validatorMapping).toArray (new AttributeValidator[0]); FIELD_CompanyName_Validators = (AttributeValidator[])setupAttribMetaData_CompanyName(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_CompanyLogo_Validators = (AttributeValidator[])setupAttribMetaData_CompanyLogo(validatorMapping).toArray (new AttributeValidator[0]); FIELD_CompanyLogo_Validators = (AttributeValidator[])setupAttribMetaData_CompanyLogo(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_HiringTeamType_Validators = (AttributeValidator[])setupAttribMetaData_HiringTeamType(validatorMapping).toArray (new AttributeValidator[0]); FIELD_HiringTeamType_Validators = (AttributeValidator[])setupAttribMetaData_HiringTeamType(validatorMapping).toArray (new AttributeValidator[0]);
...@@ -318,6 +323,24 @@ public abstract class BaseCompany extends BaseBusinessClass ...@@ -318,6 +323,24 @@ public abstract class BaseCompany extends BaseBusinessClass
} }
// Meta Info setup // Meta Info setup
private static List setupAttribMetaData_CompletedProfile(Map validatorMapping)
{
Map metaInfo = new HashMap ();
metaInfo.put ("defaultValue", "Boolean.FALSE");
metaInfo.put ("name", "CompletedProfile");
metaInfo.put ("type", "Boolean");
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG2, "Metadata for Company.CompletedProfile:", metaInfo);
ATTRIBUTES_METADATA_Company.put (FIELD_CompletedProfile, Collections.unmodifiableMap (metaInfo));
List validators = BaseBusinessClass.getAttribValidators(Company.class, "CompletedProfile", metaInfo, validatorMapping);
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG1, "Validators for Company.CompletedProfile:", validators);
return validators;
}
// Meta Info setup
private static List setupAttribMetaData_CompanyName(Map validatorMapping) private static List setupAttribMetaData_CompanyName(Map validatorMapping)
{ {
Map metaInfo = new HashMap (); Map metaInfo = new HashMap ();
...@@ -583,6 +606,7 @@ public abstract class BaseCompany extends BaseBusinessClass ...@@ -583,6 +606,7 @@ public abstract class BaseCompany extends BaseBusinessClass
_LastName = (String)(HELPER_LastName.initialise (_LastName)); _LastName = (String)(HELPER_LastName.initialise (_LastName));
_RoleType = (RoleType)(RoleType.STANDARD); _RoleType = (RoleType)(RoleType.STANDARD);
_IsLogoDeleted = (Boolean)(Boolean.FALSE); _IsLogoDeleted = (Boolean)(Boolean.FALSE);
_CompletedProfile = (Boolean)(Boolean.FALSE);
} }
...@@ -2182,6 +2206,104 @@ public abstract class BaseCompany extends BaseBusinessClass ...@@ -2182,6 +2206,104 @@ public abstract class BaseCompany extends BaseBusinessClass
} }
} }
/**
* Get the attribute CompletedProfile
*/
public Boolean getCompletedProfile ()
{
assertValid();
Boolean valToReturn = _CompletedProfile;
for (CompanyBehaviourDecorator bhd : Company_BehaviourDecorators)
{
valToReturn = bhd.getCompletedProfile ((Company)this, valToReturn);
}
return valToReturn;
}
/**
* Called prior to the attribute changing. Subclasses need not call super. If a field exception
* is thrown, the attribute change will fail. The new value is different to the old value.
*/
protected void preCompletedProfileChange (Boolean newCompletedProfile) throws FieldException
{
}
/**
* Called after the attribute changes.
* If a field exception is thrown, the value is still changed, however it
* may lead to the TX being rolled back
*/
protected void postCompletedProfileChange () throws FieldException
{
}
public FieldWriteability getWriteability_CompletedProfile ()
{
return getFieldWritabilityUtil (FieldWriteability.TRUE);
}
/**
* Set the attribute CompletedProfile. Checks to ensure a new value
* has been supplied. If so, marks the field as altered and sets the attribute.
*/
public void setCompletedProfile (Boolean newCompletedProfile) throws FieldException
{
boolean oldAndNewIdentical = HELPER_CompletedProfile.compare (_CompletedProfile, newCompletedProfile);
try
{
for (CompanyBehaviourDecorator bhd : Company_BehaviourDecorators)
{
newCompletedProfile = bhd.setCompletedProfile ((Company)this, newCompletedProfile);
oldAndNewIdentical = HELPER_CompletedProfile.compare (_CompletedProfile, newCompletedProfile);
}
if (FIELD_CompletedProfile_Validators.length > 0)
{
Object newCompletedProfileObj = HELPER_CompletedProfile.toObject (newCompletedProfile);
if (newCompletedProfileObj != null)
{
int loopMax = FIELD_CompletedProfile_Validators.length;
Map metadata = (Map)ATTRIBUTES_METADATA_Company.get (FIELD_CompletedProfile);
for (int v = 0 ; v < loopMax ; ++v)
{
FIELD_CompletedProfile_Validators[v].checkAttribute (this, FIELD_CompletedProfile, metadata, newCompletedProfileObj);
}
}
}
}
catch (FieldException e)
{
if (!oldAndNewIdentical)
{
e.setWouldModify ();
}
throw e;
}
if (!oldAndNewIdentical)
{
assertValid();
Debug.assertion (getWriteability_CompletedProfile () != FieldWriteability.FALSE, "Field CompletedProfile is not writeable");
preCompletedProfileChange (newCompletedProfile);
markFieldChange (FIELD_CompletedProfile);
_CompletedProfile = newCompletedProfile;
postFieldChange (FIELD_CompletedProfile);
postCompletedProfileChange ();
}
}
/** /**
...@@ -2982,6 +3104,7 @@ public abstract class BaseCompany extends BaseBusinessClass ...@@ -2982,6 +3104,7 @@ public abstract class BaseCompany extends BaseBusinessClass
_LastName = sourceCompany._LastName; _LastName = sourceCompany._LastName;
_RoleType = sourceCompany._RoleType; _RoleType = sourceCompany._RoleType;
_IsLogoDeleted = sourceCompany._IsLogoDeleted; _IsLogoDeleted = sourceCompany._IsLogoDeleted;
_CompletedProfile = sourceCompany._CompletedProfile;
} }
} }
...@@ -3055,6 +3178,7 @@ public abstract class BaseCompany extends BaseBusinessClass ...@@ -3055,6 +3178,7 @@ public abstract class BaseCompany extends BaseBusinessClass
_LastName = (String)(HELPER_LastName.readExternal (_LastName, vals.get(FIELD_LastName))); // _LastName = (String)(HELPER_LastName.readExternal (_LastName, vals.get(FIELD_LastName))); //
_RoleType = (RoleType)(HELPER_RoleType.readExternal (_RoleType, vals.get(FIELD_RoleType))); // _RoleType = (RoleType)(HELPER_RoleType.readExternal (_RoleType, vals.get(FIELD_RoleType))); //
_IsLogoDeleted = (Boolean)(HELPER_IsLogoDeleted.readExternal (_IsLogoDeleted, vals.get(FIELD_IsLogoDeleted))); // _IsLogoDeleted = (Boolean)(HELPER_IsLogoDeleted.readExternal (_IsLogoDeleted, vals.get(FIELD_IsLogoDeleted))); //
_CompletedProfile = (Boolean)(HELPER_CompletedProfile.readExternal (_CompletedProfile, vals.get(FIELD_CompletedProfile))); //
_AddedByUser.readExternalData(vals.get(SINGLEREFERENCE_AddedByUser)); _AddedByUser.readExternalData(vals.get(SINGLEREFERENCE_AddedByUser));
_Users.readExternalData(vals.get(MULTIPLEREFERENCE_Users)); _Users.readExternalData(vals.get(MULTIPLEREFERENCE_Users));
_Clients.readExternalData(vals.get(MULTIPLEREFERENCE_Clients)); _Clients.readExternalData(vals.get(MULTIPLEREFERENCE_Clients));
...@@ -3085,6 +3209,7 @@ public abstract class BaseCompany extends BaseBusinessClass ...@@ -3085,6 +3209,7 @@ public abstract class BaseCompany extends BaseBusinessClass
vals.put (FIELD_LastName, HELPER_LastName.writeExternal (_LastName)); vals.put (FIELD_LastName, HELPER_LastName.writeExternal (_LastName));
vals.put (FIELD_RoleType, HELPER_RoleType.writeExternal (_RoleType)); vals.put (FIELD_RoleType, HELPER_RoleType.writeExternal (_RoleType));
vals.put (FIELD_IsLogoDeleted, HELPER_IsLogoDeleted.writeExternal (_IsLogoDeleted)); vals.put (FIELD_IsLogoDeleted, HELPER_IsLogoDeleted.writeExternal (_IsLogoDeleted));
vals.put (FIELD_CompletedProfile, HELPER_CompletedProfile.writeExternal (_CompletedProfile));
vals.put (SINGLEREFERENCE_AddedByUser, _AddedByUser.writeExternalData()); vals.put (SINGLEREFERENCE_AddedByUser, _AddedByUser.writeExternalData());
vals.put (MULTIPLEREFERENCE_Users, _Users.writeExternalData()); vals.put (MULTIPLEREFERENCE_Users, _Users.writeExternalData());
vals.put (MULTIPLEREFERENCE_Clients, _Clients.writeExternalData()); vals.put (MULTIPLEREFERENCE_Clients, _Clients.writeExternalData());
...@@ -3167,6 +3292,7 @@ public abstract class BaseCompany extends BaseBusinessClass ...@@ -3167,6 +3292,7 @@ public abstract class BaseCompany extends BaseBusinessClass
visitor.visitField(this, FIELD_LastName, HELPER_LastName.toObject(getLastName())); visitor.visitField(this, FIELD_LastName, HELPER_LastName.toObject(getLastName()));
visitor.visitField(this, FIELD_RoleType, HELPER_RoleType.toObject(getRoleType())); visitor.visitField(this, FIELD_RoleType, HELPER_RoleType.toObject(getRoleType()));
visitor.visitField(this, FIELD_IsLogoDeleted, HELPER_IsLogoDeleted.toObject(getIsLogoDeleted())); visitor.visitField(this, FIELD_IsLogoDeleted, HELPER_IsLogoDeleted.toObject(getIsLogoDeleted()));
visitor.visitField(this, FIELD_CompletedProfile, HELPER_CompletedProfile.toObject(getCompletedProfile()));
} }
...@@ -3484,6 +3610,10 @@ public abstract class BaseCompany extends BaseBusinessClass ...@@ -3484,6 +3610,10 @@ public abstract class BaseCompany extends BaseBusinessClass
{ {
return HELPER_IsLogoDeleted.toObject (getIsLogoDeleted ()); return HELPER_IsLogoDeleted.toObject (getIsLogoDeleted ());
} }
else if (attribName.equals (FIELD_CompletedProfile))
{
return HELPER_CompletedProfile.toObject (getCompletedProfile ());
}
else else
{ {
return super.getAttribute (attribName); return super.getAttribute (attribName);
...@@ -3561,6 +3691,10 @@ public abstract class BaseCompany extends BaseBusinessClass ...@@ -3561,6 +3691,10 @@ public abstract class BaseCompany extends BaseBusinessClass
{ {
return HELPER_IsLogoDeleted; return HELPER_IsLogoDeleted;
} }
else if (attribName.equals (FIELD_CompletedProfile))
{
return HELPER_CompletedProfile;
}
else else
{ {
return super.getAttributeHelper (attribName); return super.getAttributeHelper (attribName);
...@@ -3638,6 +3772,10 @@ public abstract class BaseCompany extends BaseBusinessClass ...@@ -3638,6 +3772,10 @@ public abstract class BaseCompany extends BaseBusinessClass
{ {
setIsLogoDeleted ((Boolean)(HELPER_IsLogoDeleted.fromObject (_IsLogoDeleted, attribValue))); setIsLogoDeleted ((Boolean)(HELPER_IsLogoDeleted.fromObject (_IsLogoDeleted, attribValue)));
} }
else if (attribName.equals (FIELD_CompletedProfile))
{
setCompletedProfile ((Boolean)(HELPER_CompletedProfile.fromObject (_CompletedProfile, attribValue)));
}
else else
{ {
super.setAttribute (attribName, attribValue); super.setAttribute (attribName, attribValue);
...@@ -3734,6 +3872,10 @@ public abstract class BaseCompany extends BaseBusinessClass ...@@ -3734,6 +3872,10 @@ public abstract class BaseCompany extends BaseBusinessClass
{ {
return getWriteability_IsLogoDeleted (); return getWriteability_IsLogoDeleted ();
} }
else if (fieldName.equals (FIELD_CompletedProfile))
{
return getWriteability_CompletedProfile ();
}
else else
{ {
return super.getWriteable (fieldName); return super.getWriteable (fieldName);
...@@ -3824,6 +3966,11 @@ public abstract class BaseCompany extends BaseBusinessClass ...@@ -3824,6 +3966,11 @@ public abstract class BaseCompany extends BaseBusinessClass
fields.add (FIELD_IsLogoDeleted); fields.add (FIELD_IsLogoDeleted);
} }
if (getWriteability_CompletedProfile () != FieldWriteability.TRUE)
{
fields.add (FIELD_CompletedProfile);
}
super.putUnwriteable (fields); super.putUnwriteable (fields);
} }
...@@ -3849,6 +3996,7 @@ public abstract class BaseCompany extends BaseBusinessClass ...@@ -3849,6 +3996,7 @@ public abstract class BaseCompany extends BaseBusinessClass
result.add(HELPER_LastName.getAttribObject (getClass (), _LastName, false, FIELD_LastName)); result.add(HELPER_LastName.getAttribObject (getClass (), _LastName, false, FIELD_LastName));
result.add(HELPER_RoleType.getAttribObject (getClass (), _RoleType, false, FIELD_RoleType)); result.add(HELPER_RoleType.getAttribObject (getClass (), _RoleType, false, FIELD_RoleType));
result.add(HELPER_IsLogoDeleted.getAttribObject (getClass (), _IsLogoDeleted, false, FIELD_IsLogoDeleted)); result.add(HELPER_IsLogoDeleted.getAttribObject (getClass (), _IsLogoDeleted, false, FIELD_IsLogoDeleted));
result.add(HELPER_CompletedProfile.getAttribObject (getClass (), _CompletedProfile, false, FIELD_CompletedProfile));
return result; return result;
} }
...@@ -4205,6 +4353,24 @@ public abstract class BaseCompany extends BaseBusinessClass ...@@ -4205,6 +4353,24 @@ public abstract class BaseCompany extends BaseBusinessClass
return newIsLogoDeleted; return newIsLogoDeleted;
} }
/**
* Get the attribute CompletedProfile
*/
public Boolean getCompletedProfile (Company obj, Boolean original)
{
return original;
}
/**
* Change the value set for attribute CompletedProfile.
* May modify the field beforehand
* Occurs before validation.
*/
public Boolean setCompletedProfile (Company obj, Boolean newCompletedProfile) throws FieldException
{
return newCompletedProfile;
}
} }
...@@ -4285,6 +4451,10 @@ public abstract class BaseCompany extends BaseBusinessClass ...@@ -4285,6 +4451,10 @@ public abstract class BaseCompany extends BaseBusinessClass
{ {
return toIsLogoDeleted (); return toIsLogoDeleted ();
} }
if (name.equals ("CompletedProfile"))
{
return toCompletedProfile ();
}
if (name.equals ("CompanyName")) if (name.equals ("CompanyName"))
{ {
return toCompanyName (); return toCompanyName ();
...@@ -4349,6 +4519,8 @@ public abstract class BaseCompany extends BaseBusinessClass ...@@ -4349,6 +4519,8 @@ public abstract class BaseCompany extends BaseBusinessClass
public PipeLine<From, Boolean> toIsLogoDeleted () { return pipe(new ORMAttributePipe<Me, Boolean>(FIELD_IsLogoDeleted)); } public PipeLine<From, Boolean> toIsLogoDeleted () { return pipe(new ORMAttributePipe<Me, Boolean>(FIELD_IsLogoDeleted)); }
public PipeLine<From, Boolean> toCompletedProfile () { return pipe(new ORMAttributePipe<Me, Boolean>(FIELD_CompletedProfile)); }
public PipeLine<From, String> toCompanyName () { return pipe(new ORMAttributePipe<Me, String>(FIELD_CompanyName)); } public PipeLine<From, String> toCompanyName () { return pipe(new ORMAttributePipe<Me, String>(FIELD_CompanyName)); }
public PipeLine<From, BinaryContent> toCompanyLogo () { return pipe(new ORMAttributePipe<Me, BinaryContent>(FIELD_CompanyLogo)); } public PipeLine<From, BinaryContent> toCompanyLogo () { return pipe(new ORMAttributePipe<Me, BinaryContent>(FIELD_CompanyLogo)); }
...@@ -4419,6 +4591,11 @@ public abstract class BaseCompany extends BaseBusinessClass ...@@ -4419,6 +4591,11 @@ public abstract class BaseCompany extends BaseBusinessClass
return true; return true;
} }
if(CollectionUtils.equals(attribName, "CompletedProfile"))
{
return true;
}
return super.isTransientAttrib(attribName); return super.isTransientAttrib(attribName);
} }
......
...@@ -41,9 +41,8 @@ public abstract class BaseFactorScore extends BaseBusinessClass ...@@ -41,9 +41,8 @@ public abstract class BaseFactorScore extends BaseBusinessClass
// Static constants corresponding to field names // Static constants corresponding to field names
public static final String FIELD_Score = "Score"; public static final String FIELD_Score = "Score";
public static final String FIELD_ColorRank = "ColorRank";
public static final String FIELD_WghtdScore = "WghtdScore";
public static final String FIELD_ColorCode = "ColorCode"; public static final String FIELD_ColorCode = "ColorCode";
public static final String FIELD_WghtdScore = "WghtdScore";
public static final String SINGLEREFERENCE_TestAnalysis = "TestAnalysis"; public static final String SINGLEREFERENCE_TestAnalysis = "TestAnalysis";
public static final String BACKREF_TestAnalysis = ""; public static final String BACKREF_TestAnalysis = "";
public static final String SINGLEREFERENCE_Factor = "Factor"; public static final String SINGLEREFERENCE_Factor = "Factor";
...@@ -57,16 +56,14 @@ public abstract class BaseFactorScore extends BaseBusinessClass ...@@ -57,16 +56,14 @@ public abstract class BaseFactorScore extends BaseBusinessClass
// Static constants corresponding to attribute helpers // Static constants corresponding to attribute helpers
private static final DefaultAttributeHelper<FactorScore> HELPER_Score = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper<FactorScore> HELPER_Score = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper<FactorScore> HELPER_ColorRank = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper<FactorScore> HELPER_WghtdScore = DefaultAttributeHelper.INSTANCE;
private static final EnumeratedAttributeHelper<FactorScore, ColorCode> HELPER_ColorCode = new EnumeratedAttributeHelper<FactorScore, ColorCode> (ColorCode.FACTORY_ColorCode); private static final EnumeratedAttributeHelper<FactorScore, ColorCode> HELPER_ColorCode = new EnumeratedAttributeHelper<FactorScore, ColorCode> (ColorCode.FACTORY_ColorCode);
private static final DefaultAttributeHelper<FactorScore> HELPER_WghtdScore = DefaultAttributeHelper.INSTANCE;
// Private attributes corresponding to business object data // Private attributes corresponding to business object data
private Integer _Score; private Integer _Score;
private Integer _ColorRank;
private Integer _WghtdScore;
private ColorCode _ColorCode; private ColorCode _ColorCode;
private Integer _WghtdScore;
// Private attributes corresponding to single references // Private attributes corresponding to single references
...@@ -83,9 +80,8 @@ public abstract class BaseFactorScore extends BaseBusinessClass ...@@ -83,9 +80,8 @@ public abstract class BaseFactorScore extends BaseBusinessClass
private static final Map ATTRIBUTES_METADATA_FactorScore = new HashMap (); private static final Map ATTRIBUTES_METADATA_FactorScore = new HashMap ();
// Arrays of validators for each attribute // Arrays of validators for each attribute
private static final AttributeValidator[] FIELD_ColorCode_Validators;
private static final AttributeValidator[] FIELD_Score_Validators; private static final AttributeValidator[] FIELD_Score_Validators;
private static final AttributeValidator[] FIELD_ColorRank_Validators; private static final AttributeValidator[] FIELD_ColorCode_Validators;
private static final AttributeValidator[] FIELD_WghtdScore_Validators; private static final AttributeValidator[] FIELD_WghtdScore_Validators;
...@@ -106,9 +102,8 @@ public abstract class BaseFactorScore extends BaseBusinessClass ...@@ -106,9 +102,8 @@ public abstract class BaseFactorScore extends BaseBusinessClass
setupAssocMetaData_Factor(); setupAssocMetaData_Factor();
setupAssocMetaData_Level(); setupAssocMetaData_Level();
setupAssocMetaData_Narrative(); setupAssocMetaData_Narrative();
FIELD_ColorCode_Validators = (AttributeValidator[])setupAttribMetaData_ColorCode(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_Score_Validators = (AttributeValidator[])setupAttribMetaData_Score(validatorMapping).toArray (new AttributeValidator[0]); FIELD_Score_Validators = (AttributeValidator[])setupAttribMetaData_Score(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_ColorRank_Validators = (AttributeValidator[])setupAttribMetaData_ColorRank(validatorMapping).toArray (new AttributeValidator[0]); FIELD_ColorCode_Validators = (AttributeValidator[])setupAttribMetaData_ColorCode(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_WghtdScore_Validators = (AttributeValidator[])setupAttribMetaData_WghtdScore(validatorMapping).toArray (new AttributeValidator[0]); FIELD_WghtdScore_Validators = (AttributeValidator[])setupAttribMetaData_WghtdScore(validatorMapping).toArray (new AttributeValidator[0]);
...@@ -183,24 +178,6 @@ public abstract class BaseFactorScore extends BaseBusinessClass ...@@ -183,24 +178,6 @@ public abstract class BaseFactorScore extends BaseBusinessClass
// Meta Info setup // Meta Info setup
private static List setupAttribMetaData_ColorCode(Map validatorMapping)
{
Map metaInfo = new HashMap ();
metaInfo.put ("attribHelper", "EnumeratedAttributeHelper");
metaInfo.put ("name", "ColorCode");
metaInfo.put ("type", "ColorCode");
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG2, "Metadata for FactorScore.ColorCode:", metaInfo);
ATTRIBUTES_METADATA_FactorScore.put (FIELD_ColorCode, Collections.unmodifiableMap (metaInfo));
List validators = BaseBusinessClass.getAttribValidators(FactorScore.class, "ColorCode", metaInfo, validatorMapping);
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG1, "Validators for FactorScore.ColorCode:", validators);
return validators;
}
// Meta Info setup
private static List setupAttribMetaData_Score(Map validatorMapping) private static List setupAttribMetaData_Score(Map validatorMapping)
{ {
Map metaInfo = new HashMap (); Map metaInfo = new HashMap ();
...@@ -219,19 +196,20 @@ public abstract class BaseFactorScore extends BaseBusinessClass ...@@ -219,19 +196,20 @@ public abstract class BaseFactorScore extends BaseBusinessClass
} }
// Meta Info setup // Meta Info setup
private static List setupAttribMetaData_ColorRank(Map validatorMapping) private static List setupAttribMetaData_ColorCode(Map validatorMapping)
{ {
Map metaInfo = new HashMap (); Map metaInfo = new HashMap ();
metaInfo.put ("dbcol", "color_rank"); metaInfo.put ("attribHelper", "EnumeratedAttributeHelper");
metaInfo.put ("name", "ColorRank"); metaInfo.put ("dbcol", "color_code");
metaInfo.put ("type", "Integer"); metaInfo.put ("name", "ColorCode");
metaInfo.put ("type", "ColorCode");
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG2, "Metadata for FactorScore.ColorRank:", metaInfo); LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG2, "Metadata for FactorScore.ColorCode:", metaInfo);
ATTRIBUTES_METADATA_FactorScore.put (FIELD_ColorRank, Collections.unmodifiableMap (metaInfo)); ATTRIBUTES_METADATA_FactorScore.put (FIELD_ColorCode, Collections.unmodifiableMap (metaInfo));
List validators = BaseBusinessClass.getAttribValidators(FactorScore.class, "ColorRank", metaInfo, validatorMapping); List validators = BaseBusinessClass.getAttribValidators(FactorScore.class, "ColorCode", metaInfo, validatorMapping);
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG1, "Validators for FactorScore.ColorRank:", validators); LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG1, "Validators for FactorScore.ColorCode:", validators);
return validators; return validators;
} }
...@@ -282,9 +260,8 @@ public abstract class BaseFactorScore extends BaseBusinessClass ...@@ -282,9 +260,8 @@ public abstract class BaseFactorScore extends BaseBusinessClass
_Score = (Integer)(HELPER_Score.initialise (_Score)); _Score = (Integer)(HELPER_Score.initialise (_Score));
_ColorRank = (Integer)(HELPER_ColorRank.initialise (_ColorRank));
_WghtdScore = (Integer)(HELPER_WghtdScore.initialise (_WghtdScore));
_ColorCode = (ColorCode)(HELPER_ColorCode.initialise (_ColorCode)); _ColorCode = (ColorCode)(HELPER_ColorCode.initialise (_ColorCode));
_WghtdScore = (Integer)(HELPER_WghtdScore.initialise (_WghtdScore));
} }
...@@ -416,16 +393,16 @@ public abstract class BaseFactorScore extends BaseBusinessClass ...@@ -416,16 +393,16 @@ public abstract class BaseFactorScore extends BaseBusinessClass
} }
/** /**
* Get the attribute ColorRank * Get the attribute ColorCode
*/ */
public Integer getColorRank () public ColorCode getColorCode ()
{ {
assertValid(); assertValid();
Integer valToReturn = _ColorRank; ColorCode valToReturn = _ColorCode;
for (FactorScoreBehaviourDecorator bhd : FactorScore_BehaviourDecorators) for (FactorScoreBehaviourDecorator bhd : FactorScore_BehaviourDecorators)
{ {
valToReturn = bhd.getColorRank ((FactorScore)this, valToReturn); valToReturn = bhd.getColorCode ((FactorScore)this, valToReturn);
} }
return valToReturn; return valToReturn;
...@@ -437,7 +414,7 @@ public abstract class BaseFactorScore extends BaseBusinessClass ...@@ -437,7 +414,7 @@ public abstract class BaseFactorScore extends BaseBusinessClass
* Called prior to the attribute changing. Subclasses need not call super. If a field exception * Called prior to the attribute changing. Subclasses need not call super. If a field exception
* is thrown, the attribute change will fail. The new value is different to the old value. * is thrown, the attribute change will fail. The new value is different to the old value.
*/ */
protected void preColorRankChange (Integer newColorRank) throws FieldException protected void preColorCodeChange (ColorCode newColorCode) throws FieldException
{ {
} }
...@@ -447,46 +424,46 @@ public abstract class BaseFactorScore extends BaseBusinessClass ...@@ -447,46 +424,46 @@ public abstract class BaseFactorScore extends BaseBusinessClass
* If a field exception is thrown, the value is still changed, however it * If a field exception is thrown, the value is still changed, however it
* may lead to the TX being rolled back * may lead to the TX being rolled back
*/ */
protected void postColorRankChange () throws FieldException protected void postColorCodeChange () throws FieldException
{ {
} }
public FieldWriteability getWriteability_ColorRank () public FieldWriteability getWriteability_ColorCode ()
{ {
return getFieldWritabilityUtil (FieldWriteability.TRUE); return getFieldWritabilityUtil (FieldWriteability.TRUE);
} }
/** /**
* Set the attribute ColorRank. Checks to ensure a new value * Set the attribute ColorCode. Checks to ensure a new value
* has been supplied. If so, marks the field as altered and sets the attribute. * has been supplied. If so, marks the field as altered and sets the attribute.
*/ */
public void setColorRank (Integer newColorRank) throws FieldException public void setColorCode (ColorCode newColorCode) throws FieldException
{ {
boolean oldAndNewIdentical = HELPER_ColorRank.compare (_ColorRank, newColorRank); boolean oldAndNewIdentical = HELPER_ColorCode.compare (_ColorCode, newColorCode);
try try
{ {
for (FactorScoreBehaviourDecorator bhd : FactorScore_BehaviourDecorators) for (FactorScoreBehaviourDecorator bhd : FactorScore_BehaviourDecorators)
{ {
newColorRank = bhd.setColorRank ((FactorScore)this, newColorRank); newColorCode = bhd.setColorCode ((FactorScore)this, newColorCode);
oldAndNewIdentical = HELPER_ColorRank.compare (_ColorRank, newColorRank); oldAndNewIdentical = HELPER_ColorCode.compare (_ColorCode, newColorCode);
} }
if (FIELD_ColorRank_Validators.length > 0) if (FIELD_ColorCode_Validators.length > 0)
{ {
Object newColorRankObj = HELPER_ColorRank.toObject (newColorRank); Object newColorCodeObj = HELPER_ColorCode.toObject (newColorCode);
if (newColorRankObj != null) if (newColorCodeObj != null)
{ {
int loopMax = FIELD_ColorRank_Validators.length; int loopMax = FIELD_ColorCode_Validators.length;
Map metadata = (Map)ATTRIBUTES_METADATA_FactorScore.get (FIELD_ColorRank); Map metadata = (Map)ATTRIBUTES_METADATA_FactorScore.get (FIELD_ColorCode);
for (int v = 0 ; v < loopMax ; ++v) for (int v = 0 ; v < loopMax ; ++v)
{ {
FIELD_ColorRank_Validators[v].checkAttribute (this, FIELD_ColorRank, metadata, newColorRankObj); FIELD_ColorCode_Validators[v].checkAttribute (this, FIELD_ColorCode, metadata, newColorCodeObj);
} }
} }
} }
...@@ -504,12 +481,12 @@ public abstract class BaseFactorScore extends BaseBusinessClass ...@@ -504,12 +481,12 @@ public abstract class BaseFactorScore extends BaseBusinessClass
if (!oldAndNewIdentical) if (!oldAndNewIdentical)
{ {
assertValid(); assertValid();
Debug.assertion (getWriteability_ColorRank () != FieldWriteability.FALSE, "Field ColorRank is not writeable"); Debug.assertion (getWriteability_ColorCode () != FieldWriteability.FALSE, "Field ColorCode is not writeable");
preColorRankChange (newColorRank); preColorCodeChange (newColorCode);
markFieldChange (FIELD_ColorRank); markFieldChange (FIELD_ColorCode);
_ColorRank = newColorRank; _ColorCode = newColorCode;
postFieldChange (FIELD_ColorRank); postFieldChange (FIELD_ColorCode);
postColorRankChange (); postColorCodeChange ();
} }
} }
...@@ -611,104 +588,6 @@ public abstract class BaseFactorScore extends BaseBusinessClass ...@@ -611,104 +588,6 @@ public abstract class BaseFactorScore extends BaseBusinessClass
} }
} }
/**
* Get the attribute ColorCode
*/
public ColorCode getColorCode ()
{
assertValid();
ColorCode valToReturn = _ColorCode;
for (FactorScoreBehaviourDecorator bhd : FactorScore_BehaviourDecorators)
{
valToReturn = bhd.getColorCode ((FactorScore)this, valToReturn);
}
return valToReturn;
}
/**
* Called prior to the attribute changing. Subclasses need not call super. If a field exception
* is thrown, the attribute change will fail. The new value is different to the old value.
*/
protected void preColorCodeChange (ColorCode newColorCode) throws FieldException
{
}
/**
* Called after the attribute changes.
* If a field exception is thrown, the value is still changed, however it
* may lead to the TX being rolled back
*/
protected void postColorCodeChange () throws FieldException
{
}
public FieldWriteability getWriteability_ColorCode ()
{
return getFieldWritabilityUtil (FieldWriteability.TRUE);
}
/**
* Set the attribute ColorCode. Checks to ensure a new value
* has been supplied. If so, marks the field as altered and sets the attribute.
*/
public void setColorCode (ColorCode newColorCode) throws FieldException
{
boolean oldAndNewIdentical = HELPER_ColorCode.compare (_ColorCode, newColorCode);
try
{
for (FactorScoreBehaviourDecorator bhd : FactorScore_BehaviourDecorators)
{
newColorCode = bhd.setColorCode ((FactorScore)this, newColorCode);
oldAndNewIdentical = HELPER_ColorCode.compare (_ColorCode, newColorCode);
}
if (FIELD_ColorCode_Validators.length > 0)
{
Object newColorCodeObj = HELPER_ColorCode.toObject (newColorCode);
if (newColorCodeObj != null)
{
int loopMax = FIELD_ColorCode_Validators.length;
Map metadata = (Map)ATTRIBUTES_METADATA_FactorScore.get (FIELD_ColorCode);
for (int v = 0 ; v < loopMax ; ++v)
{
FIELD_ColorCode_Validators[v].checkAttribute (this, FIELD_ColorCode, metadata, newColorCodeObj);
}
}
}
}
catch (FieldException e)
{
if (!oldAndNewIdentical)
{
e.setWouldModify ();
}
throw e;
}
if (!oldAndNewIdentical)
{
assertValid();
Debug.assertion (getWriteability_ColorCode () != FieldWriteability.FALSE, "Field ColorCode is not writeable");
preColorCodeChange (newColorCode);
markFieldChange (FIELD_ColorCode);
_ColorCode = newColorCode;
postFieldChange (FIELD_ColorCode);
postColorCodeChange ();
}
}
/** /**
...@@ -1478,7 +1357,7 @@ public abstract class BaseFactorScore extends BaseBusinessClass ...@@ -1478,7 +1357,7 @@ public abstract class BaseFactorScore extends BaseBusinessClass
tl_scorePSet.setAttrib (FIELD_ObjectID, myID); tl_scorePSet.setAttrib (FIELD_ObjectID, myID);
tl_scorePSet.setAttrib (FIELD_Score, HELPER_Score.toObject (_Score)); // tl_scorePSet.setAttrib (FIELD_Score, HELPER_Score.toObject (_Score)); //
tl_scorePSet.setAttrib (FIELD_ColorRank, HELPER_ColorRank.toObject (_ColorRank)); // tl_scorePSet.setAttrib (FIELD_ColorCode, HELPER_ColorCode.toObject (_ColorCode)); //
tl_scorePSet.setAttrib (FIELD_WghtdScore, HELPER_WghtdScore.toObject (_WghtdScore)); // tl_scorePSet.setAttrib (FIELD_WghtdScore, HELPER_WghtdScore.toObject (_WghtdScore)); //
_TestAnalysis.getPersistentSets (allSets); _TestAnalysis.getPersistentSets (allSets);
_Factor.getPersistentSets (allSets); _Factor.getPersistentSets (allSets);
...@@ -1499,7 +1378,7 @@ public abstract class BaseFactorScore extends BaseBusinessClass ...@@ -1499,7 +1378,7 @@ public abstract class BaseFactorScore extends BaseBusinessClass
PersistentSet tl_scorePSet = allSets.getPersistentSet (objectID, "tl_score"); PersistentSet tl_scorePSet = allSets.getPersistentSet (objectID, "tl_score");
_Score = (Integer)(HELPER_Score.fromObject (_Score, tl_scorePSet.getAttrib (FIELD_Score))); // _Score = (Integer)(HELPER_Score.fromObject (_Score, tl_scorePSet.getAttrib (FIELD_Score))); //
_ColorRank = (Integer)(HELPER_ColorRank.fromObject (_ColorRank, tl_scorePSet.getAttrib (FIELD_ColorRank))); // _ColorCode = (ColorCode)(HELPER_ColorCode.fromObject (_ColorCode, tl_scorePSet.getAttrib (FIELD_ColorCode))); //
_WghtdScore = (Integer)(HELPER_WghtdScore.fromObject (_WghtdScore, tl_scorePSet.getAttrib (FIELD_WghtdScore))); // _WghtdScore = (Integer)(HELPER_WghtdScore.fromObject (_WghtdScore, tl_scorePSet.getAttrib (FIELD_WghtdScore))); //
_TestAnalysis.setFromPersistentSets (objectID, allSets); _TestAnalysis.setFromPersistentSets (objectID, allSets);
_Factor.setFromPersistentSets (objectID, allSets); _Factor.setFromPersistentSets (objectID, allSets);
...@@ -1531,7 +1410,7 @@ public abstract class BaseFactorScore extends BaseBusinessClass ...@@ -1531,7 +1410,7 @@ public abstract class BaseFactorScore extends BaseBusinessClass
try try
{ {
setColorRank (otherFactorScore.getColorRank ()); setColorCode (otherFactorScore.getColorCode ());
} }
catch (FieldException ex) catch (FieldException ex)
{ {
...@@ -1563,9 +1442,8 @@ public abstract class BaseFactorScore extends BaseBusinessClass ...@@ -1563,9 +1442,8 @@ public abstract class BaseFactorScore extends BaseBusinessClass
BaseFactorScore sourceFactorScore = (BaseFactorScore)(source); BaseFactorScore sourceFactorScore = (BaseFactorScore)(source);
_Score = sourceFactorScore._Score; _Score = sourceFactorScore._Score;
_ColorRank = sourceFactorScore._ColorRank;
_WghtdScore = sourceFactorScore._WghtdScore;
_ColorCode = sourceFactorScore._ColorCode; _ColorCode = sourceFactorScore._ColorCode;
_WghtdScore = sourceFactorScore._WghtdScore;
} }
} }
...@@ -1623,9 +1501,8 @@ public abstract class BaseFactorScore extends BaseBusinessClass ...@@ -1623,9 +1501,8 @@ public abstract class BaseFactorScore extends BaseBusinessClass
super.readExternalData(vals); super.readExternalData(vals);
_Score = (Integer)(HELPER_Score.readExternal (_Score, vals.get(FIELD_Score))); // _Score = (Integer)(HELPER_Score.readExternal (_Score, vals.get(FIELD_Score))); //
_ColorRank = (Integer)(HELPER_ColorRank.readExternal (_ColorRank, vals.get(FIELD_ColorRank))); //
_WghtdScore = (Integer)(HELPER_WghtdScore.readExternal (_WghtdScore, vals.get(FIELD_WghtdScore))); //
_ColorCode = (ColorCode)(HELPER_ColorCode.readExternal (_ColorCode, vals.get(FIELD_ColorCode))); // _ColorCode = (ColorCode)(HELPER_ColorCode.readExternal (_ColorCode, vals.get(FIELD_ColorCode))); //
_WghtdScore = (Integer)(HELPER_WghtdScore.readExternal (_WghtdScore, vals.get(FIELD_WghtdScore))); //
_TestAnalysis.readExternalData(vals.get(SINGLEREFERENCE_TestAnalysis)); _TestAnalysis.readExternalData(vals.get(SINGLEREFERENCE_TestAnalysis));
_Factor.readExternalData(vals.get(SINGLEREFERENCE_Factor)); _Factor.readExternalData(vals.get(SINGLEREFERENCE_Factor));
_Level.readExternalData(vals.get(SINGLEREFERENCE_Level)); _Level.readExternalData(vals.get(SINGLEREFERENCE_Level));
...@@ -1642,9 +1519,8 @@ public abstract class BaseFactorScore extends BaseBusinessClass ...@@ -1642,9 +1519,8 @@ public abstract class BaseFactorScore extends BaseBusinessClass
super.writeExternalData(vals); super.writeExternalData(vals);
vals.put (FIELD_Score, HELPER_Score.writeExternal (_Score)); vals.put (FIELD_Score, HELPER_Score.writeExternal (_Score));
vals.put (FIELD_ColorRank, HELPER_ColorRank.writeExternal (_ColorRank));
vals.put (FIELD_WghtdScore, HELPER_WghtdScore.writeExternal (_WghtdScore));
vals.put (FIELD_ColorCode, HELPER_ColorCode.writeExternal (_ColorCode)); vals.put (FIELD_ColorCode, HELPER_ColorCode.writeExternal (_ColorCode));
vals.put (FIELD_WghtdScore, HELPER_WghtdScore.writeExternal (_WghtdScore));
vals.put (SINGLEREFERENCE_TestAnalysis, _TestAnalysis.writeExternalData()); vals.put (SINGLEREFERENCE_TestAnalysis, _TestAnalysis.writeExternalData());
vals.put (SINGLEREFERENCE_Factor, _Factor.writeExternalData()); vals.put (SINGLEREFERENCE_Factor, _Factor.writeExternalData());
vals.put (SINGLEREFERENCE_Level, _Level.writeExternalData()); vals.put (SINGLEREFERENCE_Level, _Level.writeExternalData());
...@@ -1666,9 +1542,9 @@ public abstract class BaseFactorScore extends BaseBusinessClass ...@@ -1666,9 +1542,9 @@ public abstract class BaseFactorScore extends BaseBusinessClass
{ {
listener.notifyFieldChange(this, other, FIELD_Score, HELPER_Score.toObject(this._Score), HELPER_Score.toObject(otherFactorScore._Score)); listener.notifyFieldChange(this, other, FIELD_Score, HELPER_Score.toObject(this._Score), HELPER_Score.toObject(otherFactorScore._Score));
} }
if (!HELPER_ColorRank.compare(this._ColorRank, otherFactorScore._ColorRank)) if (!HELPER_ColorCode.compare(this._ColorCode, otherFactorScore._ColorCode))
{ {
listener.notifyFieldChange(this, other, FIELD_ColorRank, HELPER_ColorRank.toObject(this._ColorRank), HELPER_ColorRank.toObject(otherFactorScore._ColorRank)); listener.notifyFieldChange(this, other, FIELD_ColorCode, HELPER_ColorCode.toObject(this._ColorCode), HELPER_ColorCode.toObject(otherFactorScore._ColorCode));
} }
if (!HELPER_WghtdScore.compare(this._WghtdScore, otherFactorScore._WghtdScore)) if (!HELPER_WghtdScore.compare(this._WghtdScore, otherFactorScore._WghtdScore))
{ {
...@@ -1692,7 +1568,6 @@ public abstract class BaseFactorScore extends BaseBusinessClass ...@@ -1692,7 +1568,6 @@ public abstract class BaseFactorScore extends BaseBusinessClass
{ {
super.visitAttributes (visitor); super.visitAttributes (visitor);
visitor.visitField(this, FIELD_ColorCode, HELPER_ColorCode.toObject(getColorCode()));
} }
...@@ -1702,7 +1577,7 @@ public abstract class BaseFactorScore extends BaseBusinessClass ...@@ -1702,7 +1577,7 @@ public abstract class BaseFactorScore extends BaseBusinessClass
super.visitAttributes (visitor); super.visitAttributes (visitor);
visitor.visitField(this, FIELD_Score, HELPER_Score.toObject(getScore())); visitor.visitField(this, FIELD_Score, HELPER_Score.toObject(getScore()));
visitor.visitField(this, FIELD_ColorRank, HELPER_ColorRank.toObject(getColorRank())); visitor.visitField(this, FIELD_ColorCode, HELPER_ColorCode.toObject(getColorCode()));
visitor.visitField(this, FIELD_WghtdScore, HELPER_WghtdScore.toObject(getWghtdScore())); visitor.visitField(this, FIELD_WghtdScore, HELPER_WghtdScore.toObject(getWghtdScore()));
visitor.visitAssociation (_TestAnalysis); visitor.visitAssociation (_TestAnalysis);
visitor.visitAssociation (_Factor); visitor.visitAssociation (_Factor);
...@@ -1761,9 +1636,9 @@ public abstract class BaseFactorScore extends BaseBusinessClass ...@@ -1761,9 +1636,9 @@ public abstract class BaseFactorScore extends BaseBusinessClass
{ {
return filter.matches (getScore ()); return filter.matches (getScore ());
} }
else if (attribName.equals (FIELD_ColorRank)) else if (attribName.equals (FIELD_ColorCode))
{ {
return filter.matches (getColorRank ()); return filter.matches (getColorCode ());
} }
else if (attribName.equals (FIELD_WghtdScore)) else if (attribName.equals (FIELD_WghtdScore))
{ {
...@@ -1822,9 +1697,9 @@ public abstract class BaseFactorScore extends BaseBusinessClass ...@@ -1822,9 +1697,9 @@ public abstract class BaseFactorScore extends BaseBusinessClass
return this; return this;
} }
public SearchAll andColorRank (QueryFilter<Integer> filter) public SearchAll andColorCode (QueryFilter<ColorCode> filter)
{ {
filter.addFilter (context, "tl_score.color_rank", "ColorRank"); filter.addFilter (context, "tl_score.color_code", "ColorCode");
return this; return this;
} }
...@@ -1897,18 +1772,14 @@ public abstract class BaseFactorScore extends BaseBusinessClass ...@@ -1897,18 +1772,14 @@ public abstract class BaseFactorScore extends BaseBusinessClass
{ {
return HELPER_Score.toObject (getScore ()); return HELPER_Score.toObject (getScore ());
} }
else if (attribName.equals (FIELD_ColorRank)) else if (attribName.equals (FIELD_ColorCode))
{ {
return HELPER_ColorRank.toObject (getColorRank ()); return HELPER_ColorCode.toObject (getColorCode ());
} }
else if (attribName.equals (FIELD_WghtdScore)) else if (attribName.equals (FIELD_WghtdScore))
{ {
return HELPER_WghtdScore.toObject (getWghtdScore ()); return HELPER_WghtdScore.toObject (getWghtdScore ());
} }
else if (attribName.equals (FIELD_ColorCode))
{
return HELPER_ColorCode.toObject (getColorCode ());
}
else else
{ {
return super.getAttribute (attribName); return super.getAttribute (attribName);
...@@ -1926,18 +1797,14 @@ public abstract class BaseFactorScore extends BaseBusinessClass ...@@ -1926,18 +1797,14 @@ public abstract class BaseFactorScore extends BaseBusinessClass
{ {
return HELPER_Score; return HELPER_Score;
} }
else if (attribName.equals (FIELD_ColorRank)) else if (attribName.equals (FIELD_ColorCode))
{ {
return HELPER_ColorRank; return HELPER_ColorCode;
} }
else if (attribName.equals (FIELD_WghtdScore)) else if (attribName.equals (FIELD_WghtdScore))
{ {
return HELPER_WghtdScore; return HELPER_WghtdScore;
} }
else if (attribName.equals (FIELD_ColorCode))
{
return HELPER_ColorCode;
}
else else
{ {
return super.getAttributeHelper (attribName); return super.getAttributeHelper (attribName);
...@@ -1955,18 +1822,14 @@ public abstract class BaseFactorScore extends BaseBusinessClass ...@@ -1955,18 +1822,14 @@ public abstract class BaseFactorScore extends BaseBusinessClass
{ {
setScore ((Integer)(HELPER_Score.fromObject (_Score, attribValue))); setScore ((Integer)(HELPER_Score.fromObject (_Score, attribValue)));
} }
else if (attribName.equals (FIELD_ColorRank)) else if (attribName.equals (FIELD_ColorCode))
{ {
setColorRank ((Integer)(HELPER_ColorRank.fromObject (_ColorRank, attribValue))); setColorCode ((ColorCode)(HELPER_ColorCode.fromObject (_ColorCode, attribValue)));
} }
else if (attribName.equals (FIELD_WghtdScore)) else if (attribName.equals (FIELD_WghtdScore))
{ {
setWghtdScore ((Integer)(HELPER_WghtdScore.fromObject (_WghtdScore, attribValue))); setWghtdScore ((Integer)(HELPER_WghtdScore.fromObject (_WghtdScore, attribValue)));
} }
else if (attribName.equals (FIELD_ColorCode))
{
setColorCode ((ColorCode)(HELPER_ColorCode.fromObject (_ColorCode, attribValue)));
}
else else
{ {
super.setAttribute (attribName, attribValue); super.setAttribute (attribName, attribValue);
...@@ -1991,9 +1854,9 @@ public abstract class BaseFactorScore extends BaseBusinessClass ...@@ -1991,9 +1854,9 @@ public abstract class BaseFactorScore extends BaseBusinessClass
{ {
return getWriteability_Score (); return getWriteability_Score ();
} }
else if (fieldName.equals (FIELD_ColorRank)) else if (fieldName.equals (FIELD_ColorCode))
{ {
return getWriteability_ColorRank (); return getWriteability_ColorCode ();
} }
else if (fieldName.equals (FIELD_WghtdScore)) else if (fieldName.equals (FIELD_WghtdScore))
{ {
...@@ -2015,10 +1878,6 @@ public abstract class BaseFactorScore extends BaseBusinessClass ...@@ -2015,10 +1878,6 @@ public abstract class BaseFactorScore extends BaseBusinessClass
{ {
return getWriteability_Narrative (); return getWriteability_Narrative ();
} }
else if (fieldName.equals (FIELD_ColorCode))
{
return getWriteability_ColorCode ();
}
else else
{ {
return super.getWriteable (fieldName); return super.getWriteable (fieldName);
...@@ -2034,9 +1893,9 @@ public abstract class BaseFactorScore extends BaseBusinessClass ...@@ -2034,9 +1893,9 @@ public abstract class BaseFactorScore extends BaseBusinessClass
fields.add (FIELD_Score); fields.add (FIELD_Score);
} }
if (getWriteability_ColorRank () != FieldWriteability.TRUE) if (getWriteability_ColorCode () != FieldWriteability.TRUE)
{ {
fields.add (FIELD_ColorRank); fields.add (FIELD_ColorCode);
} }
if (getWriteability_WghtdScore () != FieldWriteability.TRUE) if (getWriteability_WghtdScore () != FieldWriteability.TRUE)
...@@ -2044,11 +1903,6 @@ public abstract class BaseFactorScore extends BaseBusinessClass ...@@ -2044,11 +1903,6 @@ public abstract class BaseFactorScore extends BaseBusinessClass
fields.add (FIELD_WghtdScore); fields.add (FIELD_WghtdScore);
} }
if (getWriteability_ColorCode () != FieldWriteability.TRUE)
{
fields.add (FIELD_ColorCode);
}
super.putUnwriteable (fields); super.putUnwriteable (fields);
} }
...@@ -2059,9 +1913,8 @@ public abstract class BaseFactorScore extends BaseBusinessClass ...@@ -2059,9 +1913,8 @@ public abstract class BaseFactorScore extends BaseBusinessClass
result.add(HELPER_Score.getAttribObject (getClass (), _Score, false, FIELD_Score)); result.add(HELPER_Score.getAttribObject (getClass (), _Score, false, FIELD_Score));
result.add(HELPER_ColorRank.getAttribObject (getClass (), _ColorRank, false, FIELD_ColorRank));
result.add(HELPER_WghtdScore.getAttribObject (getClass (), _WghtdScore, false, FIELD_WghtdScore));
result.add(HELPER_ColorCode.getAttribObject (getClass (), _ColorCode, false, FIELD_ColorCode)); result.add(HELPER_ColorCode.getAttribObject (getClass (), _ColorCode, false, FIELD_ColorCode));
result.add(HELPER_WghtdScore.getAttribObject (getClass (), _WghtdScore, false, FIELD_WghtdScore));
return result; return result;
} }
...@@ -2131,21 +1984,21 @@ public abstract class BaseFactorScore extends BaseBusinessClass ...@@ -2131,21 +1984,21 @@ public abstract class BaseFactorScore extends BaseBusinessClass
} }
/** /**
* Get the attribute ColorRank * Get the attribute ColorCode
*/ */
public Integer getColorRank (FactorScore obj, Integer original) public ColorCode getColorCode (FactorScore obj, ColorCode original)
{ {
return original; return original;
} }
/** /**
* Change the value set for attribute ColorRank. * Change the value set for attribute ColorCode.
* May modify the field beforehand * May modify the field beforehand
* Occurs before validation. * Occurs before validation.
*/ */
public Integer setColorRank (FactorScore obj, Integer newColorRank) throws FieldException public ColorCode setColorCode (FactorScore obj, ColorCode newColorCode) throws FieldException
{ {
return newColorRank; return newColorCode;
} }
/** /**
...@@ -2166,24 +2019,6 @@ public abstract class BaseFactorScore extends BaseBusinessClass ...@@ -2166,24 +2019,6 @@ public abstract class BaseFactorScore extends BaseBusinessClass
return newWghtdScore; return newWghtdScore;
} }
/**
* Get the attribute ColorCode
*/
public ColorCode getColorCode (FactorScore obj, ColorCode original)
{
return original;
}
/**
* Change the value set for attribute ColorCode.
* May modify the field beforehand
* Occurs before validation.
*/
public ColorCode setColorCode (FactorScore obj, ColorCode newColorCode) throws FieldException
{
return newColorCode;
}
} }
...@@ -2236,17 +2071,13 @@ public abstract class BaseFactorScore extends BaseBusinessClass ...@@ -2236,17 +2071,13 @@ public abstract class BaseFactorScore extends BaseBusinessClass
public PipeLine<From, ? extends Object> to(String name) public PipeLine<From, ? extends Object> to(String name)
{ {
if (name.equals ("ColorCode"))
{
return toColorCode ();
}
if (name.equals ("Score")) if (name.equals ("Score"))
{ {
return toScore (); return toScore ();
} }
if (name.equals ("ColorRank")) if (name.equals ("ColorCode"))
{ {
return toColorRank (); return toColorCode ();
} }
if (name.equals ("WghtdScore")) if (name.equals ("WghtdScore"))
{ {
...@@ -2274,11 +2105,9 @@ public abstract class BaseFactorScore extends BaseBusinessClass ...@@ -2274,11 +2105,9 @@ public abstract class BaseFactorScore extends BaseBusinessClass
} }
public PipeLine<From, ColorCode> toColorCode () { return pipe(new ORMAttributePipe<Me, ColorCode>(FIELD_ColorCode)); }
public PipeLine<From, Integer> toScore () { return pipe(new ORMAttributePipe<Me, Integer>(FIELD_Score)); } public PipeLine<From, Integer> toScore () { return pipe(new ORMAttributePipe<Me, Integer>(FIELD_Score)); }
public PipeLine<From, Integer> toColorRank () { return pipe(new ORMAttributePipe<Me, Integer>(FIELD_ColorRank)); } public PipeLine<From, ColorCode> toColorCode () { return pipe(new ORMAttributePipe<Me, ColorCode>(FIELD_ColorCode)); }
public PipeLine<From, Integer> toWghtdScore () { return pipe(new ORMAttributePipe<Me, Integer>(FIELD_WghtdScore)); } public PipeLine<From, Integer> toWghtdScore () { return pipe(new ORMAttributePipe<Me, Integer>(FIELD_WghtdScore)); }
public TestAnalysis.TestAnalysisPipeLineFactory<From, TestAnalysis> toTestAnalysis () { return toTestAnalysis (Filter.ALL); } public TestAnalysis.TestAnalysisPipeLineFactory<From, TestAnalysis> toTestAnalysis () { return toTestAnalysis (Filter.ALL); }
...@@ -2311,11 +2140,6 @@ public abstract class BaseFactorScore extends BaseBusinessClass ...@@ -2311,11 +2140,6 @@ public abstract class BaseFactorScore extends BaseBusinessClass
public boolean isTransientAttrib(String attribName) public boolean isTransientAttrib(String attribName)
{ {
if(CollectionUtils.equals(attribName, "ColorCode"))
{
return true;
}
return super.isTransientAttrib(attribName); return super.isTransientAttrib(attribName);
} }
......
...@@ -48,6 +48,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -48,6 +48,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
public static final String FIELD_RoleFit = "RoleFit"; public static final String FIELD_RoleFit = "RoleFit";
public static final String FIELD_RequirementFit = "RequirementFit"; public static final String FIELD_RequirementFit = "RequirementFit";
public static final String FIELD_CultureFit = "CultureFit"; public static final String FIELD_CultureFit = "CultureFit";
public static final String FIELD_FactorScoreDetails = "FactorScoreDetails";
public static final String SINGLEREFERENCE_Candidate = "Candidate"; public static final String SINGLEREFERENCE_Candidate = "Candidate";
public static final String BACKREF_Candidate = ""; public static final String BACKREF_Candidate = "";
public static final String SINGLEREFERENCE_Job = "Job"; public static final String SINGLEREFERENCE_Job = "Job";
...@@ -69,6 +70,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -69,6 +70,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
private static final BLOBAttributeHelper HELPER_RoleFit = BLOBAttributeHelper.INSTANCE; private static final BLOBAttributeHelper HELPER_RoleFit = BLOBAttributeHelper.INSTANCE;
private static final BLOBAttributeHelper HELPER_RequirementFit = BLOBAttributeHelper.INSTANCE; private static final BLOBAttributeHelper HELPER_RequirementFit = BLOBAttributeHelper.INSTANCE;
private static final BLOBAttributeHelper HELPER_CultureFit = BLOBAttributeHelper.INSTANCE; private static final BLOBAttributeHelper HELPER_CultureFit = BLOBAttributeHelper.INSTANCE;
private static final BLOBAttributeHelper HELPER_FactorScoreDetails = BLOBAttributeHelper.INSTANCE;
// Private attributes corresponding to business object data // Private attributes corresponding to business object data
...@@ -80,6 +82,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -80,6 +82,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
private Map _RoleFit; private Map _RoleFit;
private Map _RequirementFit; private Map _RequirementFit;
private Map _CultureFit; private Map _CultureFit;
private Map _FactorScoreDetails;
// Private attributes corresponding to single references // Private attributes corresponding to single references
...@@ -100,6 +103,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -100,6 +103,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
private static final AttributeValidator[] FIELD_RoleFit_Validators; private static final AttributeValidator[] FIELD_RoleFit_Validators;
private static final AttributeValidator[] FIELD_RequirementFit_Validators; private static final AttributeValidator[] FIELD_RequirementFit_Validators;
private static final AttributeValidator[] FIELD_CultureFit_Validators; private static final AttributeValidator[] FIELD_CultureFit_Validators;
private static final AttributeValidator[] FIELD_FactorScoreDetails_Validators;
private static final AttributeValidator[] FIELD_CV_Validators; private static final AttributeValidator[] FIELD_CV_Validators;
private static final AttributeValidator[] FIELD_ApplicationStatus_Validators; private static final AttributeValidator[] FIELD_ApplicationStatus_Validators;
private static final AttributeValidator[] FIELD_SubmittedDate_Validators; private static final AttributeValidator[] FIELD_SubmittedDate_Validators;
...@@ -127,6 +131,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -127,6 +131,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
FIELD_RoleFit_Validators = (AttributeValidator[])setupAttribMetaData_RoleFit(validatorMapping).toArray (new AttributeValidator[0]); FIELD_RoleFit_Validators = (AttributeValidator[])setupAttribMetaData_RoleFit(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_RequirementFit_Validators = (AttributeValidator[])setupAttribMetaData_RequirementFit(validatorMapping).toArray (new AttributeValidator[0]); FIELD_RequirementFit_Validators = (AttributeValidator[])setupAttribMetaData_RequirementFit(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_CultureFit_Validators = (AttributeValidator[])setupAttribMetaData_CultureFit(validatorMapping).toArray (new AttributeValidator[0]); FIELD_CultureFit_Validators = (AttributeValidator[])setupAttribMetaData_CultureFit(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_FactorScoreDetails_Validators = (AttributeValidator[])setupAttribMetaData_FactorScoreDetails(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_CV_Validators = (AttributeValidator[])setupAttribMetaData_CV(validatorMapping).toArray (new AttributeValidator[0]); FIELD_CV_Validators = (AttributeValidator[])setupAttribMetaData_CV(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_ApplicationStatus_Validators = (AttributeValidator[])setupAttribMetaData_ApplicationStatus(validatorMapping).toArray (new AttributeValidator[0]); FIELD_ApplicationStatus_Validators = (AttributeValidator[])setupAttribMetaData_ApplicationStatus(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_SubmittedDate_Validators = (AttributeValidator[])setupAttribMetaData_SubmittedDate(validatorMapping).toArray (new AttributeValidator[0]); FIELD_SubmittedDate_Validators = (AttributeValidator[])setupAttribMetaData_SubmittedDate(validatorMapping).toArray (new AttributeValidator[0]);
...@@ -283,6 +288,25 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -283,6 +288,25 @@ public abstract class BaseJobApplication extends BaseBusinessClass
} }
// Meta Info setup // Meta Info setup
private static List setupAttribMetaData_FactorScoreDetails(Map validatorMapping)
{
Map metaInfo = new HashMap ();
metaInfo.put ("attribHelper", "BLOBAttributeHelper");
metaInfo.put ("attribHelperInstance", "BLOBAttributeHelper.INSTANCE");
metaInfo.put ("name", "FactorScoreDetails");
metaInfo.put ("type", "Map");
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG2, "Metadata for JobApplication.FactorScoreDetails:", metaInfo);
ATTRIBUTES_METADATA_JobApplication.put (FIELD_FactorScoreDetails, Collections.unmodifiableMap (metaInfo));
List validators = BaseBusinessClass.getAttribValidators(JobApplication.class, "FactorScoreDetails", metaInfo, validatorMapping);
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG1, "Validators for JobApplication.FactorScoreDetails:", validators);
return validators;
}
// Meta Info setup
private static List setupAttribMetaData_CV(Map validatorMapping) private static List setupAttribMetaData_CV(Map validatorMapping)
{ {
Map metaInfo = new HashMap (); Map metaInfo = new HashMap ();
...@@ -378,6 +402,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -378,6 +402,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
_RoleFit = (Map)(HELPER_RoleFit.initialise (_RoleFit)); _RoleFit = (Map)(HELPER_RoleFit.initialise (_RoleFit));
_RequirementFit = (Map)(HELPER_RequirementFit.initialise (_RequirementFit)); _RequirementFit = (Map)(HELPER_RequirementFit.initialise (_RequirementFit));
_CultureFit = (Map)(HELPER_CultureFit.initialise (_CultureFit)); _CultureFit = (Map)(HELPER_CultureFit.initialise (_CultureFit));
_FactorScoreDetails = (Map)(HELPER_FactorScoreDetails.initialise (_FactorScoreDetails));
} }
...@@ -1193,6 +1218,104 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -1193,6 +1218,104 @@ public abstract class BaseJobApplication extends BaseBusinessClass
} }
} }
/**
* Get the attribute FactorScoreDetails
*/
public Map getFactorScoreDetails ()
{
assertValid();
Map valToReturn = _FactorScoreDetails;
for (JobApplicationBehaviourDecorator bhd : JobApplication_BehaviourDecorators)
{
valToReturn = bhd.getFactorScoreDetails ((JobApplication)this, valToReturn);
}
return valToReturn;
}
/**
* Called prior to the attribute changing. Subclasses need not call super. If a field exception
* is thrown, the attribute change will fail. The new value is different to the old value.
*/
protected void preFactorScoreDetailsChange (Map newFactorScoreDetails) throws FieldException
{
}
/**
* Called after the attribute changes.
* If a field exception is thrown, the value is still changed, however it
* may lead to the TX being rolled back
*/
protected void postFactorScoreDetailsChange () throws FieldException
{
}
public FieldWriteability getWriteability_FactorScoreDetails ()
{
return getFieldWritabilityUtil (FieldWriteability.TRUE);
}
/**
* Set the attribute FactorScoreDetails. Checks to ensure a new value
* has been supplied. If so, marks the field as altered and sets the attribute.
*/
public void setFactorScoreDetails (Map newFactorScoreDetails) throws FieldException
{
boolean oldAndNewIdentical = HELPER_FactorScoreDetails.compare (_FactorScoreDetails, newFactorScoreDetails);
try
{
for (JobApplicationBehaviourDecorator bhd : JobApplication_BehaviourDecorators)
{
newFactorScoreDetails = bhd.setFactorScoreDetails ((JobApplication)this, newFactorScoreDetails);
oldAndNewIdentical = HELPER_FactorScoreDetails.compare (_FactorScoreDetails, newFactorScoreDetails);
}
if (FIELD_FactorScoreDetails_Validators.length > 0)
{
Object newFactorScoreDetailsObj = HELPER_FactorScoreDetails.toObject (newFactorScoreDetails);
if (newFactorScoreDetailsObj != null)
{
int loopMax = FIELD_FactorScoreDetails_Validators.length;
Map metadata = (Map)ATTRIBUTES_METADATA_JobApplication.get (FIELD_FactorScoreDetails);
for (int v = 0 ; v < loopMax ; ++v)
{
FIELD_FactorScoreDetails_Validators[v].checkAttribute (this, FIELD_FactorScoreDetails, metadata, newFactorScoreDetailsObj);
}
}
}
}
catch (FieldException e)
{
if (!oldAndNewIdentical)
{
e.setWouldModify ();
}
throw e;
}
if (!oldAndNewIdentical)
{
assertValid();
Debug.assertion (getWriteability_FactorScoreDetails () != FieldWriteability.FALSE, "Field FactorScoreDetails is not writeable");
preFactorScoreDetailsChange (newFactorScoreDetails);
markFieldChange (FIELD_FactorScoreDetails);
_FactorScoreDetails = newFactorScoreDetails;
postFieldChange (FIELD_FactorScoreDetails);
postFactorScoreDetailsChange ();
}
}
/** /**
...@@ -1946,6 +2069,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -1946,6 +2069,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
_RoleFit = sourceJobApplication._RoleFit; _RoleFit = sourceJobApplication._RoleFit;
_RequirementFit = sourceJobApplication._RequirementFit; _RequirementFit = sourceJobApplication._RequirementFit;
_CultureFit = sourceJobApplication._CultureFit; _CultureFit = sourceJobApplication._CultureFit;
_FactorScoreDetails = sourceJobApplication._FactorScoreDetails;
} }
} }
...@@ -2013,6 +2137,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -2013,6 +2137,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
_RoleFit = (Map)(HELPER_RoleFit.readExternal (_RoleFit, vals.get(FIELD_RoleFit))); // _RoleFit = (Map)(HELPER_RoleFit.readExternal (_RoleFit, vals.get(FIELD_RoleFit))); //
_RequirementFit = (Map)(HELPER_RequirementFit.readExternal (_RequirementFit, vals.get(FIELD_RequirementFit))); // _RequirementFit = (Map)(HELPER_RequirementFit.readExternal (_RequirementFit, vals.get(FIELD_RequirementFit))); //
_CultureFit = (Map)(HELPER_CultureFit.readExternal (_CultureFit, vals.get(FIELD_CultureFit))); // _CultureFit = (Map)(HELPER_CultureFit.readExternal (_CultureFit, vals.get(FIELD_CultureFit))); //
_FactorScoreDetails = (Map)(HELPER_FactorScoreDetails.readExternal (_FactorScoreDetails, vals.get(FIELD_FactorScoreDetails))); //
_Candidate.readExternalData(vals.get(SINGLEREFERENCE_Candidate)); _Candidate.readExternalData(vals.get(SINGLEREFERENCE_Candidate));
_Job.readExternalData(vals.get(SINGLEREFERENCE_Job)); _Job.readExternalData(vals.get(SINGLEREFERENCE_Job));
_AssessmentCriteriaAnswers.readExternalData(vals.get(MULTIPLEREFERENCE_AssessmentCriteriaAnswers)); _AssessmentCriteriaAnswers.readExternalData(vals.get(MULTIPLEREFERENCE_AssessmentCriteriaAnswers));
...@@ -2035,6 +2160,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -2035,6 +2160,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
vals.put (FIELD_RoleFit, HELPER_RoleFit.writeExternal (_RoleFit)); vals.put (FIELD_RoleFit, HELPER_RoleFit.writeExternal (_RoleFit));
vals.put (FIELD_RequirementFit, HELPER_RequirementFit.writeExternal (_RequirementFit)); vals.put (FIELD_RequirementFit, HELPER_RequirementFit.writeExternal (_RequirementFit));
vals.put (FIELD_CultureFit, HELPER_CultureFit.writeExternal (_CultureFit)); vals.put (FIELD_CultureFit, HELPER_CultureFit.writeExternal (_CultureFit));
vals.put (FIELD_FactorScoreDetails, HELPER_FactorScoreDetails.writeExternal (_FactorScoreDetails));
vals.put (SINGLEREFERENCE_Candidate, _Candidate.writeExternalData()); vals.put (SINGLEREFERENCE_Candidate, _Candidate.writeExternalData());
vals.put (SINGLEREFERENCE_Job, _Job.writeExternalData()); vals.put (SINGLEREFERENCE_Job, _Job.writeExternalData());
vals.put (MULTIPLEREFERENCE_AssessmentCriteriaAnswers, _AssessmentCriteriaAnswers.writeExternalData()); vals.put (MULTIPLEREFERENCE_AssessmentCriteriaAnswers, _AssessmentCriteriaAnswers.writeExternalData());
...@@ -2085,6 +2211,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -2085,6 +2211,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
visitor.visitField(this, FIELD_RoleFit, HELPER_RoleFit.toObject(getRoleFit())); visitor.visitField(this, FIELD_RoleFit, HELPER_RoleFit.toObject(getRoleFit()));
visitor.visitField(this, FIELD_RequirementFit, HELPER_RequirementFit.toObject(getRequirementFit())); visitor.visitField(this, FIELD_RequirementFit, HELPER_RequirementFit.toObject(getRequirementFit()));
visitor.visitField(this, FIELD_CultureFit, HELPER_CultureFit.toObject(getCultureFit())); visitor.visitField(this, FIELD_CultureFit, HELPER_CultureFit.toObject(getCultureFit()));
visitor.visitField(this, FIELD_FactorScoreDetails, HELPER_FactorScoreDetails.toObject(getFactorScoreDetails()));
} }
...@@ -2411,6 +2538,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -2411,6 +2538,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass
{ {
return HELPER_CultureFit.toObject (getCultureFit ()); return HELPER_CultureFit.toObject (getCultureFit ());
} }
else if (attribName.equals (FIELD_FactorScoreDetails))
{
return HELPER_FactorScoreDetails.toObject (getFactorScoreDetails ());
}
else else
{ {
return super.getAttribute (attribName); return super.getAttribute (attribName);
...@@ -2456,6 +2587,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -2456,6 +2587,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass
{ {
return HELPER_CultureFit; return HELPER_CultureFit;
} }
else if (attribName.equals (FIELD_FactorScoreDetails))
{
return HELPER_FactorScoreDetails;
}
else else
{ {
return super.getAttributeHelper (attribName); return super.getAttributeHelper (attribName);
...@@ -2501,6 +2636,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -2501,6 +2636,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass
{ {
setCultureFit ((Map)(HELPER_CultureFit.fromObject (_CultureFit, attribValue))); setCultureFit ((Map)(HELPER_CultureFit.fromObject (_CultureFit, attribValue)));
} }
else if (attribName.equals (FIELD_FactorScoreDetails))
{
setFactorScoreDetails ((Map)(HELPER_FactorScoreDetails.fromObject (_FactorScoreDetails, attribValue)));
}
else else
{ {
super.setAttribute (attribName, attribValue); super.setAttribute (attribName, attribValue);
...@@ -2565,6 +2704,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -2565,6 +2704,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass
{ {
return getWriteability_CultureFit (); return getWriteability_CultureFit ();
} }
else if (fieldName.equals (FIELD_FactorScoreDetails))
{
return getWriteability_FactorScoreDetails ();
}
else else
{ {
return super.getWriteable (fieldName); return super.getWriteable (fieldName);
...@@ -2615,6 +2758,11 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -2615,6 +2758,11 @@ public abstract class BaseJobApplication extends BaseBusinessClass
fields.add (FIELD_CultureFit); fields.add (FIELD_CultureFit);
} }
if (getWriteability_FactorScoreDetails () != FieldWriteability.TRUE)
{
fields.add (FIELD_FactorScoreDetails);
}
super.putUnwriteable (fields); super.putUnwriteable (fields);
} }
...@@ -2632,6 +2780,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -2632,6 +2780,7 @@ public abstract class BaseJobApplication extends BaseBusinessClass
result.add(HELPER_RoleFit.getAttribObject (getClass (), _RoleFit, false, FIELD_RoleFit)); result.add(HELPER_RoleFit.getAttribObject (getClass (), _RoleFit, false, FIELD_RoleFit));
result.add(HELPER_RequirementFit.getAttribObject (getClass (), _RequirementFit, false, FIELD_RequirementFit)); result.add(HELPER_RequirementFit.getAttribObject (getClass (), _RequirementFit, false, FIELD_RequirementFit));
result.add(HELPER_CultureFit.getAttribObject (getClass (), _CultureFit, false, FIELD_CultureFit)); result.add(HELPER_CultureFit.getAttribObject (getClass (), _CultureFit, false, FIELD_CultureFit));
result.add(HELPER_FactorScoreDetails.getAttribObject (getClass (), _FactorScoreDetails, false, FIELD_FactorScoreDetails));
return result; return result;
} }
...@@ -2844,6 +2993,24 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -2844,6 +2993,24 @@ public abstract class BaseJobApplication extends BaseBusinessClass
return newCultureFit; return newCultureFit;
} }
/**
* Get the attribute FactorScoreDetails
*/
public Map getFactorScoreDetails (JobApplication obj, Map original)
{
return original;
}
/**
* Change the value set for attribute FactorScoreDetails.
* May modify the field beforehand
* Occurs before validation.
*/
public Map setFactorScoreDetails (JobApplication obj, Map newFactorScoreDetails) throws FieldException
{
return newFactorScoreDetails;
}
} }
...@@ -2920,6 +3087,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -2920,6 +3087,10 @@ public abstract class BaseJobApplication extends BaseBusinessClass
{ {
return toCultureFit (); return toCultureFit ();
} }
if (name.equals ("FactorScoreDetails"))
{
return toFactorScoreDetails ();
}
if (name.equals ("CV")) if (name.equals ("CV"))
{ {
return toCV (); return toCV ();
...@@ -2956,6 +3127,8 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -2956,6 +3127,8 @@ public abstract class BaseJobApplication extends BaseBusinessClass
public PipeLine<From, Map> toCultureFit () { return pipe(new ORMAttributePipe<Me, Map>(FIELD_CultureFit)); } public PipeLine<From, Map> toCultureFit () { return pipe(new ORMAttributePipe<Me, Map>(FIELD_CultureFit)); }
public PipeLine<From, Map> toFactorScoreDetails () { return pipe(new ORMAttributePipe<Me, Map>(FIELD_FactorScoreDetails)); }
public PipeLine<From, BinaryContent> toCV () { return pipe(new ORMAttributePipe<Me, BinaryContent>(FIELD_CV)); } public PipeLine<From, BinaryContent> toCV () { return pipe(new ORMAttributePipe<Me, BinaryContent>(FIELD_CV)); }
public PipeLine<From, ApplicationStatus> toApplicationStatus () { return pipe(new ORMAttributePipe<Me, ApplicationStatus>(FIELD_ApplicationStatus)); } public PipeLine<From, ApplicationStatus> toApplicationStatus () { return pipe(new ORMAttributePipe<Me, ApplicationStatus>(FIELD_ApplicationStatus)); }
...@@ -3010,6 +3183,11 @@ public abstract class BaseJobApplication extends BaseBusinessClass ...@@ -3010,6 +3183,11 @@ public abstract class BaseJobApplication extends BaseBusinessClass
return true; return true;
} }
if(CollectionUtils.equals(attribName, "FactorScoreDetails"))
{
return true;
}
return super.isTransientAttrib(attribName); return super.isTransientAttrib(attribName);
} }
......
...@@ -19,11 +19,11 @@ public class Client extends BaseClient ...@@ -19,11 +19,11 @@ public class Client extends BaseClient
// Do not add any code to this, always put it in initialiseNewObject // Do not add any code to this, always put it in initialiseNewObject
} }
public int getApplicationCountByStatus(JobStatus jobStatus) public int getJobCountByStatus(JobStatus jobStatus)
{ {
Filter<Job> filter = Job.SearchByAll().andJobStatus(new EqualsFilter<>(jobStatus)); Filter<Job> filter = Job.SearchByAll().andJobStatus(new EqualsFilter<>(jobStatus));
return pipelineClient().toJobs(filter).toJobApplications().uniqueVals().size(); return pipelineClient().toJobs(filter).uniqueVals().size();
} }
......
package performa.orm; package performa.orm;
import oneit.logging.LoggingArea; import oneit.logging.LoggingArea;
import oneit.objstore.ObjectStatus;
import oneit.objstore.ValidationContext;
import oneit.security.SecUser; import oneit.security.SecUser;
import oneit.utils.CollectionUtils; import oneit.utils.CollectionUtils;
import oneit.utils.parsers.FieldException; import oneit.utils.parsers.FieldException;
...@@ -45,4 +47,16 @@ public class Company extends BaseCompany ...@@ -45,4 +47,16 @@ public class Company extends BaseCompany
} }
return addUser; return addUser;
} }
@Override
public void validate(ValidationContext context)
{
if(getStatus() != ObjectStatus.NEW)
{
context.check(getHiringTeamType() != null , this, FIELD_HiringTeamType, "mandatory");
}
super.validate(context);
}
} }
\ No newline at end of file
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
<TRANSIENT name="LastName" type="String"/> <TRANSIENT name="LastName" type="String"/>
<TRANSIENT name="RoleType" type="RoleType" defaultValue="RoleType.STANDARD" attribHelper="EnumeratedAttributeHelper"/> <TRANSIENT name="RoleType" type="RoleType" defaultValue="RoleType.STANDARD" attribHelper="EnumeratedAttributeHelper"/>
<TRANSIENT name="IsLogoDeleted" type="Boolean" defaultValue="Boolean.FALSE"/> <TRANSIENT name="IsLogoDeleted" type="Boolean" defaultValue="Boolean.FALSE"/>
<TRANSIENT name="CompletedProfile" type="Boolean" defaultValue="Boolean.FALSE"/>
<TABLE name="tl_company" tablePrefix="object"> <TABLE name="tl_company" tablePrefix="object">
......
...@@ -16,4 +16,9 @@ public class FactorScore extends BaseFactorScore ...@@ -16,4 +16,9 @@ public class FactorScore extends BaseFactorScore
{ {
return "FactorScore"; return "FactorScore";
} }
public Integer getColorRank()
{
return getColorCode() != null ? getColorCode().getColorRank() : 0;
}
} }
\ No newline at end of file
...@@ -6,13 +6,11 @@ ...@@ -6,13 +6,11 @@
<IMPORT value="performa.orm.types.*"/> <IMPORT value="performa.orm.types.*"/>
<TRANSIENT name="ColorCode" type="ColorCode" attribHelper="EnumeratedAttributeHelper"/>
<TABLE name="tl_score" tablePrefix="object" polymorphic="FALSE"> <TABLE name="tl_score" tablePrefix="object" polymorphic="FALSE">
<ATTRIB name="Score" type="Integer" dbcol="score_number"/> <ATTRIB name="Score" type="Integer" dbcol="score_number"/>
<ATTRIB name="ColorRank" type="Integer" dbcol="color_rank" /> <ATTRIB name="ColorCode" type="ColorCode" dbcol="color_code" attribHelper="EnumeratedAttributeHelper"/>
<ATTRIB name="WghtdScore" type="Integer" dbcol="wghtd_score" /> <ATTRIB name="WghtdScore" type="Integer" dbcol="wghtd_score" />
<SINGLEREFERENCE name="TestAnalysis" type="TestAnalysis" dbcol="test_analysis_id" backreferenceName="FactorScores"/> <SINGLEREFERENCE name="TestAnalysis" type="TestAnalysis" dbcol="test_analysis_id" backreferenceName="FactorScores"/>
<SINGLEREFERENCE name="Factor" type="Factor" dbcol="factor_number"/> <SINGLEREFERENCE name="Factor" type="Factor" dbcol="factor_number"/>
......
...@@ -28,13 +28,13 @@ public class FactorScorePersistenceMgr extends ObjectPersistenceMgr ...@@ -28,13 +28,13 @@ public class FactorScorePersistenceMgr extends ObjectPersistenceMgr
// Private attributes corresponding to business object data // Private attributes corresponding to business object data
private Integer dummyScore; private Integer dummyScore;
private Integer dummyColorRank; private ColorCode dummyColorCode;
private Integer dummyWghtdScore; private Integer dummyWghtdScore;
// Static constants corresponding to attribute helpers // Static constants corresponding to attribute helpers
private static final DefaultAttributeHelper HELPER_Score = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper HELPER_Score = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_ColorRank = DefaultAttributeHelper.INSTANCE; private static final EnumeratedAttributeHelper HELPER_ColorCode = new EnumeratedAttributeHelper (ColorCode.FACTORY_ColorCode);
private static final DefaultAttributeHelper HELPER_WghtdScore = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper HELPER_WghtdScore = DefaultAttributeHelper.INSTANCE;
...@@ -43,12 +43,12 @@ public class FactorScorePersistenceMgr extends ObjectPersistenceMgr ...@@ -43,12 +43,12 @@ public class FactorScorePersistenceMgr extends ObjectPersistenceMgr
public FactorScorePersistenceMgr () public FactorScorePersistenceMgr ()
{ {
dummyScore = (Integer)(HELPER_Score.initialise (dummyScore)); dummyScore = (Integer)(HELPER_Score.initialise (dummyScore));
dummyColorRank = (Integer)(HELPER_ColorRank.initialise (dummyColorRank)); dummyColorCode = (ColorCode)(HELPER_ColorCode.initialise (dummyColorCode));
dummyWghtdScore = (Integer)(HELPER_WghtdScore.initialise (dummyWghtdScore)); dummyWghtdScore = (Integer)(HELPER_WghtdScore.initialise (dummyWghtdScore));
} }
private String SELECT_COLUMNS = "{PREFIX}tl_score.object_id as id, {PREFIX}tl_score.object_LAST_UPDATED_DATE as LAST_UPDATED_DATE, {PREFIX}tl_score.object_CREATED_DATE as CREATED_DATE, {PREFIX}tl_score.score_number, {PREFIX}tl_score.color_rank, {PREFIX}tl_score.wghtd_score, {PREFIX}tl_score.test_analysis_id, {PREFIX}tl_score.factor_number, {PREFIX}tl_score.level_number, {PREFIX}tl_score.narrative_id, 1 AS commasafe "; private String SELECT_COLUMNS = "{PREFIX}tl_score.object_id as id, {PREFIX}tl_score.object_LAST_UPDATED_DATE as LAST_UPDATED_DATE, {PREFIX}tl_score.object_CREATED_DATE as CREATED_DATE, {PREFIX}tl_score.score_number, {PREFIX}tl_score.color_code, {PREFIX}tl_score.wghtd_score, {PREFIX}tl_score.test_analysis_id, {PREFIX}tl_score.factor_number, {PREFIX}tl_score.level_number, {PREFIX}tl_score.narrative_id, 1 AS commasafe ";
private String SELECT_JOINS = ""; private String SELECT_JOINS = "";
public BaseBusinessClass fetchByID(ObjectID id, PersistentSetCollection allPSets, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, StorageException public BaseBusinessClass fetchByID(ObjectID id, PersistentSetCollection allPSets, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, StorageException
...@@ -100,7 +100,7 @@ public class FactorScorePersistenceMgr extends ObjectPersistenceMgr ...@@ -100,7 +100,7 @@ public class FactorScorePersistenceMgr extends ObjectPersistenceMgr
// Check for persistent sets already prefetched // Check for persistent sets already prefetched
if (false || !tl_scorePSet.containsAttrib(BaseBusinessClass.FIELD_ObjectLastModified) || if (false || !tl_scorePSet.containsAttrib(BaseBusinessClass.FIELD_ObjectLastModified) ||
!tl_scorePSet.containsAttrib(FactorScore.FIELD_Score)|| !tl_scorePSet.containsAttrib(FactorScore.FIELD_Score)||
!tl_scorePSet.containsAttrib(FactorScore.FIELD_ColorRank)|| !tl_scorePSet.containsAttrib(FactorScore.FIELD_ColorCode)||
!tl_scorePSet.containsAttrib(FactorScore.FIELD_WghtdScore)|| !tl_scorePSet.containsAttrib(FactorScore.FIELD_WghtdScore)||
!tl_scorePSet.containsAttrib(FactorScore.SINGLEREFERENCE_TestAnalysis)|| !tl_scorePSet.containsAttrib(FactorScore.SINGLEREFERENCE_TestAnalysis)||
!tl_scorePSet.containsAttrib(FactorScore.SINGLEREFERENCE_Factor)|| !tl_scorePSet.containsAttrib(FactorScore.SINGLEREFERENCE_Factor)||
...@@ -195,10 +195,10 @@ public class FactorScorePersistenceMgr extends ObjectPersistenceMgr ...@@ -195,10 +195,10 @@ public class FactorScorePersistenceMgr extends ObjectPersistenceMgr
{ {
int rowsUpdated = executeStatement (sqlMgr, int rowsUpdated = executeStatement (sqlMgr,
"UPDATE {PREFIX}tl_score " + "UPDATE {PREFIX}tl_score " +
"SET score_number = ?, color_rank = ?, wghtd_score = ?, test_analysis_id = ? , factor_number = ? , level_number = ? , narrative_id = ? , object_LAST_UPDATED_DATE = " + sqlMgr.getPortabilityServices ().getTimestampExpression () + " " + "SET score_number = ?, color_code = ?, wghtd_score = ?, test_analysis_id = ? , factor_number = ? , level_number = ? , narrative_id = ? , object_LAST_UPDATED_DATE = " + sqlMgr.getPortabilityServices ().getTimestampExpression () + " " +
"WHERE tl_score.object_id = ? AND " + getConcurrencyCheck (sqlMgr, "object_LAST_UPDATED_DATE", obj.getObjectLastModified ()) + " ", "WHERE tl_score.object_id = ? AND " + getConcurrencyCheck (sqlMgr, "object_LAST_UPDATED_DATE", obj.getObjectLastModified ()) + " ",
CollectionUtils.listEntry (HELPER_Score.getForSQL(dummyScore, tl_scorePSet.getAttrib (FactorScore.FIELD_Score))).listEntry (HELPER_ColorRank.getForSQL(dummyColorRank, tl_scorePSet.getAttrib (FactorScore.FIELD_ColorRank))).listEntry (HELPER_WghtdScore.getForSQL(dummyWghtdScore, tl_scorePSet.getAttrib (FactorScore.FIELD_WghtdScore))).listEntry (SQLManager.CheckNull((Long)(tl_scorePSet.getAttrib (FactorScore.SINGLEREFERENCE_TestAnalysis)))).listEntry (SQLManager.CheckNull((Long)(tl_scorePSet.getAttrib (FactorScore.SINGLEREFERENCE_Factor)))).listEntry (SQLManager.CheckNull((Long)(tl_scorePSet.getAttrib (FactorScore.SINGLEREFERENCE_Level)))).listEntry (SQLManager.CheckNull((Long)(tl_scorePSet.getAttrib (FactorScore.SINGLEREFERENCE_Narrative)))).listEntry (objectID.longID ()).listEntry (obj.getObjectLastModified ()).toList().toArray()); CollectionUtils.listEntry (HELPER_Score.getForSQL(dummyScore, tl_scorePSet.getAttrib (FactorScore.FIELD_Score))).listEntry (HELPER_ColorCode.getForSQL(dummyColorCode, tl_scorePSet.getAttrib (FactorScore.FIELD_ColorCode))).listEntry (HELPER_WghtdScore.getForSQL(dummyWghtdScore, tl_scorePSet.getAttrib (FactorScore.FIELD_WghtdScore))).listEntry (SQLManager.CheckNull((Long)(tl_scorePSet.getAttrib (FactorScore.SINGLEREFERENCE_TestAnalysis)))).listEntry (SQLManager.CheckNull((Long)(tl_scorePSet.getAttrib (FactorScore.SINGLEREFERENCE_Factor)))).listEntry (SQLManager.CheckNull((Long)(tl_scorePSet.getAttrib (FactorScore.SINGLEREFERENCE_Level)))).listEntry (SQLManager.CheckNull((Long)(tl_scorePSet.getAttrib (FactorScore.SINGLEREFERENCE_Narrative)))).listEntry (objectID.longID ()).listEntry (obj.getObjectLastModified ()).toList().toArray());
if (rowsUpdated != 1) if (rowsUpdated != 1)
{ {
...@@ -455,7 +455,7 @@ public class FactorScorePersistenceMgr extends ObjectPersistenceMgr ...@@ -455,7 +455,7 @@ public class FactorScorePersistenceMgr extends ObjectPersistenceMgr
tl_scorePSet.setAttrib(BaseBusinessClass.FIELD_ObjectCreated, r.getTimestamp ("CREATED_DATE")); tl_scorePSet.setAttrib(BaseBusinessClass.FIELD_ObjectCreated, r.getTimestamp ("CREATED_DATE"));
tl_scorePSet.setAttrib(FactorScore.FIELD_Score, HELPER_Score.getFromRS(dummyScore, r, "score_number")); tl_scorePSet.setAttrib(FactorScore.FIELD_Score, HELPER_Score.getFromRS(dummyScore, r, "score_number"));
tl_scorePSet.setAttrib(FactorScore.FIELD_ColorRank, HELPER_ColorRank.getFromRS(dummyColorRank, r, "color_rank")); tl_scorePSet.setAttrib(FactorScore.FIELD_ColorCode, HELPER_ColorCode.getFromRS(dummyColorCode, r, "color_code"));
tl_scorePSet.setAttrib(FactorScore.FIELD_WghtdScore, HELPER_WghtdScore.getFromRS(dummyWghtdScore, r, "wghtd_score")); tl_scorePSet.setAttrib(FactorScore.FIELD_WghtdScore, HELPER_WghtdScore.getFromRS(dummyWghtdScore, r, "wghtd_score"));
tl_scorePSet.setAttrib(FactorScore.SINGLEREFERENCE_TestAnalysis, r.getObject ("test_analysis_id")); tl_scorePSet.setAttrib(FactorScore.SINGLEREFERENCE_TestAnalysis, r.getObject ("test_analysis_id"));
...@@ -478,10 +478,10 @@ public class FactorScorePersistenceMgr extends ObjectPersistenceMgr ...@@ -478,10 +478,10 @@ public class FactorScorePersistenceMgr extends ObjectPersistenceMgr
{ {
executeStatement (sqlMgr, executeStatement (sqlMgr,
"INSERT INTO {PREFIX}tl_score " + "INSERT INTO {PREFIX}tl_score " +
" (score_number, color_rank, wghtd_score, test_analysis_id, factor_number, level_number, narrative_id, object_id, object_LAST_UPDATED_DATE, object_CREATED_DATE) " + " (score_number, color_code, wghtd_score, test_analysis_id, factor_number, level_number, narrative_id, object_id, object_LAST_UPDATED_DATE, object_CREATED_DATE) " +
"VALUES " + "VALUES " +
" (?, ?, ?, ?, ?, ?, ?, ?, " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ", " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ")", " (?, ?, ?, ?, ?, ?, ?, ?, " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ", " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ")",
CollectionUtils.listEntry (HELPER_Score.getForSQL(dummyScore, tl_scorePSet.getAttrib (FactorScore.FIELD_Score))).listEntry (HELPER_ColorRank.getForSQL(dummyColorRank, tl_scorePSet.getAttrib (FactorScore.FIELD_ColorRank))).listEntry (HELPER_WghtdScore.getForSQL(dummyWghtdScore, tl_scorePSet.getAttrib (FactorScore.FIELD_WghtdScore))) .listEntry (SQLManager.CheckNull((Long)(tl_scorePSet.getAttrib (FactorScore.SINGLEREFERENCE_TestAnalysis)))).listEntry (SQLManager.CheckNull((Long)(tl_scorePSet.getAttrib (FactorScore.SINGLEREFERENCE_Factor)))).listEntry (SQLManager.CheckNull((Long)(tl_scorePSet.getAttrib (FactorScore.SINGLEREFERENCE_Level)))).listEntry (SQLManager.CheckNull((Long)(tl_scorePSet.getAttrib (FactorScore.SINGLEREFERENCE_Narrative)))) .listEntry (objectID.longID ()).toList().toArray()); CollectionUtils.listEntry (HELPER_Score.getForSQL(dummyScore, tl_scorePSet.getAttrib (FactorScore.FIELD_Score))).listEntry (HELPER_ColorCode.getForSQL(dummyColorCode, tl_scorePSet.getAttrib (FactorScore.FIELD_ColorCode))).listEntry (HELPER_WghtdScore.getForSQL(dummyWghtdScore, tl_scorePSet.getAttrib (FactorScore.FIELD_WghtdScore))) .listEntry (SQLManager.CheckNull((Long)(tl_scorePSet.getAttrib (FactorScore.SINGLEREFERENCE_TestAnalysis)))).listEntry (SQLManager.CheckNull((Long)(tl_scorePSet.getAttrib (FactorScore.SINGLEREFERENCE_Factor)))).listEntry (SQLManager.CheckNull((Long)(tl_scorePSet.getAttrib (FactorScore.SINGLEREFERENCE_Level)))).listEntry (SQLManager.CheckNull((Long)(tl_scorePSet.getAttrib (FactorScore.SINGLEREFERENCE_Narrative)))) .listEntry (objectID.longID ()).toList().toArray());
tl_scorePSet.setStatus (PersistentSetStatus.PROCESSED); tl_scorePSet.setStatus (PersistentSetStatus.PROCESSED);
} }
......
...@@ -6,6 +6,7 @@ import oneit.objstore.*; ...@@ -6,6 +6,7 @@ import oneit.objstore.*;
import oneit.objstore.rdbms.filters.EqualsFilter; import oneit.objstore.rdbms.filters.EqualsFilter;
import oneit.objstore.rdbms.filters.IsNotNullFilter; import oneit.objstore.rdbms.filters.IsNotNullFilter;
import oneit.objstore.rdbms.filters.NotEqualsFilter; import oneit.objstore.rdbms.filters.NotEqualsFilter;
import oneit.objstore.utils.ObjstoreUtils;
import oneit.utils.*; import oneit.utils.*;
import oneit.utils.filter.CollectionFilter; import oneit.utils.filter.CollectionFilter;
import oneit.utils.filter.Filter; import oneit.utils.filter.Filter;
...@@ -304,6 +305,33 @@ public class JobApplication extends BaseJobApplication ...@@ -304,6 +305,33 @@ public class JobApplication extends BaseJobApplication
} }
return super.getOverallRank(); return super.getOverallRank();
} }
@Override
public Map getFactorScoreDetails()
{
if(super.getFactorScoreDetails() == null && getCandidate() != null && getJob() != null && getJob().getLevel() != null)
{
try
{
Map<FactorClass, Map<FactorLevelLink, Map>> factorScoreDetails = new LinkedHashMap();
Map<FactorClass, Tuple.T2<Double, ColorCode>> roleScoreMap = (Map<FactorClass, Tuple.T2<Double, ColorCode>>) getRoleFit();
for(FactorClass factorClass : getSortedFactorClasses())
{
if(roleScoreMap.get(factorClass) != null && roleScoreMap.get(factorClass).get0() > 0d)
{
factorScoreDetails.put(factorClass, AnalysisEngine.getFactorScoreDetails(getCandidate(), getJob().getLevel(), factorClass));
}
}
setFactorScoreDetails(factorScoreDetails);
}
catch (FieldException ex)
{
LogMgr.log(LOG, LogLevel.PROCESSING1, ex, "Error occured when setting FactorScoreDetails for " + this);
}
}
return super.getFactorScoreDetails();
}
public Double getRoleFitScore() public Double getRoleFitScore()
{ {
...@@ -484,4 +512,86 @@ public class JobApplication extends BaseJobApplication ...@@ -484,4 +512,86 @@ public class JobApplication extends BaseJobApplication
return answersByImportance; return answersByImportance;
} }
public List<FactorScore> getRoleAreaOfConcerns()
{
Map<FactorClass, Map<FactorLevelLink, Map>> factorScoreDetails = getFactorScoreDetails();
List<FactorScore> factorScores = new ArrayList();
if(factorScoreDetails != null)
{
for(FactorClass factorClass : factorScoreDetails.keySet())
{
Map<FactorLevelLink, Map> factorDetails = factorScoreDetails.get(factorClass);
Collection<FactorLevelLink> sortedLinks = ObjstoreUtils.sort(factorDetails.keySet(),
new ObjectTransform[]{FactorLevelLink.pipesFactorLevelLink().toFactor().toObjectID()},
new Comparator[]{CollectionUtils.DEFAULT_COMPARATOR});
for(FactorLevelLink factorLevelLink : sortedLinks)
{
Map factorLinkDetails = factorDetails.get(factorLevelLink);
if(!factorLinkDetails.isEmpty())
{
FactorScore factorScore = (FactorScore) factorLinkDetails.get("factorScore");
if(factorScore != null && factorScore.getFactor() != null && factorScore.getColorCode() != null && factorScore.getColorCode() != ColorCode.GREEN) //SCORE.COLOR_RANK > 1 as per apollo
{
LevelFactorType levelFactorType = factorLevelLink.getLevel().getLevelFactorType(factorScore.getFactor());
if(levelFactorType != null && levelFactorType.getTypeFlag() == TypeFlag.PRIMARY)
{
factorScores.add(factorScore);
}
}
}
}
}
}
return factorScores;
}
public List<Tuple.T2> getCultureAreaOfConcerns()
{
Map<CultureClass, Tuple.T2<Long, Set<Tuple.T3>>> cultureFitData = (Map<CultureClass, Tuple.T2<Long, Set<Tuple.T3>>>) getCultureFit();
List<Tuple.T2> result = new ArrayList();
for(CultureClass cClass : cultureFitData.keySet())
{
if(cClass == null || cultureFitData.get(cClass) == null)
{
continue;
}
for(Tuple.T3 tuple : cultureFitData.get(cClass).get1())
{
CultureNarrative cultureNarrative = (CultureNarrative) tuple.get2();
Integer weightingScore = (Integer) tuple.get0();
if(cultureNarrative != null && cultureNarrative.getColorCode() != null && cultureNarrative.getColorCode() != ColorCode.GREEN && weightingScore == 10) //i.e. Importance = ESSENTIAL
{
result.add(new Tuple.T2(tuple.get1(), cultureNarrative.getColorCode()));
}
}
}
return result;
}
public MultiHashtable<Importance, AssessmentCriteriaAnswer> getNegativeACByImportance(CriteriaType criteriaType)
{
MultiHashtable<Importance, AssessmentCriteriaAnswer> answerCountByImportance = new MultiHashtable<>();
answerCountByImportance.groupValues(getNegativeACAnswersByType(criteriaType), AssessmentCriteriaAnswer.pipesAssessmentCriteriaAnswer().toAssessmentCriteria().toImportance());
return answerCountByImportance;
}
public Collection<AssessmentCriteriaAnswer> getNegativeACAnswersByType(CriteriaType criteriaType)
{
Filter filter = AssessmentCriteriaAnswer.SearchByCriteriaType().byCriteriaType(criteriaType).andAnswer(new EqualsFilter<>(Boolean.FALSE));
return CollectionFilter.filter(getAssessmentCriteriaAnswersSet(), filter);
}
} }
\ No newline at end of file
...@@ -7,11 +7,12 @@ ...@@ -7,11 +7,12 @@
<MULTIPLEREFERENCE name="AssessmentCriteriaAnswers" type="AssessmentCriteriaAnswer" backreferenceName="JobApplication" /> <MULTIPLEREFERENCE name="AssessmentCriteriaAnswers" type="AssessmentCriteriaAnswer" backreferenceName="JobApplication" />
<TRANSIENT name="AppProcessOption" type="AppProcessOption" attribHelper="EnumeratedAttributeHelper"/> <TRANSIENT name="AppProcessOption" type="AppProcessOption" attribHelper="EnumeratedAttributeHelper"/>
<TRANSIENT name="OverallRank" type="Integer" /> <TRANSIENT name="OverallRank" type="Integer" />
<TRANSIENT name="RoleFit" type="Map" attribHelper="BLOBAttributeHelper" attribHelperInstance="BLOBAttributeHelper.INSTANCE"/> <TRANSIENT name="RoleFit" type="Map" attribHelper="BLOBAttributeHelper" attribHelperInstance="BLOBAttributeHelper.INSTANCE"/>
<TRANSIENT name="RequirementFit" type="Map" attribHelper="BLOBAttributeHelper" attribHelperInstance="BLOBAttributeHelper.INSTANCE"/> <TRANSIENT name="RequirementFit" type="Map" attribHelper="BLOBAttributeHelper" attribHelperInstance="BLOBAttributeHelper.INSTANCE"/>
<TRANSIENT name="CultureFit" type="Map" attribHelper="BLOBAttributeHelper" attribHelperInstance="BLOBAttributeHelper.INSTANCE"/> <TRANSIENT name="CultureFit" type="Map" attribHelper="BLOBAttributeHelper" attribHelperInstance="BLOBAttributeHelper.INSTANCE"/>
<TRANSIENT name="FactorScoreDetails" type="Map" attribHelper="BLOBAttributeHelper" attribHelperInstance="BLOBAttributeHelper.INSTANCE"/>
<TABLE name="tl_job_application" tablePrefix="object" polymorphic="FALSE"> <TABLE name="tl_job_application" tablePrefix="object" polymorphic="FALSE">
......
...@@ -37,10 +37,17 @@ public class JobStatus extends AbstractEnumerated ...@@ -37,10 +37,17 @@ public class JobStatus extends AbstractEnumerated
return allJobStatuss; return allJobStatuss;
} }
private transient Integer ClientSortOrder;
private JobStatus (String name, String value, String description, boolean disabled) private JobStatus (String name, String value, String description, boolean disabled)
{ {
super (name, value, description, disabled); super (name, value, description, disabled);
} }
public Integer getClientSortOrder()
{
return ClientSortOrder;
}
public static final Comparator COMPARE_BY_POSITION = new CompareEnumByPosition (allJobStatuss); public static final Comparator COMPARE_BY_POSITION = new CompareEnumByPosition (allJobStatuss);
...@@ -109,6 +116,10 @@ public class JobStatus extends AbstractEnumerated ...@@ -109,6 +116,10 @@ public class JobStatus extends AbstractEnumerated
public static void defineAdditionalData () public static void defineAdditionalData ()
{ {
OPEN.ClientSortOrder = 1;
COMPLETE.ClientSortOrder = 2;
DRAFT.ClientSortOrder = 4;
FILLED.ClientSortOrder = 3;
} }
...@@ -136,6 +147,7 @@ public class JobStatus extends AbstractEnumerated ...@@ -136,6 +147,7 @@ public class JobStatus extends AbstractEnumerated
{ {
Map attribs = new HashMap (); Map attribs = new HashMap ();
attribs.put ("ClientSortOrder", ArrayFormatter.toObject(getClientSortOrder()));
return attribs; return attribs;
} }
......
...@@ -2,11 +2,13 @@ ...@@ -2,11 +2,13 @@
<ROOT> <ROOT>
<CONSTANT package="performa.orm.types" name="JobStatus"> <CONSTANT package="performa.orm.types" name="JobStatus">
<VALUE name="OPEN" value="OPEN" description="Open"/> <DATA name="ClientSortOrder" type="Integer"/>
<VALUE name="COMPLETE" value="COMPLETE" description="Closed"/>
<VALUE name="DRAFT" value="DRAFT" description="Draft"/> <VALUE name="OPEN" value="OPEN" description="Open" ClientSortOrder="1"/>
<VALUE name="FILLED" value="FILLED" description="Filled"/> <VALUE name="COMPLETE" value="COMPLETE" description="Closed" ClientSortOrder="2"/>
<VALUE name="DRAFT" value="DRAFT" description="Draft" ClientSortOrder="4"/>
<VALUE name="FILLED" value="FILLED" description="Filled" ClientSortOrder="3"/>
</CONSTANT> </CONSTANT>
</ROOT> </ROOT>
\ No newline at end of file
...@@ -122,7 +122,6 @@ public class AnalysisEngine ...@@ -122,7 +122,6 @@ public class AnalysisEngine
factorScore.setLevel(level); factorScore.setLevel(level);
factorScore.setScore(score); factorScore.setScore(score);
factorScore.setColorCode(factorScoreResult.getColorCode()); factorScore.setColorCode(factorScoreResult.getColorCode());
factorScore.setColorRank(factorScoreResult.getColorCode() != null ? factorScoreResult.getColorCode().getColorRank() : 0);
factorScore.setNarrative(factorScoreResult.getNarrative()); factorScore.setNarrative(factorScoreResult.getNarrative());
/** /**
......
...@@ -82,6 +82,9 @@ public class Utils ...@@ -82,6 +82,9 @@ public class Utils
importances.add(importance); importances.add(importance);
} }
} }
Collections.sort(importances, (a, b) -> b.getWeightingScore().compareTo(a.getWeightingScore()));
return importances.toArray(new Importance[0]); return importances.toArray(new Importance[0]);
} }
...@@ -103,7 +106,7 @@ public class Utils ...@@ -103,7 +106,7 @@ public class Utils
public static List<Job> getJobsSorted(Job[] jobs, JobSortOption jobSortOption, JobStatus jobStatus) public static List<Job> getJobsSorted(Job[] jobs, JobSortOption jobSortOption, JobStatus jobStatus)
{ {
ObjectTransform transform = Job.pipesJob().toObjectCreated(); ObjectTransform transform = Job.pipesJob().toObjectCreated();
Comparator comparator = CollectionUtils.DEFAULT_COMPARATOR; Comparator comparator = CollectionUtils.DEFAULT_COMPARATOR_NULLS_FIRST;
if(jobSortOption == JobSortOption.OLDEST || jobSortOption == JobSortOption.NEWEST) if(jobSortOption == JobSortOption.OLDEST || jobSortOption == JobSortOption.NEWEST)
{ {
...@@ -121,8 +124,8 @@ public class Utils ...@@ -121,8 +124,8 @@ public class Utils
} }
comparator = jobSortOption == JobSortOption.OLDEST ? comparator = jobSortOption == JobSortOption.OLDEST ?
CollectionUtils.DEFAULT_COMPARATOR : CollectionUtils.DEFAULT_COMPARATOR_NULLS_FIRST :
CollectionUtils.reverse(CollectionUtils.DEFAULT_COMPARATOR); CollectionUtils.reverse(CollectionUtils.DEFAULT_COMPARATOR_NULLS_FIRST);
} }
else if(jobSortOption == JobSortOption.CLOSING_SOON) else if(jobSortOption == JobSortOption.CLOSING_SOON)
{ {
...@@ -132,12 +135,12 @@ public class Utils ...@@ -132,12 +135,12 @@ public class Utils
else if(jobSortOption == JobSortOption.ALPHA_A_Z) else if(jobSortOption == JobSortOption.ALPHA_A_Z)
{ {
transform = Job.pipesJob().toJobTitle(); transform = Job.pipesJob().toJobTitle();
comparator = CollectionUtils.CASE_INSENSITIVE_COMPARATOR; comparator = CollectionUtils.CASE_INSENSITIVE_COMPARATOR_NULLS_FIRST;
} }
else if(jobSortOption == JobSortOption.ALPHA_Z_A) else if(jobSortOption == JobSortOption.ALPHA_Z_A)
{ {
transform = Job.pipesJob().toJobTitle(); transform = Job.pipesJob().toJobTitle();
comparator = CollectionUtils.reverse(CollectionUtils.CASE_INSENSITIVE_COMPARATOR); comparator = CollectionUtils.reverse(CollectionUtils.CASE_INSENSITIVE_COMPARATOR_NULLS_FIRST);
} }
return ObjstoreUtils.sort( Arrays.asList(jobs), return ObjstoreUtils.sort( Arrays.asList(jobs),
...@@ -149,27 +152,27 @@ public class Utils ...@@ -149,27 +152,27 @@ public class Utils
public static List<Client> getClientsSorted(Client[] clients, ClientSortOption clientSortOption) public static List<Client> getClientsSorted(Client[] clients, ClientSortOption clientSortOption)
{ {
ObjectTransform transform = Client.pipesClient().toObjectCreated(); ObjectTransform transform = Client.pipesClient().toObjectCreated();
Comparator comparator = CollectionUtils.DEFAULT_COMPARATOR; Comparator comparator = CollectionUtils.DEFAULT_COMPARATOR_NULLS_FIRST;
if(clientSortOption == ClientSortOption.ALPHA_A_Z) if(clientSortOption == ClientSortOption.ALPHA_A_Z)
{ {
transform = Client.pipesClient().toClientName(); transform = Client.pipesClient().toClientName();
comparator = CollectionUtils.CASE_INSENSITIVE_COMPARATOR; comparator = CollectionUtils.CASE_INSENSITIVE_COMPARATOR_NULLS_FIRST;
} }
else if(clientSortOption == ClientSortOption.ALPHA_Z_A) else if(clientSortOption == ClientSortOption.ALPHA_Z_A)
{ {
transform = Client.pipesClient().toClientName(); transform = Client.pipesClient().toClientName();
comparator = CollectionUtils.reverse(CollectionUtils.CASE_INSENSITIVE_COMPARATOR); comparator = CollectionUtils.reverse(CollectionUtils.CASE_INSENSITIVE_COMPARATOR_NULLS_FIRST);
} }
else if(clientSortOption == ClientSortOption.OPEN_JOBS) else if(clientSortOption == ClientSortOption.OPEN_JOBS)
{ {
transform = new ClientJobCountTransform(JobStatus.OPEN); transform = new ClientJobCountTransform(JobStatus.OPEN);
comparator = CollectionUtils.reverse(CollectionUtils.DEFAULT_COMPARATOR); comparator = CollectionUtils.reverse(CollectionUtils.DEFAULT_COMPARATOR_NULLS_FIRST);
} }
else if(clientSortOption == ClientSortOption.FILLED_JOBS) else if(clientSortOption == ClientSortOption.FILLED_JOBS)
{ {
transform = new ClientJobCountTransform(JobStatus.FILLED); transform = new ClientJobCountTransform(JobStatus.FILLED);
comparator = CollectionUtils.reverse(CollectionUtils.DEFAULT_COMPARATOR); comparator = CollectionUtils.reverse(CollectionUtils.DEFAULT_COMPARATOR_NULLS_FIRST);
} }
return ObjstoreUtils.sort( Arrays.asList(clients), new ObjectTransform[]{transform}, new Comparator[]{comparator}); return ObjstoreUtils.sort( Arrays.asList(clients), new ObjectTransform[]{transform}, new Comparator[]{comparator});
...@@ -197,7 +200,7 @@ public class Utils ...@@ -197,7 +200,7 @@ public class Utils
@Override @Override
public Integer transform(Client client) public Integer transform(Client client)
{ {
return client.getApplicationCountByStatus(jobStatus); return client.getJobCountByStatus(jobStatus);
} }
} }
...@@ -216,7 +219,7 @@ public class Utils ...@@ -216,7 +219,7 @@ public class Utils
public static List<JobApplication> getApplicationsSorted(JobApplication[] applications, AppSortOption appSortOption) public static List<JobApplication> getApplicationsSorted(JobApplication[] applications, AppSortOption appSortOption)
{ {
ObjectTransform transform = JobApplication.pipesJobApplication().toObjectCreated(); ObjectTransform transform = JobApplication.pipesJobApplication().toObjectCreated();
Comparator comparator = CollectionUtils.DEFAULT_COMPARATOR; Comparator comparator = CollectionUtils.DEFAULT_COMPARATOR_NULLS_FIRST;
if(appSortOption==AppSortOption.OLDEST) if(appSortOption==AppSortOption.OLDEST)
{ {
...@@ -236,12 +239,12 @@ public class Utils ...@@ -236,12 +239,12 @@ public class Utils
else if(appSortOption==AppSortOption.ALPHA_A_Z) else if(appSortOption==AppSortOption.ALPHA_A_Z)
{ {
transform = JobApplication.pipesJobApplication().toCandidate().toUser().toFirstName(); transform = JobApplication.pipesJobApplication().toCandidate().toUser().toFirstName();
comparator = CollectionUtils.CASE_INSENSITIVE_COMPARATOR; comparator = CollectionUtils.CASE_INSENSITIVE_COMPARATOR_NULLS_FIRST;
} }
else if(appSortOption==AppSortOption.ALPHA_Z_A) else if(appSortOption==AppSortOption.ALPHA_Z_A)
{ {
transform = JobApplication.pipesJobApplication().toCandidate().toUser().toFirstName(); transform = JobApplication.pipesJobApplication().toCandidate().toUser().toFirstName();
comparator = CollectionUtils.reverse(CollectionUtils.CASE_INSENSITIVE_COMPARATOR); comparator = CollectionUtils.reverse(CollectionUtils.CASE_INSENSITIVE_COMPARATOR_NULLS_FIRST);
} }
return ObjstoreUtils.sort( Arrays.asList(applications), return ObjstoreUtils.sort( Arrays.asList(applications),
...@@ -328,6 +331,17 @@ public class Utils ...@@ -328,6 +331,17 @@ public class Utils
} }
public static Boolean emailExists(ObjectTransaction objTran, String email)
{
if(email!= null)
{
return SecUser.searchNAME(objTran, email.toLowerCase()) != null;
}
return Boolean.FALSE;
}
public static Boolean isCompanyUserEmailFound(ObjectTransaction objTran, String email) public static Boolean isCompanyUserEmailFound(ObjectTransaction objTran, String email)
{ {
if(email!=null) if(email!=null)
...@@ -484,7 +498,21 @@ public class Utils ...@@ -484,7 +498,21 @@ public class Utils
{ {
return ConfigMgr.getKeyfileString(GoogleOAuthLoginFP.GOOGLE_CLIENTID_ATTR_NAME) != null return ConfigMgr.getKeyfileString(GoogleOAuthLoginFP.GOOGLE_CLIENTID_ATTR_NAME) != null
&& ConfigMgr.getKeyfileString(GoogleOAuthLoginFP.GOOGLE_CLIENTSECRET_ATTR_NAME) != null; && ConfigMgr.getKeyfileString(GoogleOAuthLoginFP.GOOGLE_CLIENTSECRET_ATTR_NAME) != null;
} }
//to get Job status list sorted for client
public static Collection<JobStatus> getJobStatusesForClient()
{
return CollectionUtils.sort(Arrays.asList(JobStatus.getJobStatusArray()),
new Comparator<JobStatus> () {
@Override
public int compare(JobStatus o1, JobStatus o2)
{
return o1.getClientSortOrder().compareTo(o2.getClientSortOrder());
}
});
}
private static class CompanyUserTransform implements ObjectTransform<CompanyUser, String> private static class CompanyUserTransform implements ObjectTransform<CompanyUser, String>
{ {
......
...@@ -45,6 +45,8 @@ public class WebUtils ...@@ -45,6 +45,8 @@ public class WebUtils
public static final String COMPANY_ACCOUNT_VERIFICATION = "CompanyAccountVerification"; public static final String COMPANY_ACCOUNT_VERIFICATION = "CompanyAccountVerification";
public static final String MY_DETAILS = "MyDetails"; public static final String MY_DETAILS = "MyDetails";
public static final String RESET_PASSWORD = "ResetPassword"; public static final String RESET_PASSWORD = "ResetPassword";
public static final String COMPANY_PROFILE = "CompanyProfile";
public static final String INVITE_USERS = "InviteUsers";
public static String getArticleLink(HttpServletRequest request, ObjectTransaction objTran, String articleShortcut, String renderMode) public static String getArticleLink(HttpServletRequest request, ObjectTransaction objTran, String articleShortcut, String renderMode)
...@@ -103,6 +105,11 @@ public class WebUtils ...@@ -103,6 +105,11 @@ public class WebUtils
public static String getPortalName(ObjectTransaction objTran, Article article) public static String getPortalName(ObjectTransaction objTran, Article article)
{ {
if(article != null && article.isHomePage())
{
return ADMIN_PORTAL; //Because default home page is Admin Portal Home
}
Article applicantArticle = getArticleByShortCut(objTran, APPLICANT_PORTAL); Article applicantArticle = getArticleByShortCut(objTran, APPLICANT_PORTAL);
Article adminArticle = getArticleByShortCut(objTran, ADMIN_PORTAL); Article adminArticle = getArticleByShortCut(objTran, ADMIN_PORTAL);
......
...@@ -2893,6 +2893,9 @@ span.export-candidate,span.appli-status-short{ ...@@ -2893,6 +2893,9 @@ span.export-candidate,span.appli-status-short{
padding-left: 6px; padding-left: 6px;
vertical-align: middle; vertical-align: middle;
} }
.pre-dot{
padding-left: 0;
}
.a-label-row { .a-label-row {
margin-bottom: 6px; margin-bottom: 6px;
} }
...@@ -2937,8 +2940,12 @@ span.export-candidate,span.appli-status-short{ ...@@ -2937,8 +2940,12 @@ span.export-candidate,span.appli-status-short{
.appli-label{ .appli-label{
float: left; float: left;
font-size: 12px; font-size: 12px;
font-weight: 500;
text-align: left;
color: #4e5258;
line-height: 28px; line-height: 28px;
width: 25%; width: 25%;
font-family: "Usual-Bold";
} }
.pro-bar { .pro-bar {
padding: 28px 38px 22px 62px; padding: 28px 38px 22px 62px;
...@@ -2964,7 +2971,7 @@ span.appli-percen { ...@@ -2964,7 +2971,7 @@ span.appli-percen {
} }
span.appli-progress-bar { span.appli-progress-bar {
display: inline-block; display: inline-block;
width: 48.47%; width: 47.47%;
} }
.appli-progress-bar .progress { .appli-progress-bar .progress {
margin-bottom: 0; margin-bottom: 0;
...@@ -3146,7 +3153,7 @@ input.add-note-btn:hover{ ...@@ -3146,7 +3153,7 @@ input.add-note-btn:hover{
margin-top: 24px; margin-top: 24px;
} }
.applicant-progress { .applicant-progress {
display: inline-block; display: flex;
width: 100%; width: 100%;
float: left; float: left;
} }
...@@ -3749,13 +3756,12 @@ input.add-note-btn:hover{ ...@@ -3749,13 +3756,12 @@ input.add-note-btn:hover{
font-weight: 300; font-weight: 300;
float: right; float: right;
} }
.appli-percent-no first span
{
font-family: "Usual-Regular";
}
.appli-percent-no span{ .appli-percent-no span{
font-family: "Usual-Light"; font-family: "Usual-Light";
} }
.appli-percent-no.first span{
font-family: "Usual-Regular";
}
.appli-status { .appli-status {
border: medium none; border: medium none;
padding: 15px 23px 0; padding: 15px 23px 0;
...@@ -4202,7 +4208,7 @@ img.alert-icon {float: left;} ...@@ -4202,7 +4208,7 @@ img.alert-icon {float: left;}
.applicant-sidebar .gray,.applicant-sidebar .green,.applicant-sidebar .blue {font-size: 14px;} .applicant-sidebar .gray,.applicant-sidebar .green,.applicant-sidebar .blue {font-size: 14px;}
.applicant-sidebar li {line-height: 46px;} .applicant-sidebar li {line-height: 46px;}
span.appli-percen{top: -4px;font-size: 20px;margin-right: 5px;} span.appli-percen{top: -4px;font-size: 20px;margin-right: 5px;}
.appli-label {font-size: 13px;line-height: 24px;} .appli-label {font-size: 12px; line-height: 24px; }
.expand-box{margin-left: 15px;} .expand-box{margin-left: 15px;}
.big-percentage{font-size: 58px;} .big-percentage{font-size: 58px;}
.appli-percent-no{font-size: 28px; line-height: 1.8em;} .appli-percent-no{font-size: 28px; line-height: 1.8em;}
...@@ -4284,7 +4290,7 @@ img.alert-icon {float: left;} ...@@ -4284,7 +4290,7 @@ img.alert-icon {float: left;}
@media screen and (max-width: 1350px){ @media screen and (max-width: 1350px){
.create-job-btn a{min-width: 150px;} .create-job-btn a{min-width: 150px;}
.work-rating{padding: 15px;} .work-rating{padding: 15px;}
.rate-toggle {width: 80%;} .rate-toggle {width: 100%;}
.work-rating {font-size: 12px;} .work-rating {font-size: 12px;}
.make-payment-tab li a{width: 300px;} .make-payment-tab li a{width: 300px;}
.appli-jcs {font-size: 9px;padding: 26px 10px 0; width: 12%;} .appli-jcs {font-size: 9px;padding: 26px 10px 0; width: 12%;}
...@@ -4299,6 +4305,7 @@ img.alert-icon {float: left;} ...@@ -4299,6 +4305,7 @@ img.alert-icon {float: left;}
.text-dot-dot{width: 75%;} .text-dot-dot{width: 75%;}
.admin-br-line{margin: 18px 0 17px;} .admin-br-line{margin: 18px 0 17px;}
.appli-overall{width: 19%;} .appli-overall{width: 19%;}
.main-pack-type {padding-left: 0px};
} }
@media screen and (max-width: 1280px){ @media screen and (max-width: 1280px){
...@@ -4312,7 +4319,7 @@ img.alert-icon {float: left;} ...@@ -4312,7 +4319,7 @@ img.alert-icon {float: left;}
.appli-name {font-size: 24px;} .appli-name {font-size: 24px;}
.main-applicant-content {width: 100%;} .main-applicant-content {width: 100%;}
.applicant-sidebar{width: 20.65%;} .applicant-sidebar{width: 20.65%;}
.tabing-sidebar .nav-tabs > li > a {padding-left: 15px;} .tabing-sidebar .nav-tabs > li > a {padding-left: 15px;}
} }
@media screen and (max-width: 1278px){ @media screen and (max-width: 1278px){
......
...@@ -32,9 +32,6 @@ ...@@ -32,9 +32,6 @@
<FORM name="*.changeApplicationStatus" factory="Participant" class="performa.form.ChangeApplicationStatusFP"/> <FORM name="*.changeApplicationStatus" factory="Participant" class="performa.form.ChangeApplicationStatusFP"/>
<FORM name="*.bulkupdate" factory="Participant" class="performa.form.BulkUpdateFP"/> <FORM name="*.bulkupdate" factory="Participant" class="performa.form.BulkUpdateFP"/>
<FORM name="*.navigateBetweenStatus" factory="Participant" class="performa.form.NavigateBetweenStatusFP"/> <FORM name="*.navigateBetweenStatus" factory="Participant" class="performa.form.NavigateBetweenStatusFP"/>
<FORM name="*.verifyCompanyUser" factory="Participant" class="performa.form.VerifyCompanyUserFP">
<AccountCreatedEmailer factory="Participant" class="oneit.email.ConfigurableArticleTemplateEmailer" templateShortcut="AccountCreatedMail"/>
</FORM>
<FORM name="*.sendCompanyUserInvites" factory="Participant" class="performa.form.SendCompanyUserInvitesFP"> <FORM name="*.sendCompanyUserInvites" factory="Participant" class="performa.form.SendCompanyUserInvitesFP">
<AccountCreatedEmailer factory="Participant" class="oneit.email.ConfigurableArticleTemplateEmailer" templateShortcut="AccountCreatedMail"/> <AccountCreatedEmailer factory="Participant" class="oneit.email.ConfigurableArticleTemplateEmailer" templateShortcut="AccountCreatedMail"/>
<InvitationEmailer factory="Participant" class="oneit.email.ConfigurableArticleTemplateEmailer" templateShortcut="InvitationMail"/> <InvitationEmailer factory="Participant" class="oneit.email.ConfigurableArticleTemplateEmailer" templateShortcut="InvitationMail"/>
......
...@@ -20,20 +20,20 @@ ...@@ -20,20 +20,20 @@
process.setAttribute("Company", company); process.setAttribute("Company", company);
process.setAttribute("socialLogin", socialLogin); process.setAttribute("socialLogin", socialLogin);
company.setCompletedProfile(Boolean.TRUE);
%> %>
<div class="hello-company-name">Hello, <%= secUser.getFirstName() %></div> <div class="hello-company-name">Hello, <%= secUser.getFirstName() %></div>
<div class="section-tab-view"> <div class="section-tab-view">
<div class="main-tab-form">
<ul class="nav nav-pills nav-justified">
<li class="active"><a href="#"><span>1</span><div>Company Profile</div></a></li>
<li><a href="#"><span>2</span><div>Invite Users</div></a></li>
<li><a href="#"><span>3</span><div>Create a Job</div></a></li>
</ul>
</div>
<oneit:form name="companyProfile" method="post" enctype="multipart/form-data"> <oneit:form name="companyProfile" method="post" enctype="multipart/form-data">
<oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<oneit:dynInclude page="/extensions/adminportal/inc/company_profile_tabs.jsp" TabNumber="1" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<div class="section-page-area" style="text-align: left"> <div class="section-page-area" style="text-align: left">
<div class="main-sc-section"> <div class="main-sc-section">
<div class="form-group"> <div class="form-group">
......
...@@ -33,6 +33,8 @@ ...@@ -33,6 +33,8 @@
String culture = FormatUtils.stringify(jobApplication.getCultureFitScore(), "PercentageWholeNumber", "0"); String culture = FormatUtils.stringify(jobApplication.getCultureFitScore(), "PercentageWholeNumber", "0");
String criteria = FormatUtils.stringify(jobApplication.getRequirementFitScore(), "PercentageWholeNumber", "0"); String criteria = FormatUtils.stringify(jobApplication.getRequirementFitScore(), "PercentageWholeNumber", "0");
String appID = "app-id-" + jobApplication.getID().toString(); String appID = "app-id-" + jobApplication.getID().toString();
Integer overallRank = jobApplication.getOverallRank();
Boolean isTopRank = CollectionUtils.equals(overallRank, 1);
%> %>
<div class="appli-row" id="<%= jobApplication.getID() %>"> <div class="appli-row" id="<%= jobApplication.getID() %>">
<div class="appli-checkbox appli-l eq-second-height"> <div class="appli-checkbox appli-l eq-second-height">
...@@ -57,7 +59,7 @@ ...@@ -57,7 +59,7 @@
Overall rank Overall rank
</div> </div>
<!--TODO: logic needed to be worked out. Added to note that there are three colors--> <!--TODO: logic needed to be worked out. Added to note that there are three colors-->
<div class="<%= "appli-percent-no " + (j == 0 ? "first green" : (j < 3 ? "blue" : "grey" ))%>"> <div class="<%= "appli-percent-no blue " + (isTopRank ? "first" : "")%>">
<oneit:toString value="<%= jobApplication.getOverallRank() %>" mode="Integer" /> <oneit:toString value="<%= jobApplication.getOverallRank() %>" mode="Integer" />
</div> </div>
</div> </div>
......
<%@ page extends="oneit.servlets.jsp.JSPInclude" %>
<%@ include file="/inc/stdimports50.jsp" %><%-- This is in cougar --%>
<%@ include file="/inc/stdcms.jsp" %><%-- This is in cougar --%>
<%@ include file="/extensions/performa/inc/stdimports.jsp" %>
<%
Company company = (Company) process.getAttribute("Company");
String tabNumber = (String) getData(request, "TabNumber");
String firstTab = WebUtils.getSamePageInRenderMode(request, WebUtils.COMPANY_PROFILE);
String secondTab = WebUtils.getSamePageInRenderMode(request, WebUtils.INVITE_USERS);
%>
<oneit:dynIncluded>
<div class="main-tab-form">
<ul class="nav nav-pills nav-justified">
<li class="<%= tabNumber == "1" ? "active" : ""%>">
<oneit:button value=" " name="gotoPage" skin="link"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", firstTab)
.mapEntry("procParams", CollectionUtils.mapEntry("Company", company).toMap())
.toMap() %>">
<span><%= CollectionUtils.equals(company.getCompletedProfile(), Boolean.TRUE) ? "<img src=\"images/right-mark.png\" />" : "1"%></span>
<div>Company Profile</div>
</oneit:button>
</li>
<li class="<%= tabNumber == "2" ? "active" : ""%>">
<oneit:button value=" " name="gotoPage" skin="link"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", secondTab)
.mapEntry("procParams", CollectionUtils.mapEntry("Company", company).toMap())
.toMap() %>">
<span>2</span>
<div>Invite Users</div>
</oneit:button>
</li>
<li><a href="#"><span>3</span><div>Create a Job</div></a></li>
</ul>
</div>
</oneit:dynIncluded>
...@@ -54,11 +54,11 @@ ...@@ -54,11 +54,11 @@
%> %>
<header> <header>
<div class="container-fluid"> <div class="container-fluid">
<div class="row"> <div class="row" style="background-color: #ffffff;">
<div class="site-logo"> <div class="site-logo">
<a href="#"><img src="images/logo.svg"></a> <a href="<%= homeUrl %>"><img src="images/logo.svg"></a>
</div> </div>
<div class="search-bar"> <div class="search-bar" style="display: none;">
<div class="inset-shadow"></div> <div class="inset-shadow"></div>
<img src="images/search-icon.svg"/> <img src="images/search-icon.svg"/>
<input type="text" class="form-control" placeholder="<%= company.showHasClientSupport() ? "Search for job, candidate or client" : "Search for a job or candidate"%>"/> <input type="text" class="form-control" placeholder="<%= company.showHasClientSupport() ? "Search for job, candidate or client" : "Search for a job or candidate"%>"/>
......
...@@ -38,17 +38,38 @@ ...@@ -38,17 +38,38 @@
$(tab).addClass('active'); $(tab).addClass('active');
} }
function focusDiv(selectDiv) {
var $el = $(selectDiv).closest('.main-pro-bar').children('.pro-bar');
if(!$el.hasClass('hasarrow'))
{
$el.click();
}
$(window).scrollTop($(selectDiv).offset().top);
}
function focusReqDiv(selectDiv) {
var $el = $(selectDiv).children('.pro-bar');
if(!$el.hasClass('hasarrow'))
{
$el.click();
}
$(window).scrollTop($(selectDiv).offset().top);
}
$(document).ready(function() $(document).ready(function()
{ {
$('.expand-box span').click(function() { $('.pro-bar').click(function() {
var $el = $(this); var $el = $(this);
if($(this).hasClass('hasarrow')){ if($(this).hasClass('hasarrow')){
$el.find('img').attr('src','images/select-top-arrow.svg'); $el.find('img').attr('src','images/select-down-arrow.svg');
$(this).removeClass('hasarrow'); $(this).removeClass('hasarrow');
} }
else{ else{
$el.find('img').attr('src','images/select-down-arrow.svg'); $el.find('img').attr('src','images/select-top-arrow.svg');
$(this).addClass('hasarrow'); $(this).addClass('hasarrow');
} }
}); });
...@@ -96,53 +117,102 @@ ...@@ -96,53 +117,102 @@
<div class="applicant-sub-part"> <div class="applicant-sub-part">
<div class="applicant-left"> <div class="applicant-left">
<% <%
Tuple.T2<Double, ColorCode> roleFitData = (jobApplication.getRoleFit()!=null && jobApplication.getRoleFit().get(null)!=null) ? (Tuple.T2<Double, ColorCode>) jobApplication.getRoleFit().get(null) : null; Tuple.T2<Double, ColorCode> roleFitData = (jobApplication.getRoleFit()!=null && jobApplication.getRoleFit().get(null)!=null) ? (Tuple.T2<Double, ColorCode>) jobApplication.getRoleFit().get(null) : null;
String colorClass = "percent-" +(roleFitData!=null ? roleFitData.get1().getCSSClass() : "green"); String colorClass = "percent-" +(roleFitData!=null ? roleFitData.get1().getCSSClass() : "green");
List<FactorScore> factorScores = jobApplication.getRoleAreaOfConcerns();
List<Tuple.T2> cultureConcerns = jobApplication.getCultureAreaOfConcerns();
%> %>
<div class="applicant-progress"> <div class="applicant-progress">
<div class="<%= job.getIncludeAssessmentCriteria()==Boolean.TRUE ? "col-sm-4" : "col-sm-6" %> col-xs-12 text-center thr-block role-fit" href="#1a" data-toggle="tab" id="progress1" onClick="tabToggle('#tab1', '.role-fit')"> <div class="<%= job.getIncludeAssessmentCriteria()==Boolean.TRUE ? "col-sm-4" : "col-sm-6" %> col-xs-12 text-center thr-block role-fit" href="#1a" data-toggle="tab" id="progress1" onClick="tabToggle('#tab1', '.role-fit')">
<label class="progress-label">role fit</label> <label class="progress-label">role fit</label>
<div class="<%= colorClass %> fixed-width"> <div class="<%= colorClass %> fixed-width">
<p style="display:none;"><oneit:toString value="<%= roleFitData.get0() %>" mode="TwoDPDouble" nullValue="0"/></p> <p style="display:none;"><oneit:toString value="<%= roleFitData.get0()!=null?roleFitData.get0():0D %>" mode="TwoDPDouble" nullValue="0"/></p>
</div> </div>
<div class="row four-label"> <div class="row four-label">
<div class="col-md-6 col-sm-6 col-xs-6 text-left"> <%
<div class="a-label-row"> if(!factorScores.isEmpty())
<span class="common-dot yellow-dot"></span><span class="r-y-label text-dot-dot">Achievement</span> {
</div> int rowCount = (factorScores.size() % 2 == 0) ? (factorScores.size() / 2) : ((factorScores.size() + 1) / 2);
<div class="a-label-row">
<span class="common-dot red-dot"></span><span class="r-y-label text-dot-dot">Item with a long ti</span> for(int i = 0; i < rowCount; i++)
</div> {
</div> FactorScore firstScore = factorScores.get(i*2);
<div class="col-md-6 col-sm-6 col-xs-6 text-left"> FactorScore secondScore = (factorScores.size() > ((i*2) + 1)) ? factorScores.get((i*2) + 1) : null;
<div class="a-label-row">
<span class="common-dot yellow-dot"></span><span class="r-y-label text-dot-dot">Remuneration</span> String dotClass = firstScore.getColorCode() != null ? firstScore.getColorCode().getDotCSSClass() : "";
</div> %>
<div class="a-label-row"> <div class="a-label-row">
<span class="common-dot red-dot"></span><span class="r-y-label text-dot-dot">Item title</span> <div class="col-md-6 col-sm-6 col-xs-6 text-left" onClick="focusDiv('<%= "#" + firstScore.getObjectID() %>')">
</div> <span class="common-dot <%= dotClass %>"></span>
</div> <span class="r-y-label text-dot-dot">
<oneit:toString value="<%= firstScore.getFactor() %>" mode="EscapeHTML"/>
</span>
</div>
<%
if(secondScore != null)
{
dotClass = secondScore.getColorCode() != null ? secondScore.getColorCode().getDotCSSClass() : "";
%>
<div class="col-md-6 col-sm-6 col-xs-6 text-left" onClick="focusDiv('<%= "#" + secondScore.getObjectID() %>')">
<span class="common-dot <%= dotClass %>"></span>
<span class="r-y-label text-dot-dot">
<oneit:toString value="<%= secondScore.getFactor() %>" mode="EscapeHTML"/>
</span>
</div>
<%
}
%>
</div>
<%
}
}
%>
</div> </div>
</div> </div>
<div class="<%= job.getIncludeAssessmentCriteria()==Boolean.TRUE ? "col-sm-4" : "col-sm-4" %> col-xs-12 text-center thr-block culture-fit" href="#2a" data-toggle="tab" id="progress2" onClick="tabToggle('#tab2', '.culture-fit')"> <div class="<%= job.getIncludeAssessmentCriteria()==Boolean.TRUE ? "col-sm-4" : "col-sm-6" %> col-xs-12 text-center thr-block culture-fit" href="#2a" data-toggle="tab" id="progress2" onClick="tabToggle('#tab2', '.culture-fit')">
<label class="progress-label">culture fit</label> <label class="progress-label">culture fit</label>
<div class="percent-green fixed-width"> <div class="percent-green fixed-width">
<p style="display:none;"><oneit:toString value="<%= jobApplication.getCultureFitScore() %>" mode="TwoDPDouble" /></p> <p style="display:none;"><oneit:toString value="<%= jobApplication.getCultureFitScore() %>" mode="TwoDPDouble" /></p>
</div> </div>
<div class="row four-label"> <div class="row four-label">
<div class="col-md-6 col-sm-6 col-xs-6 text-left"> <%
<div class="a-label-row"> if(!cultureConcerns.isEmpty())
<span class="common-dot yellow-dot"></span><span class="r-y-label text-dot-dot">Achievement</span> {
</div> int rowCount = (cultureConcerns.size() % 2 == 0) ? (cultureConcerns.size() / 2) : ((cultureConcerns.size() + 1) / 2);
<div class="a-label-row">
<span class="common-dot red-dot"></span><span class="r-y-label text-dot-dot">Item title</span> for(int i = 0; i < rowCount; i++)
</div> {
</div> Tuple.T2 firstTuple = cultureConcerns.get(i*2);
<div class="col-md-6 col-sm-6 col-xs-6 text-left"> Tuple.T2 secondTuple = (cultureConcerns.size() > ((i*2) + 1)) ? cultureConcerns.get((i*2) + 1) : null;
<div class="a-label-row">
<span class="common-dot yellow-dot"></span><span class="r-y-label text-dot-dot">Remuneration</span> String dotClass = ((ColorCode)firstTuple.get1()).getDotCSSClass();
</div> %>
</div> <div class="a-label-row">
<div class="col-md-6 col-sm-6 col-xs-6 text-left" onClick="focusDiv('<%= "#" + ((CultureElement)firstTuple.get0()).getObjectID() %>')">
<span class="common-dot <%= dotClass %>"></span>
<span class="r-y-label text-dot-dot">
<oneit:toString value="<%= firstTuple.get0() %>" mode="EscapeHTML"/>
</span>
</div>
<%
if(secondTuple != null)
{
dotClass = ((ColorCode)secondTuple.get1()).getDotCSSClass();
%>
<div class="col-md-6 col-sm-6 col-xs-6 text-left" onClick="focusDiv('<%= "#" + ((CultureElement)firstTuple.get0()).getObjectID() %>')">
<span class="common-dot <%= dotClass %>"></span>
<span class="r-y-label text-dot-dot">
<oneit:toString value="<%= secondTuple.get0() %>" mode="EscapeHTML"/>
</span>
</div>
<%
}
%>
</div>
<%
}
}
%>
</div> </div>
</div> </div>
<% <%
...@@ -155,18 +225,45 @@ ...@@ -155,18 +225,45 @@
<p style="display:none;"><oneit:toString value="<%= jobApplication.getRequirementFitScore() %>" mode="TwoDPDouble" /></p> <p style="display:none;"><oneit:toString value="<%= jobApplication.getRequirementFitScore() %>" mode="TwoDPDouble" /></p>
</div> </div>
<div class="row four-label"> <div class="row four-label">
<div class="col-md-6 col-sm-6 col-xs-6 text-left">
<div class="a-label-row"> <%
<span class="common-dot yellow-dot"></span><span class="r-y-label text-dot-dot">Item title</span> for(CriteriaType ct: CriteriaType.getCriteriaTypeArray())
</div> {
<div class="a-label-row">&nbsp;</div> MultiHashtable<Importance, AssessmentCriteriaAnswer> negativeAnswers = jobApplication.getNegativeACByImportance(ct);
</div>
<div class="col-md-6 col-sm-6 col-xs-6 text-left"> int essentialNo = negativeAnswers.getValuesForKeyNN(Importance.ESSENTIAL).size();
<div class="a-label-row"> int hDesirableNo = negativeAnswers.getValuesForKeyNN(Importance.HIGHLY_DESIRABLE).size();
<span class="common-dot red-dot"></span><span class="r-y-label text-dot-dot">Item title</span>
</div> if(essentialNo == 0 && hDesirableNo == 0)
<div class="a-label-row">&nbsp;</div> {
</div> continue;
}
%>
<div class="col-md-6 col-sm-6 col-xs-6 text-left">
<div class="a-label-row">
<span class="r-y-label pre-dot"><%= ct.getDescription() %></span>
<%
if(hDesirableNo > 0)
{
%>
<span class="common-dot yellow-dot"></span>
<span class="r-y-label pre-dot" onclick="focusReqDiv('.<%= Importance.HIGHLY_DESIRABLE %>')">(<%=hDesirableNo%>)</span>
<%
}
if(essentialNo > 0)
{
%>
<span class="common-dot red-dot"></span>
<span class="r-y-label pre-dot" onclick="focusReqDiv('.<%= Importance.ESSENTIAL %>')">(<%=essentialNo%>)</span>
<%
}
%>
</div>
</div>
<%
}
%>
</div> </div>
</div> </div>
...@@ -178,74 +275,73 @@ ...@@ -178,74 +275,73 @@
<div class="tab-content clearfix"> <div class="tab-content clearfix">
<div class="tab-pane active" id="1a"> <div class="tab-pane active" id="1a">
<% <%
for(FactorClass factorClass : jobApplication.getSortedFactorClasses()) Map<FactorClass, Map<FactorLevelLink, Map>> factorClassDtls = (Map<FactorClass, Map<FactorLevelLink, Map>>) jobApplication.getFactorScoreDetails();
for(FactorClass factorClass : factorClassDtls.keySet())
{ {
if(roleScoreMap.get(factorClass) != null && roleScoreMap.get(factorClass).get0() > 0d) Map<FactorLevelLink, Map> factorDetails = factorClassDtls.get(factorClass);
{ Double rating = roleScoreMap.get(factorClass).get0();
Map<FactorLevelLink, Map> factorDetails = AnalysisEngine.getFactorScoreDetails(candidate, job.getLevel(), factorClass); ColorCode colorCode = roleScoreMap.get(factorClass).get1();
Double rating = roleScoreMap.get(factorClass).get0(); String cssClass = colorCode.getCSSClass();
ColorCode colorCode = roleScoreMap.get(factorClass).get1();
String cssClass = colorCode.getCSSClass();
%> %>
<div class="main-pro-bar"> <div class="main-pro-bar">
<div class="pro-bar"> <div class="pro-bar">
<span class="appli-label"><oneit:toString value="<%= factorClass %>" mode="EscapeHTML"/></span> <span class="appli-label"><oneit:toString value="<%= factorClass %>" mode="EscapeHTML"/></span>
<span class="appli-percen gray"><oneit:toString value="<%= rating %>" mode="TwoDPDouble"/></span> <span class="appli-percen gray"><oneit:toString value="<%= rating %>" mode="TwoDPDouble"/></span>
<span class="appli-progress-bar"> <span class="appli-progress-bar">
<div class="progress"> <div class="progress">
<div class="progress-bar <%= cssClass %>" role="progressbar" aria-valuenow="<%= rating %>" aria-valuemin="0" aria-valuemax="100" style="width:<%= rating %>%"></div> <div class="progress-bar <%= cssClass %>" role="progressbar" aria-valuenow="<%= rating %>" aria-valuemin="0" aria-valuemax="100" style="width:<%= rating %>%"></div>
</div> </div>
</span> </span>
<span class="expand-box"> <span class="expand-box">
<span class="hasarrow"><img src="images/select-down-arrow.svg"></span> <span class="hasarrow"><img src="images/select-down-arrow.svg"></span>
</span> </span>
</div> </div>
<div class="expand-hide-tag"> <div class="expand-hide-tag">
<% <%
for(FactorLevelLink factorLevelLink : factorDetails.keySet()) for(FactorLevelLink factorLevelLink : factorDetails.keySet())
{ {
Map factorLinkDetails = factorDetails.get(factorLevelLink); Map factorLinkDetails = factorDetails.get(factorLevelLink);
if(!factorLinkDetails.isEmpty()) if(!factorLinkDetails.isEmpty())
{ {
FactorScore factorScore = (FactorScore) factorLinkDetails.get("factorScore"); FactorScore factorScore = (FactorScore) factorLinkDetails.get("factorScore");
%> %>
<div class="tab-row"> <div class="tab-row" id="<%= factorScore.getObjectID() %>">
<div class="tab-view-label"> <div class="tab-view-label">
<oneit:toString value="<%= factorLevelLink.getFactor() %>" mode="EscapeHTML"/> <oneit:toString value="<%= factorLevelLink.getFactor() %>" mode="EscapeHTML"/>
</div>
<div class="tab-view-side">
<div class="result-want">
<div class="result"><oneit:toString value="<%= factorLevelLink.getLeftAnnot() %>" mode="EscapeHTML"/></div>
<div class="wants"><oneit:toString value="<%= factorLevelLink.getRightAnnot() %>" mode="EscapeHTML"/></div>
</div> </div>
<div class="tab-view-side"> <div class="result-bar">
<div class="result-want"> <ul>
<div class="result"><oneit:toString value="<%= factorLevelLink.getLeftAnnot() %>" mode="EscapeHTML"/></div> <%
<div class="wants"><oneit:toString value="<%= factorLevelLink.getRightAnnot() %>" mode="EscapeHTML"/></div> Map<FactorScoreResult, Double> factorScoreDetails = (Map<FactorScoreResult, Double>)factorLinkDetails.get("factorScoreDetails");
</div>
<div class="result-bar"> for(FactorScoreResult factorScoreResult : factorScoreDetails.keySet())
<ul> {
<% %>
Map<FactorScoreResult, Double> factorScoreDetails = (Map<FactorScoreResult, Double>)factorLinkDetails.get("factorScoreDetails"); <li class="<%= factorScoreResult.getColorCode() != null ? factorScoreResult.getColorCode().getCSSClass() : "" %>" style="width: <%= factorScoreDetails.get(factorScoreResult) %>%; height: 10px"></li>
<%
for(FactorScoreResult factorScoreResult : factorScoreDetails.keySet()) }
{ %>
%> </ul>
<li class="<%= factorScoreResult.getColorCode() != null ? factorScoreResult.getColorCode().getCSSClass() : "" %>" style="width: <%= factorScoreDetails.get(factorScoreResult) %>%; height: 10px"></li> <span class="triangle-arrow" style="left: <%= factorLinkDetails.get("scoreLeftMargin")%>%;"></span>
<%
}
%>
</ul>
<span class="triangle-arrow" style="left: <%= factorLinkDetails.get("scoreLeftMargin")%>%;"></span>
</div>
<div class="like-strive"><oneit:toString value="<%= factorScore != null ? factorScore.getNarrative() : null %>" mode="EscapeHTML"/></div>
</div> </div>
<div class="like-strive"><oneit:toString value="<%= factorScore != null ? factorScore.getNarrative() : null %>" mode="EscapeHTML"/></div>
</div> </div>
<% </div>
} <%
} }
%> }
</div> %>
</div> </div>
</div>
<% <%
}
} }
%> %>
</div> </div>
...@@ -282,7 +378,7 @@ ...@@ -282,7 +378,7 @@
CultureNarrative cultureNarrative = (CultureNarrative) tuple.get2(); CultureNarrative cultureNarrative = (CultureNarrative) tuple.get2();
String dotClass = cultureNarrative != null && cultureNarrative.getColorCode() != null ? cultureNarrative.getColorCode().getDotCSSClass() : ""; String dotClass = cultureNarrative != null && cultureNarrative.getColorCode() != null ? cultureNarrative.getColorCode().getDotCSSClass() : "";
%> %>
<div class="detail-tab-row"> <div class="detail-tab-row" id="<%= ((CultureElement)tuple.get1()).getObjectID() %>">
<div class="detail-tab-row-title col-md-4 col-sm-4 col-xs-4"> <div class="detail-tab-row-title col-md-4 col-sm-4 col-xs-4">
<span class="common-dot <%= dotClass %>"></span> &nbsp; <span class="common-dot <%= dotClass %>"></span> &nbsp;
<oneit:toString value="<%= tuple.get1() %>" mode="EscapeHTML"/> <oneit:toString value="<%= tuple.get1() %>" mode="EscapeHTML"/>
...@@ -309,16 +405,11 @@ ...@@ -309,16 +405,11 @@
MultiHashtable<Importance, AssessmentCriteriaAnswer> reqAnswersByImportance = jobApplication.getRequirementAnswersByImportance(); MultiHashtable<Importance, AssessmentCriteriaAnswer> reqAnswersByImportance = jobApplication.getRequirementAnswersByImportance();
Map<Importance, Long> requirementFitData = (Map<Importance, Long>)jobApplication.getRequirementFit(); Map<Importance, Long> requirementFitData = (Map<Importance, Long>)jobApplication.getRequirementFit();
for(Importance importance: requirementFitData.keySet()) for(Importance importance: Utils.getImportancesForAssessment())
{ {
if(importance==null)
{
continue;
}
Long rating = requirementFitData.get(importance); Long rating = requirementFitData.get(importance);
%> %>
<div class="main-pro-bar"> <div class="main-pro-bar <%= importance %>">
<div class="pro-bar"> <div class="pro-bar">
<span class="appli-label"><oneit:toString value="<%= importance %>" mode="EscapeHTML"/></span> <span class="appli-label"><oneit:toString value="<%= importance %>" mode="EscapeHTML"/></span>
<span class="appli-percen gray"><oneit:toString value="<%= rating %>" mode="WholeNumber" /></span> <span class="appli-percen gray"><oneit:toString value="<%= rating %>" mode="WholeNumber" /></span>
...@@ -346,9 +437,11 @@ ...@@ -346,9 +437,11 @@
<% <%
for(AssessmentCriteriaAnswer answer: reqAnswersByImportance.getValuesForKey(importance)) for(AssessmentCriteriaAnswer answer: reqAnswersByImportance.getValuesForKey(importance))
{ {
String dotClass = answer.getAnswer() ? "" : (importance == Importance.ESSENTIAL ? "red-dot" : (importance == Importance.HIGHLY_DESIRABLE ? "yellow-dot" : ""));
%> %>
<div class="tab-row"> <div class="tab-row">
<div class="detail-tab-row-title col-md-4 col-sm-4 col-xs-4" style="width: 30%"> <div class="detail-tab-row-title col-md-4 col-sm-4 col-xs-4" style="width: 30%">
<span class="common-dot <%= dotClass %>"></span> &nbsp;
<oneit:toString value="<%= answer.getAssessmentCriteria().getCriteriaType() %>" mode="EscapeHTML"/> <oneit:toString value="<%= answer.getAssessmentCriteria().getCriteriaType() %>" mode="EscapeHTML"/>
</div> </div>
<div class="detail-tab-row-text col-md-8 col-sm-8 col-xs-8" style="width: 65%"> <div class="detail-tab-row-text col-md-8 col-sm-8 col-xs-8" style="width: 65%">
......
...@@ -41,18 +41,12 @@ ...@@ -41,18 +41,12 @@
</script> </script>
<div class="hire-the-right-candi" style="">You're nearly there...</div> <div class="hire-the-right-candi" style="">You're nearly there...</div>
<oneit:form name="companyProfile" method="post" enctype="multipart/form-data"> <div class="section-tab-view">
<oneit:form name="companyProfile" method="post" enctype="multipart/form-data">
<oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/> <oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<div class="section-tab-view"> <oneit:dynInclude page="/extensions/adminportal/inc/company_profile_tabs.jsp" TabNumber="2" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<div class="main-tab-form">
<ul class="nav nav-pills nav-justified">
<li class="complate"><a href="#"><span><img src="images/right-mark.svg"/></span><div>Company Profile</div></a></li>
<li class="active"><a href="#"><span>2</span><div>Invite Users</div></a></li>
<li><a href="#"><span>3</span><div>Create a Job</div></a></li>
</ul>
</div>
<div class="section-page-area" style="text-align: left"> <div class="section-page-area" style="text-align: left">
<div class="main-sc-section"> <div class="main-sc-section">
...@@ -84,12 +78,13 @@ ...@@ -84,12 +78,13 @@
<div class="main-sc-section text-center company-profile-btn"> <div class="main-sc-section text-center company-profile-btn">
<oneit:button value="Send invites & proceed" name="sendCompanyUserInvites" cssClass="btn btn-primary box-btn" <oneit:button value="Send invites & proceed" name="sendCompanyUserInvites" cssClass="btn btn-primary box-btn"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", nextPage) requestAttribs="<%= CollectionUtils.mapEntry("nextPage", nextPage)
.mapEntry("CompanyUser", companyUser)
.mapEntry("procParams", CollectionUtils.mapEntry("socialLogin", socialLogin).mapEntry("Company", company).toMap()) .mapEntry("procParams", CollectionUtils.mapEntry("socialLogin", socialLogin).mapEntry("Company", company).toMap())
.toMap() %>"/> .toMap() %>"/>
</div> </div>
</div> </div>
</div> </oneit:form>
</oneit:form> </div>
</oneit:dynIncluded> </oneit:dynIncluded>
<%@ include file="inc/htmlfooter_nopriv.jsp" %> <%@ include file="inc/htmlfooter_nopriv.jsp" %>
\ No newline at end of file
...@@ -73,9 +73,9 @@ ...@@ -73,9 +73,9 @@
</div> </div>
</div> </div>
<% <%
for (JobStatus jobStatus : JobStatus.getJobStatusArray()) for (JobStatus jobStatus : Utils.getJobStatusesForClient())
{ {
int jobCount = client.getApplicationCountByStatus(jobStatus); int jobCount = client.getJobCountByStatus(jobStatus);
%> %>
<div class="<%= "application-count jl-c " + (jobCount == 0 ? "opaque-jobcount" : "")%>"> <div class="<%= "application-count jl-c " + (jobCount == 0 ? "opaque-jobcount" : "")%>">
<oneit:toString value="<%= jobCount %>" mode="EscapeHTML" nullValue="0"/> <oneit:toString value="<%= jobCount %>" mode="EscapeHTML" nullValue="0"/>
......
...@@ -33,3 +33,4 @@ Company.FirstName = First Name ...@@ -33,3 +33,4 @@ Company.FirstName = First Name
Company.LastName = Last Name Company.LastName = Last Name
Company.RoleType = Role Company.RoleType = Role
Company.CompanyLogo = Company Logo Company.CompanyLogo = Company Logo
Company.HiringTeamType = Hiring Team
...@@ -53,21 +53,9 @@ ...@@ -53,21 +53,9 @@
</div> </div>
<div class="form-group"> <div class="form-group">
<label><oneit:label GUIName="Email Address" /></label> <label><oneit:label GUIName="Email Address" /></label>
<% <oneit:ormInput obj="<%= loggedInUser %>" type="text" attributeName="Email" cssClass="form-control" />
if(companyUser.isLoggedViaSocial()) <%
{ if(companyUser.getIsEmailChanged()==Boolean.TRUE)
%>
<oneit:ormInput obj="<%= loggedInUser %>" type="text" attributeName="Email" cssClass="form-control" />
<%
}
else
{
%>
<oneit:ormInput obj="<%= loggedInUser %>" type="text" attributeName="UserName" cssClass="form-control" />
<% }
if(companyUser.getIsAccountVerified()!=Boolean.TRUE || companyUser.getIsEmailChanged()==Boolean.TRUE)
{ {
%> %>
<div class="email-verify">Email address not yet verified. <div class="email-verify">Email address not yet verified.
......
...@@ -7,19 +7,20 @@ ...@@ -7,19 +7,20 @@
<oneit:dynIncluded> <oneit:dynIncluded>
<% <%
String nextPage = WebUtils.getSamePageInRenderMode(request, "CompanyProfile"); String nextPage = WebUtils.getSamePageInRenderMode(request, "CompanyProfile");
String homePage = WebUtils.getArticleByShortCut(process.getTransaction(), WebUtils.ADMIN_HOME).getLink(request);
CompanyUser companyUser = (CompanyUser) process.getAttribute("CompanyUser"); CompanyUser companyUser = (CompanyUser) process.getAttribute("CompanyUser");
SecUser secUser = null; SecUser secUser = null;
Boolean socialLogin = Boolean.FALSE; Boolean socialLogin = Boolean.FALSE;
//to process company user verification //to process company user verification
String id = request.getParameter("id"); String id = request.getParameter("id");
String key = request.getParameter("key"); String verifyKey = request.getParameter("key");
Boolean invalid = Boolean.TRUE; Boolean invalid = Boolean.TRUE;
if(id!=null && key!=null) if(id!=null && verifyKey !=null)
{ {
companyUser = CompanyUser.searchIdPin(transaction, Long.parseLong(id), key); companyUser = CompanyUser.searchIdPin(transaction, Long.parseLong(id), verifyKey);
if(companyUser!=null && companyUser.getIsAccountVerified()!=Boolean.TRUE) if(companyUser!=null && companyUser.getIsAccountVerified()!=Boolean.TRUE)
{ {
...@@ -49,6 +50,8 @@ ...@@ -49,6 +50,8 @@
} }
} }
process.setAttribute("Company", companyUser.getCompany());
Debug.assertion(companyUser != null, "Invalid CompanyUser in admin portal"); Debug.assertion(companyUser != null, "Invalid CompanyUser in admin portal");
%> %>
<script type="text/javascript"> <script type="text/javascript">
...@@ -96,22 +99,39 @@ ...@@ -96,22 +99,39 @@
<% <%
if(!socialLogin) if(!socialLogin)
{ {
String key = Utils.getPwdKeyOfSecUser(request, secUser, true);
%> %>
<div class="form-group text-left"> <div class="form-group text-left">
<label>Password</label> <label>Password</label>
<oneit:ormInput obj="<%= companyUser %>" type="password" attributeName="Password" cssClass="form-control second-style reset-pw" required="true"/> <oneit:input type="password" name="<%= key %>" class="form-control second-style reset-pw"/>
</div> </div>
<div class="form-group text-left"> <div class="form-group text-left">
<label>Confirm password</label> <label>Confirm password</label>
<oneit:ormInput obj="<%= companyUser %>" type="password" attributeName="ConfirmPassword" cssClass="form-control second-style reset-pw " required="true"/> <oneit:input type="password" name="<%= key + 2 %>" class="form-control second-style reset-pw"/>
</div> </div>
<% <%
} }
if(companyUser.getCompany().getAddedByUser() == companyUser)
{
%>
<oneit:button value="Verify and login" name="gotoPage" cssClass="box-btn verify-btn"
requestAttribs="<%= CollectionUtils.mapEntry("socialLogin", socialLogin)
.mapEntry("procParams", CollectionUtils.mapEntry("Company", companyUser.getCompany()).toMap())
.mapEntry("nextPage", nextPage).toMap() %>"/>
<%
}
else
{
%>
<oneit:button value="Verify and login" name="sendCompanyUserInvites" cssClass="box-btn verify-btn"
requestAttribs="<%= CollectionUtils.mapEntry("socialLogin", socialLogin)
.mapEntry("CompanyUser", companyUser)
.mapEntry("nextPage", homePage)
.toMap() %>"/>
<%
}
%> %>
<oneit:button value="Verify and login" name="verifyCompanyUser" cssClass="box-btn verify-btn"
requestAttribs="<%= CollectionUtils.mapEntry("socialLogin", socialLogin)
.mapEntry("nextPage", nextPage).toMap() %>"/>
</div> </div>
</oneit:form> </oneit:form>
</oneit:dynIncluded> </oneit:dynIncluded>
......
...@@ -113,12 +113,14 @@ ...@@ -113,12 +113,14 @@
{ {
Candidate candidate = jobApplication.getCandidate(); Candidate candidate = jobApplication.getCandidate();
String appID = "app-id-" + jobApplication.getID().toString(); String appID = "app-id-" + jobApplication.getID().toString();
Integer overallRank = jobApplication.getOverallRank();
Boolean isTopRank = CollectionUtils.equals(overallRank, 1);
Map<FactorClass, Tuple.T2<Double, ColorCode>> roleScoreMap = (Map<FactorClass, Tuple.T2<Double, ColorCode>>)jobApplication.getRoleFit(); Map<FactorClass, Tuple.T2<Double, ColorCode>> roleScoreMap = (Map<FactorClass, Tuple.T2<Double, ColorCode>>)jobApplication.getRoleFit();
%> %>
<div class="<%= "appl-c-box " + (i == 0 ? " cb-one" : "")%> "> <div class="<%= "appl-c-box " + (i == 0 ? " cb-one" : "")%> ">
<!--TODO: need to work on the logic. just added to demonstrate that there are 3 different colors for this--> <!--TODO: need to work on the logic. just added to demonstrate that there are 3 different colors for this-->
<div class="<%= "cb-title " + (i == 0 ? "green-back" : (i < 3 ? "blue-back" : "dark-back" ))%> "> <div class="cb-title dark-back ">
<div class="checkbox-list grid-checkbox"> <div class="checkbox-list grid-checkbox">
<div class="checkbox-list"> <div class="checkbox-list">
<input type="checkbox" name="IsSelected" value="<%= jobApplication.getObjectID().toString() %>" id="<%= appID %>" class="applicant" > <input type="checkbox" name="IsSelected" value="<%= jobApplication.getObjectID().toString() %>" id="<%= appID %>" class="applicant" >
...@@ -133,11 +135,10 @@ ...@@ -133,11 +135,10 @@
.mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).mapEntry("Applications", sortedApplications).toMap()) .mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).mapEntry("Applications", sortedApplications).toMap())
.toMap() %>"> .toMap() %>">
<div class="overall-suitablity grid-suitability"> <div class="overall-suitablity grid-suitability">
<!--TODO: need to work on the logic. just added to demonstrate that there are 3 different colors for this--> <div class="<%= "over-all blue " + (isTopRank ? "f-60" : "")%>">
<div class="<%= "over-all " + (i == 0 ? "f-60 green" : (i < 3 ? "blue" : "gray"))%>"> <oneit:toString value="<%= overallRank %>" mode="Integer" />
<oneit:toString value="<%= jobApplication.getOverallRank() %>" mode="Integer" />
</div> </div>
<div class="<%= "overall " + (i == 0 ? "f-60" : "")%>">overall rank</div> <div class="<%= "overall " + (isTopRank ? "f-60" : "")%>">overall rank</div>
</div> </div>
<div class="jcc-box"> <div class="jcc-box">
<div class="job-match jcc"> <div class="job-match jcc">
...@@ -213,12 +214,8 @@ ...@@ -213,12 +214,8 @@
<% <%
Map<Importance, Long> requirementFitData = (Map<Importance, Long>)jobApplication.getRequirementFit(); Map<Importance, Long> requirementFitData = (Map<Importance, Long>)jobApplication.getRequirementFit();
for(Importance importance: requirementFitData.keySet()) for(Importance importance: Utils.getImportancesForAssessment())
{ {
if(importance==null)
{
continue;
}
%> %>
<div class="detail-row"> <div class="detail-row">
<div class="detail-label"><oneit:toString value="<%= importance %>" mode="EscapeHTML"/></div> <div class="detail-label"><oneit:toString value="<%= importance %>" mode="EscapeHTML"/></div>
......
...@@ -113,11 +113,13 @@ ...@@ -113,11 +113,13 @@
for(JobApplication jobApplication : sortedApplications) for(JobApplication jobApplication : sortedApplications)
{ {
String appID = "app-id-" + jobApplication.getID().toString(); String appID = "app-id-" + jobApplication.getID().toString();
Integer overallRank = jobApplication.getOverallRank();
Boolean isTopRank = CollectionUtils.equals(overallRank, 1);
%> %>
<div class="appl-c-box application-row"> <div class="appl-c-box application-row">
<!--TODO: need to work on the logic. just added to demonstrate that there are 3 different colors for this--> <!--TODO: need to work on the logic. just added to demonstrate that there are 3 different colors for this-->
<div class="<%= "cb-title " + (index == 0 ? "green-back" : (index < 3 ? "blue-back" : "dark-back" ))%> "> <div class="cb-title dark-back">
<div class="checkbox-list grid-checkbox"> <div class="checkbox-list grid-checkbox">
<div class="checkbox-list"> <div class="checkbox-list">
<input type="checkbox" name="IsSelected" value="<%= jobApplication.getObjectID().toString() %>" id="<%= appID %>" class="applicant" > <input type="checkbox" name="IsSelected" value="<%= jobApplication.getObjectID().toString() %>" id="<%= appID %>" class="applicant" >
...@@ -132,9 +134,9 @@ ...@@ -132,9 +134,9 @@
.mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).mapEntry("Applications", sortedApplications).toMap()) .mapEntry("procParams", CollectionUtils.mapEntry("JobApplication", jobApplication).mapEntry("Applications", sortedApplications).toMap())
.toMap() %>"> .toMap() %>">
<div class="overall-suitablity"> <div class="overall-suitablity">
<div class="<%= "overall " + (index == 0 ? "f-60" : "")%>">overall rank</div> <div class="<%= "overall " + (isTopRank ? "f-60" : "")%>">overall rank</div>
<div class="<%= "over-all " + (index == 0 ? "f-60 green" : (index < 3 ? "blue" : "gray"))%> "> <div class="<%= "over-all blue " + (isTopRank ? "f-60" : "")%> ">
<oneit:toString value="<%= jobApplication.getOverallRank() %>" mode="Integer" /> <oneit:toString value="<%= overallRank %>" mode="Integer" />
</div> </div>
</div> </div>
<div class="jcc-box"> <div class="jcc-box">
......
<?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_score</tableName>
<column name="color_code" type="String" nullable="true" length="200"/>
</NODE>
</NODE>
</OBJECTS>
\ No newline at end of file
update tl_score set color_code = CASE WHEN color_rank = 1 THEN 'GREEN' WHEN color_rank = 2 THEN 'AMBER' WHEN color_rank = 3 THEN 'RED' ELSE null END;
...@@ -10,9 +10,9 @@ $(document).ready(function () { ...@@ -10,9 +10,9 @@ $(document).ready(function () {
$('.navbar-toggle').click(function () { $('.navbar-toggle').click(function () {
$('.main-menu ul').slideToggle(); $('.main-menu ul').slideToggle();
}); });
$('.expand-box span').click(function () { $('.pro-bar').click(function () {
var $el = $(this); var $el = $(this);
$el.parent().parent().next().slideToggle(); $el.next().slideToggle();
}); });
if ($(window).width() <= '767') { if ($(window).width() <= '767') {
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<SYSTEM name="PerformaInvestments" targetDir="C:/build/PerformaInvestments" executor="testMainApp"> <SYSTEM name="PerformaInvestments" targetDir="C:/build/PerformaInvestments" executor="testMainApp">
<WEBAPP name="cmsWebApp" relative-path="cmsWebApp" deployment="cms"> <WEBAPP name="cmsWebApp" relative-path="cmsWebApp" deployment="cms">
<OVERLAY system="CougarCMS8.2" subsystem="cmsWebApp" pin="3c1d38dc38c69786b3a4a45553f309aa57cd2836"/> <OVERLAY system="CougarCMS8.2" subsystem="cmsWebApp" pin="2bb1972b665029a5167e3d25f5197c79c206a899"/>
</WEBAPP> </WEBAPP>
<PARAMETER name="key.file"/> <PARAMETER name="key.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