|
a/ForgeTracker/forgetracker/tracker_main.py |
|
b/ForgeTracker/forgetracker/tracker_main.py |
|
... |
|
... |
135 |
SitemapEntry('Edit Searches', admin_url + 'bins/')]
|
135 |
SitemapEntry('Edit Searches', admin_url + 'bins/')]
|
136 |
if self.permissions and has_access(self, 'configure')():
|
136 |
if self.permissions and has_access(self, 'configure')():
|
137 |
links.append(SitemapEntry('Permissions', admin_url + 'permissions', className='nav_child'))
|
137 |
links.append(SitemapEntry('Permissions', admin_url + 'permissions', className='nav_child'))
|
138 |
return links
|
138 |
return links
|
139 |
|
139 |
|
|
|
140 |
@h.exceptionless([], log)
|
140 |
def sidebar_menu(self):
|
141 |
def sidebar_menu(self):
|
141 |
search_bins = []
|
142 |
search_bins = []
|
142 |
milestones = []
|
143 |
milestones = []
|
143 |
ticket = request.path_info.split(self.url)[-1].split('/')[0]
|
144 |
ticket = request.path_info.split(self.url)[-1].split('/')[0]
|
144 |
for bin in self.bins:
|
145 |
for bin in self.bins:
|
145 |
label = bin.shorthand_id()
|
146 |
label = bin.shorthand_id()
|
|
|
147 |
try:
|
146 |
search_bins.append(SitemapEntry(
|
148 |
search_bins.append(SitemapEntry(
|
147 |
h.text.truncate(label, 72), bin.url(), className='nav_child',
|
149 |
h.text.truncate(label, 72), bin.url(), className='nav_child',
|
148 |
small=c.app.globals.bin_count(label)['hits']))
|
150 |
small=c.app.globals.bin_count(label)['hits']))
|
|
|
151 |
except ValueError:
|
|
|
152 |
log.info('Ticket bin %s search failed for project %s' % (label, c.project.shortname))
|
149 |
for fld in c.app.globals.milestone_fields:
|
153 |
for fld in c.app.globals.milestone_fields:
|
150 |
milestones.append(SitemapEntry(h.text.truncate(fld.label, 72)))
|
154 |
milestones.append(SitemapEntry(h.text.truncate(fld.label, 72)))
|
151 |
for m in getattr(fld, "milestones", []):
|
155 |
for m in getattr(fld, "milestones", []):
|
152 |
if m.complete: continue
|
156 |
if m.complete: continue
|
153 |
milestones.append(
|
157 |
milestones.append(
|