From c7e2ab548d7f542a027e9c8649d17de2bef3d81f Mon Sep 17 00:00:00 2001 From: Chang Liu Date: Fri, 22 Dec 2017 11:36:12 +0800 Subject: [PATCH] mgr/dashboard: simplify URL routing, /rgw/detail/ -> /rgw/ Signed-off-by: Chang Liu --- src/pybind/mgr/dashboard/module.py | 48 ++++++++++++++++-------------- src/pybind/mgr/dashboard/rgw.py | 2 +- 2 files changed, 26 insertions(+), 24 deletions(-) diff --git a/src/pybind/mgr/dashboard/module.py b/src/pybind/mgr/dashboard/module.py index d48f599373ce8..4d18b3c979851 100644 --- a/src/pybind/mgr/dashboard/module.py +++ b/src/pybind/mgr/dashboard/module.py @@ -1117,24 +1117,37 @@ class Module(MgrModule): content_data=json.dumps(content_data, indent=2) ) + @cherrypy.popargs('rgw_id') class RGWEndpoint(EndPoint): @cherrypy.expose - def index(self): - """ List all RGW servers """ + def index(self, rgw_id=None): + if rgw_id is not None: + template = env.get_template("rgw_detail.html") + toplevel_data = self._toplevel_data() + return template.render( + url_prefix=global_instance().url_prefix, + ceph_version=global_instance().version, + path_info='/rgw' + cherrypy.request.path_info, + toplevel_data=json.dumps(toplevel_data, indent=2), + content_data=json.dumps(self.rgw_data(rgw_id), indent=2) + ) + else: - template = env.get_template("rgw.html") - toplevel_data = self._toplevel_data() + """ List all RGW servers """ - content_data = self._rgw_daemons() + template = env.get_template("rgw.html") + toplevel_data = self._toplevel_data() - return template.render( - url_prefix = global_instance().url_prefix, - ceph_version=global_instance().version, - path_info='/rgw' + cherrypy.request.path_info, - toplevel_data=json.dumps(toplevel_data, indent=2), - content_data=json.dumps(content_data, indent=2) - ) + content_data = self._rgw_daemons() + + return template.render( + url_prefix = global_instance().url_prefix, + ceph_version=global_instance().version, + path_info='/rgw' + cherrypy.request.path_info, + toplevel_data=json.dumps(toplevel_data, indent=2), + content_data=json.dumps(content_data, indent=2) + ) def _rgw_daemons(self): status, data = global_instance().rgw_daemons.get() @@ -1168,17 +1181,6 @@ class Module(MgrModule): } @cherrypy.expose - def detail(self, rgw_id): - template = env.get_template("rgw_detail.html") - toplevel_data = self._toplevel_data() - return template.render( - url_prefix=global_instance().url_prefix, - ceph_version=global_instance().version, - path_info='/rgw' + cherrypy.request.path_info, - toplevel_data=json.dumps(toplevel_data, indent=2), - content_data=json.dumps(self.rgw_data(rgw_id), indent=2) - ) - @cherrypy.expose @cherrypy.tools.json_out() def rgw_data(self, rgw_id): return self._rgw(rgw_id) diff --git a/src/pybind/mgr/dashboard/rgw.py b/src/pybind/mgr/dashboard/rgw.py index 37331c54ef981..8af485e29230b 100644 --- a/src/pybind/mgr/dashboard/rgw.py +++ b/src/pybind/mgr/dashboard/rgw.py @@ -38,7 +38,7 @@ class RGWDaemons(RemoteViewCache): 'server': server, 'metadata': metadata, 'status': status, - 'url': "/rgw/detail/{0}".format(service['id']) + 'url': "/rgw/{0}".format(service['id']) } daemons.append(daemon) -- 2.39.5