Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1#!/usr/local/bin/python
2# encoding: utf-8
3"""
4*The top navigation bar for the PESSTO Marshall*
6:Author:
7 David Young
8"""
9import sys
10import os
11import khufu
13def topnavbar(log,
14 request):
15 """
16 Get a top navigation bar for the pessto marshall.
18 **Key Arguments**
20 - ``log`` -- logger
23 **Return**
25 - ``topNavBar`` -- the top navigation bar for the pessto marshall
27 """
28 log.debug('starting the ``topNavigationBar`` function')
30 username = request.authenticated_userid
31 username = username.replace(".", " ").title()
32 if username:
33 href = request.route_path('logout')
34 logout = khufu.a(
35 content="logout",
36 href=href,
37 )
38 username = """%(username)s (%(logout)s)""" % locals()
39 else:
40 href = request.route_path('login')
41 username = khufu.a(
42 content="login",
43 href=href,
44 )
46 src = request.static_path(
47 'marshall_webapp:static/images/home_button_body.png')
49 icon = khufu.image(
50 src=src,
51 href=False,
52 display=False, # [ rounded | circle | polaroid ]
53 pull="left", # [ "left" | "right" | "center" ]
54 htmlClass=False,
55 thumbnail=False,
56 width=25,
57 onPhone=True,
58 onTablet=True,
59 onDesktop=True
60 )
62 marshallHome = khufu.a(
63 content='marshall',
64 href=request.route_path('transients'))
65 statsHome = khufu.a(
66 content='stats',
67 href=request.route_path('stats'))
68 members = khufu.a(
69 content='member list',
70 href=request.route_path('members'))
72 pesstoHome = khufu.a(
73 content='pessto.org',
74 href='http://www.pessto.org',
75 tableIndex=False,
76 # table index for the dropdown menus [ False | -1 ]
77 triggerStyle=False) # used as a dropdown or tab trigger? [ False | "dropdown" | "tab" ]
78 pesstoWiki = khufu.a(
79 content="wiki",
80 href='https://sites.google.com/a/pessto.org/wiki/',
81 tableIndex=False,
82 # table index for the dropdown menus [ False | -1 ]
83 triggerStyle=False) # used as a dropdown or tab trigger? [ False | "dropdown" | "tab" ]
84 pesstoGroups = khufu.a(
85 content="groups",
86 href='https://groups.google.com/a/pessto.org/forum/#!myforums',
87 tableIndex=False,
88 # table index for the dropdown menus [ False | -1 ]
89 triggerStyle=False) # used as a dropdown or tab trigger? [ False | "dropdown" | "tab" ]
90 pesstoDocs = khufu.a(
91 content="drive",
92 href='https://drive.google.com/a/pessto.org/?tab=go#home',
93 tableIndex=False,
94 # table index for the dropdown menus [ False | -1 ]
95 triggerStyle=False) # used as a dropdown or tab trigger? [ False | "dropdown" | "tab" ]
96 help = khufu.a(
97 content='help & reference',
98 href='https://github.com/thespacedoctor/marshall_webapp_wiki/wiki',
99 tableIndex=False,
100 # table index for the dropdown menus [ False | -1 ]
101 triggerStyle=False) # used as a dropdown or tab trigger? [ False | "dropdown" | "tab" ]
102 finderChartsRepo = khufu.a(
103 content='finder charts',
104 href='https://sites.google.com/a/pessto.org/wiki/pessto-wiki/home/finder-chart-repo',
105 tableIndex=False,
106 # table index for the dropdown menus [ False | -1 ]
107 triggerStyle=False) # used as a dropdown or tab trigger? [ False | "dropdown" | "tab" ]
108 externalData = khufu.a(
109 content='external data',
110 href='http://www.pessto.org/private/data/external',
111 tableIndex=False,
112 # table index for the dropdown menus [ False | -1 ]
113 triggerStyle=False) # used as a dropdown or tab trigger? [ False | "dropdown" | "tab" ]
114 observingCalendar = khufu.a(
115 content='observing calendar',
116 href=request.route_path('calendars'),
117 tableIndex=False,
118 # table index for the dropdown menus [ False | -1 ]
119 triggerStyle=False) # used as a dropdown or tab trigger? [ False | "dropdown" | "tab" ]
120 xmatches = khufu.a(
121 content='xmatches',
122 href=request.route_path('xmatches_catalogues'),
123 tableIndex=False,
124 # table index for the dropdown menus [ False | -1 ]
125 triggerStyle=False) # used as a dropdown or tab trigger? [ False | "dropdown" | "tab" ]
127 popover = khufu.popover(
128 tooltip=True,
129 placement="bottom", # [ top | bottom | left | right ]
130 trigger="hover", # [ False | click | hover | focus | manual ]
131 title="report a bug or suggest a new feature",
132 content=False,
133 delay=20
134 )
136 bugTracker = khufu.a(
137 content="""<i class="icon-bug3"></i>""",
138 href="https://github.com/thespacedoctor/marshall_webapp_wiki/issues",
139 openInNewTab=True,
140 popover=popover
141 )
143 href = request.route_path('transients_search')
144 searchbox = khufu.searchbox(
145 size='large',
146 htmlId="q",
147 placeHolder="search by object or pi",
148 navBar=True,
149 pull='right',
150 actionScript=href
151 )
153 insideNavList = khufu.nav_list(
154 itemList=[
155 marshallHome, xmatches, statsHome, pesstoHome, pesstoWiki, observingCalendar, pesstoGroups,
156 pesstoDocs, finderChartsRepo, externalData, members, help, bugTracker],
157 pull='left', # [ False | 'right' | 'left' ]
158 onPhone=True,
159 onTablet=True,
160 onDesktop=True,
161 )
163 outsideNavList = khufu.nav_list(
164 itemList=[searchbox],
165 pull='right', # [ False | 'right' | 'left' ]
166 onPhone=True,
167 onTablet=True,
168 onDesktop=True,
169 )
171 topNavBar = khufu.responsive_navigation_bar(
172 shade='dark',
173 brand=icon,
174 loginDetails=username,
175 outsideNavList=outsideNavList,
176 insideNavList=insideNavList,
177 htmlId=False,
178 onPhone=True,
179 onTablet=True,
180 onDesktop=True
181 )
183 log.debug('completed the ``topNavigationBar`` function')
185 return topNavBar