diff --git a/src/main/java/no/nibio/vips/logic/controller/servlet/PointOfInterestController.java b/src/main/java/no/nibio/vips/logic/controller/servlet/PointOfInterestController.java index b3fb1d1b33bc6cf3ebc6aa3f24bea3864bd87197..46938c9bd3ebaeee51280004918287cbe8dc01b0 100755 --- a/src/main/java/no/nibio/vips/logic/controller/servlet/PointOfInterestController.java +++ b/src/main/java/no/nibio/vips/logic/controller/servlet/PointOfInterestController.java @@ -544,6 +544,13 @@ public class PointOfInterestController extends HttpServlet { { request.getSession().setAttribute("users", em.createNamedQuery("VipsLogicUser.findAll", VipsLogicUser.class).getResultList()); } + else if(user.isOrganizationAdmin()) + { + request.getSession().setAttribute("users", + em.createNamedQuery("VipsLogicUser.findByOrganizationId", VipsLogicUser.class) + .setParameter("organizationId", user.getOrganizationId()).getResultList() + ); + } Integer organizationId = Integer.valueOf(request.getParameter("organizationId")); request.setAttribute("returnURL","poi?organizationId=" + organizationId); request.getRequestDispatcher("/poiForm.ftl").forward(request, response); @@ -584,6 +591,13 @@ public class PointOfInterestController extends HttpServlet { { request.getSession().setAttribute("users", em.createNamedQuery("VipsLogicUser.findAll", VipsLogicUser.class).getResultList()); } + else if(user.isOrganizationAdmin()) + { + request.getSession().setAttribute("users", + em.createNamedQuery("VipsLogicUser.findByOrganizationId", VipsLogicUser.class) + .setParameter("organizationId", user.getOrganizationId()).getResultList() + ); + } request.setAttribute("returnURL","poi?organizationId=" + poi.getUserId().getOrganizationId().getOrganizationId()); request.getRequestDispatcher("/poiForm.ftl").forward(request, response); } @@ -656,7 +670,7 @@ public class PointOfInterestController extends HttpServlet { // If userId is set from form, always update - if(user.isSuperUser() && !formValidation.getFormField("userId").isEmpty()) + if((user.isSuperUser() || user.isOrganizationAdmin()) && !formValidation.getFormField("userId").isEmpty()) { poi.setUserId(em.find(VipsLogicUser.class, formValidation.getFormField("userId").getValueAsInteger())); } diff --git a/src/main/webapp/templates/poiForm.ftl b/src/main/webapp/templates/poiForm.ftl index 80bc9bd06f6ab3565b7a6367fa4f6ac9d5e56b7d..979d046f7cc3611d1c8c50d99f308daa1b4a3fc7 100755 --- a/src/main/webapp/templates/poiForm.ftl +++ b/src/main/webapp/templates/poiForm.ftl @@ -176,7 +176,7 @@ </fieldset> </#if> - <#if user.isSuperUser()> + <#if user.isSuperUser() || user.isOrganizationAdmin()> <div class="form-group"> <label for="userId">${i18nBundle.vipsLogicUserId}</label> <select class="form-control" name="userId" onblur="validateField(this);">