1 from __future__ import print_function
3 # this somehow is not used anymore - should it not be ?
4 from django.core.context_processors import csrf
5 from django.http import HttpResponseRedirect
6 from django.contrib.auth import authenticate, login, logout
7 from django.template import RequestContext
8 from django.shortcuts import render_to_response
9 from django.shortcuts import render
11 from unfold.loginrequired import FreeAccessView
13 from manifold.core.query import Query
14 from manifoldapi.manifoldapi import execute_query
15 from manifoldapi.manifoldresult import ManifoldResult
16 from myslice.configengine import ConfigEngine
18 from myslice.theme import ThemeView
21 class ManagementAboutView (FreeAccessView, ThemeView):
22 template_name = 'management-tab-about.html'
24 def get (self, request):
26 authority_contacts = {}
27 authority = {'authority_hrn':'fed4fire.upmc'}
28 if request.user.is_authenticated():
29 user_local_query = Query().get('local:user').select('config').filter_by('email','==',str(self.request.user))
30 user_local_details = execute_query(self.request, user_local_query)
31 user_authority = json.loads(user_local_details[0]['config']).get('authority')
32 print("**************________ management about = ",user_authority)
33 # XXX Should be done using Metadata
34 # select column.name from local:object where table=='authority'
35 authority_query = Query().get('authority').select('authority_hrn', 'name', 'address', 'enabled','description',
36 'scientific', 'city', 'name', 'url', 'country', 'enabled', 'longitude',
37 'tech', 'latitude', 'pi_users', 'onelab_membership',
38 'postcode').filter_by('authority_hrn','==',user_authority)
39 authority_details = execute_query(self.request, authority_query)
41 if authority_details :
42 authority = authority_details[0]
43 if 'scientific' in authority and authority['scientific'] is not None:
44 authority_contacts['scientific'] = [ x.strip()[1:-1] for x in authority['scientific'][1:-1].split(',') ]
45 if 'technical' in authority and authority['technical'] is not None:
46 authority_contacts['technical'] = [ x.strip()[1:-1] for x in authority['tech'][1:-1].split(',') ]
47 if 'legal' in authority and authority['legal'] is not None:
48 authority_contacts['legal'] = [ x.strip().replace('"','') for x in authority['legal'][1:-1].split(',') ]
50 authority_contacts = None
53 return render_to_response(self.template, { 'theme' : self.theme, 'authority' : authority, 'authority_contacts' : authority_contacts }, context_instance=RequestContext(request))