Commit 56444420 by chenith

Fix - J003 - Culture criteria qsts.

#1 As all questions are set to Not applicable by default - user can proceed without changing anything
#2 Once the user changes the importance rating to anything other than Not Applicable then they have to
parent 21b0d10f
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<column name="object_created_date" type="Date" nullable="false" length="22"/> <column name="object_created_date" type="Date" nullable="false" length="22"/>
<column name="importance" type="String" nullable="false" length="200"/> <column name="importance" type="String" nullable="false" length="200"/>
<column name="culture_element_id" type="Long" length="11" nullable="false"/> <column name="culture_element_id" type="Long" length="11" nullable="false"/>
<column name="culture_element_rating_id" type="Long" length="11" nullable="false"/> <column name="culture_element_rating_id" type="Long" length="11" nullable="true"/>
<column name="job_id" type="Long" length="11" nullable="true"/> <column name="job_id" type="Long" length="11" nullable="true"/>
<column name="template_id" type="Long" length="11" nullable="true"/> <column name="template_id" type="Long" length="11" nullable="true"/>
</NODE> </NODE>
......
...@@ -10,7 +10,7 @@ CREATE TABLE tl_culture_criteria ( ...@@ -10,7 +10,7 @@ CREATE TABLE tl_culture_criteria (
, ,
importance varchar(200) NOT NULL, importance varchar(200) NOT NULL,
culture_element_id numeric(12) NOT NULL, culture_element_id numeric(12) NOT NULL,
culture_element_rating_id numeric(12) NOT NULL, culture_element_rating_id numeric(12) NULL,
job_id numeric(12) NULL, job_id numeric(12) NULL,
template_id numeric(12) NULL template_id numeric(12) NULL
); );
......
...@@ -11,7 +11,7 @@ CREATE TABLE tl_culture_criteria ( ...@@ -11,7 +11,7 @@ CREATE TABLE tl_culture_criteria (
, ,
importance varchar2(200) NOT NULL, importance varchar2(200) NOT NULL,
culture_element_id number(12) NOT NULL, culture_element_id number(12) NOT NULL,
culture_element_rating_id number(12) NOT NULL, culture_element_rating_id number(12) NULL,
job_id number(12) NULL, job_id number(12) NULL,
template_id number(12) NULL template_id number(12) NULL
); );
......
...@@ -11,7 +11,7 @@ CREATE TABLE tl_culture_criteria ( ...@@ -11,7 +11,7 @@ CREATE TABLE tl_culture_criteria (
, ,
importance varchar(200) NOT NULL, importance varchar(200) NOT NULL,
culture_element_id numeric(12) NOT NULL, culture_element_id numeric(12) NOT NULL,
culture_element_rating_id numeric(12) NOT NULL, culture_element_rating_id numeric(12) NULL,
job_id numeric(12) NULL, job_id numeric(12) NULL,
template_id numeric(12) NULL template_id numeric(12) NULL
); );
......
package performa.form;
import oneit.servlets.forms.*;
import oneit.utils.*;
import performa.orm.CultureCriteria;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import oneit.objstore.StorageException;
import oneit.servlets.forms.SubmissionDetails;
import oneit.servlets.process.ORMProcessState;
import performa.orm.Job;
import oneit.objstore.parser.BusinessObjectParser;
import oneit.servlets.process.ProcessRedirectResult;
import oneit.servlets.process.SaveFP;
public class ProcessCultureFP extends SaveFP
{
@Override
public SuccessfulResult processForm(ORMProcessState process, SubmissionDetails submission, Map params) throws BusinessException, StorageException
{
return new ProcessRedirectResult((String) submission.getRequest().getAttribute("nextPage"), new String[0]);
}
@Override
public void validate(ORMProcessState process, SubmissionDetails submission, MultiException exceptions, Map params) throws StorageException
{
super.validate(process, submission, exceptions, params);
HttpServletRequest request = submission.getRequest();
Job job = (Job) process.getAttribute("Job");
Debug.assertion(job != null, "No job found . Call from " + getClass().getName());
for(CultureCriteria criteria: job.getCultureCriteriasSet())
{
if(criteria.isRatingRequired())
{
BusinessObjectParser.assertFieldCondition(criteria.getCultureElementRating() != null, criteria , CultureCriteria.SINGLEREFERENCE_CultureElementRating, "mandatory", exceptions, true, request);
}
}
}
}
\ No newline at end of file
...@@ -49,7 +49,11 @@ public class SaveCultureTemplateFP extends ORMProcessFormProcessor ...@@ -49,7 +49,11 @@ public class SaveCultureTemplateFP extends ORMProcessFormProcessor
criteriaCopy.setCultureElement(criteria.getCultureElement().getInTransaction(newObjTran)); criteriaCopy.setCultureElement(criteria.getCultureElement().getInTransaction(newObjTran));
criteriaCopy.setImportance(criteria.getImportance()); criteriaCopy.setImportance(criteria.getImportance());
if(criteria.getCultureElementRating()!=null)
{
criteriaCopy.setCultureElementRating(criteria.getCultureElementRating().getInTransaction(newObjTran)); criteriaCopy.setCultureElementRating(criteria.getCultureElementRating().getInTransaction(newObjTran));
}
newTemplate.addToCultureCriterias(criteriaCopy); newTemplate.addToCultureCriterias(criteriaCopy);
} }
...@@ -71,6 +75,14 @@ public class SaveCultureTemplateFP extends ORMProcessFormProcessor ...@@ -71,6 +75,14 @@ public class SaveCultureTemplateFP extends ORMProcessFormProcessor
HttpServletRequest request = submission.getRequest(); HttpServletRequest request = submission.getRequest();
Job job = (Job) request.getAttribute("Job"); Job job = (Job) request.getAttribute("Job");
for(CultureCriteria criteria: job.getCultureCriteriasSet())
{
if(criteria.isRatingRequired())
{
BusinessObjectParser.assertFieldCondition(criteria.getCultureElementRating() != null, criteria , CultureCriteria.SINGLEREFERENCE_CultureElementRating, "mandatory", exceptions, true, request);
}
}
BusinessObjectParser.assertFieldCondition(job.getCultureTemplateName() != null, job , Job.FIELD_CultureTemplateName, "mandatory", exceptions, true, request); BusinessObjectParser.assertFieldCondition(job.getCultureTemplateName() != null, job , Job.FIELD_CultureTemplateName, "mandatory", exceptions, true, request);
super.validate(process, submission, exceptions, params); super.validate(process, submission, exceptions, params);
......
...@@ -130,7 +130,7 @@ public abstract class BaseCultureCriteria extends BaseBusinessClass ...@@ -130,7 +130,7 @@ public abstract class BaseCultureCriteria extends BaseBusinessClass
Map metaInfo = new HashMap (); Map metaInfo = new HashMap ();
metaInfo.put ("dbcol", "culture_element_rating_id"); metaInfo.put ("dbcol", "culture_element_rating_id");
metaInfo.put ("mandatory", "true"); metaInfo.put ("mandatory", "false");
metaInfo.put ("name", "CultureElementRating"); metaInfo.put ("name", "CultureElementRating");
metaInfo.put ("type", "CultureElementRating"); metaInfo.put ("type", "CultureElementRating");
...@@ -704,7 +704,6 @@ public abstract class BaseCultureCriteria extends BaseBusinessClass ...@@ -704,7 +704,6 @@ public abstract class BaseCultureCriteria extends BaseBusinessClass
*/ */
public void setCultureElementRating (CultureElementRating newCultureElementRating) throws StorageException, FieldException public void setCultureElementRating (CultureElementRating newCultureElementRating) throws StorageException, FieldException
{ {
BusinessObjectParser.assertFieldCondition (newCultureElementRating != null, this, SINGLEREFERENCE_CultureElementRating, "mandatory");
if (_CultureElementRating.wouldReferencedChange (newCultureElementRating)) if (_CultureElementRating.wouldReferencedChange (newCultureElementRating))
...@@ -1231,8 +1230,6 @@ public abstract class BaseCultureCriteria extends BaseBusinessClass ...@@ -1231,8 +1230,6 @@ public abstract class BaseCultureCriteria extends BaseBusinessClass
context.check (getCultureElementID() != null, this, SINGLEREFERENCE_CultureElement, "mandatory"); context.check (getCultureElementID() != null, this, SINGLEREFERENCE_CultureElement, "mandatory");
context.check (getCultureElementRatingID() != null, this, SINGLEREFERENCE_CultureElementRating, "mandatory");
} }
......
package performa.orm; package performa.orm;
import performa.orm.types.Importance;
public class CultureCriteria extends BaseCultureCriteria public class CultureCriteria extends BaseCultureCriteria
{ {
...@@ -10,4 +12,10 @@ public class CultureCriteria extends BaseCultureCriteria ...@@ -10,4 +12,10 @@ public class CultureCriteria extends BaseCultureCriteria
{ {
// 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 Boolean isRatingRequired()
{
return getImportance()!=null && getImportance()!=Importance.NOT_APPLICABLE;
}
} }
\ No newline at end of file
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<ATTRIB name="Importance" type="Importance" dbcol="importance" attribHelper="EnumeratedAttributeHelper" mandatory="true" defaultValue="Importance.NOT_APPLICABLE"/> <ATTRIB name="Importance" type="Importance" dbcol="importance" attribHelper="EnumeratedAttributeHelper" mandatory="true" defaultValue="Importance.NOT_APPLICABLE"/>
<SINGLEREFERENCE name="CultureElement" type="CultureElement" dbcol="culture_element_id" mandatory="true" /> <SINGLEREFERENCE name="CultureElement" type="CultureElement" dbcol="culture_element_id" mandatory="true" />
<SINGLEREFERENCE name="CultureElementRating" type="CultureElementRating" dbcol="culture_element_rating_id" mandatory="true" /> <SINGLEREFERENCE name="CultureElementRating" type="CultureElementRating" dbcol="culture_element_rating_id" mandatory="false" />
<SINGLEREFERENCE name="Job" type="Job" dbcol="job_id" backreferenceName="CultureCriterias"/> <SINGLEREFERENCE name="Job" type="Job" dbcol="job_id" backreferenceName="CultureCriterias"/>
<SINGLEREFERENCE name="Template" type="CultureCriteriaTemplate" dbcol="template_id" backreferenceName="CultureCriterias"/> <SINGLEREFERENCE name="Template" type="CultureCriteriaTemplate" dbcol="template_id" backreferenceName="CultureCriterias"/>
......
...@@ -52,6 +52,7 @@ ...@@ -52,6 +52,7 @@
</FORM> </FORM>
<FORM name="*.saveClient" factory="Participant" class="performa.form.SaveClientFP"/> <FORM name="*.saveClient" factory="Participant" class="performa.form.SaveClientFP"/>
<FORM name="*.saveCompany" factory="Participant" class="performa.form.SaveCompanyFP"/> <FORM name="*.saveCompany" factory="Participant" class="performa.form.SaveCompanyFP"/>
<FORM name="*.processCulture" factory="Participant" class="performa.form.ProcessCultureFP"/>
</NODE> </NODE>
<NODE name="job_assessment_criteria_add_jsp" factory="Participant"> <NODE name="job_assessment_criteria_add_jsp" factory="Participant">
......
...@@ -188,6 +188,7 @@ ...@@ -188,6 +188,7 @@
</span> </span>
</div> </div>
</div> </div>
<oneit:recalcClass htmlTag="div" classScript="criteria.isRatingRequired() ? 'show': 'hide'" criteria="<%= criteria %>">
<% <%
for (CultureElementRating rating : criteria.getCultureElement().getRatingsSet()) for (CultureElementRating rating : criteria.getCultureElement().getRatingsSet())
{ {
...@@ -203,6 +204,7 @@ ...@@ -203,6 +204,7 @@
<% <%
} }
%> %>
</oneit:recalcClass>
</div> </div>
<div class="form-brack-line-sub"></div> <div class="form-brack-line-sub"></div>
<% <%
...@@ -239,8 +241,9 @@ ...@@ -239,8 +241,9 @@
</div> </div>
</oneit:recalcClass> </oneit:recalcClass>
<div class="text-center"> <div class="text-center">
<oneit:button value="Proceed to Requirements" name="gotoPage" cssClass="btn btn-primary top-margin-25 largeBtn" <oneit:button value="Proceed to Requirements" name="processCulture" cssClass="btn btn-primary top-margin-25 largeBtn"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", nextPage) requestAttribs="<%= CollectionUtils.mapEntry("nextPage", nextPage)
.mapEntry("Job", job)
.mapEntry("procParams", CollectionUtils.mapEntry("Job", job).toMap()) .mapEntry("procParams", CollectionUtils.mapEntry("Job", job).toMap())
.toMap() %>" /> .toMap() %>" />
</div> </div>
......
-- @AutoRun
ALTER TABLE tl_culture_criteria ALTER COLUMN culture_element_rating_id DROP NOT NULL;
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment