import logging
import yaml
-from django.contrib.auth.decorators import login_required
+from sf_t3d.decorators import login_required
from django.http import HttpResponse, JsonResponse
from django.shortcuts import render, redirect
},'projectlist.html')
-
def open_composer(request):
user = osmutils.get_user(request)
project_id = user.project_id
@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']:
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)
}, url)
+@login_required
+def clone_descriptor(request, descriptor_type=None, descriptor_id=None):
+ user = osmutils.get_user(request)
+ project_id = user.project_id
+
+ try:
+ client = Client()
+ if descriptor_type == 'nsd':
+ result = client.nsd_clone(user.get_token(), descriptor_id)
+ elif descriptor_type == 'vnfd':
+ result = client.vnfd_clone(user.get_token(), descriptor_id)
+ else:
+ log.debug('Update descriptor: Unknown data type')
+ result = {'error': True, 'data': 'Update descriptor: Unknown data type'}
+ except Exception as e:
+ log.exception(e)
+ result = {'error': True, 'data': str(e)}
+ print result
+ if result['error'] == True:
+ 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 new_descriptor(request, descriptor_type=None):