From 3d0c6e4865d4a0ddd764da533a327faf76e0cb32 Mon Sep 17 00:00:00 2001
From: Roberto Sánchez <roberto.sanchez@curisit.net>
Date: Fri, 10 Jan 2014 18:50:52 +0000
Subject: [PATCH] #394 feature - Catalog module finished in beta - Security and Error management are not completed
---
securis/src/main/java/net/curisit/securis/services/OrganizationResource.java | 14 +++++++++-----
1 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/securis/src/main/java/net/curisit/securis/services/OrganizationResource.java b/securis/src/main/java/net/curisit/securis/services/OrganizationResource.java
index feec7e5..b8b8cc3 100644
--- a/securis/src/main/java/net/curisit/securis/services/OrganizationResource.java
+++ b/securis/src/main/java/net/curisit/securis/services/OrganizationResource.java
@@ -119,7 +119,7 @@
users = new ArrayList<>();
for (String username : usersIds) {
User user = em.find(User.class, username);
- if (parentOrg == null) {
+ if (user == null) {
log.error("Organization user with id {} not found in DB", username);
return Response.status(Status.NOT_FOUND).header(SecurisErrorHandler.HEADER_ERROR_MESSAGE, "Organization's user not found with ID: " + username).build();
}
@@ -191,13 +191,17 @@
public Response delete(@PathParam("orgid") String orgid, @Context HttpServletRequest request) {
log.info("Deleting app with id: {}", orgid);
EntityManager em = emProvider.get();
- Organization app = em.find(Organization.class, Integer.parseInt(orgid));
- if (app == null) {
+ Organization org = em.find(Organization.class, Integer.parseInt(orgid));
+ if (org == null) {
log.error("Organization with id {} can not be deleted, It was not found in DB", orgid);
- return Response.status(Status.NOT_FOUND).build();
+ return Response.status(Status.NOT_FOUND).header(SecurisErrorHandler.HEADER_ERROR_MESSAGE, "Organization was not found, ID: " + orgid).build();
+ }
+ if (org.getChildOrganizations() != null && org.getChildOrganizations().size() > 0) {
+ log.error("Organization has children and can not be deleted, ID: " + orgid);
+ return Response.status(Status.FORBIDDEN).header(SecurisErrorHandler.HEADER_ERROR_MESSAGE, "Organization has children and can not be deleted, ID: " + orgid).build();
}
- em.remove(app);
+ em.remove(org);
return Response.ok(Utils.createMap("success", true, "id", orgid)).build();
}
--
Gitblit v1.3.2