from unfold.loginrequired import FreeAccessView
+from manifold.core.query import Query
+from manifoldapi.manifoldapi import execute_query
from manifoldapi.manifoldresult import ManifoldResult
from ui.topmenu import topmenu_items, the_user
from myslice.configengine import ConfigEngine
-from theme import ThemeView
+from myslice.theme import ThemeView
class ExperimentView (FreeAccessView, ThemeView):
- template_name = 'experimentview.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['theme'] = self.theme
- return render_to_response(self.template, env, context_instance=RequestContext(request))
-
- def get (self, request, state=None):
- env = self.default_env()
-
- if request.user.is_authenticated():
- env['person'] = self.request.user
- else:
- env['person'] = None
-
- env['theme'] = self.theme
-
-
- 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"
+ template_name = 'slice-tab-experiment.html'
+
+ def get (self, request, slicename, state=None):
+
+ username = self.request.user
+ split_slicename = slicename.split('.')
+ ple_slicename = split_slicename[0] + '8' + split_slicename[1] + '_' + split_slicename[2]
+
+ query_current_resources = Query.get('slice').select('resource').filter_by('slice_hrn','==',slicename)
+ current_resources = execute_query(request, query_current_resources)
+
+ formatted_resource_list=[]
+ try:
+ for resources in current_resources:
+ list_res = resources['resource']
+ for res in list_res:
+ split_list = res.split('+') # split the resource urn
+ if [s for s in split_list if 'ple' in s]: # search only ple resources
+ res_hrn = split_list[-1] # last element is resource hrn
+ formatted_resource_list.append(res_hrn)
+ except Exception,e:
+ print "Exception in slicetabexperiment.py in ple resource search %s" % e
- return render_to_response(self.template, env, context_instance=RequestContext(request))
+ print "list of ple resource hrns"
+ print formatted_resource_list
+
+ return render_to_response(self.template, { 'theme' : self.theme,'slicename':slicename, 'ple_slicename':ple_slicename, 'username':username, 'ple_resources':formatted_resource_list }, context_instance=RequestContext(request))