2009-06-11 23:57:08 +00:00
|
|
|
import sys
|
2009-07-09 23:21:08 +00:00
|
|
|
from authority.sites import site, get_check, get_choices_for, register, unregister
|
2009-07-09 23:07:20 +00:00
|
|
|
|
2009-06-08 10:00:44 +00:00
|
|
|
LOADING = False
|
|
|
|
|
|
|
|
|
|
def autodiscover():
|
|
|
|
|
"""
|
|
|
|
|
Goes and imports the permissions submodule of every app in INSTALLED_APPS
|
|
|
|
|
to make sure the permission set classes are registered correctly.
|
|
|
|
|
"""
|
|
|
|
|
global LOADING
|
|
|
|
|
if LOADING:
|
|
|
|
|
return
|
|
|
|
|
LOADING = True
|
|
|
|
|
|
|
|
|
|
import imp
|
|
|
|
|
from django.conf import settings
|
|
|
|
|
|
|
|
|
|
for app in settings.INSTALLED_APPS:
|
|
|
|
|
try:
|
2009-06-11 23:57:08 +00:00
|
|
|
__import__(app)
|
|
|
|
|
app_path = sys.modules[app].__path__
|
2009-06-08 10:00:44 +00:00
|
|
|
except AttributeError:
|
|
|
|
|
continue
|
|
|
|
|
try:
|
|
|
|
|
imp.find_module('permissions', app_path)
|
|
|
|
|
except ImportError:
|
|
|
|
|
continue
|
2009-06-11 23:57:08 +00:00
|
|
|
__import__("%s.permissions" % app)
|
|
|
|
|
app_path = sys.modules["%s.permissions" % app]
|
2009-06-08 10:00:44 +00:00
|
|
|
LOADING = False
|