Switch to unified view

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(