]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/dashboard: simplify URL routing, /rgw/detail/<id> -> /rgw/<id>
authorChang Liu <liuchang0812@gmail.com>
Fri, 22 Dec 2017 03:36:12 +0000 (11:36 +0800)
committerChang Liu <liuchang0812@gmail.com>
Fri, 22 Dec 2017 07:19:59 +0000 (15:19 +0800)
Signed-off-by: Chang Liu <liuchang0812@gmail.com>
src/pybind/mgr/dashboard/module.py
src/pybind/mgr/dashboard/rgw.py

index d48f599373ce82f094366daf3ffa870b214221ef..4d18b3c979851544f4f03d98db9d3592302b3a03 100644 (file)
@@ -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)
index 37331c54ef9812df6ac67ab43078d35ad198cc99..8af485e29230b81526c049c01fc5e6f59ba7e479 100644 (file)
@@ -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)