Projet

Général

Profil

0003-manager-remove-possibility-of-rel-popup-on-table-row.patch

Benjamin Dauvergne, 28 mars 2022 12:05

Télécharger (4,53 ko)

Voir les différences:

Subject: [PATCH 3/3] manager: remove possibility of rel=popup on table rows
 (#59991)

 .../templates/authentic2/manager/table.html      |  8 +-------
 tests/test_manager.py                            | 16 ++++++++++------
 2 files changed, 11 insertions(+), 13 deletions(-)
src/authentic2/manager/templates/authentic2/manager/table.html
19 19
{% endblock table.thead %}
20 20

  
21 21
{% block table.tbody.row %}
22
<tr 
23
     {{ row.attrs.as_html }}
24
     {% if table.context.row_link %}
25
       {% if popup_edit %}
26
         rel="popup"
27
       {% endif %}
28
     {% endif %}>
22
<tr {{ row.attrs.as_html }}>
29 23
            {% for column, cell in row.items %}
30 24
                <td {{ column.attrs.td.as_html }}>{% if column.localize == None %}{{ cell }}{% else %}{% if column.localize %}{{ cell|localize }}{% else %}{{ cell|unlocalize }}{% endif %}{% endif %}</td>
31 25
            {% endfor %}
tests/test_manager.py
37 37
from django_rbac.models import VIEW_OP
38 38
from django_rbac.utils import get_operation
39 39

  
40
from .utils import assert_event, get_link_from_mail, login, request_select2
40
from .utils import assert_event, get_link_from_mail, login, request_select2, text_content
41 41

  
42 42
pytestmark = pytest.mark.django_db
43 43

  
......
795 795
def test_manager_ou(app, superuser_or_admin, ou1):
796 796
    manager_home_page = login(app, superuser_or_admin, reverse('a2-manager-homepage'))
797 797
    ou_homepage = manager_home_page.click(href='organizational-units')
798
    assert {e.text for e in ou_homepage.pyquery('td.name')} == {'OU1', 'Default organizational unit'}
798
    assert {text_content(e) for e in ou_homepage.pyquery('td.name')} == {'OU1', 'Default organizational unit'}
799 799
    assert [x.text for x in ou_homepage.pyquery('td.slug')] == ['default', 'ou1']
800 800

  
801 801
    # add a new ou
......
804 804
    add_ou_page.form.set('default', True)
805 805
    ou_homepage = add_ou_page.form.submit().follow()
806 806
    ou2 = OU.objects.get(name='ou2')
807
    assert {e.text for e in ou_homepage.pyquery('td.name')} == {'OU1', 'Default organizational unit', 'ou2'}
807
    assert {text_content(e) for e in ou_homepage.pyquery('td.name')} == {
808
        'OU1',
809
        'Default organizational unit',
810
        'ou2',
811
    }
808 812
    assert len(ou_homepage.pyquery('tr[data-pk="%s"] td.default span.true' % ou2.pk)) == 1
809
    assert len(ou_homepage.pyquery('tr[data-url="%s"] td.default span.true' % ou2.get_absolute_url())) == 1
813
    assert len(ou_homepage.pyquery('tr td a[href="%s"]' % ou2.get_absolute_url())) == 1
810 814

  
811 815
    # FIXME: table lines are not clickable as they do not contain an anchor
812 816
    # default ou cannot be deleted
......
817 821
    ou1_detail_page = app.get(reverse('a2-manager-ou-detail', kwargs={'pk': ou1.pk}))
818 822
    ou1_delete_page = ou1_detail_page.click('Delete')
819 823
    ou_homepage = ou1_delete_page.form.submit().follow()
820
    assert {e.text for e in ou_homepage.pyquery('td.name')} == {'Default organizational unit', 'ou2'}
824
    assert {text_content(e) for e in ou_homepage.pyquery('td.name')} == {'Default organizational unit', 'ou2'}
821 825

  
822 826
    # remake old default ou the default one
823 827
    old_default = OU.objects.get(name__contains='Default')
......
830 834
    assert old_default_detail_page.pyquery('input[name="default"][checked="checked"]')
831 835
    # check ou homepage has changed too
832 836
    ou_homepage = old_default_detail_page.click('Organizational unit')
833
    assert {e.text for e in ou_homepage.pyquery('td.name')} == {'Default organizational unit', 'ou2'}
837
    assert {text_content(e) for e in ou_homepage.pyquery('td.name')} == {'Default organizational unit', 'ou2'}
834 838
    assert len(ou_homepage.pyquery('span.true')) == 1
835 839
    assert len(ou_homepage.pyquery('tr[data-pk="%s"] td.default span.true' % ou2.pk)) == 0
836 840
    assert len(ou_homepage.pyquery('tr[data-pk="%s"] td.default span.true' % old_default.pk)) == 1
837
-