Add a stub admin command to help fix permissions/content types

I needed this today to get the application working from scratch on
another host.  Probably not all there yet, but we'll see how far it gets
us.

Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
Dan McGee 2011-12-05 23:10:44 -06:00
parent 09e7d2706e
commit 94c5bda1c1

View File

@ -0,0 +1,25 @@
from django.core.management.base import BaseCommand
from django.db.models import get_models, get_app
from django.contrib.auth.management import create_permissions
from django.contrib.contenttypes.management import update_contenttypes
class Command(BaseCommand):
args = '<app app ...>'
help = 'reloads permissions for specified apps, or all apps if no args are specified'
def handle(self, *args, **options):
if not args:
apps = []
for model in get_models():
apps.append(get_app(model._meta.app_label))
else:
apps = []
for arg in args:
apps.append(get_app(arg))
for app in apps:
update_contenttypes(app, None, options.get('verbosity', 2), interactive=True)
create_permissions(app, get_models(), options.get('verbosity', 0))
# vim: set ts=4 sw=4 et: