X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=ui%2Ftopmenu.py;h=82979d55f36f5795fef6ef00a5cf5c597e645298;hb=c8c35ed0d987d0ad6b903c74d4688dbe19d1cd78;hp=de4455563ad4e968cb7890785a8dab98074dddb9;hpb=171c495d9ea9f10dcc46c236d8655ecfc94a8a20;p=myslice.git diff --git a/ui/topmenu.py b/ui/topmenu.py index de445556..82979d55 100644 --- a/ui/topmenu.py +++ b/ui/topmenu.py @@ -1,3 +1,4 @@ +import json from pprint import pprint from manifold.manifoldapi import execute_query from manifold.core.query import Query @@ -6,28 +7,25 @@ from manifold.core.query import Query # dropdowns are kind of ad hoc for now, and limited to one level # [ # ### a regular first-level button -# {'label':...,'href':...}, +# {'label':...,'href':..., ['domid':.., 'disabled':...]}, # ### a dropdown # { 'label': ..., 'href'=..., 'dropdown':True, 'contents': [ { 'label':.., 'href'} ] } # , ..] +# see also templates/widget-topmenu.html for how these items are put together +# and plugins/topmenuvalidation for how this hident button is turned on when necessary + # current: the beginning of the label in the menu that you want to outline def topmenu_items (current,request=None): has_user=request.user.is_authenticated() result=[] + print request.user if has_user: result.append({'label':'Dashboard', 'href': '/portal/dashboard/'}) result.append({'label':'Request a slice', 'href': '/portal/slice_request/'}) - # ** Where am I a PI ** - # For this we need to ask SFA (of all authorities) = PI function - pi_authorities_query = Query.get('ple:user').filter_by('user_hrn', '==', '$user_hrn').select('pi_authorities') - pi_authorities_tmp = execute_query(request, pi_authorities_query) - pi_authorities = set() - for pa in pi_authorities_tmp: - pi_authorities |= set(pa['pi_authorities']) - print "pi_authorities =", pi_authorities - if len(pi_authorities) > 0: - result.append({'label':'Validation', 'href': '/portal/validate/'}) + # always create a disabled button for validation, and let the + # topmenuvalidation plugin handle that asynchroneously, based on this domid + result.append({'label':'Validation', 'href': '/portal/validate/', 'domid':'topmenu-validation', 'disabled':True}) dropdown = [] dropdown.append({'label':'Platforms', 'href': '/portal/platforms/'}) dropdown.append({'label':'My Account', 'href': '/portal/account/'})