X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=projecthandler%2Fviews.py;h=1f1573de3180cdf9ee3ec4c3818677f0fb5cb5f9;hb=78e7188849e9acdb565a4598dba733b69faa764f;hp=0f4248a7be115c072b487f601428f9cdda3e2aab;hpb=bced6e6778a58c6aba2b8aaa682fda728f39422a;p=osm%2FLW-UI.git diff --git a/projecthandler/views.py b/projecthandler/views.py index 0f4248a..1f1573d 100644 --- a/projecthandler/views.py +++ b/projecthandler/views.py @@ -18,7 +18,7 @@ import json 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 @@ -64,7 +64,6 @@ def user_projects(request): },'projectlist.html') - def open_composer(request): user = osmutils.get_user(request) project_id = user.project_id @@ -377,6 +376,32 @@ def delete_descriptor(request, descriptor_type=None, descriptor_id=None): }, 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):