From e9ae997481ad9fe9fed8bfe4bd8c5641d03f4b84 Mon Sep 17 00:00:00 2001 From: Xavier-Do Date: Fri, 9 Feb 2024 08:30:04 +0100 Subject: [PATCH] [IMP] runbot: allow bundle access per name --- runbot/controllers/frontend.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/runbot/controllers/frontend.py b/runbot/controllers/frontend.py index b48a722a..6aece6d1 100644 --- a/runbot/controllers/frontend.py +++ b/runbot/controllers/frontend.py @@ -184,9 +184,15 @@ class Runbot(Controller): @route([ '/runbot/bundle/', - '/runbot/bundle//page/' + '/runbot/bundle//page/', + '/runbot/bundle/', ], website=True, auth='public', type='http', sitemap=False) def bundle(self, bundle=None, page=1, limit=50, **kwargs): + if isinstance(bundle, str): + bundle = request.env['runbot.bundle'].search([('name', '=', bundle)], limit=1, order='id') + if not bundle: + raise NotFound + return werkzeug.utils.redirect(f'/runbot/bundle/{slug(bundle)}') domain = [('bundle_id', '=', bundle.id), ('hidden', '=', False)] batch_count = request.env['runbot.batch'].search_count(domain) pager = request.website.pager( @@ -202,8 +208,8 @@ class Runbot(Controller): 'batchs': batchs, 'pager': pager, 'project': bundle.project_id, - 'title': 'Bundle %s' % bundle.name - } + 'title': 'Bundle %s' % bundle.name, + } return request.render('runbot.bundle', context)