Hide keyboard shortcuts

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* 

5 

6:Author: 

7 David Young 

8""" 

9import sys 

10import os 

11import khufu 

12 

13def topnavbar(log, 

14 request): 

15 """ 

16 Get a top navigation bar for the pessto marshall. 

17 

18 **Key Arguments** 

19 

20 - ``log`` -- logger 

21  

22 

23 **Return** 

24 

25 - ``topNavBar`` -- the top navigation bar for the pessto marshall 

26  

27 """ 

28 log.debug('starting the ``topNavigationBar`` function') 

29 

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 ) 

45 

46 src = request.static_path( 

47 'marshall_webapp:static/images/home_button_body.png') 

48 

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 ) 

61 

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')) 

71 

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" ] 

126 

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 ) 

135 

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 ) 

142 

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 ) 

152 

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 ) 

162 

163 outsideNavList = khufu.nav_list( 

164 itemList=[searchbox], 

165 pull='right', # [ False | 'right' | 'left' ] 

166 onPhone=True, 

167 onTablet=True, 

168 onDesktop=True, 

169 ) 

170 

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 ) 

182 

183 log.debug('completed the ``topNavigationBar`` function') 

184 

185 return topNavBar