Skip to content
Snippets Groups Projects
Commit 3b31b987 authored by Tor-Einar Skog's avatar Tor-Einar Skog
Browse files

Added pest and crop properties to organism

parent fcf8032b
No related branches found
No related tags found
No related merge requests found
Showing
with 76 additions and 4 deletions
......@@ -35,7 +35,6 @@ import no.bioforsk.vips.logic.controller.session.ForecastBean;
import no.bioforsk.vips.logic.controller.session.UserBean;
import no.bioforsk.vips.logic.entity.ForecastConfiguration;
import no.bioforsk.vips.logic.entity.ModelInformation;
import no.bioforsk.vips.logic.entity.Organism;
import no.bioforsk.vips.logic.entity.Organization;
import no.bioforsk.vips.logic.entity.VipsLogicRole;
import no.bioforsk.vips.logic.entity.VipsLogicUser;
......@@ -176,7 +175,8 @@ public class ForecastConfigurationController extends HttpServlet {
}
request.setAttribute("forecastConfiguration", forecastConfiguration);
// All organisms used for parent organism list
request.setAttribute("allOrganisms", em.createNamedQuery("Organism.findAll").getResultList());
request.setAttribute("allCrops", em.createNamedQuery("Organism.findAllCrops").getResultList());
request.setAttribute("allPests", em.createNamedQuery("Organism.findAllPests").getResultList());
// Hierarchy categories
request.setAttribute("hierarchyCategories", SessionControllerGetter.getOrganismBean().getHierarchyCategoryNames(SessionLocaleUtil.getCurrentLocale(request)));
request.setAttribute("modelInformations", em.createNamedQuery("ModelInformation.findAll").getResultList());
......
......@@ -194,6 +194,8 @@ public class OrganismController extends HttpServlet {
FormValidation formValidation = FormValidator.validateForm("organismForm",request,getServletContext());
if(formValidation.isValid())
{
organism.setIsCrop(formValidation.getFormField("isCrop").getWebValue() != null);
organism.setIsPest(formValidation.getFormField("isPest").getWebValue() != null);
organism.setLatinName(formValidation.getFormField("latinName").getWebValue());
organism.setTradeName(formValidation.getFormField("tradeName").getWebValue());
organism.setHierarchyCategoryId(formValidation.getFormField("hierarchyCategoryId").getValueAsInteger());
......
......@@ -48,6 +48,8 @@ import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
@NamedQueries({
@NamedQuery(name = "Organism.findAll", query = "SELECT o FROM Organism o"),
@NamedQuery(name = "Organism.findAllCrops", query = "SELECT o FROM Organism o WHERE o.isCrop = true AND o.logicallyDeleted = false"),
@NamedQuery(name = "Organism.findAllPests", query = "SELECT o FROM Organism o WHERE o.isPest = true AND o.logicallyDeleted = false"),
@NamedQuery(name = "Organism.findByOrganismId", query = "SELECT o FROM Organism o WHERE o.organismId = :organismId"),
@NamedQuery(name = "Organism.findByParentOrganismId", query = "SELECT o FROM Organism o WHERE o.parentOrganismId = :parentOrganismId"),
@NamedQuery(name = "Organism.findByLatinName", query = "SELECT o FROM Organism o WHERE o.latinName = :latinName"),
......@@ -70,6 +72,10 @@ public class Organism implements Serializable {
@NotNull
@Column(name = "logically_deleted")
private boolean logicallyDeleted;
@Column(name = "is_pest")
private Boolean isPest;
@Column(name = "is_crop")
private Boolean isCrop;
// We simplify this to avoid very large queries
@Column(name = "parent_organism_id")
......@@ -284,4 +290,32 @@ public class Organism implements Serializable {
}
return null;
}
/**
* @return the isPest
*/
public Boolean getIsPest() {
return isPest;
}
/**
* @param isPest the isPest to set
*/
public void setIsPest(Boolean isPest) {
this.isPest = isPest;
}
/**
* @return the isCrop
*/
public Boolean getIsCrop() {
return isCrop;
}
/**
* @param isCrop the isCrop to set
*/
public void setIsCrop(boolean isCrop) {
this.isCrop = isCrop;
}
}
......@@ -257,3 +257,5 @@ pestOrganismId=Pest
weatherForecastProvider=Weather forecast service
none=None
allOrganizations=All organizations
isPest=Is pest
isCrop=Is crop
......@@ -257,3 +257,5 @@ pestOrganismId=Pest
weatherForecastProvider=Weather forecast service
none=None
allOrganizations=All organizations
isPest=Is pest
isCrop=Is crop
......@@ -256,3 +256,5 @@ pestOrganismId=Pest
weatherForecastProvider=Weather forecast service
none=None
allOrganizations=All organizations
isPest=Is pest
isCrop=Is crop
......@@ -257,3 +257,5 @@ pestOrganismId=Skadegj\u00f8rer
weatherForecastProvider=V\u00e6rvarslingstjeneste
none=Ingen
allOrganizations=Alle organisasjoner
isPest=Er skadegj\u00f8rer
isCrop=Er kultur
......@@ -257,3 +257,5 @@ pestOrganismId=Pest
weatherForecastProvider=Weather forecast service
none=None
allOrganizations=All organizations
isPest=Is pest
isCrop=Is crop
......@@ -30,6 +30,16 @@
"required" : false,
"nullValue" : "-1"
},
{
"name" : "isCrop",
"dataType" : "STRING",
"required" : false
},
{
"name" : "isPest",
"dataType" : "STRING",
"required" : false
},
{
"name" : "hierarchyCategoryId",
"dataType" : "INTEGER",
......
......@@ -75,7 +75,7 @@
<label for="cropOrganismId">${i18nBundle.cropOrganismId}</label>
<select class="form-control" id="cropOrganismId" name="cropOrganismId" onblur="validateField(this);" onchange="renderModelSpecificFields();">
<option value="-1">${i18nBundle.pleaseSelect} ${i18nBundle.cropOrganismId?lower_case}</option>
<#list allOrganisms?sort_by("latinName") as organism>
<#list allCrops?sort_by("latinName") as organism>
<option value="${organism.organismId}"
<#if (forecastConfiguration.cropOrganismId?has_content && forecastConfiguration.cropOrganismId.organismId == organism.organismId)>
selected="selected"
......@@ -89,7 +89,7 @@
<label for="pestOrganismId">${i18nBundle.pestOrganismId}</label>
<select class="form-control" id="pestOrganismId" name="pestOrganismId" onblur="validateField(this);" onchange="renderModelSpecificFields();">
<option value="-1">${i18nBundle.pleaseSelect} ${i18nBundle.pestOrganismId?lower_case}</option>
<#list allOrganisms?sort_by("latinName") as organism>
<#list allPests?sort_by("latinName") as organism>
<option value="${organism.organismId}"
<#if (forecastConfiguration.pestOrganismId?has_content && forecastConfiguration.pestOrganismId.organismId == organism.organismId)>
selected="selected"
......
......@@ -62,6 +62,7 @@
</#list>
</select>
</div>
<div class="form-group">
<label for="latinName">${i18nBundle.latinName}</label>
<input type="text" class="form-control" name="latinName" placeholder="${i18nBundle.latinName}" value="${organism.latinName!""}" onblur="validateField(this);" />
......@@ -90,6 +91,20 @@
</#list>
</select>
</div>
<div class="form-group">
<div class="checkbox">
<label>
<input type="checkbox" name="isPest" value="true"<#if (organism.isPest?has_content && organism.isPest == true)> checked="checked"</#if>/>
${i18nBundle.isPest}
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" name="isCrop" value="true"<#if (organism.isCrop?has_content && organism.isCrop == true)> checked="checked"</#if>/>
${i18nBundle.isCrop}
</label>
</div>
</div>
<fieldset>
<h3>${i18nBundle.externalResources}</h3>
<#if organism.organismExternalResourceSet?has_content>
......@@ -111,5 +126,6 @@
<button type="submit" class="btn btn-default">${i18nBundle.submit}</button>
<a href="/organism?action=listChildOrganisms&organismId=${organism.parentOrganismId!"null"}" class="btn btn-default" role="button">${i18nBundle.cancel}</a>
</form>
</#macro>
<@page_html/>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment