Commit 310276b8 by Nilu

J001 create new job / create job from template

parent ad689c4b
...@@ -12,7 +12,7 @@ import oneit.servlets.process.ORMProcessFormProcessor; ...@@ -12,7 +12,7 @@ import oneit.servlets.process.ORMProcessFormProcessor;
import oneit.servlets.process.ORMProcessState; import oneit.servlets.process.ORMProcessState;
import oneit.utils.BusinessException; import oneit.utils.BusinessException;
import performa.orm.*; import performa.orm.*;
import performa.orm.types.JobStatus; import performa.utils.Utils;
/** /**
* *
...@@ -29,28 +29,7 @@ public class LoadJobFromTemplateFP extends ORMProcessFormProcessor ...@@ -29,28 +29,7 @@ public class LoadJobFromTemplateFP extends ORMProcessFormProcessor
LogMgr.log(Job.LOG, LogLevel.PROCESSING1, "Inside LoadJobFromTemplateFP for ", job, " load from template:", jobTemplate); LogMgr.log(Job.LOG, LogLevel.PROCESSING1, "Inside LoadJobFromTemplateFP for ", job, " load from template:", jobTemplate);
for(CultureCriteria criteria : job.getCultureCriteriasSet()) Utils.setupJobFromTemplate(job, jobTemplate);
{
criteria.delete();
}
for(AssessmentCriteria criteria : job.getAssessmentCriteriasSet())
{
criteria.delete();
}
jobTemplate.cloneJob(job);
job.initAttribs();
job.setJobStatus(JobStatus.DRAFT);
job.setApplyBy(null);
job.setOpenDate(null);
job.setReferenceNumber(null);
job.setCompletedDetails(Boolean.TRUE);
job.setCompletedAssessmentType(Boolean.TRUE);
job.setCompletedRequirements(Boolean.TRUE);
job.setCompletedCulture(Boolean.TRUE);
job.setShortenedURL(null);
LogMgr.log(Job.LOG, LogLevel.PROCESSING1, "LoadJobFromTemplateFP completed for ", job); LogMgr.log(Job.LOG, LogLevel.PROCESSING1, "LoadJobFromTemplateFP completed for ", job);
......
package performa.form;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import oneit.logging.LogLevel;
import oneit.logging.LogMgr;
import oneit.objstore.parser.BusinessObjectParser;
import oneit.servlets.forms.NavigationFP;
import oneit.servlets.forms.SubmissionDetails;
import oneit.servlets.forms.SuccessfulResult;
import oneit.utils.BusinessException;
import oneit.utils.MultiException;
import performa.orm.Job;
import performa.utils.Utils;
public class NavigateToCreateJobFP extends NavigationFP
{
@Override
public SuccessfulResult processForm(SubmissionDetails submission) throws BusinessException
{
HttpServletRequest request = submission.getRequest();
Job job = (Job) request.getAttribute ("Job");
LogMgr.log(Job.LOG, LogLevel.PROCESSING1,"In NavigateToCreateJobFP navigating to create job with from template : ", job.getFromTemplate());
if(job.isTrue(job.getFromTemplate()))
{
}
if(job.isTrue(job.getFromTemplate()))
{
if(job.getJobTemplate() == null)
{
throw new BusinessException("Please select a template before starting the job");
}
LogMgr.log(Job.LOG, LogLevel.PROCESSING1, "Inside NavigateToCreateJobFP for ", job, " load from template:", job.getJobTemplate());
Utils.setupJobFromTemplate(job, job.getJobTemplate());
LogMgr.log(Job.LOG, LogLevel.PROCESSING1, "NavigateToCreateJobFP completed for ", job);
}
return super.processForm(submission);
}
@Override
protected Map validate(SubmissionDetails submission, MultiException exceptions)
{
HttpServletRequest request = submission.getRequest();
Job job = (Job) request.getAttribute ("Job");
if(job != null && job.isTrue(job.getFromTemplate()))
{
BusinessObjectParser.assertFieldCondition(job.getJobTemplate() != null , job, Job.SINGLEREFERENCE_JobTemplate, "mandatory", exceptions, true, request);
}
return super.validate(submission, exceptions);
}
}
...@@ -77,6 +77,7 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -77,6 +77,7 @@ public abstract class BaseJob extends BaseBusinessClass
public static final String FIELD_CompletedAssessmentType = "CompletedAssessmentType"; public static final String FIELD_CompletedAssessmentType = "CompletedAssessmentType";
public static final String FIELD_SaveAssessmentTemplate = "SaveAssessmentTemplate"; public static final String FIELD_SaveAssessmentTemplate = "SaveAssessmentTemplate";
public static final String FIELD_SaveCultureTemplate = "SaveCultureTemplate"; public static final String FIELD_SaveCultureTemplate = "SaveCultureTemplate";
public static final String FIELD_FromTemplate = "FromTemplate";
public static final String FIELD_AssessmentTemplateName = "AssessmentTemplateName"; public static final String FIELD_AssessmentTemplateName = "AssessmentTemplateName";
public static final String FIELD_CultureTemplateName = "CultureTemplateName"; public static final String FIELD_CultureTemplateName = "CultureTemplateName";
public static final String FIELD_AppProcessOption = "AppProcessOption"; public static final String FIELD_AppProcessOption = "AppProcessOption";
...@@ -140,6 +141,7 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -140,6 +141,7 @@ public abstract class BaseJob extends BaseBusinessClass
private static final DefaultAttributeHelper<Job> HELPER_CompletedAssessmentType = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper<Job> HELPER_CompletedAssessmentType = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper<Job> HELPER_SaveAssessmentTemplate = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper<Job> HELPER_SaveAssessmentTemplate = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper<Job> HELPER_SaveCultureTemplate = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper<Job> HELPER_SaveCultureTemplate = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper<Job> HELPER_FromTemplate = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper<Job> HELPER_AssessmentTemplateName = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper<Job> HELPER_AssessmentTemplateName = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper<Job> HELPER_CultureTemplateName = DefaultAttributeHelper.INSTANCE; private static final DefaultAttributeHelper<Job> HELPER_CultureTemplateName = DefaultAttributeHelper.INSTANCE;
private static final EnumeratedAttributeHelper<Job, AppProcessOption> HELPER_AppProcessOption = new EnumeratedAttributeHelper<Job, AppProcessOption> (AppProcessOption.FACTORY_AppProcessOption); private static final EnumeratedAttributeHelper<Job, AppProcessOption> HELPER_AppProcessOption = new EnumeratedAttributeHelper<Job, AppProcessOption> (AppProcessOption.FACTORY_AppProcessOption);
...@@ -180,6 +182,7 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -180,6 +182,7 @@ public abstract class BaseJob extends BaseBusinessClass
private Boolean _CompletedAssessmentType; private Boolean _CompletedAssessmentType;
private Boolean _SaveAssessmentTemplate; private Boolean _SaveAssessmentTemplate;
private Boolean _SaveCultureTemplate; private Boolean _SaveCultureTemplate;
private Boolean _FromTemplate;
private String _AssessmentTemplateName; private String _AssessmentTemplateName;
private String _CultureTemplateName; private String _CultureTemplateName;
private AppProcessOption _AppProcessOption; private AppProcessOption _AppProcessOption;
...@@ -218,6 +221,7 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -218,6 +221,7 @@ public abstract class BaseJob extends BaseBusinessClass
private static final AttributeValidator[] FIELD_CompletedAssessmentType_Validators; private static final AttributeValidator[] FIELD_CompletedAssessmentType_Validators;
private static final AttributeValidator[] FIELD_SaveAssessmentTemplate_Validators; private static final AttributeValidator[] FIELD_SaveAssessmentTemplate_Validators;
private static final AttributeValidator[] FIELD_SaveCultureTemplate_Validators; private static final AttributeValidator[] FIELD_SaveCultureTemplate_Validators;
private static final AttributeValidator[] FIELD_FromTemplate_Validators;
private static final AttributeValidator[] FIELD_AssessmentTemplateName_Validators; private static final AttributeValidator[] FIELD_AssessmentTemplateName_Validators;
private static final AttributeValidator[] FIELD_CultureTemplateName_Validators; private static final AttributeValidator[] FIELD_CultureTemplateName_Validators;
private static final AttributeValidator[] FIELD_AppProcessOption_Validators; private static final AttributeValidator[] FIELD_AppProcessOption_Validators;
...@@ -285,6 +289,7 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -285,6 +289,7 @@ public abstract class BaseJob extends BaseBusinessClass
FIELD_CompletedAssessmentType_Validators = (AttributeValidator[])setupAttribMetaData_CompletedAssessmentType(validatorMapping).toArray (new AttributeValidator[0]); FIELD_CompletedAssessmentType_Validators = (AttributeValidator[])setupAttribMetaData_CompletedAssessmentType(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_SaveAssessmentTemplate_Validators = (AttributeValidator[])setupAttribMetaData_SaveAssessmentTemplate(validatorMapping).toArray (new AttributeValidator[0]); FIELD_SaveAssessmentTemplate_Validators = (AttributeValidator[])setupAttribMetaData_SaveAssessmentTemplate(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_SaveCultureTemplate_Validators = (AttributeValidator[])setupAttribMetaData_SaveCultureTemplate(validatorMapping).toArray (new AttributeValidator[0]); FIELD_SaveCultureTemplate_Validators = (AttributeValidator[])setupAttribMetaData_SaveCultureTemplate(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_FromTemplate_Validators = (AttributeValidator[])setupAttribMetaData_FromTemplate(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_AssessmentTemplateName_Validators = (AttributeValidator[])setupAttribMetaData_AssessmentTemplateName(validatorMapping).toArray (new AttributeValidator[0]); FIELD_AssessmentTemplateName_Validators = (AttributeValidator[])setupAttribMetaData_AssessmentTemplateName(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_CultureTemplateName_Validators = (AttributeValidator[])setupAttribMetaData_CultureTemplateName(validatorMapping).toArray (new AttributeValidator[0]); FIELD_CultureTemplateName_Validators = (AttributeValidator[])setupAttribMetaData_CultureTemplateName(validatorMapping).toArray (new AttributeValidator[0]);
FIELD_AppProcessOption_Validators = (AttributeValidator[])setupAttribMetaData_AppProcessOption(validatorMapping).toArray (new AttributeValidator[0]); FIELD_AppProcessOption_Validators = (AttributeValidator[])setupAttribMetaData_AppProcessOption(validatorMapping).toArray (new AttributeValidator[0]);
...@@ -669,6 +674,24 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -669,6 +674,24 @@ public abstract class BaseJob extends BaseBusinessClass
} }
// Meta Info setup // Meta Info setup
private static List setupAttribMetaData_FromTemplate(Map validatorMapping)
{
Map metaInfo = new HashMap ();
metaInfo.put ("defaultValue", "Boolean.FALSE");
metaInfo.put ("name", "FromTemplate");
metaInfo.put ("type", "Boolean");
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG2, "Metadata for Job.FromTemplate:", metaInfo);
ATTRIBUTES_METADATA_Job.put (FIELD_FromTemplate, Collections.unmodifiableMap (metaInfo));
List validators = BaseBusinessClass.getAttribValidators(Job.class, "FromTemplate", metaInfo, validatorMapping);
LogMgr.log (BUSINESS_OBJECTS, LogLevel.DEBUG1, "Validators for Job.FromTemplate:", validators);
return validators;
}
// Meta Info setup
private static List setupAttribMetaData_AssessmentTemplateName(Map validatorMapping) private static List setupAttribMetaData_AssessmentTemplateName(Map validatorMapping)
{ {
Map metaInfo = new HashMap (); Map metaInfo = new HashMap ();
...@@ -1258,6 +1281,7 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -1258,6 +1281,7 @@ public abstract class BaseJob extends BaseBusinessClass
_CompletedAssessmentType = (Boolean)(Boolean.FALSE); _CompletedAssessmentType = (Boolean)(Boolean.FALSE);
_SaveAssessmentTemplate = (Boolean)(Boolean.FALSE); _SaveAssessmentTemplate = (Boolean)(Boolean.FALSE);
_SaveCultureTemplate = (Boolean)(Boolean.FALSE); _SaveCultureTemplate = (Boolean)(Boolean.FALSE);
_FromTemplate = (Boolean)(Boolean.FALSE);
_AssessmentTemplateName = (String)(HELPER_AssessmentTemplateName.initialise (_AssessmentTemplateName)); _AssessmentTemplateName = (String)(HELPER_AssessmentTemplateName.initialise (_AssessmentTemplateName));
_CultureTemplateName = (String)(HELPER_CultureTemplateName.initialise (_CultureTemplateName)); _CultureTemplateName = (String)(HELPER_CultureTemplateName.initialise (_CultureTemplateName));
_AppProcessOption = (AppProcessOption)(HELPER_AppProcessOption.initialise (_AppProcessOption)); _AppProcessOption = (AppProcessOption)(HELPER_AppProcessOption.initialise (_AppProcessOption));
...@@ -4553,6 +4577,104 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -4553,6 +4577,104 @@ public abstract class BaseJob extends BaseBusinessClass
} }
/** /**
* Get the attribute FromTemplate
*/
public Boolean getFromTemplate ()
{
assertValid();
Boolean valToReturn = _FromTemplate;
for (JobBehaviourDecorator bhd : Job_BehaviourDecorators)
{
valToReturn = bhd.getFromTemplate ((Job)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 preFromTemplateChange (Boolean newFromTemplate) 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 postFromTemplateChange () throws FieldException
{
}
public FieldWriteability getWriteability_FromTemplate ()
{
return getFieldWritabilityUtil (FieldWriteability.TRUE);
}
/**
* Set the attribute FromTemplate. Checks to ensure a new value
* has been supplied. If so, marks the field as altered and sets the attribute.
*/
public void setFromTemplate (Boolean newFromTemplate) throws FieldException
{
boolean oldAndNewIdentical = HELPER_FromTemplate.compare (_FromTemplate, newFromTemplate);
try
{
for (JobBehaviourDecorator bhd : Job_BehaviourDecorators)
{
newFromTemplate = bhd.setFromTemplate ((Job)this, newFromTemplate);
oldAndNewIdentical = HELPER_FromTemplate.compare (_FromTemplate, newFromTemplate);
}
if (FIELD_FromTemplate_Validators.length > 0)
{
Object newFromTemplateObj = HELPER_FromTemplate.toObject (newFromTemplate);
if (newFromTemplateObj != null)
{
int loopMax = FIELD_FromTemplate_Validators.length;
Map metadata = (Map)ATTRIBUTES_METADATA_Job.get (FIELD_FromTemplate);
for (int v = 0 ; v < loopMax ; ++v)
{
FIELD_FromTemplate_Validators[v].checkAttribute (this, FIELD_FromTemplate, metadata, newFromTemplateObj);
}
}
}
}
catch (FieldException e)
{
if (!oldAndNewIdentical)
{
e.setWouldModify ();
}
throw e;
}
if (!oldAndNewIdentical)
{
assertValid();
Debug.assertion (getWriteability_FromTemplate () != FieldWriteability.FALSE, "Field FromTemplate is not writeable");
preFromTemplateChange (newFromTemplate);
markFieldChange (FIELD_FromTemplate);
_FromTemplate = newFromTemplate;
postFieldChange (FIELD_FromTemplate);
postFromTemplateChange ();
}
}
/**
* Get the attribute AssessmentTemplateName * Get the attribute AssessmentTemplateName
*/ */
public String getAssessmentTemplateName () public String getAssessmentTemplateName ()
...@@ -7081,6 +7203,7 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -7081,6 +7203,7 @@ public abstract class BaseJob extends BaseBusinessClass
_CompletedAssessmentType = sourceJob._CompletedAssessmentType; _CompletedAssessmentType = sourceJob._CompletedAssessmentType;
_SaveAssessmentTemplate = sourceJob._SaveAssessmentTemplate; _SaveAssessmentTemplate = sourceJob._SaveAssessmentTemplate;
_SaveCultureTemplate = sourceJob._SaveCultureTemplate; _SaveCultureTemplate = sourceJob._SaveCultureTemplate;
_FromTemplate = sourceJob._FromTemplate;
_AssessmentTemplateName = sourceJob._AssessmentTemplateName; _AssessmentTemplateName = sourceJob._AssessmentTemplateName;
_CultureTemplateName = sourceJob._CultureTemplateName; _CultureTemplateName = sourceJob._CultureTemplateName;
_AppProcessOption = sourceJob._AppProcessOption; _AppProcessOption = sourceJob._AppProcessOption;
...@@ -7183,6 +7306,7 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -7183,6 +7306,7 @@ public abstract class BaseJob extends BaseBusinessClass
_CompletedAssessmentType = (Boolean)(HELPER_CompletedAssessmentType.readExternal (_CompletedAssessmentType, vals.get(FIELD_CompletedAssessmentType))); // _CompletedAssessmentType = (Boolean)(HELPER_CompletedAssessmentType.readExternal (_CompletedAssessmentType, vals.get(FIELD_CompletedAssessmentType))); //
_SaveAssessmentTemplate = (Boolean)(HELPER_SaveAssessmentTemplate.readExternal (_SaveAssessmentTemplate, vals.get(FIELD_SaveAssessmentTemplate))); // _SaveAssessmentTemplate = (Boolean)(HELPER_SaveAssessmentTemplate.readExternal (_SaveAssessmentTemplate, vals.get(FIELD_SaveAssessmentTemplate))); //
_SaveCultureTemplate = (Boolean)(HELPER_SaveCultureTemplate.readExternal (_SaveCultureTemplate, vals.get(FIELD_SaveCultureTemplate))); // _SaveCultureTemplate = (Boolean)(HELPER_SaveCultureTemplate.readExternal (_SaveCultureTemplate, vals.get(FIELD_SaveCultureTemplate))); //
_FromTemplate = (Boolean)(HELPER_FromTemplate.readExternal (_FromTemplate, vals.get(FIELD_FromTemplate))); //
_AssessmentTemplateName = (String)(HELPER_AssessmentTemplateName.readExternal (_AssessmentTemplateName, vals.get(FIELD_AssessmentTemplateName))); // _AssessmentTemplateName = (String)(HELPER_AssessmentTemplateName.readExternal (_AssessmentTemplateName, vals.get(FIELD_AssessmentTemplateName))); //
_CultureTemplateName = (String)(HELPER_CultureTemplateName.readExternal (_CultureTemplateName, vals.get(FIELD_CultureTemplateName))); // _CultureTemplateName = (String)(HELPER_CultureTemplateName.readExternal (_CultureTemplateName, vals.get(FIELD_CultureTemplateName))); //
_AppProcessOption = (AppProcessOption)(HELPER_AppProcessOption.readExternal (_AppProcessOption, vals.get(FIELD_AppProcessOption))); // _AppProcessOption = (AppProcessOption)(HELPER_AppProcessOption.readExternal (_AppProcessOption, vals.get(FIELD_AppProcessOption))); //
...@@ -7244,6 +7368,7 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -7244,6 +7368,7 @@ public abstract class BaseJob extends BaseBusinessClass
vals.put (FIELD_CompletedAssessmentType, HELPER_CompletedAssessmentType.writeExternal (_CompletedAssessmentType)); vals.put (FIELD_CompletedAssessmentType, HELPER_CompletedAssessmentType.writeExternal (_CompletedAssessmentType));
vals.put (FIELD_SaveAssessmentTemplate, HELPER_SaveAssessmentTemplate.writeExternal (_SaveAssessmentTemplate)); vals.put (FIELD_SaveAssessmentTemplate, HELPER_SaveAssessmentTemplate.writeExternal (_SaveAssessmentTemplate));
vals.put (FIELD_SaveCultureTemplate, HELPER_SaveCultureTemplate.writeExternal (_SaveCultureTemplate)); vals.put (FIELD_SaveCultureTemplate, HELPER_SaveCultureTemplate.writeExternal (_SaveCultureTemplate));
vals.put (FIELD_FromTemplate, HELPER_FromTemplate.writeExternal (_FromTemplate));
vals.put (FIELD_AssessmentTemplateName, HELPER_AssessmentTemplateName.writeExternal (_AssessmentTemplateName)); vals.put (FIELD_AssessmentTemplateName, HELPER_AssessmentTemplateName.writeExternal (_AssessmentTemplateName));
vals.put (FIELD_CultureTemplateName, HELPER_CultureTemplateName.writeExternal (_CultureTemplateName)); vals.put (FIELD_CultureTemplateName, HELPER_CultureTemplateName.writeExternal (_CultureTemplateName));
vals.put (FIELD_AppProcessOption, HELPER_AppProcessOption.writeExternal (_AppProcessOption)); vals.put (FIELD_AppProcessOption, HELPER_AppProcessOption.writeExternal (_AppProcessOption));
...@@ -7406,6 +7531,7 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -7406,6 +7531,7 @@ public abstract class BaseJob extends BaseBusinessClass
visitor.visitField(this, FIELD_CompletedAssessmentType, HELPER_CompletedAssessmentType.toObject(getCompletedAssessmentType())); visitor.visitField(this, FIELD_CompletedAssessmentType, HELPER_CompletedAssessmentType.toObject(getCompletedAssessmentType()));
visitor.visitField(this, FIELD_SaveAssessmentTemplate, HELPER_SaveAssessmentTemplate.toObject(getSaveAssessmentTemplate())); visitor.visitField(this, FIELD_SaveAssessmentTemplate, HELPER_SaveAssessmentTemplate.toObject(getSaveAssessmentTemplate()));
visitor.visitField(this, FIELD_SaveCultureTemplate, HELPER_SaveCultureTemplate.toObject(getSaveCultureTemplate())); visitor.visitField(this, FIELD_SaveCultureTemplate, HELPER_SaveCultureTemplate.toObject(getSaveCultureTemplate()));
visitor.visitField(this, FIELD_FromTemplate, HELPER_FromTemplate.toObject(getFromTemplate()));
visitor.visitField(this, FIELD_AssessmentTemplateName, HELPER_AssessmentTemplateName.toObject(getAssessmentTemplateName())); visitor.visitField(this, FIELD_AssessmentTemplateName, HELPER_AssessmentTemplateName.toObject(getAssessmentTemplateName()));
visitor.visitField(this, FIELD_CultureTemplateName, HELPER_CultureTemplateName.toObject(getCultureTemplateName())); visitor.visitField(this, FIELD_CultureTemplateName, HELPER_CultureTemplateName.toObject(getCultureTemplateName()));
visitor.visitField(this, FIELD_AppProcessOption, HELPER_AppProcessOption.toObject(getAppProcessOption())); visitor.visitField(this, FIELD_AppProcessOption, HELPER_AppProcessOption.toObject(getAppProcessOption()));
...@@ -8785,6 +8911,10 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -8785,6 +8911,10 @@ public abstract class BaseJob extends BaseBusinessClass
{ {
return HELPER_SaveCultureTemplate.toObject (getSaveCultureTemplate ()); return HELPER_SaveCultureTemplate.toObject (getSaveCultureTemplate ());
} }
else if (attribName.equals (FIELD_FromTemplate))
{
return HELPER_FromTemplate.toObject (getFromTemplate ());
}
else if (attribName.equals (FIELD_AssessmentTemplateName)) else if (attribName.equals (FIELD_AssessmentTemplateName))
{ {
return HELPER_AssessmentTemplateName.toObject (getAssessmentTemplateName ()); return HELPER_AssessmentTemplateName.toObject (getAssessmentTemplateName ());
...@@ -8946,6 +9076,10 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -8946,6 +9076,10 @@ public abstract class BaseJob extends BaseBusinessClass
{ {
return HELPER_SaveCultureTemplate; return HELPER_SaveCultureTemplate;
} }
else if (attribName.equals (FIELD_FromTemplate))
{
return HELPER_FromTemplate;
}
else if (attribName.equals (FIELD_AssessmentTemplateName)) else if (attribName.equals (FIELD_AssessmentTemplateName))
{ {
return HELPER_AssessmentTemplateName; return HELPER_AssessmentTemplateName;
...@@ -9107,6 +9241,10 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -9107,6 +9241,10 @@ public abstract class BaseJob extends BaseBusinessClass
{ {
setSaveCultureTemplate ((Boolean)(HELPER_SaveCultureTemplate.fromObject (_SaveCultureTemplate, attribValue))); setSaveCultureTemplate ((Boolean)(HELPER_SaveCultureTemplate.fromObject (_SaveCultureTemplate, attribValue)));
} }
else if (attribName.equals (FIELD_FromTemplate))
{
setFromTemplate ((Boolean)(HELPER_FromTemplate.fromObject (_FromTemplate, attribValue)));
}
else if (attribName.equals (FIELD_AssessmentTemplateName)) else if (attribName.equals (FIELD_AssessmentTemplateName))
{ {
setAssessmentTemplateName ((String)(HELPER_AssessmentTemplateName.fromObject (_AssessmentTemplateName, attribValue))); setAssessmentTemplateName ((String)(HELPER_AssessmentTemplateName.fromObject (_AssessmentTemplateName, attribValue)));
...@@ -9315,6 +9453,10 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -9315,6 +9453,10 @@ public abstract class BaseJob extends BaseBusinessClass
{ {
return getWriteability_SaveCultureTemplate (); return getWriteability_SaveCultureTemplate ();
} }
else if (fieldName.equals (FIELD_FromTemplate))
{
return getWriteability_FromTemplate ();
}
else if (fieldName.equals (FIELD_AssessmentTemplateName)) else if (fieldName.equals (FIELD_AssessmentTemplateName))
{ {
return getWriteability_AssessmentTemplateName (); return getWriteability_AssessmentTemplateName ();
...@@ -9518,6 +9660,11 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -9518,6 +9660,11 @@ public abstract class BaseJob extends BaseBusinessClass
fields.add (FIELD_SaveCultureTemplate); fields.add (FIELD_SaveCultureTemplate);
} }
if (getWriteability_FromTemplate () != FieldWriteability.TRUE)
{
fields.add (FIELD_FromTemplate);
}
if (getWriteability_AssessmentTemplateName () != FieldWriteability.TRUE) if (getWriteability_AssessmentTemplateName () != FieldWriteability.TRUE)
{ {
fields.add (FIELD_AssessmentTemplateName); fields.add (FIELD_AssessmentTemplateName);
...@@ -9580,6 +9727,7 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -9580,6 +9727,7 @@ public abstract class BaseJob extends BaseBusinessClass
result.add(HELPER_CompletedAssessmentType.getAttribObject (getClass (), _CompletedAssessmentType, false, FIELD_CompletedAssessmentType)); result.add(HELPER_CompletedAssessmentType.getAttribObject (getClass (), _CompletedAssessmentType, false, FIELD_CompletedAssessmentType));
result.add(HELPER_SaveAssessmentTemplate.getAttribObject (getClass (), _SaveAssessmentTemplate, false, FIELD_SaveAssessmentTemplate)); result.add(HELPER_SaveAssessmentTemplate.getAttribObject (getClass (), _SaveAssessmentTemplate, false, FIELD_SaveAssessmentTemplate));
result.add(HELPER_SaveCultureTemplate.getAttribObject (getClass (), _SaveCultureTemplate, false, FIELD_SaveCultureTemplate)); result.add(HELPER_SaveCultureTemplate.getAttribObject (getClass (), _SaveCultureTemplate, false, FIELD_SaveCultureTemplate));
result.add(HELPER_FromTemplate.getAttribObject (getClass (), _FromTemplate, false, FIELD_FromTemplate));
result.add(HELPER_AssessmentTemplateName.getAttribObject (getClass (), _AssessmentTemplateName, false, FIELD_AssessmentTemplateName)); result.add(HELPER_AssessmentTemplateName.getAttribObject (getClass (), _AssessmentTemplateName, false, FIELD_AssessmentTemplateName));
result.add(HELPER_CultureTemplateName.getAttribObject (getClass (), _CultureTemplateName, false, FIELD_CultureTemplateName)); result.add(HELPER_CultureTemplateName.getAttribObject (getClass (), _CultureTemplateName, false, FIELD_CultureTemplateName));
result.add(HELPER_AppProcessOption.getAttribObject (getClass (), _AppProcessOption, false, FIELD_AppProcessOption)); result.add(HELPER_AppProcessOption.getAttribObject (getClass (), _AppProcessOption, false, FIELD_AppProcessOption));
...@@ -10229,6 +10377,24 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -10229,6 +10377,24 @@ public abstract class BaseJob extends BaseBusinessClass
} }
/** /**
* Get the attribute FromTemplate
*/
public Boolean getFromTemplate (Job obj, Boolean original)
{
return original;
}
/**
* Change the value set for attribute FromTemplate.
* May modify the field beforehand
* Occurs before validation.
*/
public Boolean setFromTemplate (Job obj, Boolean newFromTemplate) throws FieldException
{
return newFromTemplate;
}
/**
* Get the attribute AssessmentTemplateName * Get the attribute AssessmentTemplateName
*/ */
public String getAssessmentTemplateName (Job obj, String original) public String getAssessmentTemplateName (Job obj, String original)
...@@ -10400,6 +10566,10 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -10400,6 +10566,10 @@ public abstract class BaseJob extends BaseBusinessClass
{ {
return toSaveCultureTemplate (); return toSaveCultureTemplate ();
} }
if (name.equals ("FromTemplate"))
{
return toFromTemplate ();
}
if (name.equals ("AssessmentTemplateName")) if (name.equals ("AssessmentTemplateName"))
{ {
return toAssessmentTemplateName (); return toAssessmentTemplateName ();
...@@ -10576,6 +10746,8 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -10576,6 +10746,8 @@ public abstract class BaseJob extends BaseBusinessClass
public PipeLine<From, Boolean> toSaveCultureTemplate () { return pipe(new ORMAttributePipe<Me, Boolean>(FIELD_SaveCultureTemplate)); } public PipeLine<From, Boolean> toSaveCultureTemplate () { return pipe(new ORMAttributePipe<Me, Boolean>(FIELD_SaveCultureTemplate)); }
public PipeLine<From, Boolean> toFromTemplate () { return pipe(new ORMAttributePipe<Me, Boolean>(FIELD_FromTemplate)); }
public PipeLine<From, String> toAssessmentTemplateName () { return pipe(new ORMAttributePipe<Me, String>(FIELD_AssessmentTemplateName)); } public PipeLine<From, String> toAssessmentTemplateName () { return pipe(new ORMAttributePipe<Me, String>(FIELD_AssessmentTemplateName)); }
public PipeLine<From, String> toCultureTemplateName () { return pipe(new ORMAttributePipe<Me, String>(FIELD_CultureTemplateName)); } public PipeLine<From, String> toCultureTemplateName () { return pipe(new ORMAttributePipe<Me, String>(FIELD_CultureTemplateName)); }
...@@ -10760,6 +10932,11 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -10760,6 +10932,11 @@ public abstract class BaseJob extends BaseBusinessClass
return true; return true;
} }
if(CollectionUtils.equals(attribName, "FromTemplate"))
{
return true;
}
if(CollectionUtils.equals(attribName, "AssessmentTemplateName")) if(CollectionUtils.equals(attribName, "AssessmentTemplateName"))
{ {
return true; return true;
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
<TRANSIENT name="CompletedAssessmentType" type="Boolean" defaultValue="Boolean.FALSE"/> <TRANSIENT name="CompletedAssessmentType" type="Boolean" defaultValue="Boolean.FALSE"/>
<TRANSIENT name="SaveAssessmentTemplate" type="Boolean" defaultValue="Boolean.FALSE"/> <TRANSIENT name="SaveAssessmentTemplate" type="Boolean" defaultValue="Boolean.FALSE"/>
<TRANSIENT name="SaveCultureTemplate" type="Boolean" defaultValue="Boolean.FALSE"/> <TRANSIENT name="SaveCultureTemplate" type="Boolean" defaultValue="Boolean.FALSE"/>
<TRANSIENT name="FromTemplate" type="Boolean" defaultValue="Boolean.FALSE"/>
<TRANSIENT name="AssessmentTemplateName" type="String"/> <TRANSIENT name="AssessmentTemplateName" type="String"/>
<TRANSIENT name="CultureTemplateName" type="String"/> <TRANSIENT name="CultureTemplateName" type="String"/>
<TRANSIENT name="AppProcessOption" type="AppProcessOption" attribHelper="EnumeratedAttributeHelper"/> <TRANSIENT name="AppProcessOption" type="AppProcessOption" attribHelper="EnumeratedAttributeHelper"/>
......
...@@ -20,6 +20,7 @@ import oneit.servlets.process.ORMProcessState; ...@@ -20,6 +20,7 @@ import oneit.servlets.process.ORMProcessState;
import oneit.servlets.security.SessionSecUserDecorator; import oneit.servlets.security.SessionSecUserDecorator;
import oneit.utils.*; import oneit.utils.*;
import oneit.utils.filter.*; import oneit.utils.filter.*;
import oneit.utils.parsers.FieldException;
import oneit.utils.transform.MapTransform; import oneit.utils.transform.MapTransform;
import oneit.utils.transform.param.*; import oneit.utils.transform.param.*;
import performa.form.LinkedInOAuthLoginFP; import performa.form.LinkedInOAuthLoginFP;
...@@ -586,4 +587,31 @@ public class Utils ...@@ -586,4 +587,31 @@ public class Utils
return hiringTeam.pipelineHiringTeam().toCompany().toHiringTeams(filter).uniqueVals().toArray(new HiringTeam[0]); return hiringTeam.pipelineHiringTeam().toCompany().toHiringTeams(filter).uniqueVals().toArray(new HiringTeam[0]);
} }
public static void setupJobFromTemplate(Job job, Job jobTemplate) throws FieldException, StorageException, BusinessException
{
for(CultureCriteria criteria : job.getCultureCriteriasSet())
{
criteria.delete();
}
for(AssessmentCriteria criteria : job.getAssessmentCriteriasSet())
{
criteria.delete();
}
jobTemplate.cloneJob(job);
job.initAttribs();
job.setJobStatus(JobStatus.DRAFT);
job.setApplyBy(null);
job.setOpenDate(null);
job.setReferenceNumber(null);
job.setCompletedDetails(Boolean.TRUE);
job.setCompletedAssessmentType(Boolean.TRUE);
job.setCompletedRequirements(Boolean.TRUE);
job.setCompletedCulture(Boolean.TRUE);
job.setShortenedURL(null);
job.setDraftLocation(null);
}
} }
\ No newline at end of file
...@@ -19,6 +19,7 @@ public class WebUtils ...@@ -19,6 +19,7 @@ public class WebUtils
public static final String ADMIN_HOME = "AdminHome"; public static final String ADMIN_HOME = "AdminHome";
public static final String APPLICANT_HOME = "ApplicantHome"; public static final String APPLICANT_HOME = "ApplicantHome";
public static final String CREATE_JOB = "CreateJob"; public static final String CREATE_JOB = "CreateJob";
public static final String START_JOB = "StartJob";
public static final String OCCUPATION = "Occupation"; public static final String OCCUPATION = "Occupation";
public static final String ASSESSMENT_CRITERIA = "AssessmentCriteria"; public static final String ASSESSMENT_CRITERIA = "AssessmentCriteria";
public static final String WORKPLACE_CULTURE = "WorkplaceCulture"; public static final String WORKPLACE_CULTURE = "WorkplaceCulture";
...@@ -157,6 +158,7 @@ public class WebUtils ...@@ -157,6 +158,7 @@ public class WebUtils
renderMode.equals(REPLACE_CARD) || renderMode.equals(REPLACE_CARD) ||
renderMode.equals(EDIT_CARD) || renderMode.equals(EDIT_CARD) ||
renderMode.equals(OCCUPATION) || renderMode.equals(OCCUPATION) ||
renderMode.equals(START_JOB) ||
renderMode.equals(CREATED_JOB); renderMode.equals(CREATED_JOB);
} }
......
...@@ -61,6 +61,7 @@ ...@@ -61,6 +61,7 @@
<FORM name="*.saveCompanyUser" factory="Participant" class="performa.form.SaveCompanyUserFP"/> <FORM name="*.saveCompanyUser" factory="Participant" class="performa.form.SaveCompanyUserFP"/>
<FORM name="*.selectHiringTeam" factory="Participant" class="performa.form.SelectHiringTeamFP"/> <FORM name="*.selectHiringTeam" factory="Participant" class="performa.form.SelectHiringTeamFP"/>
<FORM name="*.additionalTeam" factory="Participant" class="performa.form.AddAdditionalHiringTeamFP"/> <FORM name="*.additionalTeam" factory="Participant" class="performa.form.AddAdditionalHiringTeamFP"/>
<FORM name="*.gotoCreateJob" factory="Participant" class="performa.form.NavigateToCreateJobFP"/>
</NODE> </NODE>
<NODE name="job_assessment_criteria_add_jsp" factory="Participant"> <NODE name="job_assessment_criteria_add_jsp" factory="Participant">
......
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
<RenderMode name="ApplicantsGrid" preIncludeJSP="extensions/adminportal/view_applicants_shortlist_grid.jsp"/> <RenderMode name="ApplicantsGrid" preIncludeJSP="extensions/adminportal/view_applicants_shortlist_grid.jsp"/>
<RenderMode name="UnsuitableApps" preIncludeJSP="extensions/adminportal/view_applicants_unsuitable.jsp"/> <RenderMode name="UnsuitableApps" preIncludeJSP="extensions/adminportal/view_applicants_unsuitable.jsp"/>
<RenderMode name="ViewApplication" preIncludeJSP="extensions/adminportal/view_application.jsp"/> <RenderMode name="ViewApplication" preIncludeJSP="extensions/adminportal/view_application.jsp"/>
<RenderMode name="StartJob" preIncludeJSP="extensions/adminportal/job_start_point.jsp"/>
<RenderMode name="CreateJob" preIncludeJSP="extensions/adminportal/job_detail.jsp"/> <RenderMode name="CreateJob" preIncludeJSP="extensions/adminportal/job_detail.jsp"/>
<RenderMode name="AssessmentCriteria" preIncludeJSP="extensions/adminportal/assessment_criteria.jsp"/> <RenderMode name="AssessmentCriteria" preIncludeJSP="extensions/adminportal/assessment_criteria.jsp"/>
<RenderMode name="WorkplaceCulture" preIncludeJSP="extensions/adminportal/workplace_culture.jsp"/> <RenderMode name="WorkplaceCulture" preIncludeJSP="extensions/adminportal/workplace_culture.jsp"/>
......
...@@ -159,7 +159,7 @@ ...@@ -159,7 +159,7 @@
<% <%
Article jobsArticle = WebUtils.getArticleByShortCut(objTran, WebUtils.JOBS); Article jobsArticle = WebUtils.getArticleByShortCut(objTran, WebUtils.JOBS);
%> %>
<a href="<%= jobsArticle.getLink(request, CollectionUtils.mapEntry("cms.rm", WebUtils.CREATE_JOB).toMap()) %>">Create Job</a> <a href="<%= jobsArticle.getLink(request, CollectionUtils.mapEntry("cms.rm", WebUtils.START_JOB).toMap()) %>">Create Job</a>
</div> </div>
</div> </div>
</div> </div>
......
...@@ -6,17 +6,11 @@ ...@@ -6,17 +6,11 @@
<oneit:dynIncluded> <oneit:dynIncluded>
<% <%
boolean toRedirect = GenericObjDF.getOrCreateObject (request, "Job", Job.REFERENCE_Job);
Job job = (Job) process.getAttribute("Job"); Job job = (Job) process.getAttribute("Job");
String jobPage = WebUtils.getSamePageInRenderMode(request, "Page"); String jobPage = WebUtils.getSamePageInRenderMode(request, "Page");
Debug.assertion(job != null, "Job is null in admin portal create job"); Debug.assertion(job != null, "Job is null in admin portal create job");
if(toRedirect)
{
%><%@include file="/saferedirect.jsp" %><%
}
SecUser txUser = SecUser.getTXUser(process.getTransaction()); SecUser txUser = SecUser.getTXUser(process.getTransaction());
CompanyUser companyUser = txUser.getExtension(CompanyUser.REFERENCE_CompanyUser); CompanyUser companyUser = txUser.getExtension(CompanyUser.REFERENCE_CompanyUser);
Job[] jobs = Job.SearchByCompany().byCompany(companyUser.getCompany()).search(transaction); Job[] jobs = Job.SearchByCompany().byCompany(companyUser.getCompany()).search(transaction);
......
<%@ 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" %>
<oneit:dynIncluded>
<%
boolean toRedirect = GenericObjDF.getOrCreateObject (request, "Job", Job.REFERENCE_Job);
Job job = (Job) process.getAttribute("Job");
String jobPage = WebUtils.getSamePageInRenderMode(request, "Page");
Debug.assertion(job != null, "Job is null in admin portal create job");
if(toRedirect)
{
%><%@include file="/saferedirect.jsp" %><%
}
SecUser txUser = SecUser.getTXUser(process.getTransaction());
CompanyUser companyUser = txUser.getExtension(CompanyUser.REFERENCE_CompanyUser);
HiringTeam hiringTeam = companyUser.getSelectedTeam();
Job[] jobs = Job.SearchByAll()
.andHiringTeam(new EqualsFilter<>(hiringTeam))
.search(transaction);
String nextPage = WebUtils.getSamePageInRenderMode(request, WebUtils.CREATE_JOB);
job.setHiringTeam(hiringTeam);
job.setJobOwner(companyUser);
%>
<script type="text/javascript">
$(document).ready(function()
{
setupRecalc ($("form#editJob"), {'recalcOnError':true});
$(".oneit-radio input").each(function(){
if($(this).is(':checked')) {
updateRadioChecked(this);
}
$(this).click(function(){
if($(this).is(':checked')) {
updateRadioChecked(this);
}
});
});
});
function updateRadioChecked(ele){
$(".oneit-radio label").removeClass('checked');
$(ele).closest('label').addClass('checked');
}
</script>
<oneit:form name="editJob" method="post" enctype="multipart/form-data">
<div class="container-fluid">
<oneit:dynInclude page="/extensions/applicantportal/inc/multifieldtext.jsp" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<h1 class="page-title">Create a job</h1>
<oneit:dynInclude page="/extensions/adminportal/inc/job_main_tabs.jsp" PageNumber="1" data="<%= CollectionUtils.EMPTY_MAP%>"/>
<div class="form-page-area">
<div class="create-job">
<div class="form-page-section">
<div class="form-group row">
<div class="col-md-12">
<label class="label-16">Select a starting point</label>
</div>
</div>
<div class="form-group row">
<div class="col-md-12">
Would you like to create this job based on an existing template, or create a brand new one?
</div>
</div>
<div class="form-group row">
<div class="col-md-12">
<div class="radio radio-primary second-radio-primary oneit-radio">
<label>
<oneit:ormInput obj="<%= job %>" type="radio" attributeName="FromTemplate" value="true"/>Create from template
<div>
<tagfile:ormsingleasso_select obj="<%= job %>" assocName="JobTemplate" options="<%= jobs %>"
blankValue="Select your template"/>
</div>
</label>
</div>
<div class="radio radio-primary second-radio-primary oneit-radio">
<label>
<oneit:ormInput obj="<%= job %>" type="radio" attributeName="FromTemplate" value="false"/>Create a new job
<div>
New jobs can be saved as a template to be used in future.
</div>
</label>
</div>
</div>
</div>
<div class="text-center">
<oneit:button value="Get Started" name="gotoCreateJob" cssClass="btn btn-primary largeBtn"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", nextPage)
.mapEntry("Job", job)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).toMap())
.toMap() %>"/>
</div>
</div>
</div>
</div>
</div>
</oneit:form>
</oneit:dynIncluded>
...@@ -9,6 +9,7 @@ Job.CultureTemplateName = Template Name ...@@ -9,6 +9,7 @@ Job.CultureTemplateName = Template Name
Job.JobType = Job Type Job.JobType = Job Type
Job.ReferenceNumber = Reference Number Job.ReferenceNumber = Reference Number
Job.State = State or Province Job.State = State or Province
Job.JobTemplate = Job Template
CultureCriteria.Importance = Rate Importance CultureCriteria.Importance = Rate Importance
CultureCriteria.CultureElementRating = Rating CultureCriteria.CultureElementRating = Rating
......
...@@ -73,7 +73,7 @@ ...@@ -73,7 +73,7 @@
<div class="welcome-box"> <div class="welcome-box">
<div class="dashboard-welcome"> <div class="dashboard-welcome">
<div class="welcome-text"> Welcome <br/> <%= firstTime ? "" : "back"%> <oneit:toString value="<%= secUser.getFirstName()!=null ? secUser.getFirstName() : secUser.getUserName()%>" mode="EscapeHTML"/>!</div> <div class="welcome-text"> Welcome <br/> <%= firstTime ? "" : "back"%> <oneit:toString value="<%= secUser.getFirstName()!=null ? secUser.getFirstName() : secUser.getUserName()%>" mode="EscapeHTML"/>!</div>
<a class="d-create-job-btn" href="<%= jobsArticle.getLink(request, CollectionUtils.mapEntry("cms.rm", WebUtils.CREATE_JOB).toMap()) %>">Create a Job</a> <a class="d-create-job-btn" href="<%= jobsArticle.getLink(request, CollectionUtils.mapEntry("cms.rm", WebUtils.START_JOB).toMap()) %>">Create a Job</a>
</div> </div>
<div class="col-sm-3 col-xs-12 d-three-box green-light"> <div class="col-sm-3 col-xs-12 d-three-box green-light">
<div class="d-fl-left eq-height"> <div class="d-fl-left eq-height">
......
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