fix on users and projects

Change-Id: Ibb4258095eca92685e76187b66fca003f834dc6e
Signed-off-by: lombardofr <lombardo@everyup.it>
diff --git a/userhandler/templates/modal/user_edit.html b/userhandler/templates/modal/user_edit.html
index 21dbe8a..49eda46 100644
--- a/userhandler/templates/modal/user_edit.html
+++ b/userhandler/templates/modal/user_edit.html
@@ -27,14 +27,14 @@
                         </div>
                     </div>
                     <div class="form-group">
-                        <label for=projects" class="col-sm-3 control-label">Default project *</label>
+                        <label for="projects" class="col-sm-3 control-label">Default project *</label>
                         <div class="col-sm-6">
                             <select required id="default_project_edit" class="js-example-basic form-control" name="default_project">
                             </select>
                         </div>
                     </div>
                     <div class="form-group">
-                        <label for=projects" class="col-sm-3 control-label">Projects *</label>
+                        <label for="projects" class="col-sm-3 control-label">Projects *</label>
                         <div class="col-sm-6">
                             <select required id="projects_edit" class="js-example-basic-multiple form-control" name="projects"
                             multiple="multiple">
diff --git a/userhandler/urls.py b/userhandler/urls.py
index 6447d69..4f38be8 100644
--- a/userhandler/urls.py
+++ b/userhandler/urls.py
@@ -20,7 +20,7 @@
 urlpatterns = [
     url(r'^list$', views.user_list, name='list'),
     url(r'^create$', views.create, name='create'),
-    url(r'^(?P<user_id>[0-9a-zA-Z]+)/delete$', views.delete, name='delete'),
-    url(r'^(?P<user_id>[0-9a-zA-Z]+)', views.update, name='update')
+    url(r'^(?P<user_id>[-\w]+)$', views.update, name='update'),
+    url(r'^(?P<user_id>[-\w]+)/delete$', views.delete, name='delete'),   
 
 ]
diff --git a/userhandler/views.py b/userhandler/views.py
index 0c12a84..1703233 100644
--- a/userhandler/views.py
+++ b/userhandler/views.py
@@ -31,9 +31,23 @@
     user = osmutils.get_user(request)
     client = Client()
     result = client.user_list(user.get_token())
+    result_projects = client.project_list(user.get_token())
+    p_map = {'admin': 'admin'}
+    for p in result_projects['data']:
+        p_map[p['_id']] = p['name']
+    users = result['data'] if result and result['error'] is False else []
+    for user in users:
+        user_project_ids = user['projects']
+        user_project_names = []
+        for p_id in user_project_ids:
+            if p_id in p_map:
+                user_project_names.append(p_map[p_id])
+        user['projects'] = user_project_names
+
     result = {
         'users': result['data'] if result and result['error'] is False else []
     }
+    
     return __response_handler(request, result, 'user_list.html')