Projet

Général

Profil

0005-manager-replace-UUID-pattern-in-next-parameter-of-Us.patch

Benjamin Dauvergne, 10 avril 2019 16:49

Télécharger (2,22 ko)

Voir les différences:

Subject: [PATCH 5/5] manager: replace $UUID pattern in next parameter of
 UserAddView (fixes #32140)

 src/authentic2/manager/user_views.py | 5 ++++-
 tests/test_manager.py                | 6 ++++--
 2 files changed, 8 insertions(+), 3 deletions(-)
src/authentic2/manager/user_views.py
140 140
        return select_next_url(
141 141
            self.request,
142 142
            default=reverse('a2-manager-user-detail', kwargs={'pk': self.object.pk}),
143
            include_post=True)
143
            include_post=True,
144
            replace={
145
                '$UUID': self.object.uuid,
146
            })
144 147

  
145 148
    def get_context_data(self, **kwargs):
146 149
        context = super(UserAddView, self).get_context_data(**kwargs)
tests/test_manager.py
746 746
    assert response.pyquery.remove_namespaces()('a.cancel').attr('href') == '../..'
747 747
    assert response.pyquery.remove_namespaces()('input[name="next"]').attr('value') == next_url
748 748

  
749
    next_url = u'/example.nowhere.null/'
749
    next_url = u'/example.nowhere.null/$UUID/'
750 750
    cancel_url = u'/example.nowhere.cancel/'
751 751
    url = u'/manage/users/%s/add/?next=%s&cancel=%s' % (ou1.pk, next_url, cancel_url)
752 752
    response = app.get(url)
......
760 760
    form.set('email', 'john.doe@gmail.com')
761 761
    form.set('password1', 'ABcd1234')
762 762
    form.set('password2', 'ABcd1234')
763
    assert urlparse(form.submit().location).path == next_url
763
    response = form.submit()
764
    user = User.objects.latest('id')
765
    assert urlparse(response.location).path == next_url.replace('$UUID', str(user.uuid))
764 766

  
765 767

  
766 768
def test_manager_create_user_next_form_error(superuser_or_admin, app, ou1):
767
-