From 84588a793c9484f9182d253ed83ad11687a1d4f8 Mon Sep 17 00:00:00 2001
From: rsanchez <rsanchez@curisit.net>
Date: Thu, 13 Apr 2017 17:18:56 +0000
Subject: [PATCH] #3529 feature - Added new role for readonly

---
 securis/src/main/java/net/curisit/securis/services/PackResource.java |   26 +++++++++++++++-----------
 1 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/securis/src/main/java/net/curisit/securis/services/PackResource.java b/securis/src/main/java/net/curisit/securis/services/PackResource.java
index 07bfdfa..6c4db5a 100644
--- a/securis/src/main/java/net/curisit/securis/services/PackResource.java
+++ b/securis/src/main/java/net/curisit/securis/services/PackResource.java
@@ -38,6 +38,7 @@
 import net.curisit.securis.db.PackMetadata;
 import net.curisit.securis.db.PackStatus;
 import net.curisit.securis.db.User;
+import net.curisit.securis.db.User.Rol;
 import net.curisit.securis.ioc.EnsureTransaction;
 import net.curisit.securis.security.BasicSecurityContext;
 import net.curisit.securis.security.Securable;
@@ -90,12 +91,15 @@
 			LOG.info("Getting all packs for user: " + bsc.getUserPrincipal());
 			q = em.createNamedQuery("list-packs", Pack.class);
 		} else {
-			if (bsc.getOrganizationsIds() == null || bsc.getOrganizationsIds().isEmpty() || // 
-					bsc.getApplicationsIds() == null || bsc.getApplicationsIds().isEmpty()) {
+			if (bsc.getApplicationsIds() == null || bsc.getApplicationsIds().isEmpty()) {
 				return Response.ok().build();
 			}
-			q = em.createNamedQuery("list-packs-by-orgs-apps", Pack.class);
-			q.setParameter("list_ids_org", bsc.getOrganizationsIds());
+			if (bsc.getOrganizationsIds() == null || bsc.getOrganizationsIds().isEmpty()) {
+				q = em.createNamedQuery("list-packs-by-apps", Pack.class);
+			} else {
+				q = em.createNamedQuery("list-packs-by-orgs-apps", Pack.class);
+				q.setParameter("list_ids_org", bsc.getOrganizationsIds());
+			}
 			q.setParameter("list_ids_app", bsc.getApplicationsIds());
 			LOG.info("Getting packs from orgs: {} and apps: {}", bsc.getOrganizationsIds(), bsc.getApplicationsIds());
 		}
@@ -140,7 +144,7 @@
 
 	@POST
 	@Path("/")
-	@Securable
+	@Securable(roles = Rol.ADMIN | Rol.ADVANCE)
 	@RolesAllowed(BasicSecurityContext.ROL_ADMIN)
 	@Consumes(MediaType.APPLICATION_JSON)
 	@Produces({ MediaType.APPLICATION_JSON })
@@ -207,7 +211,7 @@
 	 */
 	@GET
 	@Path("/{packId}/next_license_code")
-	@Securable
+	@Securable(roles = Rol.ADMIN | Rol.ADVANCE)
 	@Produces({ MediaType.TEXT_PLAIN })
 	public Response getCodeSuffix(@PathParam("packId") Integer packId, @Context BasicSecurityContext bsc) throws SeCurisServiceException {
 		// EntityManager em = emProvider.get();
@@ -249,7 +253,7 @@
 	@POST
 	@Path("/{packId}")
 	@EnsureTransaction
-	@Securable
+	@Securable(roles = Rol.ADMIN | Rol.ADVANCE)
 	@RolesAllowed(BasicSecurityContext.ROL_ADMIN)
 	@Consumes(MediaType.APPLICATION_JSON)
 	@Produces({ MediaType.APPLICATION_JSON })
@@ -314,7 +318,7 @@
 	@POST
 	@Path("/{packId}/activate")
 	@EnsureTransaction
-	@Securable
+	@Securable(roles = Rol.ADMIN | Rol.ADVANCE)
 	@RolesAllowed(BasicSecurityContext.ROL_ADMIN)
 	@Consumes(MediaType.APPLICATION_JSON)
 	@Produces({ MediaType.APPLICATION_JSON })
@@ -338,7 +342,7 @@
 	@POST
 	@Path("/{packId}/putonhold")
 	@EnsureTransaction
-	@Securable
+	@Securable(roles = Rol.ADMIN | Rol.ADVANCE)
 	@RolesAllowed(BasicSecurityContext.ROL_ADMIN)
 	@Consumes(MediaType.APPLICATION_JSON)
 	@Produces({ MediaType.APPLICATION_JSON })
@@ -362,7 +366,7 @@
 	@POST
 	@Path("/{packId}/cancel")
 	@EnsureTransaction
-	@Securable
+	@Securable(roles = Rol.ADMIN | Rol.ADVANCE)
 	@RolesAllowed(BasicSecurityContext.ROL_ADMIN)
 	@Consumes(MediaType.APPLICATION_JSON)
 	@Produces({ MediaType.APPLICATION_JSON })
@@ -403,7 +407,7 @@
 
 	@DELETE
 	@Path("/{packId}")
-	@Securable
+	@Securable(roles = Rol.ADMIN | Rol.ADVANCE)
 	@RolesAllowed(BasicSecurityContext.ROL_ADMIN)
 	@EnsureTransaction
 	@Produces({ MediaType.APPLICATION_JSON })

--
Gitblit v1.3.2