X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Fsupportview.py;h=80653e82474f39c33d1b4ef2f8bf4b6a19900149;hb=d45b63ca0026f8feb70e6ef64dee9773b467b479;hp=c16c89fdfaf1adfa017793a65f6996c86188fb0e;hpb=5855b9068af672b2fb2a1e22a40182c253361202;p=myslice.git diff --git a/portal/supportview.py b/portal/supportview.py index c16c89fd..80653e82 100644 --- a/portal/supportview.py +++ b/portal/supportview.py @@ -5,47 +5,61 @@ from django.contrib.auth import authenticate, login, logout from django.template import RequestContext from django.shortcuts import render_to_response from django.shortcuts import render - +import json from unfold.loginrequired import FreeAccessView -from manifold.manifoldresult import ManifoldResult +from manifoldapi.manifoldresult import ManifoldResult +from manifold.core.query import Query +from manifoldapi.manifoldapi import execute_query from ui.topmenu import topmenu_items, the_user from myslice.configengine import ConfigEngine -from theme import ThemeView +from myslice.theme import ThemeView class SupportView (FreeAccessView, ThemeView): template_name = 'supportview.html' - # expose this so we can mention the backend URL on the welcome page - def default_env (self): - return { - 'MANIFOLD_URL':ConfigEngine().manifold_url(), - } + def post (self,request): - env = self.default_env() + env = {} env['theme'] = self.theme return render_to_response(self.template, env, context_instance=RequestContext(request)) def get (self, request, state=None): - env = self.default_env() + env = {} if request.user.is_authenticated(): env['person'] = self.request.user + ## check user is pi or not + platform_query = Query().get('local:platform').select('platform_id','platform','gateway_type','disabled') + account_query = Query().get('local:account').select('user_id','platform_id','auth_type','config') + platform_details = execute_query(self.request, platform_query) + account_details = execute_query(self.request, account_query) + for platform_detail in platform_details: + for account_detail in account_details: + if platform_detail['platform_id'] == account_detail['platform_id']: + if 'config' in account_detail and account_detail['config'] is not '': + account_config = json.loads(account_detail['config']) + if 'myslice' in platform_detail['platform']: + acc_auth_cred = account_config.get('delegated_authority_credentials','N/A') + # assigning values + if acc_auth_cred == {} or acc_auth_cred == 'N/A': + pi = "is_not_pi" + else: + pi = "is_pi" + env['pi'] = pi else: env['person'] = None env['theme'] = self.theme - + env['section'] = "Support" env['username']=the_user(request) - env['topmenu_items'] = topmenu_items(None, request) + if state: env['state'] = state elif not env['username']: env['state'] = None # use one or two columns for the layout - not logged in users will see the login prompt - env['layout_1_or_2']="layout-unfold2.html" if not env['username'] else "layout-unfold1.html" - - + return render_to_response(self.template, env, context_instance=RequestContext(request))