Projet

Général

Profil

0001-manager-include-ou-in-roles-csv-export-45809.patch

Valentin Deniaud, 10 mars 2021 17:05

Télécharger (2,14 ko)

Voir les différences:

Subject: [PATCH] manager: include ou in roles csv export (#45809)

 src/authentic2/manager/resources.py | 7 ++++++-
 tests/test_role_manager.py          | 5 +++--
 2 files changed, 9 insertions(+), 3 deletions(-)
src/authentic2/manager/resources.py
67 67

  
68 68
    class Meta:
69 69
        model = Role
70
        fields = ('name', 'slug', 'members')
70
        fields = ('name', 'slug', 'members', 'ou')
71 71
        export_order = fields
72
        widgets = {
73
            'ou': {
74
                'field': 'name',
75
            }
76
        }
tests/test_role_manager.py
43 43
    reader = csv.reader([force_text(line) for line in export_response.body.split(force_bytes('\r\n'))], delimiter=',')
44 44
    rows = [row for row in reader]
45 45

  
46
    assert rows[0] == ['name', 'slug', 'members']
46
    assert rows[0] == ['name', 'slug', 'members', 'ou']
47 47
    assert len(rows)-2 == 2 # csv header and last EOL
48 48
    assert set([row[1] for row in rows[1:3]]) == set(['role_ou1', 'role_ou2'])
49
    assert set([row[3] for row in rows[1:3]]) == set(['OU1', 'OU2'])
49 50

  
50 51
    response.form.set('search-text', 'role_ou1')
51 52
    search_response = response.form.submit()
......
61 62
    reader = csv.reader([force_text(line) for line in export_response.body.split(force_bytes('\r\n'))], delimiter=',')
62 63
    rows = [row for row in reader]
63 64

  
64
    assert rows[0] == ['name', 'slug', 'members']
65
    assert rows[0] == ['name', 'slug', 'members', 'ou']
65 66
    assert len(rows)-2 == 1 # csv header and last EOL
66 67
    assert rows[1][1] == 'role_ou1'
67 68

  
68
-