Projet

Général

Profil

0002-sync-metadata-set-a-friendly-on-attribute-buit-from-.patch

Benjamin Dauvergne, 03 avril 2015 22:24

Télécharger (3,04 ko)

Voir les différences:

Subject: [PATCH 2/4] sync-metadata: set a friendly on attribute buit from
 Shibboleth attribute filters (#6847)

 src/authentic2/saml/management/commands/sync-metadata.py | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)
src/authentic2/saml/management/commands/sync-metadata.py
48 48
        attribute_name = get_def_name_from_alias(name)
49 49
    if not definition:
50 50
        return {}, None
51 51
    oid = definition['oid']
52 52
    return {
53 53
        'content_type': content_type,
54 54
        'object_id': object_id,
55 55
        'name_format': 'uri',
56
        'friendly_name': name,
57 56
        'name': 'urn:oid:%s' % oid,
58
    }, attribute_name
57
    }, {
58
        'attribute_name': attribute_name.lower(),
59
        'friendly_name': name,
60
    }
59 61

  
60 62
def check_support_saml2(tree):
61 63
    if tree is not None and lasso.SAML2_PROTOCOL_HREF in tree.get(PROTOCOL_SUPPORT_ENUMERATION):
62 64
        return True
63 65
    return False
64 66

  
65 67
def load_one_entity(tree, options, sp_policy=None, idp_policy=None, afp=None):
66 68
    '''Load or update an EntityDescriptor into the database'''
......
129 131
                    liberty_provider=provider,
130 132
                    defaults={'enabled': not options['create-disabled']})
131 133
            if sp_policy:
132 134
                service_provider.sp_options_policy = sp_policy
133 135
            service_provider.save()
134 136
        if afp and provider.entity_id in afp:
135 137
            pks = []
136 138
            for name in afp[provider.entity_id]:
137
                kwargs, attribute_name = build_saml_attribute_kwargs(provider, name)
139
                kwargs, defaults = build_saml_attribute_kwargs(provider, name)
138 140
                if not kwargs:
139 141
                    if verbosity > 1:
140 142
                        print >>sys.stderr, _('Unable to find an LDAP definition for attribute %(name)s on %(provider)s') % \
141 143
                            {'name': name, 'provider': provider}
142 144
                    continue
143
                attribute_name = attribute_name.lower()
144
                defaults = {
145
                    'attribute_name': attribute_name,
146
                }
147 145
                # create object with default attribute mapping to the same name
148 146
                # as the attribute if no SAMLAttribute model already exists,
149 147
                # otherwise do nothing
150 148
                try:
151 149
                    attribute, created = SAMLAttribute.objects.get_or_create(defaults=defaults,
152 150
                            **kwargs)
153 151
                    if created and verbosity > 1:
154 152
                        print _('Created new attribute %(name)s for %(provider)s') % \
155
-