diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-11-22 22:39:27 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-11-28 11:40:17 +0100 |
commit | 008343e5b2944ae34fd4b7c721b50bb414446b1d (patch) | |
tree | 44aa25e6e96e365034ff011c3c8d3fa795fa7919 /ishtar_common/migrations/0076_migrate_treatmentfile_permissions.py | |
parent | 22fc81db0fb937e8b89af5f72892c9a3cc5cc1ba (diff) | |
download | Ishtar-008343e5b2944ae34fd4b7c721b50bb414446b1d.tar.bz2 Ishtar-008343e5b2944ae34fd4b7c721b50bb414446b1d.zip |
Sheet: fix treatment file edit
Diffstat (limited to 'ishtar_common/migrations/0076_migrate_treatmentfile_permissions.py')
-rw-r--r-- | ishtar_common/migrations/0076_migrate_treatmentfile_permissions.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/ishtar_common/migrations/0076_migrate_treatmentfile_permissions.py b/ishtar_common/migrations/0076_migrate_treatmentfile_permissions.py new file mode 100644 index 000000000..0defa4efe --- /dev/null +++ b/ishtar_common/migrations/0076_migrate_treatmentfile_permissions.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.10 on 2018-11-22 22:17 +from __future__ import unicode_literals + +from django.db import migrations + + +def migrate_perm(apps, schema_editor): + Permission = apps.get_model('auth', 'Permission') + Group = apps.get_model('auth', 'Group') + for perm in Permission.objects.filter( + codename__icontains='filetreatment').exclude( + codename__icontains='source').all(): + new_codename = perm.codename.replace('filetreatment', 'treatmentfile') + q = Permission.objects.filter( + codename=new_codename).exclude(pk=perm.pk) + if q.count(): + for gp in Group.objects.filter(permissions=q.all()[0]): + gp.permissions.add(perm) + q.all()[0].delete() + print(new_codename) + perm.codename = new_codename + perm.save() + + +class Migration(migrations.Migration): + + dependencies = [ + ('ishtar_common', '0075_auto_20181108_1908'), + ] + + operations = [ + migrations.RunPython(migrate_perm) + ] |