mirror of https://gitlab.federez.net/re2o/re2o
committed by
root
3 changed files with 73 additions and 22 deletions
@ -0,0 +1,43 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.10.7 on 2017-12-31 19:53 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('users', '0066_grouppermissions'), |
|||
] |
|||
|
|||
def transfer_permissions(apps, schema_editor): |
|||
db_alias = schema_editor.connection.alias |
|||
contenttype = apps.get_model("contenttypes", "ContentType") |
|||
rights = apps.get_model("users", "ListRight") |
|||
permissions = apps.get_model("auth", "Permission") |
|||
groups = apps.get_model("auth", "Group") |
|||
machine = apps.get_model("machines", "Machine") |
|||
perm = permissions.objects.using(db_alias).filter(codename='serveur').first() |
|||
if not perm: |
|||
perm = permissions.objects.using(db_alias).create( |
|||
codename='serveur', |
|||
name='Serveur', |
|||
content_type=contenttype.objects.using(db_alias).get_for_model(machine) |
|||
) |
|||
group_object = rights.objects.using(db_alias).filter(unix_name='serveur').first() |
|||
if not group_object: |
|||
last_gid = rights.objects.using(db_alias).all().order_by('gid').last().gid |
|||
gid = last_gid + 1 |
|||
abstract_group = groups.objects.using(db_alias).create(name='serveur') |
|||
group_object = rights.objects.using(db_alias).create(group_ptr=abstract_group, unix_name='serveur', gid=gid) |
|||
group_object = group_object.group_ptr |
|||
group_object.permissions.add(perm) |
|||
group_object.save() |
|||
|
|||
def untransfer_permissions(apps, schema_editor): |
|||
return |
|||
|
|||
operations = [ |
|||
migrations.RunPython(transfer_permissions, untransfer_permissions), |
|||
] |
|||
Loading…
Reference in new issue