0008-auth_oidc-configure-claims-widget-through-subclass-5.patch
src/authentic2_auth_oidc/forms.py | ||
---|---|---|
32 | 32 |
self.fields['ou'].empty_label = None |
33 | 33 | |
34 | 34 | |
35 |
class OIDCClaimMappingForm(forms.ModelForm):
|
|
35 |
class OIDCClaimTextInput(DatalistTextInput):
|
|
36 | 36 |
def __init__(self, *args, **kwargs): |
37 | 37 |
super().__init__(*args, **kwargs) |
38 |
claim_widget = self.fields['claim'].widget |
|
39 | 38 |
# fill datalist with standard claims from |
40 | 39 |
# https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims |
41 |
claim_widget.data = (
|
|
40 |
self.data = (
|
|
42 | 41 |
'sub', |
43 | 42 |
'name', |
44 | 43 |
'given_name', |
... | ... | |
59 | 58 |
'address', |
60 | 59 |
'updated_at', |
61 | 60 |
) |
62 |
claim_widget.name = 'list__oidcclaim-mapping-inline' |
|
63 |
claim_widget.attrs.update({'list': 'list__oidcclaim-mapping-inline'}) |
|
61 |
self.name = 'list__oidcclaim-mapping-inline' |
|
62 |
self.attrs.update({'list': 'list__oidcclaim-mapping-inline'}) |
|
63 | ||
64 | 64 | |
65 |
class OIDCClaimMappingForm(forms.ModelForm): |
|
66 |
def __init__(self, *args, **kwargs): |
|
67 |
super().__init__(*args, **kwargs) |
|
65 | 68 |
self.fields['attribute'].widget = SelectAttributeWidget() |
66 | 69 | |
67 | 70 |
class Meta: |
... | ... | |
75 | 78 |
] |
76 | 79 |
readonly_fields = ['created', 'modified'] |
77 | 80 |
widgets = { |
78 |
'claim': DatalistTextInput,
|
|
81 |
'claim': OIDCClaimTextInput,
|
|
79 | 82 |
} |
80 |
- |