From 03f1353c2075515404e305e43ecaa3c8458a4558 Mon Sep 17 00:00:00 2001
From: Tor-Einar Skog <tor-einar.skog@nibio.no>
Date: Mon, 16 Nov 2020 14:48:59 +0100
Subject: [PATCH] Fixing issues for barkbeetle roles

---
 .../no/nibio/vips/logic/i18n/vipslogictexts.properties    | 1 +
 .../no/nibio/vips/logic/i18n/vipslogictexts_bs.properties | 1 +
 .../no/nibio/vips/logic/i18n/vipslogictexts_hr.properties | 1 +
 .../no/nibio/vips/logic/i18n/vipslogictexts_nb.properties | 1 +
 .../no/nibio/vips/logic/i18n/vipslogictexts_sr.properties | 1 +
 .../nibio/vips/logic/i18n/vipslogictexts_zh_CN.properties | 1 +
 src/main/webapp/templates/master.ftl                      | 7 ++++++-
 .../modules/barkbeetle/barkbeetleSeasonTrapsiteForm.ftl   | 2 +-
 .../modules/barkbeetle/barkbeetleSeasonTrapsiteList.ftl   | 6 +++---
 .../barkbeetle/barkbeetleTrapsiteRegistrationForm.ftl     | 8 ++++----
 10 files changed, 20 insertions(+), 9 deletions(-)

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 7ea954bc..52404f8a 100755
--- a/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts.properties
+++ b/src/main/resources/no/nibio/vips/logic/i18n/vipslogictexts.properties
@@ -500,3 +500,4 @@ farms=Farms
 vipsLogicRole_9=Bark beetle registrator
 vipsLogicRole_10=Bark beetle administrator
 vipsLogicRole_11=Bark beetle county admin
+barkbeetle=Barkbilleoverv\u00e5king
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 82886bd1..6beffe27 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
@@ -500,3 +500,4 @@ farms=Farms
 vipsLogicRole_9=Bark beetle registrator
 vipsLogicRole_10=Bark beetle administrator
 vipsLogicRole_11=Bark beetle county admin
+barkbeetle=Barkbilleoverv\u00e5king
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 fdf6894b..ef3103ac 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
@@ -499,3 +499,4 @@ farms=Farms
 vipsLogicRole_9=Bark beetle registrator
 vipsLogicRole_10=Bark beetle administrator
 vipsLogicRole_11=Bark beetle county admin
+barkbeetle=Barkbilleoverv\u00e5king
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 c9b3b305..df8cc7b6 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
@@ -500,3 +500,4 @@ farms=G\u00e5rder
 vipsLogicRole_9=Barkbilleregistrator
 vipsLogicRole_10=Barkbilleadministrator
 vipsLogicRole_11=Barkbillefylkeskontakt
+barkbeetle=Barkbilleoverv\u00e5king
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 3dc877aa..fdb91a48 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
@@ -500,3 +500,4 @@ farms=Farms
 vipsLogicRole_9=Bark beetle registrator
 vipsLogicRole_10=Bark beetle administrator
 vipsLogicRole_11=Bark beetle county admin
+barkbeetle=Barkbilleoverv\u00e5king
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 a5aa6283..a98cf444 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
@@ -497,3 +497,4 @@ farms=Farms
 vipsLogicRole_9=Bark beetle registrator
 vipsLogicRole_10=Bark beetle administrator
 vipsLogicRole_11=Bark beetle county admin
+barkbeetle=Barkbilleoverv\u00e5king
diff --git a/src/main/webapp/templates/master.ftl b/src/main/webapp/templates/master.ftl
index 0f2b3f9b..50aa9196 100755
--- a/src/main/webapp/templates/master.ftl
+++ b/src/main/webapp/templates/master.ftl
@@ -63,7 +63,9 @@
 		  <#if user.isOrganizationAdmin() || user.isSuperUser() || user.isMessageAuthor()>
 		  	<li><a href="/message">${i18nBundle.messages}</a></li>
 		  </#if>
-		  <li><a href="/observation">${i18nBundle.observations}</a></li>
+                  <#if user.isOrganizationAdmin() || user.isSuperUser() || user.isAppleFruitMothAdministrator() || user.hasRole(3?int) || user.hasRole(4?int)>
+                    <li><a href="/observation">${i18nBundle.observations}</a></li>
+                  </#if>
 		  <li><a href="/forecastConfiguration">${i18nBundle.forecasts}</a></li>
                   <#if user.isOrganizationAdmin() || user.isSuperUser() || user.isOrganismEditor()>
 		  	 <li><a href="/organism">${i18nBundle.organisms}</a></li>
@@ -71,6 +73,9 @@
 		  <#if user.isOrganizationAdmin() || user.isSuperUser() || user.isAppleFruitMothAdministrator() || user.hasRole(8?int)>
 		  	<li><a href="/applefruitmoth">${i18nBundle.appleFruitMoth}</a></li>
 		  </#if>
+                  <#if user.isOrganizationAdmin() || user.isSuperUser() || user.hasRole(9?int) || user.hasRole(10?int) || user.hasRole(11?int)>
+		  	<li><a href="/barkbeetle">${i18nBundle.barkbeetle}</a></li>
+		  </#if>
 		</ul>
 	      </li>
 	      <li><a href="/userguide/VIPSLogic_user_guide.html">${i18nBundle.help}</a></li>
diff --git a/src/main/webapp/templates/modules/barkbeetle/barkbeetleSeasonTrapsiteForm.ftl b/src/main/webapp/templates/modules/barkbeetle/barkbeetleSeasonTrapsiteForm.ftl
index e39804f5..5ab1126e 100644
--- a/src/main/webapp/templates/modules/barkbeetle/barkbeetleSeasonTrapsiteForm.ftl
+++ b/src/main/webapp/templates/modules/barkbeetle/barkbeetleSeasonTrapsiteForm.ftl
@@ -243,7 +243,7 @@
 			<input type="text" class="form-control" name="ownerPhone" placeholder="Tlf til eier av lokalitet" value="${(seasonTrapsite.ownerPhone)!""}" onblur="validateField(this);"/>
 			<span class="help-block" id="${formId}_ownerPhone_validation"></span>
 		  </div>
-		  <#if userIsAdmin>
+		  <#if userIsAdmin || userIsCountyAdmin>
 		  <div class="form-group">
 			<label for="userId">Registrant*</label>
 			<select class="form-control" name="userId">
diff --git a/src/main/webapp/templates/modules/barkbeetle/barkbeetleSeasonTrapsiteList.ftl b/src/main/webapp/templates/modules/barkbeetle/barkbeetleSeasonTrapsiteList.ftl
index 70c7efaa..31450f75 100644
--- a/src/main/webapp/templates/modules/barkbeetle/barkbeetleSeasonTrapsiteList.ftl
+++ b/src/main/webapp/templates/modules/barkbeetle/barkbeetleSeasonTrapsiteList.ftl
@@ -71,7 +71,7 @@
 		</div>
 	</div>
 </div>
-<#if userIsAdmin>
+<#if userIsAdmin || userIsCountyAdmin>
 <p>
 	<a href="/barkbeetle?action=editSeasonTrapsite&season=${season}" class="btn btn-default" role="button">${i18nBundle.addNew}</a>
 </p>
@@ -98,9 +98,9 @@
 				<td>${site.altitude!""}</td>
 				<td>${site.ownerName!""}</td>
 				<td>${site.userId.firstName} ${site.userId.lastName}</td>
-				<#if userIsAdmin || user.userId == site.userId.userId>
+				<#if userIsAdmin || userIsCountyAdmin || user.userId == site.userId.userId>
 				<td><a href="/barkbeetle?action=editSeasonTrapsite&season=${season}&seasonTrapsiteId=${site.seasonTrapsiteId}" class="btn btn-default" role="button">Endre lokalitetsinfo</a></td>
-				<td<#if userIsAdmin> class="status_${site.mostSevereRegistrationStatus}"</#if>><a href="/barkbeetle?action=registerData&seasonTrapsiteId=${site.seasonTrapsiteId}" class="btn btn-default" role="button">Registrer<#if userIsAdmin>/godkjenn</#if> data</a></td>
+				<td<#if userIsAdmin || userIsCountyAdmin> class="status_${site.mostSevereRegistrationStatus}"</#if>><a href="/barkbeetle?action=registerData&seasonTrapsiteId=${site.seasonTrapsiteId}" class="btn btn-default" role="button">Registrer<#if userIsAdmin || userIsCountyAdmin>/godkjenn</#if> data</a></td>
 				<#else>
 				<td colspan="2"></td>
 				</#if>
diff --git a/src/main/webapp/templates/modules/barkbeetle/barkbeetleTrapsiteRegistrationForm.ftl b/src/main/webapp/templates/modules/barkbeetle/barkbeetleTrapsiteRegistrationForm.ftl
index be72f1c4..0373ff29 100644
--- a/src/main/webapp/templates/modules/barkbeetle/barkbeetleTrapsiteRegistrationForm.ftl
+++ b/src/main/webapp/templates/modules/barkbeetle/barkbeetleTrapsiteRegistrationForm.ftl
@@ -51,7 +51,7 @@
 		<img src="/images/modules/barkbeetle/Bilde_BEKA_felle.jpg" style="height: 150px;"/>
 		</div>
 	</div>
-	<#if userIsAdmin>
+	<#if userIsAdmin || userIsCountyAdmin>
 	<div class="alert alert-info">Registrant: <strong>${seasonTrapsite.userId.firstName} ${seasonTrapsite.userId.lastName}</strong>, tlf <strong>${seasonTrapsite.userId.phone!"Ikke oppgitt"}</strong>, e-post <strong>${seasonTrapsite.userId.email}</strong></div>
 	</#if>
 	<div class="singleBlockContainer">
@@ -69,7 +69,7 @@
 				<th></th>
 				<th></th>
 				<th></th>
-				<#if userIsAdmin><th></th></#if>
+				<#if userIsAdmin || userIsCountyAdmin><th></th></#if>
 			</thead>
 			<thead>
 				<th>Tømmeuke (periode)</th>
@@ -82,7 +82,7 @@
 				<th>antall</th>
 				<th>ml</th>
 				<th>antall</th>
-				<#if userIsAdmin><th>Status</th></#if>
+				<#if userIsAdmin || userIsCountyAdmin><th>Status</th></#if>
 			</thead>
 			
 			<tbody>
@@ -101,7 +101,7 @@
 					
 					<td rowspan="2">
 					<#if reg.dateRegistration?has_content>
-						<#if userIsAdmin>
+						<#if userIsAdmin || userIsCountyAdmin>
 							<select class="form-control status_${reg.registrationStatusTypeId}" name="${reg.trapsiteRegistrationPK.week}_registrationStatusTypeId" onchange="this.className='form-control status_' + this.options[this.selectedIndex].value;">
 							<#list registrationStatusTypes as registrationStatusType>
 								<option class="status_${registrationStatusType.registrationStatusTypeId}" value="${registrationStatusType.registrationStatusTypeId}"
-- 
GitLab