Fixing bug 732 10/7610/4
authorEduardo Sousa <eduardo.sousa@canonical.com>
Tue, 4 Jun 2019 15:01:46 +0000 (16:01 +0100)
committerEduardo Sousa <eduardo.sousa@canonical.com>
Tue, 4 Jun 2019 16:06:30 +0000 (17:06 +0100)
Change-Id: I43b5bbe3aa9b615c40ef72c9faa9e4fd7ffd724f
Signed-off-by: Eduardo Sousa <eduardo.sousa@canonical.com>
osm_nbi/admin_topics.py
osm_nbi/nbi.py
osm_nbi/validation.py

index fd4d0e9..968788a 100644 (file)
@@ -656,7 +656,7 @@ class ProjectTopicAuth(ProjectTopic):
         """
         projects = self.auth.get_project_list()
         current_project = [project for project in projects
-                           if project["name"] == session["project_id"]][0]
+                           if project["name"] in session["project_id"]][0]
 
         if _id == current_project["_id"]:
             raise EngineException("You cannot delete your own project", http_code=HTTPStatus.CONFLICT)
@@ -761,12 +761,12 @@ class RoleTopicAuth(BaseTopic):
         for role_def in role_definitions.keys():
             if role_def in ignore_fields:
                 continue
-            if role_def == ".":
+            if role_def == "root":
                 if isinstance(role_definitions[role_def], bool):
                     continue
                 else:
                     raise ValidationError("Operation authorization \".\" should be True/False.")
-            if role_def[-1] == ".":
+            if role_def[-1] == ":":
                 raise ValidationError("Operation cannot end with \".\"")
             
             role_def_matches = [op for op in operations if op.startswith(role_def)]
@@ -831,7 +831,7 @@ class RoleTopicAuth(BaseTopic):
         """
         roles = self.auth.get_role_list()
         system_admin_role = [role for role in roles
-                             if roles["name"] == "system_admin"][0]
+                             if role["name"] == "system_admin"][0]
 
         if _id == system_admin_role["_id"]:
             raise EngineException("You cannot edit system_admin role", http_code=HTTPStatus.FORBIDDEN)
index 20e0520..cc56984 100644 (file)
@@ -217,7 +217,6 @@ class Server(object):
                               "<ID>": {"METHODS": ("GET", "POST", "DELETE", "PATCH", "PUT")}
                               },
                     "projects": {"METHODS": ("GET", "POST"),
-                                 # Added PUT to allow Project Name modification
                                  "<ID>": {"METHODS": ("GET", "DELETE", "PUT")}
                                  },
                     "roles": {"METHODS": ("GET", "POST"),
index f6c90c1..acb53c0 100644 (file)
@@ -648,8 +648,9 @@ roles_new_schema = {
     "type": "object",
     "properties": {
         "name": shortname_schema,
+        "root": bool_schema,
     },
-    "required": ["name"],
+    "required": ["name", "root"],
     "additionalProperties": True
 }
 roles_edit_schema = {
@@ -657,10 +658,9 @@ roles_edit_schema = {
     "title": "Roles edit schema for administrators",
     "type": "object",
     "properties": {
-        "_id": id_schema,
-        "name": shortname_schema,
+        "root": bool_schema,
     },
-    "required": ["_id", "name"],
+    "required": ["root"],
     "additionalProperties": True,
     "minProperties": 1
 }