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:
parent
09e7d2706e
commit
94c5bda1c1
25
devel/management/commands/update_types_permissions.py
Normal file
25
devel/management/commands/update_types_permissions.py
Normal 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:
|
Loading…
Reference in New Issue
Block a user