# Generated by Django 2.2.9 on 2020-02-16 11:09 import django.contrib.postgres.fields from django.db import migrations, models 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", "Value": "{user.email}", }, {"FriendlyName": "cn", "Name": "urn:oid:2.5.4.3", "Value": "{user.name}",}, { "FriendlyName": "mail", "Name": "urn:oid:0.9.2342.19200300.100.1.3", "Value": "{user.email}", }, { "FriendlyName": "displayName", "Name": "urn:oid:2.16.840.1.113730.3.1.241", "Value": "{user.username}", }, { "FriendlyName": "uid", "Name": "urn:oid:0.9.2342.19200300.100.1.1", "Value": "{user.pk}", }, ] for default in defaults: SAMLPropertyMapping.objects.using(db_alias).get_or_create( saml_name=default["Name"], friendly_name=default["FriendlyName"], values=[default["Value"]], defaults={ "name": f"Autogenerated SAML Mapping: {default['FriendlyName']} -> {default['Value']}" }, ) class Migration(migrations.Migration): dependencies = [ ("passbook_providers_saml", "0002_auto_20200214_1354"), ] operations = [ migrations.AlterField( model_name="samlpropertymapping", name="saml_name", field=models.TextField(verbose_name="SAML Name"), ), migrations.AlterField( model_name="samlpropertymapping", name="values", field=django.contrib.postgres.fields.ArrayField( base_field=models.TextField(), help_text="This string can contain string substitutions delimited by {}. The following Variables are available: user, request", size=None, ), ), migrations.AlterField( model_name="samlprovider", name="acs_url", field=models.URLField(verbose_name="ACS URL"), ), migrations.AlterField( model_name="samlprovider", name="signing_cert", field=models.TextField(verbose_name="Singing Certificate"), ), migrations.RunPython(create_default_property_mappings), ]