summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2013-06-18 00:44:59 +0200
committerÉtienne Loks <etienne.loks@peacefrogs.net>2013-06-18 00:44:59 +0200
commitb3a13a43bcc104fcdca32673ecadcdf6338683fd (patch)
treee4bff3180142df7b59470013e393318f1a9c1ba1
parenta1b49aeac0c932c54b06670ee2b35ea946d84f32 (diff)
downloadIshtar-b3a13a43bcc104fcdca32673ecadcdf6338683fd.tar.bz2
Ishtar-b3a13a43bcc104fcdca32673ecadcdf6338683fd.zip
Add a cript to regenerate permissions
-rw-r--r--ishtar_common/management/commands/regenerate_permissions.py39
-rw-r--r--ishtar_common/menu_base.py2
2 files changed, 40 insertions, 1 deletions
diff --git a/ishtar_common/management/commands/regenerate_permissions.py b/ishtar_common/management/commands/regenerate_permissions.py
new file mode 100644
index 000000000..81c56e79e
--- /dev/null
+++ b/ishtar_common/management/commands/regenerate_permissions.py
@@ -0,0 +1,39 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+# Copyright (C) 2013 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet>
+
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# See the file COPYING for details.
+
+import sys
+
+from django.db import models
+from django.core.management.base import BaseCommand, CommandError
+from django.contrib.contenttypes.models import ContentType
+
+from django.contrib.auth.models import Permission
+
+class Command(BaseCommand):
+ args = ''
+ help = 'Regenerate permissions'
+
+ def handle(self, *args, **options):
+ for ct in ContentType.objects.all():
+ model = ct.model_class()
+ if not model:
+ continue
+ for perm_slug, perm_label in model._meta.permissions:
+ Permission.objects.get_or_create(name=perm_label,
+ content_type=ct, codename=perm_slug)
diff --git a/ishtar_common/menu_base.py b/ishtar_common/menu_base.py
index 02e110910..af2501734 100644
--- a/ishtar_common/menu_base.py
+++ b/ishtar_common/menu_base.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
-# Copyright (C) 2012 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet>
+# Copyright (C) 2012-2013 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet>
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as