X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=vimhandler%2Fviews.py;h=28c264cf1523c62cd0eadfed244fca12d80ae5a2;hb=refs%2Fchanges%2F48%2F6248%2F4;hp=d3507040f160e165658589ca0dc7e63b4a39d876;hpb=1a6af28f66d2686ad53368095c9143279bf54ec3;p=osm%2FLW-UI.git diff --git a/vimhandler/views.py b/vimhandler/views.py index d350704..28c264c 100644 --- a/vimhandler/views.py +++ b/vimhandler/views.py @@ -15,28 +15,31 @@ # from django.shortcuts import render, redirect -from django.contrib.auth.decorators import login_required, permission_required -from django.http import HttpResponse, JsonResponse +from django.contrib.auth.decorators import login_required +from django.http import JsonResponse from lib.osm.osmclient.client import Client -import json +import yaml import logging logging.basicConfig(level=logging.DEBUG) -log = logging.getLogger('helper.py') +log = logging.getLogger('view.py') + @login_required -def list(request): +def list(request, project_id): client = Client() result = client.vim_list() print result result = { + "project_id": project_id, "datacenters": result } return __response_handler(request, result, 'vim_list.html') + @login_required -def create(request): - result = {} +def create(request, project_id): + result = {'project_id': project_id} if request.method == 'GET': return __response_handler(request, result, 'vim_create.html') else: @@ -58,30 +61,34 @@ def create(request): config_key = k[7:] vim_data['config'][config_key] = v if 'additional_conf' in new_vim_dict: - additional_conf_dict = json.loads(new_vim_dict['additional_conf']) - for k,v in additional_conf_dict.items(): - vim_data['config'][k] = v - print vim_data + try: + additional_conf_dict = yaml.safe_load(new_vim_dict['additional_conf']) + for k,v in additional_conf_dict.items(): + vim_data['config'][k] = v + except Exception as e: + # TODO return error on json.loads exception + print e result = client.vim_create(vim_data) # TODO 'vim:show', to_redirect=True, vim_id=vim_id - return __response_handler(request, result, 'vim:list', to_redirect=True) + return __response_handler(request, result, 'projects:vims:list', to_redirect=True, project_id=project_id) @login_required -def delete(request, vim_id=None): +def delete(request, project_id, vim_id=None): try: client = Client() del_res = client.vim_delete(vim_id) except Exception as e: log.exception(e) - return __response_handler(request, {}, 'vim:list', to_redirect=True) + return __response_handler(request, {}, 'projects:vims:list', to_redirect=True, project_id=project_id) @login_required -def show(request, vim_id=None): +def show(request, project_id, vim_id=None): client = Client() datacenter = client.vim_get(vim_id) print datacenter return __response_handler(request, { - "datacenter": datacenter + "datacenter": datacenter, + "project_id": project_id }, 'vim_show.html')