diff --git a/src/main/java/no/nibio/vips/logic/controller/servlet/ObservationController.java b/src/main/java/no/nibio/vips/logic/controller/servlet/ObservationController.java index 8cdcbb173bf377c4b2ebf367c4f67b7c07921a88..66842864efdb3cdd895e6e21f3adad67788b1a73 100755 --- a/src/main/java/no/nibio/vips/logic/controller/servlet/ObservationController.java +++ b/src/main/java/no/nibio/vips/logic/controller/servlet/ObservationController.java @@ -464,6 +464,7 @@ public class ObservationController extends HttpServlet { null : formValidation.getFormField("observationData").getWebValue() ); + observation.setIsPositive(formValidation.getFormField("isPositiveRegistration").getWebValue() != null); observation.setIsQuantified(formValidation.getFormField("isQuantified").getWebValue() != null); this.setObservationLocationVisibility(observation, formValidation.getFormField("locationVisibility").getWebValue()); observation.setBroadcastMessage(formValidation.getFormField("broadcastMessage").getWebValue() != null); diff --git a/src/main/java/no/nibio/vips/logic/entity/Observation.java b/src/main/java/no/nibio/vips/logic/entity/Observation.java index d34522ac17e7bb69a2f4955fd339d0c5dd5798d7..d9d732ac8015a30460de208a2b64ca5b788874a1 100755 --- a/src/main/java/no/nibio/vips/logic/entity/Observation.java +++ b/src/main/java/no/nibio/vips/logic/entity/Observation.java @@ -105,6 +105,7 @@ public class Observation implements Serializable, no.nibio.vips.observation.Obse private String statusRemarks; private String observationData; private Boolean isQuantified; + private Boolean isPositive; private Boolean broadcastMessage; private Boolean locationIsPrivate; private PolygonService polygonService; @@ -665,5 +666,13 @@ public class Observation implements Serializable, no.nibio.vips.observation.Obse public void setLastEditedTime(Date lastEditedTime) { this.lastEditedTime = lastEditedTime; } - + + @Column(name = "is_positive") + public Boolean getIsPositive() { + return isPositive; + } + + public void setIsPositive(Boolean positive) { + isPositive = positive; + } } diff --git a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts.properties b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts.properties index b05c106944eba35177394dc1bc4b1390bb702522..7a7b2ba2705bb16e23fa5f8e899c8efa321804cb 100755 --- a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts.properties +++ b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts.properties @@ -389,7 +389,7 @@ isPest = Is pest isPrivate = Is private isQuantified = Is quantified - +isPositiveRegistration=Positive registration isRequiredField = Required field language = Language diff --git a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_bs.properties b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_bs.properties index 74853b8c126de308ea947c21325f16542396a543..1c08fd3068d899bb44ffb091d0eaa079d9a13423 100755 --- a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_bs.properties +++ b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_bs.properties @@ -15,6 +15,7 @@ # You should have received a copy of the NIBIO Open Source License # along with VIPSLogic. If not, see <http://www.nibio.no/licenses/>. # +isPositiveRegistration=Positive registration ALTERNARIA = Alternaria Model APPLESCABM = Apple scab model diff --git a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_hr.properties b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_hr.properties index f601b2442fb1c7af17fff6e7d336b81e8cd18d08..89b795fc98d6ea06951a3cda55c28a26d4fb326e 100755 --- a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_hr.properties +++ b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_hr.properties @@ -15,7 +15,7 @@ # You should have received a copy of the NIBIO Open Source License # along with VIPSLogic. If not, see <http://www.nibio.no/licenses/>. # - +isPositiveRegistration=Positive registration ALTERNARIA = Alternaria Model APPLESCABM = Apple scab model diff --git a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_nb.properties b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_nb.properties index 086079ba0e95ddfa4ef347e5d99ac93db21f76c3..15d53c9e1799c743106f58c4c1a3c1294d6bdda3 100755 --- a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_nb.properties +++ b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_nb.properties @@ -15,8 +15,7 @@ # You should have received a copy of the NIBIO Open Source License # along with VIPSLogic. If not, see <http://www.nibio.no/licenses/>. # - - +isPositiveRegistration=Positiv registrering ALTERNARIA = Alternariamodell APPLESCABM = Epleskurvmodell diff --git a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_sr.properties b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_sr.properties index e413bd270539d0f0863308c2c3420c210fc9a67c..701fc7ac9124a166178d53153aeb4142d6450b0a 100755 --- a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_sr.properties +++ b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_sr.properties @@ -15,7 +15,7 @@ # You should have received a copy of the NIBIO Open Source License # along with VIPSLogic. If not, see <http://www.nibio.no/licenses/>. # - +isPositiveRegistration=Positive registration ALTERNARIA = Alternaria Model APPLESCABM = Apple scab model diff --git a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_zh_CN.properties b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_zh_CN.properties index b0b8fa8fbf16599b2309b8f4144223a7e9a053dd..915f84b1ca39a767f9ce6267e92b910c15e4613e 100755 --- a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_zh_CN.properties +++ b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts_zh_CN.properties @@ -15,6 +15,7 @@ # You should have received a copy of the NIBIO Open Source License # along with VIPSLogic. If not, see <http://www.nibio.no/licenses/>. # +isPositiveRegistration=Positive registration ALTERNARIA = Alternaria Model APPLESCABM = \u82f9\u679c\u9ed1\u661f\u75c5\u6a21\u578b diff --git a/src/main/webapp/formdefinitions/observationForm.json b/src/main/webapp/formdefinitions/observationForm.json index 652dd4e9b5e55d82104b62dcb438b15b484230c0..d559d505a6448e709b514ea2f8b1b1e4bbcd70d6 100755 --- a/src/main/webapp/formdefinitions/observationForm.json +++ b/src/main/webapp/formdefinitions/observationForm.json @@ -69,6 +69,11 @@ "fieldType" : "SELECT_MULTIPLE", "required" : false }, + { + "name" : "isPositive", + "dataType" : "STRING", + "required" : false + }, { "name" : "isQuantified", "dataType" : "STRING", diff --git a/src/main/webapp/templates/observationForm.ftl b/src/main/webapp/templates/observationForm.ftl index aa57b3d08eec8eb962ddce62fd81a9fbc2c9b224..24bd4a96734a5a81fba65880447344c36c05f3c8 100755 --- a/src/main/webapp/templates/observationForm.ftl +++ b/src/main/webapp/templates/observationForm.ftl @@ -619,7 +619,15 @@ <input type="text" class="form-control" id="timeOfObservation" name="timeOfObservation" placeholder="${i18nBundle.timeOfObservation}" value="${(observation.timeOfObservation?string("yyyy-MM-dd HH:mmZ"))!.now?string("yyyy-MM-dd HH:mmZ")}" onblur="validateField(this);" <#if editAccess!="W">readonly="readonly"</#if>/> <span class="help-block" id="${formId}_timeOfObservation_validation"></span> </div> - + <div class="form-group"> + <div class="checkbox"> + <#if editAccess!="W" && observation.isPositive?has_content && observation.isPositive ==true><input type="hidden" name="isPositive" value="true"/></#if> + <label> + <input type="checkbox" name="isPositive"<#if observation.isPositive?has_content && observation.isPositive == false><#else> checked="checked"</#if> <#if editAccess!="W">disabled="disabled"</#if>/> + </label> + ${i18nBundle.isPositiveRegistration} + </div> + </div> <div class="form-group"> <div class="checkbox"> <#if editAccess!="W" && observation.isQuantified?has_content && observation.isQuantified ==true><input type="hidden" name="isQuantified" value="true"/></#if>