Projet

Général

Profil

« Précédent | Suivant » 

Révision eaac238e

Ajouté par Thomas Noël il y a plus de 9 ans

multitenant: use self.schema_name in SyncCommon (#6420)

Voir les différences:

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