Return a JSON document listing the server groups for the user
(self, gid=None)
| 402 | |
| 403 | @pga_login_required |
| 404 | def nodes(self, gid=None): |
| 405 | """Return a JSON document listing the server groups for the user""" |
| 406 | nodes = [] |
| 407 | if gid is None: |
| 408 | if config.SERVER_MODE: |
| 409 | |
| 410 | groups = self.get_all_server_groups() |
| 411 | else: |
| 412 | groups = ServerGroup.query.filter_by(user_id=current_user.id) |
| 413 | |
| 414 | for group in groups: |
| 415 | icon_class, is_shared = get_icon_css_class(group.id, |
| 416 | group.user_id) |
| 417 | nodes.append( |
| 418 | self.blueprint.generate_browser_node( |
| 419 | "%d" % group.id, |
| 420 | None, |
| 421 | group.name, |
| 422 | icon_class, |
| 423 | True, |
| 424 | self.node_type, |
| 425 | is_shared=is_shared |
| 426 | ) |
| 427 | ) |
| 428 | else: |
| 429 | group = get_server_group(gid) |
| 430 | |
| 431 | if not group: |
| 432 | return gone( |
| 433 | errormsg=gettext("Could not find the server group.") |
| 434 | ) |
| 435 | |
| 436 | icon_class, is_shared = get_icon_css_class(group.id, |
| 437 | group.user_id) |
| 438 | nodes = self.blueprint.generate_browser_node( |
| 439 | "%d" % (group.id), None, |
| 440 | group.name, |
| 441 | icon_class, |
| 442 | True, |
| 443 | self.node_type, |
| 444 | is_shared=is_shared |
| 445 | ) |
| 446 | |
| 447 | return make_json_response(data=nodes) |
| 448 | |
| 449 | def node(self, gid): |
| 450 | return self.nodes(gid) |
no test coverage detected