*: propertymapping template -> expression
This commit is contained in:
		| @ -43,7 +43,7 @@ class SAMLPropertyMappingSerializer(ModelSerializer): | ||||
|     class Meta: | ||||
|  | ||||
|         model = SAMLPropertyMapping | ||||
|         fields = ["pk", "name", "saml_name", "friendly_name", "template"] | ||||
|         fields = ["pk", "name", "saml_name", "friendly_name", "expression"] | ||||
|  | ||||
|  | ||||
| class SAMLPropertyMappingViewSet(ModelViewSet): | ||||
|  | ||||
| @ -64,7 +64,7 @@ class SAMLPropertyMappingForm(forms.ModelForm): | ||||
|     class Meta: | ||||
|  | ||||
|         model = SAMLPropertyMapping | ||||
|         fields = ["name", "saml_name", "friendly_name", "template"] | ||||
|         fields = ["name", "saml_name", "friendly_name", "expression"] | ||||
|         widgets = { | ||||
|             "name": forms.TextInput(), | ||||
|             "saml_name": forms.TextInput(), | ||||
|  | ||||
| @ -23,41 +23,41 @@ def create_default_property_mappings(apps, schema_editor): | ||||
|         { | ||||
|             "FriendlyName": "eduPersonPrincipalName", | ||||
|             "Name": "urn:oid:1.3.6.1.4.1.5923.1.1.1.6", | ||||
|             "Template": "{{ user.email }}", | ||||
|             "Expression": "{{ user.email }}", | ||||
|         }, | ||||
|         { | ||||
|             "FriendlyName": "cn", | ||||
|             "Name": "urn:oid:2.5.4.3", | ||||
|             "Template": "{{ user.name }}", | ||||
|             "Expression": "{{ user.name }}", | ||||
|         }, | ||||
|         { | ||||
|             "FriendlyName": "mail", | ||||
|             "Name": "urn:oid:0.9.2342.19200300.100.1.3", | ||||
|             "Template": "{{ user.email }}", | ||||
|             "Expression": "{{ user.email }}", | ||||
|         }, | ||||
|         { | ||||
|             "FriendlyName": "displayName", | ||||
|             "Name": "urn:oid:2.16.840.1.113730.3.1.241", | ||||
|             "Template": "{{ user.username }}", | ||||
|             "Expression": "{{ user.username }}", | ||||
|         }, | ||||
|         { | ||||
|             "FriendlyName": "uid", | ||||
|             "Name": "urn:oid:0.9.2342.19200300.100.1.1", | ||||
|             "Template": "{{ user.pk }}", | ||||
|             "Expression": "{{ user.pk }}", | ||||
|         }, | ||||
|         { | ||||
|             "FriendlyName": "member-of", | ||||
|             "Name": "member-of", | ||||
|             "Template": "[{% for group in user.groups.all() %}'{{ group.name }}',{% endfor %}]", | ||||
|             "Expression": "[{% for group in user.groups.all() %}'{{ group.name }}',{% endfor %}]", | ||||
|         }, | ||||
|     ] | ||||
|     for default in defaults: | ||||
|         SAMLPropertyMapping.objects.using(db_alias).get_or_create( | ||||
|             saml_name=default["Name"], | ||||
|             friendly_name=default["FriendlyName"], | ||||
|             template=default["Template"], | ||||
|             expression=default["Expression"], | ||||
|             defaults={ | ||||
|                 "name": f"Autogenerated SAML Mapping: {default['FriendlyName']} -> {default['Template']}" | ||||
|                 "name": f"Autogenerated SAML Mapping: {default['FriendlyName']} -> {default['Expression']}" | ||||
|             }, | ||||
|         ) | ||||
|  | ||||
| @ -66,6 +66,7 @@ class Migration(migrations.Migration): | ||||
|  | ||||
|     dependencies = [ | ||||
|         ("passbook_providers_saml", "0004_auto_20200217_1526"), | ||||
|         ("passbook_core", "0007_auto_20200217_1934"), | ||||
|     ] | ||||
|  | ||||
|     operations = [ | ||||
|  | ||||
| @ -98,7 +98,7 @@ class Processor: | ||||
|  | ||||
|         for mapping in self._remote.property_mappings.all().select_subclasses(): | ||||
|             if isinstance(mapping, SAMLPropertyMapping): | ||||
|                 value = mapping.render( | ||||
|                 value = mapping.evaluate( | ||||
|                     user=self._http_request.user, | ||||
|                     request=self._http_request, | ||||
|                     provider=self._remote, | ||||
|  | ||||
| @ -12,6 +12,7 @@ | ||||
|             <ul> | ||||
|                 <li><code>user</code>: Passbook User Object (<a href="https://beryju.github.io/passbook/reference/property-mappings/user-object/">Reference</a>)</li> | ||||
|                 <li><code>request</code>: Django HTTP Request Object (<a href="https://docs.djangoproject.com/en/3.0/ref/request-response/#httprequest-objects">Reference</a>) </li> | ||||
|                 <li><code>provider</code>: Passbook SAML Provider Object (<a href="https://github.com/BeryJu/passbook/blob/master/passbook/providers/saml/models.py#L16">Reference</a>) </li> | ||||
|             </ul> | ||||
|         </p> | ||||
|     </div> | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Jens Langhammer
					Jens Langhammer