env['theme'] = self.theme
return render_to_response(self.template, env, context_instance=RequestContext(request))
- def get (self, request, state=None):
+ def get (self, request, authority_hrn=None, state=None):
+ print " ----- institution",authority_hrn
env = self.default_env()
-
if request.user.is_authenticated():
env['person'] = self.request.user
- user_query = Query().get('user').select('user_hrn','parent_authority').filter_by('user_hrn','==','$user_hrn')
- user_details = execute_query(self.request, user_query)
- try:
- env['user_details'] = user_details[0]
- except Exception,e:
- env['error'] = "Please check your Credentials"
-
- try:
- user_local_query = Query().get('local:user').select('config').filter_by('email','==',str(env['person']))
- user_local_details = execute_query(self.request, user_local_query)
- user_local = user_local_details[0]
- user_local_config = user_local['config']
- user_local_config = json.loads(user_local_config)
- user_local_authority = user_local_config.get('authority')
- if 'user_details' not in env or 'parent_authority' not in env['user_details'] or env['user_details']['parent_authority'] is None:
- env['user_details'] = {'parent_authority': user_local_authority}
- except Exception,e:
- env['error'] = "Please check your Manifold user config"
+ if authority_hrn is None:
+ user_query = Query().get('myslice:user').select('user_hrn','parent_authority').filter_by('user_hrn','==','$user_hrn')
+ user_details = execute_query(self.request, user_query)
+ try:
+ env['user_details'] = user_details[0]
+ except Exception,e:
+ # If the Query fails, check in local DB
+ try:
+ user_local_query = Query().get('local:user').select('config').filter_by('email','==',str(env['person']))
+ user_local_details = execute_query(self.request, user_local_query)
+ user_local = user_local_details[0]
+ user_local_config = user_local['config']
+ user_local_config = json.loads(user_local_config)
+ user_local_authority = user_local_config.get('authority')
+ if 'user_details' not in env or 'parent_authority' not in env['user_details'] or env['user_details']['parent_authority'] is None:
+ env['user_details'] = {'parent_authority': user_local_authority}
+ except Exception,e:
+ env['error'] = "Please check your Credentials"
+ else:
+ env['project'] = True
+ env['user_details'] = {'parent_authority': authority_hrn}
## 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')