0002-idp_oidc-use-custom-widget-in-client-admin-page-3788.patch
src/authentic2_idp_oidc/admin.py | ||
---|---|---|
19 | 19 |
from django.utils.functional import curry |
20 | 20 | |
21 | 21 |
from authentic2.attributes_ng.engine import get_service_attributes |
22 |
from authentic2.forms.widgets import DatalistTextInput |
|
22 | 23 | |
23 | 24 |
from . import models |
24 | 25 | |
... | ... | |
27 | 28 | |
28 | 29 |
def __init__(self, *args, **kwargs): |
29 | 30 |
super(OIDCClaimInlineForm, self).__init__(*args, **kwargs) |
30 |
choices = get_service_attributes(self.instance.client_id) |
|
31 |
self.fields['value'].choices = choices |
|
32 |
self.fields['value'].widget = forms.Select(choices=choices) |
|
31 |
data = dict(get_service_attributes(getattr( |
|
32 |
self.instance, 'client', None))).keys() |
|
33 |
widget = self.fields['value'].widget |
|
34 |
widget.data = data |
|
35 |
widget.name = 'list__oidcclaim-inline' |
|
36 |
widget.attrs.update({'list': 'list__oidcclaim-inline'}) |
|
33 | 37 | |
34 | 38 |
class Meta: |
35 | 39 |
model = models.OIDCClaim |
36 | 40 |
fields = ['name', 'value', 'scopes'] |
41 |
widgets = { |
|
42 |
'value': DatalistTextInput, |
|
43 |
} |
|
37 | 44 | |
38 | 45 | |
39 | 46 |
class OIDCClaimInlineAdmin(admin.TabularInline): |
40 |
- |