Switch to unified view

a/Allura/allura/app.py b/Allura/allura/app.py
...
...
224
        Apps should override this to provide their menu
224
        Apps should override this to provide their menu
225
        :return: a list of :class:`SitemapEntries <allura.app.SitemapEntry>`
225
        :return: a list of :class:`SitemapEntries <allura.app.SitemapEntry>`
226
        """
226
        """
227
        return []
227
        return []
228
228
229
    def admin_menu(self):
229
    def admin_menu(self, force_options=False):
230
        """
230
        """
231
        Apps may override this to provide additional admin menu items
231
        Apps may override this to provide additional admin menu items
232
        :return: a list of :class:`SitemapEntries <allura.app.SitemapEntry>`
232
        :return: a list of :class:`SitemapEntries <allura.app.SitemapEntry>`
233
        """
233
        """
234
        admin_url = c.project.url()+'admin/'+self.config.options.mount_point+'/'
234
        admin_url = c.project.url()+'admin/'+self.config.options.mount_point+'/'
235
        links = []
235
        links = []
236
        if self.permissions and has_access(c.project, 'admin')():
236
        if self.permissions and has_access(c.project, 'admin')():
237
            links.append(SitemapEntry('Permissions', admin_url + 'permissions', className='nav_child'))
237
            links.append(SitemapEntry('Permissions', admin_url + 'permissions', className='nav_child'))
238
        if len(self.config_options) > 3:
238
        if force_options or len(self.config_options) > 3:
239
            links.append(SitemapEntry('Options', admin_url + 'options', className='admin_modal'))
239
            links.append(SitemapEntry('Options', admin_url + 'options', className='admin_modal'))
240
        links.append(SitemapEntry('Label', admin_url + 'edit_label', className='admin_modal'))
240
        return links
241
        return links
241
242
242
    def handle_message(self, topic, message):
243
    def handle_message(self, topic, message):
243
        '''Handle incoming email msgs addressed to this tool'''
244
        '''Handle incoming email msgs addressed to this tool'''
244
        pass
245
        pass
...
...
309
        return dict(
310
        return dict(
310
            app=self.app,
311
            app=self.app,
311
            allow_config=has_access(c.project, 'admin')(),
312
            allow_config=has_access(c.project, 'admin')(),
312
            permissions=permissions)
313
            permissions=permissions)
313
314
315
    @expose('jinja:allura:templates/app_admin_edit_label.html')
316
    def edit_label(self):
317
        return dict(
318
            app=self.app,
319
            allow_config=has_access(self.app, 'configure')())
320
321
    @expose()
322
    @require_post()
323
    def update_label(self, mount_label):
324
        require_access(self.app, 'configure')
325
        self.app.config.options['mount_label'] = mount_label
326
        redirect(request.referer)
327
314
    @expose('jinja:allura:templates/app_admin_options.html')
328
    @expose('jinja:allura:templates/app_admin_options.html')
315
    def options(self):
329
    def options(self):
316
        return dict(
330
        return dict(
317
            app=self.app,
331
            app=self.app,
318
            allow_config=has_access(self.app, 'configure')())
332
            allow_config=has_access(self.app, 'configure')())