899fbfdf676117939d24bafb75391ca5fcc1ee64
[myslice.git] / portal / managementtababout.py
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
8
9 from unfold.loginrequired import FreeAccessView
10
11 from manifold.core.query            import Query
12 from manifoldapi.manifoldapi        import execute_query
13 from manifoldapi.manifoldresult import ManifoldResult
14 from myslice.configengine import ConfigEngine
15
16 from myslice.theme import ThemeView
17 import json
18
19 import activity
20
21 class ManagementAboutView (FreeAccessView, ThemeView):
22     template_name = 'management-tab-about.html'
23
24     def get (self, request):
25         
26         activity.userLogin(request)
27         
28         if request.user.is_authenticated(): 
29             user_query  = Query().get('user').select('user_hrn','parent_authority').filter_by('user_hrn','==','$user_hrn')
30             user_details = execute_query(self.request, user_query)
31             
32             user_local_query  = Query().get('local:user').select('config').filter_by('email','==',str(self.request.user))
33             user_local_details = execute_query(self.request, user_local_query)
34             user_authority = json.loads(user_local_details[0]['config']).get('authority')
35             
36             authority_query = Query().get('authority').select('description', 'authority_hrn', 'legal', 'address', 'abbreviated_name', 
37                                                               'scientific', 'city', 'name', 'url', 'country', 'enabled', 'longitude', 
38                                                               'tech', 'latitude', 'pi_users', 'parent_authority', 'onelab_membership', 
39                                                               'postcode').filter_by('authority_hrn','==',user_authority)
40             authority_details = execute_query(self.request, authority_query)
41             
42             if authority_details :
43                 authority_contacts = {}
44                 authority_contacts['scientific'] = [ x.strip()[1:-1] for x in authority_details[0]['scientific'][1:-1].split(',') ]
45                 authority_contacts['technical'] = [ x.strip()[1:-1] for x in authority_details[0]['tech'][1:-1].split(',') ]
46             
47                 authority_contacts['legal'] = [ x.strip().replace('"','') for x in authority_details[0]['legal'][1:-1].split(',') ]
48                 authority = authority_details[0]
49             else :
50                 authority_contacts = None
51                 authority = None
52             
53         return render_to_response(self.template, { 'theme' : self.theme, 'authority' : authority, 'authority_contacts' : authority_contacts }, context_instance=RequestContext(request))
54