Example #1
0
def auth_with_token(request,
                    data,
                    token_id,
                    tenant_id=None,
                    region=None,
                    show_error=False):
    try:
        try:
            tenants = api.tenant_list_for_token_and_region(
                request, token_id, region)
        except api.ServiceCatalogException, e:
            tenants = api.tenant_list_for_token(request, token_id)

        if tenant_id:
            for t in tenants:
                if t.id == tenant_id:
                    tenant = t
        else:
            tenant = tenants[0] if len(tenants) else None

        # Abort if there are no valid tenants for this user
        if not tenant:
            messages.error(
                request, 'No tenants present for user: %s' % data['username'])
            return
        # Create a token
        LOG.info('tokencreate')
        token = api.token_create_scoped_with_token_and_region(
            request, tenant.id, token_id, region)

        # set tanent info for region
        set_tenant_for_region(request, tenant, region)

        return token
Example #2
0
def auth_with_token(request, data, token_id, tenant_id = None, region=None, show_error=False):
    try:
        try:
            tenants = api.tenant_list_for_token_and_region(request, token_id, region)
        except api.ServiceCatalogException, e:
            tenants = api.tenant_list_for_token(request, token_id)

        if tenant_id:
            for t in tenants:
                if t.id == tenant_id:
                    tenant = t
        else:
            tenant = tenants[0] if len(tenants) else None

        # Abort if there are no valid tenants for this user
        if not tenant:
            messages.error(request, 'No tenants present for user: %s' %
                                    data['username'])
            return
        # Create a token
        LOG.info('tokencreate')
        token = api.token_create_scoped_with_token_and_region(request,
                                 tenant.id,
                                 token_id,
                                 region)

        # set tanent info for region
        set_tenant_for_region(request, tenant, region)

        return token
Example #3
0
def tenants(request):
    if not request.user or not request.user.is_authenticated():
        return {}

    try:
        try:
            tenants = api.tenant_list_for_token_and_region(
                request, api.token_for_region(request),
                request.session.get('region', None))
        except api.ServiceCatalogException, e:
            tenants = api.tenant_list_for_token(request, request.user.token)
        return {'tenants': tenants}
Example #4
0
def tenants(request):
    if not request.user or not request.user.is_authenticated():
        return {}

    try:
        try:
            tenants = api.tenant_list_for_token_and_region(request, 
                       api.token_for_region(request),
                       request.session.get('region', None))
        except api.ServiceCatalogException, e:
            tenants = api.tenant_list_for_token(request, request.user.token)
        return {'tenants': tenants }