Merge branch 'fibre' of ssh://git.onelab.eu/git/myslice into fibre
[unfold.git] / portal / sliceview.py
1 from django.template                 import RequestContext
2 from django.shortcuts                import render_to_response
3
4 from manifold.core.query             import Query, AnalyzedQuery
5 from manifoldapi.manifoldapi         import execute_query
6
7 from django.views.generic.base      import TemplateView
8
9 from unfold.loginrequired           import LoginRequiredView
10 from django.http import HttpResponse
11 from django.shortcuts import render
12
13 from unfold.page                     import Page
14 from manifold.core.query             import Query, AnalyzedQuery
15 from manifoldapi.manifoldapi         import execute_query
16 import json
17 from myslice.theme import ThemeView
18
19 class SliceView (LoginRequiredView, ThemeView):
20     template_name = "slice-view.html"
21     
22     def get(self, request, slicename):
23         ## check user is pi or not
24         platform_query  = Query().get('local:platform').select('platform_id','platform','gateway_type','disabled')
25         account_query  = Query().get('local:account').select('user_id','platform_id','auth_type','config')
26         platform_details = execute_query(self.request, platform_query)
27         account_details = execute_query(self.request, account_query)
28         for platform_detail in platform_details:
29             for account_detail in account_details:
30                 if platform_detail['platform_id'] == account_detail['platform_id']:
31                     if 'config' in account_detail and account_detail['config'] is not '':
32                         account_config = json.loads(account_detail['config'])
33                         if 'myslice' in platform_detail['platform']:
34                             acc_auth_cred = account_config.get('delegated_authority_credentials','N/A')
35         # assigning values
36         if acc_auth_cred == {} or acc_auth_cred == 'N/A':
37             pi = "is_not_pi"
38         else:
39             pi = "is_pi"
40         return render_to_response(self.template, {"slice": slicename, "theme": self.theme, "username": request.user,"pi":pi, "section": "Slice %s" % slicename }, context_instance=RequestContext(request))