fix bug 823; fix bug 800

Change-Id: Idafe6cd3ab8db26cb763be9f334809429dbec913
Signed-off-by: lombardofr <lombardo@everyup.it>
diff --git a/rolehandler/templates/modal/role_create.html b/rolehandler/templates/modal/role_create.html
index d8282a7..bd734ad 100644
--- a/rolehandler/templates/modal/role_create.html
+++ b/rolehandler/templates/modal/role_create.html
@@ -1,3 +1,18 @@
+<!--
+Copyright 2019 EveryUP srl
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an  BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
 <div class="modal" id="modal_new_role" xmlns="http://www.w3.org/1999/html">
     <div class="modal-dialog">
         <div class="modal-content">
@@ -19,18 +34,12 @@
                         </div>
                        
                     </div>
+                   
                     <div class="form-group">
+                        <label for="permissions" class="col-sm-3 control-label">Permissions </label>
                         <div class="col-sm-6">
-                                <div class="checkbox">
-                                        <label><input type="checkbox" id="create_root" name="root"> Root</label>
-                                    </div>
-                        </div>
-                    </div>
-                    <div class="form-group">
-                        <label for="definition" class="col-sm-3 control-label">Definition </label>
-                        <div class="col-sm-6">
-                            <textarea class="form-control" id="definition" name="definition" placeholder="Yaml definition"
-                                      rows="3"></textarea>
+                            <textarea class="form-control" id="permissions" name="permissions" placeholder="Yaml permissions"
+                                      rows="10"></textarea>
                         </div>
                     </div>
 
diff --git a/rolehandler/templates/modal/role_edit.html b/rolehandler/templates/modal/role_edit.html
index ca3c4c0..515073b 100644
--- a/rolehandler/templates/modal/role_edit.html
+++ b/rolehandler/templates/modal/role_edit.html
@@ -1,3 +1,18 @@
+<!--
+Copyright 2019 EveryUP srl
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an  BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
 <div class="modal" id="modal_edit_role" xmlns="http://www.w3.org/1999/html">
     <div class="modal-dialog">
         <div class="modal-content">
@@ -21,19 +36,12 @@
                         </div>
                         
                     </div>
-                    <div class="form-group">
-                            <div class="col-sm-6">
-                                    <div class="checkbox">
-                                            <label><input type="checkbox" id="edit_root" name="root"> Root</label>
-                                        </div>
-                            </div>
-                        </div>
                         
                     <div class="form-group">
-                        <label for="definition" class="col-sm-3 control-label">Definition </label>
+                        <label for="permissions" class="col-sm-3 control-label">Permissions </label>
                         <div class="col-sm-6">
-                            <textarea class="form-control" id="edit_definition" name="definition" placeholder="Yaml definition"
-                                      rows="3"></textarea>
+                            <textarea class="form-control" id="edit_permissions" name="permissions" placeholder="Yaml permissions"
+                                      rows="10"></textarea>
                         </div>
                     </div>
                    
diff --git a/rolehandler/views.py b/rolehandler/views.py
index a13e28d..2537175 100644
--- a/rolehandler/views.py
+++ b/rolehandler/views.py
@@ -44,17 +44,16 @@
     client = Client()
     role_data ={
        'name': request.POST['name'],
-       'root': True if request.POST.get('root') else False
     }
     try:
-        if 'definition' in request.POST and request.POST.get('definition') != '':
-            role_definition = yaml.load(request.POST.get('definition'))
+        if 'permissions' in request.POST and request.POST.get('permissions') != '':
+            role_permissions = yaml.load(request.POST.get('permissions'))
 
-            if not isinstance(role_definition, dict):
-                    raise ValueError('Role definition should be provided in a key-value fashion')
-            for key, value in role_definition.items():
+            if not isinstance(role_permissions, dict):
+                    raise ValueError('Role permissions should be provided in a key-value fashion')
+            for key, value in role_permissions.items():
                 if not isinstance(value, bool):
-                    raise ValueError('Value in a role definition should be boolean')
+                    raise ValueError("Value of '{}' in a role permissionss should be boolean".format(key))
                 role_data[key] = value
     except Exception as e:
         return __response_handler(request, {'status': 400, 'code': 'BAD_REQUEST', 'detail': e.message} , url=None, status=400)
@@ -86,19 +85,17 @@
     user = osmutils.get_user(request)
     client = Client()
     payload = {
-        '_id': role_id,
         'name': request.POST['name'],
-        'root': True if request.POST.get('root') else False
     }
     try:
-        if 'definition' in request.POST and request.POST.get('definition') != '':
-            role_definition = yaml.load(request.POST.get('definition'))
+        if 'permissions' in request.POST and request.POST.get('permissions') != '':
+            role_permissions = yaml.load(request.POST.get('permissions'))
 
-            if not isinstance(role_definition, dict):
-                    raise ValueError('Role definition should be provided in a key-value fashion')
-            for key, value in role_definition.items():
+            if not isinstance(role_permissions, dict):
+                    raise ValueError('Role permissions should be provided in a key-value fashion')
+            for key, value in role_permissions.items():
                 if not isinstance(value, bool):
-                    raise ValueError('Value in a role definition should be boolean')
+                    raise ValueError('Value in a role permissions should be boolean')
                 payload[key] = value
     except Exception as e:
         return __response_handler(request, {'status': 400, 'code': 'BAD_REQUEST', 'detail': e.message} , url=None, status=400)
@@ -126,8 +123,7 @@
         result = {
             '_id': role['_id'],
             'name': role['name'],
-            'root': role['root'],
-            'definition': { key:value for key, value in role.items() if key not in ['_id', 'name', 'root', '_admin'] }
+            'permissions': { key:value for key, value in role['permissions'].items() if key not in ['_id', 'name', 'root', '_admin'] }
         }
         return __response_handler(request, result, url=None, status=200)