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