Révision eaac238e
Ajouté par Thomas Noël il y a plus de 9 ans
entrouvert/djommon/multitenant/management/commands/__init__.py | ||
---|---|---|
94 | 94 |
https://django-tenant-schemas.readthedocs.org/en/latest/use.html#creating-a-tenant""") |
95 | 95 |
|
96 | 96 |
if options.get('domain'): |
97 |
tenant_schema = options['domain']
|
|
97 |
domain = options['domain']
|
|
98 | 98 |
else: |
99 | 99 |
while True: |
100 |
tenant_schema = input("Enter Tenant Domain ('?' to list schemas): ")
|
|
101 |
if tenant_schema == '?':
|
|
102 |
print('\n'.join(["%s - %s" % (t.schema_name, t.domain_url,) for t in all_tenants]))
|
|
100 |
domain = input("Enter Tenant Domain ('?' to list): ")
|
|
101 |
if domain == '?':
|
|
102 |
print('\n'.join(["%s (schema %s)" % (t.domain_url, t.schema_name) for t in all_tenants]))
|
|
103 | 103 |
else: |
104 | 104 |
break |
105 | 105 |
|
106 |
if tenant_schema not in [t.schema_name for t in all_tenants]:
|
|
107 |
raise CommandError("Invalid tenant schema, '%s'" % (tenant_schema,))
|
|
106 |
if domain not in [t.domain_url for t in all_tenants]:
|
|
107 |
raise CommandError("Invalid tenant, '%s'" % (domain,))
|
|
108 | 108 |
|
109 |
return TenantMiddleware.get_tenant_by_hostname(tenant_schema)
|
|
109 |
return TenantMiddleware.get_tenant_by_hostname(domain)
|
|
110 | 110 |
|
111 | 111 |
|
112 | 112 |
class TenantWrappedCommand(InteractiveTenantOption, BaseCommand): |
... | ... | |
146 | 146 |
self.options = options |
147 | 147 |
|
148 | 148 |
if self.domain: |
149 |
self.schema_name = TenantMiddleware.hostname2schema(domain) |
|
150 |
else: |
|
151 |
self.schema_name = options.get('schema_name') |
|
152 |
|
|
153 |
if self.schema_name: |
|
149 | 154 |
if self.sync_public: |
150 |
raise CommandError("schema should only be used with the --tenant switch.")
|
|
151 |
elif self.domain == get_public_schema_name():
|
|
155 |
raise CommandError("domain should only be used with the --tenant switch.")
|
|
156 |
elif self.schema_name == get_public_schema_name():
|
|
152 | 157 |
self.sync_public = True |
153 | 158 |
else: |
154 | 159 |
self.sync_tenant = True |
Formats disponibles : Unified diff
multitenant: use self.schema_name in SyncCommon (#6420)