Projet

Général

Profil

0001-misc-add-prefix_user_nameid-variable-41463.patch

Frédéric Péters, 08 avril 2020 16:16

Télécharger (3,06 ko)

Voir les différences:

Subject: [PATCH] misc: add $prefix_user_nameid variable (#41463)

 tests/test_users.py | 20 ++++++++++++++++++++
 wcs/users.py        |  6 ++++++
 wcs/variables.py    |  6 +++++-
 3 files changed, 31 insertions(+), 1 deletion(-)
tests/test_users.py
11 11

  
12 12
from wcs import publisher
13 13
from wcs import fields
14
from wcs.variables import LazyUser
14 15

  
15 16
from utilities import create_temporary_pub
16 17

  
......
42 43
    assert pub.user_class.get_users_with_name_identifier('foo')[0].name == 'Pierre'
43 44

  
44 45

  
46
def test_user_substitution_variables():
47
    pub.user_class.wipe()
48

  
49
    user = pub.user_class()
50
    user.name = 'Pierre'
51
    user.email = 'test@example.net'
52
    user.name_identifiers = ['foo']
53
    user.store()
54

  
55
    assert user.get_substitution_variables().get('session_user_display_name') == 'Pierre'
56
    assert user.get_substitution_variables().get('session_user_nameid') == 'foo'
57
    assert user.get_substitution_variables().get('session_user_email') == 'test@example.net'
58

  
59
    lazy_user = LazyUser(user)
60
    assert lazy_user.email == user.email
61
    assert lazy_user.nameid == user.name_identifiers[0]
62
    assert lazy_user.display_name == user.name
63

  
64

  
45 65
def test_get_users_with_role():
46 66
    pub.user_class.wipe()
47 67

  
wcs/users.py
88 88
        return _('Unknown User')
89 89
    display_name = property(get_display_name)
90 90

  
91
    @property
92
    def nameid(self):
93
        return self.name_identifiers[0] if self.name_identifiers else None
94

  
91 95
    def get_roles(self):
92 96
        return (self.roles or [])
93 97

  
......
181 185
        d[prefix + 'user_admin_access'] = self.can_go_in_admin()
182 186
        d[prefix + 'user_backoffice_access'] = self.can_go_in_backoffice()
183 187
        for i, name_identifier in enumerate(self.name_identifiers):
188
            if i == 0:
189
                d[prefix + 'user_nameid'] = name_identifier
184 190
            d[prefix + 'user_name_identifier_%d' % i] = name_identifier
185 191
        return d
186 192

  
wcs/variables.py
772 772
        self._user = user
773 773

  
774 774
    def inspect_keys(self):
775
        return ['display_name', 'email', 'var']
775
        return ['display_name', 'email', 'var', 'nameid']
776 776

  
777 777
    @property
778 778
    def display_name(self):
......
801 801
            d[str(i)] = name_identifier
802 802
        return d
803 803

  
804
    @property
805
    def nameid(self):
806
        return self._user.nameid
807

  
804 808
    def __getitem__(self, key):
805 809
        return getattr(self, key)
806 810

  
807
-