Projet

Général

Profil

0002-idp_oidc-use-custom-widget-in-client-admin-page-3788.patch

Paul Marillonnet, 09 mars 2020 11:40

Télécharger (1,64 ko)

Voir les différences:

Subject: [PATCH 2/4] idp_oidc: use custom widget in client admin page (#37884)

 src/authentic2_idp_oidc/admin.py | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)
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
-