# Generated by Django 3.0.6 on 2020-05-23 19:32 from django.db import migrations def create_default_property_mappings(apps, schema_editor): """Create default SAML Property Mappings""" SAMLPropertyMapping = apps.get_model( "passbook_providers_saml", "SAMLPropertyMapping" ) db_alias = schema_editor.connection.alias defaults = [ { "FriendlyName": "eduPersonPrincipalName", "Name": "urn:oid:1.3.6.1.4.1.5923.1.1.1.6", "Expression": "return user.email", }, { "FriendlyName": "cn", "Name": "urn:oid:2.5.4.3", "Expression": "return user.name", }, { "FriendlyName": "mail", "Name": "urn:oid:0.9.2342.19200300.100.1.3", "Expression": "return user.email", }, { "FriendlyName": "displayName", "Name": "urn:oid:2.16.840.1.113730.3.1.241", "Expression": "return user.username", }, { "FriendlyName": "uid", "Name": "urn:oid:0.9.2342.19200300.100.1.1", "Expression": "return user.pk", }, { "FriendlyName": "member-of", "Name": "member-of", "Expression": "for group in user.groups.all():\n yield group.name", }, ] for default in defaults: SAMLPropertyMapping.objects.using(db_alias).get_or_create( saml_name=default["Name"], friendly_name=default["FriendlyName"], expression=default["Expression"], defaults={ "name": f"Autogenerated SAML Mapping: {default['FriendlyName']} -> {default['Expression']}" }, ) class Migration(migrations.Migration): dependencies = [ ("passbook_providers_saml", "0001_initial"), ] operations = [ migrations.RunPython(create_default_property_mappings), ]