Projet

Général

Profil

0001-multitenant-add-filtering-to-interactive-tenant-sele.patch

Frédéric Péters, 14 août 2018 10:15

Télécharger (2,22 ko)

Voir les différences:

Subject: [PATCH] multitenant: add filtering to interactive tenant selection
 (#25677)

 .../management/commands/__init__.py           | 23 +++++++++++--------
 1 file changed, 13 insertions(+), 10 deletions(-)
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
-