mirror of
https://github.com/ansible/awx.git
synced 2026-03-03 09:48:51 -03:30
Merge pull request #3034 from chrismeyersfsu/fix-ldap_params
at migration time, validate ldap group type params
This commit is contained in:
18
awx/conf/migrations/0006_v331_ldap_group_type.py
Normal file
18
awx/conf/migrations/0006_v331_ldap_group_type.py
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
# AWX
|
||||||
|
from awx.conf.migrations._ldap_group_type import fill_ldap_group_type_params
|
||||||
|
|
||||||
|
from django.db import migrations
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('conf', '0005_v330_rename_two_session_settings'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.RunPython(fill_ldap_group_type_params),
|
||||||
|
]
|
||||||
30
awx/conf/migrations/_ldap_group_type.py
Normal file
30
awx/conf/migrations/_ldap_group_type.py
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
|
||||||
|
import inspect
|
||||||
|
|
||||||
|
from django.conf import settings
|
||||||
|
from django.utils.timezone import now
|
||||||
|
|
||||||
|
|
||||||
|
def fill_ldap_group_type_params(apps, schema_editor):
|
||||||
|
group_type = settings.AUTH_LDAP_GROUP_TYPE
|
||||||
|
Setting = apps.get_model('conf', 'Setting')
|
||||||
|
|
||||||
|
group_type_params = {'name_attr': 'cn', 'member_attr': 'member'}
|
||||||
|
qs = Setting.objects.filter(key='AUTH_LDAP_GROUP_TYPE_PARAMS')
|
||||||
|
entry = None
|
||||||
|
if qs.exists():
|
||||||
|
entry = qs[0]
|
||||||
|
group_type_params = entry.value
|
||||||
|
else:
|
||||||
|
entry = Setting(key='AUTH_LDAP_GROUP_TYPE_PARAMS',
|
||||||
|
value=group_type_params,
|
||||||
|
created=now(),
|
||||||
|
modified=now())
|
||||||
|
|
||||||
|
init_attrs = set(inspect.getargspec(group_type.__init__).args[1:])
|
||||||
|
for k in group_type_params.keys():
|
||||||
|
if k not in init_attrs:
|
||||||
|
del group_type_params[k]
|
||||||
|
|
||||||
|
entry.value = group_type_params
|
||||||
|
entry.save()
|
||||||
Reference in New Issue
Block a user