1 # this somehow is not used anymore - should it not be ?
2 from django.core.context_processors import csrf
3 from django.http import HttpResponseRedirect
4 from django.contrib.auth import authenticate, login, logout
5 from django.template import RequestContext
6 from django.shortcuts import render_to_response
7 from django.shortcuts import render
9 from unfold.loginrequired import LoginRequiredView
11 from manifold.core.query import Query
12 from manifoldapi.manifoldapi import execute_query
13 from manifoldapi.manifoldresult import ManifoldResult
14 from ui.topmenu import topmenu_items, the_user
15 from myslice.configengine import ConfigEngine
17 from myslice.theme import ThemeView
18 from myslice.configengine import ConfigEngine
19 from myslice.settings import logger
21 from sfa.planetlab.plxrn import hash_loginbase
25 class CloudView (LoginRequiredView, ThemeView):
26 # parent View is portal/sliceview.py
28 def get_platforms (self, request):
29 username = self.request.user
31 pf_query = Query().get('local:platform').filter_by('disabled', '==', '0').filter_by('gateway_type', '==', 'sfa').select('platform')
32 res_platforms = execute_query(request, pf_query)
33 platforms = [p['platform'] for p in res_platforms]
37 template_name = 'slice-tab-cloud.html'
38 def post (self, request, slicename):
39 logger.debug("---------------- POST CloudView ------------------")
40 logger.debug(request.POST)
42 username = self.request.user
43 platforms = self.get_platforms(request)
44 cloud_platforms = ["onelab-cloud"]
45 len_platforms = len(platforms)
47 #if 'action' in request.POST:
48 # if request.POST['action'] == 'add':
50 # elif request.POST['action'] == 'delete':
51 # for key,val in request.POST:
52 # if key.endswith('_vm'):
53 # request.POST['platform']
55 # elif request.POST['action'] == 'reserve':
58 # log.error("action %s not supported" % request.POST['action'])
60 env = { 'theme' : self.theme,
61 'slicename':slicename,
62 'platforms':platforms,
63 'cloud_platforms':cloud_platforms,
64 'len_platforms': len_platforms,
65 'post_values': request.POST,
66 'request':self.request,
68 return render_to_response(self.template, env, context_instance=RequestContext(request))
71 def get (self, request, slicename, state=None):
73 username = self.request.user
74 platforms = self.get_platforms(request)
75 cloud_platforms = ["onelab-cloud"]
76 len_platforms = len(platforms)
78 env = { 'theme' : self.theme,
79 'slicename':slicename,
80 'platforms':platforms,
81 'cloud_platforms':cloud_platforms,
82 'len_platforms': len_platforms,
83 'request':self.request,
85 return render_to_response(self.template, env, context_instance=RequestContext(request))