0001-multitenant-add-filtering-to-interactive-tenant-sele.patch
hobo/multitenant/management/commands/__init__.py | ||
---|---|---|
103 | 103 |
else: |
104 | 104 |
if connection.get_tenant().schema_name != 'public': |
105 | 105 |
return connection.get_tenant() |
106 |
displayed_tenants = all_tenants |
|
106 | 107 |
while True: |
107 | 108 |
domain = input("Enter Tenant Domain ('?' to list): ") |
109 |
if domain in [t.domain_url for t in all_tenants]: |
|
110 |
break |
|
111 |
try: |
|
112 |
domain = displayed_tenants[int(domain)-1].domain_url |
|
113 |
break |
|
114 |
except (ValueError, IndexError): |
|
115 |
pass |
|
108 | 116 |
if domain == '?': |
109 |
for i, tenant in enumerate(all_tenants): |
|
110 |
print("[%2d] %s (schema %s)" % ( |
|
111 |
i+1, tenant.domain_url, tenant.schema_name)) |
|
117 |
displayed_tenants = all_tenants |
|
112 | 118 |
else: |
113 |
break |
|
114 | ||
115 |
if domain not in [t.domain_url for t in all_tenants]: |
|
116 |
try: |
|
117 |
domain = all_tenants[int(domain)-1].domain_url |
|
118 |
except (ValueError, IndexError): |
|
119 |
raise CommandError("Invalid tenant, '%s'" % (domain,)) |
|
119 |
displayed_tenants = [x for x in all_tenants if domain in x.domain_url] |
|
120 |
for i, tenant in enumerate(displayed_tenants): |
|
121 |
print("[%2d] %s (schema %s)" % ( |
|
122 |
i+1, tenant.domain_url, tenant.schema_name)) |
|
120 | 123 | |
121 | 124 |
return TenantMiddleware.get_tenant_by_hostname(domain) |
122 | 125 | |
123 |
- |