From 99906c1d0db30454f1d3c12d2076abe05939ab0d Mon Sep 17 00:00:00 2001 From: Adam Griffiths Date: Mon, 11 Jul 2016 16:50:36 +1000 Subject: [PATCH 1/2] Add 'manage.py org list' command 'org list' simply prints out the organizations. --- redash/cli/organization.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/redash/cli/organization.py b/redash/cli/organization.py index 0115dc7e9..2e8bc6bfb 100644 --- a/redash/cli/organization.py +++ b/redash/cli/organization.py @@ -18,3 +18,14 @@ def set_google_apps_domains(domains): def show_google_apps_domains(): organization = models.Organization.select().first() print "Current list of Google Apps domains: {}".format(organization.google_apps_domains) + + +@manager.command +def list(): + """List all organizations""" + orgs = models.Organization.select() + for i, org in enumerate(orgs): + if i > 0: + print "-" * 20 + + print "Id: {}\nName: {}\nSlug: {}".format(org.id, org.name, org.slug) From 697e377bec83789ba9c9a250810ea46809e4bf36 Mon Sep 17 00:00:00 2001 From: Adam Griffiths Date: Mon, 11 Jul 2016 16:57:07 +1000 Subject: [PATCH 2/2] Add 'manage.py groups list' command 'groups list' simply prints out groups. --org option is provided, limits printing to groups of the specified organization. --org accepts organization slugs. --- redash/cli/groups.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/redash/cli/groups.py b/redash/cli/groups.py index a3afd7109..f74a6a906 100644 --- a/redash/cli/groups.py +++ b/redash/cli/groups.py @@ -49,3 +49,19 @@ def extract_permissions_string(permissions): permissions = permissions.split(',') permissions = [p.strip() for p in permissions] return permissions + + +@manager.option('--org', dest='organization', default=None, help="The organization to limit to (leave blank for all).") +def list(organization=None): + """List all groups""" + if organization: + org = models.Organization.get_by_slug(organization) + groups = models.Group.select().where(models.Group.org == org) + else: + groups = models.Group.select() + + for i, group in enumerate(groups): + if i > 0: + print "-" * 20 + + print "Id: {}\nName: {}\nType: {}\nOrganization: {}".format(group.id, group.name, group.type, group.org.slug)