enhanced datatables
[osm/LW-UI.git] / projecthandler / views.py
index 144aa5b..0f4248a 100644 (file)
@@ -59,9 +59,10 @@ def user_projects(request):
     user = osmutils.get_user(request)
     client = Client()
     result = client.project_list(user.get_token())
-    return render(request, 'projectlist.html', {
+    return __response_handler(request,{
         'projects': result['data'] if result and result['error'] is False else [],
-    })
+    },'projectlist.html')
+
 
 
 def open_composer(request):
@@ -254,6 +255,7 @@ def open_project(request):
 
         client = Client()
         ##TODO change with adhoc api call
+        prj = client.project_get(user.get_token(), project_id)
         nsd = client.nsd_list(user.get_token())
         vnfd = client.vnfd_list(user.get_token())
         ns = client.ns_list(user.get_token())
@@ -261,9 +263,9 @@ def open_project(request):
         project_overview = {
             'owner': user.username,
             'name': project_id,
-            'updated_date': '-',
-            'created_date': '-',
-            'info': '-',
+            'updated_date': prj['data']['_admin']['modified'] if prj and prj['error'] is False else '-',
+            'created_date': prj['data']['_admin']['created'] if prj and prj['error'] is False else '-',
+
             'type': 'osm',
             'nsd': len(nsd['data']) if nsd and nsd['error'] is False else 0,
             'vnfd': len(vnfd['data']) if vnfd and vnfd['error'] is False else 0,
@@ -279,9 +281,9 @@ def open_project(request):
 
 
 @login_required
-def delete_project(request):
+def delete_project(request, project_id):
     user = osmutils.get_user(request)
-    project_id = user.project_id
+
     client = Client()
     result = client.project_delete(user.get_token(), project_id)
     if isinstance(result, dict) and 'error' in result and result['error']:
@@ -299,6 +301,23 @@ def switch_project(request, project_id):
     return redirect('projects:open_project')
 
 
+@login_required
+def edit_project(request, project_id):
+    if request.method == 'POST':
+        user = osmutils.get_user(request)
+        client = Client()
+        project_dict = request.POST.dict()
+        keys = ["name"]
+        project_data = dict(filter(lambda i: i[0] in keys and len(i[1]) > 0, project_dict.items()))
+        result = client.project_edit(user.get_token(), project_id, project_data)
+        if isinstance(result, dict) and 'error' in result and result['error']:
+            print result
+            return __response_handler(request, result['data'], url=None,
+                                      status=result['data']['status'] if 'status' in result['data'] else 500)
+        else:
+            return __response_handler(request, {}, url=None, status=200)
+
+
 @login_required
 def show_descriptors(request, descriptor_type=None):
     user = osmutils.get_user(request)