diff options
-rw-r--r-- | chimere/migrations/0042_fix_rights.py | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/chimere/migrations/0042_fix_rights.py b/chimere/migrations/0042_fix_rights.py index 50bb5ad..53dd0ab 100644 --- a/chimere/migrations/0042_fix_rights.py +++ b/chimere/migrations/0042_fix_rights.py @@ -17,22 +17,21 @@ class Migration(DataMigration): if not new_ct.name and ct.name: new_ct.name = ct.name new_ct.save() - try: - perm = Permission.objects.get(content_type=ct) - except: - ct.delete() - continue - new_perm, n = Permission.objects.get_or_create(content_type=new_ct, - defaults={'name':perm.name, 'codename':perm.codename}) - groups = Group.objects.filter(permissions=perm).distinct() - for group in groups.all(): - group.permissions.remove(perm) - group.permissions.add(new_perm) - users = User.objects.filter(user_permissions=perm).distinct() - for user in users.all(): - user.user_permissions.remove(perm) - user.user_permissions.add(new_perm) - perm.delete() + for perm in Permission.objects.filter(content_type_id=ct.pk).all(): + new_perm, n = Permission.objects.get_or_create( + content_type=new_ct, codename=perm.codename, + defaults={'name':perm.name}) + groups = Group.objects.filter(permissions=perm).distinct() + for group in groups.all(): + print "youpi" + group.permissions.remove(perm) + group.permissions.add(new_perm) + users = User.objects.filter(user_permissions=perm).distinct() + for user in users.all(): + print "youpiI" + user.user_permissions.remove(perm) + user.user_permissions.add(new_perm) + perm.delete() ct.delete() def backwards(self, orm): |