Revision 6012535a

b/snf-astakos-app/astakos/im/auth_providers.py
44 44
logger = logging.getLogger(__name__)
45 45

  
46 46
# providers registry
47
PROVIDERS = SortedDict()
48
_PROVIDERS = {}
47
PROVIDERS = {}
49 48

  
50 49
class AuthProviderBase(type):
51 50

  
......
60 59

  
61 60
        newcls = super(AuthProviderBase, cls).__new__(cls, name, bases, dct)
62 61
        if include:
63
            _PROVIDERS[type_id] = newcls
62
            PROVIDERS[type_id] = newcls
64 63
        return newcls
65 64

  
66 65

  
......
172 171
    """
173 172
    return PROVIDERS.get(id, default)(user_obj)
174 173

  
175

  
176
for module in astakos_settings.IM_MODULES:
177
    if module in _PROVIDERS:
178
        PROVIDERS[module] = _PROVIDERS[module]
179

  
b/snf-astakos-app/astakos/im/context_processors.py
48 48
    return {'im_modules': IM_MODULES}
49 49

  
50 50
def auth_providers(request):
51
    active_auth_providers = filter(lambda p:p.module_enabled,
52
                                     AUTH_PROVIDERS.itervalues())
53
    auth_providers = map(lambda p: p(), active_auth_providers)
54
    return {'auth_providers': auth_providers,
55
            'master_auth_provider': auth_providers[0]}
51
    active_auth_providers = []
52
    for module in IM_MODULES:
53
        provider = AUTH_PROVIDERS.get(module)
54
        if provider:
55
            active_auth_providers.append(provider)
56

  
57
    return {'auth_providers': active_auth_providers,
58
            'master_auth_provider': active_auth_providers[0]}
56 59

  
57 60
def next(request):
58 61
    return {'next': get_query(request).get('next', '')}

Also available in: Unified diff