From 94c5bda1c13960f8626b3c8e8ec47d9e3005f792 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Mon, 5 Dec 2011 23:10:44 -0600 Subject: 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 --- .../commands/update_types_permissions.py | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 devel/management/commands/update_types_permissions.py (limited to 'devel') diff --git a/devel/management/commands/update_types_permissions.py b/devel/management/commands/update_types_permissions.py new file mode 100644 index 0000000..bbe8dc4 --- /dev/null +++ b/devel/management/commands/update_types_permissions.py @@ -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 = '' + 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: -- cgit v1.2.3-24-g4f1b